JP2004110620A - Webサービスの動的統合方法およびシステム - Google Patents
Webサービスの動的統合方法およびシステム Download PDFInfo
- Publication number
- JP2004110620A JP2004110620A JP2002274459A JP2002274459A JP2004110620A JP 2004110620 A JP2004110620 A JP 2004110620A JP 2002274459 A JP2002274459 A JP 2002274459A JP 2002274459 A JP2002274459 A JP 2002274459A JP 2004110620 A JP2004110620 A JP 2004110620A
- Authority
- JP
- Japan
- Prior art keywords
- web service
- web
- dynamically
- web services
- integrated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000010354 integration Effects 0.000 title claims description 3
- 230000008859 change Effects 0.000 claims abstract description 22
- 230000007246 mechanism Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 238000012508 change request Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000004308 accommodation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
Images
Abstract
【課題】クライアントが必要なWebサービス装置に個別にアクセスすることなく複数のWebサービスを享受することができるようにすること。
【解決手段】複数のWebサービス装置が提供するWebサービスを動的に統合する統合Webサービス装置を設置し、動的に複数のWebサービスを単一のWebサービスに統合する。
動的に統合した複数のWebサービスへの呼び出しフローを記憶手段に記憶するステップと、呼び出したWebサービスのバックエンドシステムから状況の変化を受け取り、記憶された複数のWebサービスの呼び出し手順を動的に変更し、バックエンドシステムの状況の変化が影響を及ぼす他のWebサービスに通知するステップとを備える。
【選択図】 図1
【解決手段】複数のWebサービス装置が提供するWebサービスを動的に統合する統合Webサービス装置を設置し、動的に複数のWebサービスを単一のWebサービスに統合する。
動的に統合した複数のWebサービスへの呼び出しフローを記憶手段に記憶するステップと、呼び出したWebサービスのバックエンドシステムから状況の変化を受け取り、記憶された複数のWebサービスの呼び出し手順を動的に変更し、バックエンドシステムの状況の変化が影響を及ぼす他のWebサービスに通知するステップとを備える。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、Webサービスを提供する複数のWebサービス装置を備えたシステムにおいて、複数のWebサービス装置が提供するWebサービスを動的に統合する方法およびシステムに関するものである。
【0002】
【従来の技術】
インターネットの普及により、Webサービスが広まりつつある。Webサービスとは、コンピュータがアクセスし、利用するWebベースのアプリケーションである。
Webサービスでは、クライアント側で動作するアプリケーションが、サーバ側で動作するWebサービスのアプリケーションとの間で、XML形式のデータ(拡張可能なマークアップ言語によるデータ)のやりとりを行う。
クライアント側が複雑な機能を必要とする場合は、複数のWebサービスを組み合わせて順次呼び出すことにより、所望の機能を実現する。
従来、この種のWebサービスを提供するシステムとして、クライアントに対してネットワーク上で行われているWebサービスの中から最適なものを選択して提供するものがある(例えば、特許文献1参照)。
【0003】
【特許文献1】
特開2001−350754号公報
【0004】
図8は、従来のWebサービス利用方法を概略的に示す図であり、クライアント802はインターネット801により複数のWebサービス装置805,806,807からWebサービスを受けることができるようになっている。
レジストリサービス装置804のレジストリ(UDDIレジストリ)803には、Webサービス805、806、807を呼び出すために必要なインタフェースが登録されている。
インタフェースとしては、例えば(1)企業や団体などビジネス主体の情報、(2)ビジネス主体が提供するサービスの内容、(3)サービスが提供する機能の利用方法、(4)機能のインタフェース仕様を定めたサービス型などが登録されている。
クライアント802は、自身が必要としているサービスについて、レジストリサービス装置804にアクセスして問い合わせ、その結果に基づいて、必要なWebサービス装置805、806、807を選択的に呼び出してWebサービスを利用する。
【0005】
【発明が解決しようとする課題】
しかし、図8の従来システムにおいては、クライアント802がレジストリサービス804にアクセスして必要なWebサービス装置805、806、807を取捨選択する必要がある。また、複数のWebサービス装置を呼び出す場合は、クライアント802が呼び出す手順の流れを管理する必要がある。
また、Webサービス装置807にバックエンドシステム808が接続され、このバックエンドシステム808にトラブル等の状況の変化が発生した場合には、クライアント802へメール等の手段で通知し、クライアント802がWebサービス装置805、806へ変更の要求を行う必要がある。すなわち、クライアント802がWebサービス装置805、806、807から提供されるWebサービスとして、例えば、ホテルの予約、レンタカーの予約、航空機の予約という1セットのサービスを受けた場合、何らかの事情により空港到着が遅れることが航空機の予約サービスを提供するWebサービス装置807のバックエンドシステム808で判明した場合であっても、Webサービス装置805、806、807は互いに連絡関係を持っていないため、クライアント802は個別にWebサービス装置805、806へアクセスし、ホテルへの到着時刻の変更、レンタカーの予約内容の変更を行う必要があり、クライアント802の負担が大きいという問題がある。
【0006】
本発明の目的は、クライアントが必要なWebサービス装置に個別にアクセスすることなく複数のWebサービスを享受することができるWebサービスの動的統合方法及びシステムを提供することにある。
また、いずれかのWebサービス装置のバックエンドシステムにトラブル等の状況の変化が発生した場合であっても、関連するサービスを提供した他のWebサービス装置に対し必要な通知を行うことができるWebサービスの動的統合方法及びシステムを提供することにある。
【0007】
【課題を解決するための手段】
前記の目的を達成するため、本発明は、Webサービスを提供する複数のWebサービス装置を備えたシステムにおいて、複数のWebサービス装置が提供するWebサービスを動的に統合する統合Webサービス装置を設置し、動的に複数のWebサービスを単一のWebサービスに統合することを特徴とする。
また、動的に統合した複数のWebサービスへの呼び出しフローを記憶手段に記憶するステップと、呼び出したWebサービスのバックエンドシステムから状況の変化を受け取り、記憶された複数のWebサービスの呼び出し手順を動的に変更し、バックエンドシステムの状況の変化が影響を及ぼす他のWebサービスに通知するステップとを備えることを特徴とする。
【0008】
本発明に係るWebサービスシステムは、Webサービスを提供する複数のWebサービス装置を備えたシステムにおいて、複数のWebサービス装置が提供するWebサービスを動的に単一のWebサービスに統合する統合Webサービス装置を備えることを特徴とするWebサービスシステム。
また、動的に統合した複数のWebサービスへの呼び出しフローを記憶する記憶手段と、呼び出したWebサービスのバックエンドシステムから状況の変化を受け取り、記憶された複数のWebサービスの呼び出し手順を動的に変更し、バックエンドシステムの状況の変化が影響を及ぼす他のWebサービスに通知するフロー管理手段とを備えることを特徴とする。
【0009】
【発明の実施の形態】
以下、本発明の一実施形態について図面により詳しく説明する。
図1は、本発明を適用したWebサービスシステムの一実施の形態を示すシステム構成図である。
図1において、101はインターネット、102はWebサービスを享受するクライアント、103はレジストリサービス装置、104はレジストリ、105はWebサービスAを提供するWebサービス装置、106はWebサービスBを提供するWebサービス装置、107はWebサービスCを提供するWebサービス装置、108はWebサービス装置107のバックエンドシステム、109は複数のWebサービスを統合する統合Webサービス装置、110はフロー記憶機構、111はフロー管理Webサービス装置である。
【0010】
統合Webサービス装置109は、レジストリサービス装置104のレジストリ103にアクセスし、クライアント102から与えられた条件に合致するWebサービスA、B、Cを取捨選択する。そして、取捨選択したWebサービスA〜Cの呼び出しのフローをフロー記憶機構110に記憶し、記憶したフローにしたがってWebサービスA〜Cを呼び出す。
また、フロー記憶機構110を経由して統合Webサービス装置109に接続するフロー管理Webサービス111が付加されている。
バックエンドシステム108にトラブル等の状況の変化が発生した場合には、バックエンドシステム108がフロー管理Webサービス装置111を呼び出し、フロー記憶機構110に記憶されたフローに関連するWebサービスA〜Cを呼び出して変更の要求を行う。
【0011】
図2は、本発明を適用した旅行代理店Webサービスシステムの形態を示すシステム構成図である。
旅行代理店Webサービスシステム200は、旅行代理店統合Webサービス109、フロー記憶機構110、フロー管理Webサービス111で構成される。Webサービス装置105、106、107は、図1のWebサービスA〜Cについて、WebサービスA=ホテル予約、WebサービスB=レンタカー予約、WebサービスC=航空機予約といったサービスを提供するように具体化されている。
旅行代理店統合Webサービスシステム200は、クライアント102から旅行の予約に関する無条件または条件付要求を受け取ると、レジストリサービス装置104にアクセスし、レジストリ103を検索して、クライアント102からの要求に合致するホテル予約Webサービス、レンタカー予約Webサービス、航空機予約Webサービスを提供する各Webサービス装置105、106、107の呼び出しフローを動的に構築し、フロー記憶機構110へ記憶する。
【0012】
次に、旅行代理店統合Webサービス装置109は、フロー記憶機構110に記憶されているWebサービスの呼び出しフローに従い、ホテル予約Webサービス装置105、レンタカー予約Webサービス装置106、航空機予約Webサービス装置107を呼び出し、呼び出した結果を統合して、クライアント102へ返す。
次に、バックエンドシステム108からのフィードバック方法を説明する。
航空機予約Webサービス装置108のバックエンドで稼動している航空機予約バックエンドシステム108において、航空機の欠航や到着時刻の遅延等の状況の変化が生じた場合に、航空機予約バックエンドシステム108がフロー管理Webサービス111を呼び出し、航空機の欠航や到着時刻の遅延等の状況の変化を通知する。
【0013】
フロー管理Webサービス111は、フロー記憶機構110に記憶されているWebサービスの呼び出しフローに従い、ホテル予約Webサービス装置105、レンタカー予約Webサービス装置106、航空機予約Webサービス107を呼び出し、航空機の欠航や到着時刻の遅延等の状況の変化を通知する。
以上で説明したバックエンドシステム108からのフィードバックにより、ホテルのチェックイン時刻の変更や宿泊のキャンセル、レンタカーの予約時刻の変更やキャンセルを行う。
【0014】
図3は、フロー記憶機構110のデータ構造の例を示す図である。
フロー制御テーブル301は、レコードの配列で構成する。各レコードは、ラベル、オペレーション、オペランドの3つのフィールドで構成する。オペランドは、オペレーションの種類により、内容が異なる。基本的なオペレーションは、INVOKEオペレーション302と、CONDJMPオペレーション303の2種類であるが、複雑なフローを定義するためには、必要に応じてオペレーションの種類を増やす。
INVOKEオペレーション302は、Webサービスを呼び出すための操作を定義する。オペランドには、WSDL(Web Services Description Language)形式等で記述されたインタフェースへのポインタをURI形式等で格納する。メソッド名は、呼び出すWebサービスのメソッドの名前である。パラメタリストは、メソッドへ渡すパラメタ群である。
CONDJMPオペレーション303は、条件式を評価した結果によって指定されたラベルを有するレコードへジャンプするための操作を定義する。
NOPオペレーション304は、何も実行しないための操作を定義する。
図3に示すオペレーションの他、繰り返し等の操作を定義することにより、複雑な制御構造の表現ができる。
【0015】
図4は、図2の旅行代理店Webサービスシステムにおけるフローを、フロー記憶機構110のフロー制御テーブル401に記憶した場合のフローデータの例である。
ラベルL1では、INVOKEオペレーションにより、ホテル予約WebサービスのRESERVEATIONメソッドを、パラメタ値“2002/08/07”、“18:00”、 “SINGLE”、“2”で呼び出す操作を定義している。
ラベルL2では、直前のオペレーションが失敗した場合には、ラベルL9へジャンプする操作を定義している。
ラベルL3では、INVOKEオペレーションにより、レンタカー予約WebサービスのRESERVEATIONメソッドを、パラメタ値“2002/08/07”、“12:00”、”MID”、”AT”で呼び出す操作を定義している。
ラベルL4では、直前のオペレーションが失敗した場合には、ラベルL8へジャンプする操作を定義している。
ラベルL5では、INVOKEオペレーションにより、航空機予約WebサービスのRESERVEATIONメソッドを、パラメタ値“2002/08/06”、“19:00”、”NRT”、”SFO”で呼び出す操作を定義している。
ラベルL8、L9では、NOPオペレーションにより、何もしない操作を定義している。実業務の運用では、予約を取り消す等のWebサービスを呼び出すINVOKEオペレーション等を定義することができる。
【0016】
図5は、旅行代理店統合Webサービス装置109が、図4のフローデータを解釈して実行する場合の処理をフローチャートで表したものである。
旅行代理店統合Webサービス装置109は、ホテル予約Webサービス装置105のインタフェースを取得して動的にスタブを生成し、ホテル予約Webサービスを呼び出す(ステップ501)。
次に、ステップ501が失敗したか判定し、失敗した場合は、ステップ507へ進む(ステップ502)。
次に、レンタカー予約Webサービス装置106のインタフェースを取得して動的にスタブを生成し、レンタカー予約Webサービスを呼び出す(ステップ503)。
次に、ステップ503が失敗したか判定し、失敗した場合は、ステップ506へ進む(ステップ504)。
次に、ホテル予約Webサービス装置107のインタフェースを取得して動的にスタブを生成し、ホテル予約Webサービスを呼び出す(ステップ505)。次に、何もせずにステップ507へ進む(ステップ506)。
次に、何もせずに処理を終了する(ステップ507)。
【0017】
図6は、図2の旅行代理店Webサービスシステム200において、旅行代理店統合Webサービス装置109が、クライアント102からの要求によって、フロー記憶機構110に、フローデータを記憶する場合の処理をフローチャートで表したものである。
旅行代理店統合Webサービス装置109は、クライアント102からホテル、レンタカー、航空機の3種類のサービスを1セットにした予約要求があったものとすると、レジストリサービス装置104にアクセスし、ホテル予約Webサービスを検索する(ステップ601)。
次に、ホテル予約Webサービス装置105が見つかったか判定し、見つからなかったら、終了する(ステップ602)。
見つかった場合は、ホテル予約Webサービスを、フロー記憶機構109へ記憶する(ステップ603)。
次に、レジストリサービス装置104にアクセスし、レンタカー予約Webサービスを検索する(ステップ604)。レンタカー予約Webサービスが見つかったか判定し、見つからなかったら、終了する(ステップ605)。見つかった場合は、レンタカー予約Webサービスをフロー記憶機構110へ記憶する(ステップ606)。
次に、レジストリサービス装置104にアクセスし、航空機予約Webサービスを検索する(ステップ607)。
航空機予約Webサービス213が見つかったか判定し、見つからなかったら、終了する(ステップ608)。見つかった場合は、航空機予約Webサービスをフロー記憶機構110へ記憶し、処理を終了する(ステップ609)。
【0018】
図7は、バックエンドシステム108からのフィードバックを行うフロー管理Webサービス装置106のフィードバック処理のフローチャートである。
航空機予約バンクエンドシステム108で、予約済み航空機が遅延したものとする。航空機予約バックエンドシステム108は、フロー管理Webサービス装置111を呼び出す。次に、フロー記憶機構110から、1レコード取り出す(ステップ701)。
レコードが終了しているか判定し、終了していて取り出せなかったときは処理を終了する(ステップ702)。
次に、取り出したレコードのオペレーションが”INVOKE”であるか判定し、”INVOKE”でないなら、ステップ701へ戻る(ステップ703)。
レコードから、オペランド中のインタフェースを取り出す(ステップ704)。
取り出したインタフェースで示されるWebサービスの、更新の通知を行うメソッドを呼び出し、バックエンドシステム108からの更新の通知を行う(ステップ705)。この後、ステップ701へ戻る。
ステップ705により、ホテル予約Webサービス、レンタカー予約Webサービスに対し、航空機予約バンクエンドシステム108で、予約済み航空機が遅延する状況の変化を通知する。
【0019】
【発明の効果】
以上説明したように、本発明によれば、複数のWebサービスを単一のWebサービス化し、クライアントが必要なWebサービス装置に個別にアクセスすることなく複数のWebサービスを享受することができる。
また、動的に統合した複数のWebサービスの呼び出しフローを記憶しておき、呼び出したWebサービスのバックエンドシステムから状況の変化を受け取り、記憶された複数のWebサービスの呼び出し手順を動的に変更することにより、バックエンドシステムの状況の変化が影響を及ぼすWebサービスに、自動的にバックエンドシステムの状況の変化を通知することが可能である。
【図面の簡単な説明】
【図1】本発明を適用した統合Webサービスシステムの実施形態を示すシステム構成図である。
【図2】本発明を適用した旅行代理店Webサービスシステムの構成図である。
【図3】フロー記憶機構のデータ構造図である。
【図4】旅行代理店Webサービスシステムのフローデータ構造図である。
【図5】旅行代理店Webサービスシステムの処理を示すフローチャートである。
【図6】フロー記憶機構へフローを記憶する処理のフローチャートである。
【図7】フロー管理Webサービスのフィードバック処理のフローチャートである。
【図8】従来の複数Webサービス利用方法を示す図である。
【符号の説明】
101…インターネット、102…クライアント、103…レジストリ、104…レジストリサービス装置、105…Webサービス装置、106…Webサービス装置、107…Webサービス装置、108…バックエンドシステム、109…統合Webサービス装置、110…フロー記憶機構、111…フロー管理Webサービス、200…統合Webサービスシステム。
【発明の属する技術分野】
本発明は、Webサービスを提供する複数のWebサービス装置を備えたシステムにおいて、複数のWebサービス装置が提供するWebサービスを動的に統合する方法およびシステムに関するものである。
【0002】
【従来の技術】
インターネットの普及により、Webサービスが広まりつつある。Webサービスとは、コンピュータがアクセスし、利用するWebベースのアプリケーションである。
Webサービスでは、クライアント側で動作するアプリケーションが、サーバ側で動作するWebサービスのアプリケーションとの間で、XML形式のデータ(拡張可能なマークアップ言語によるデータ)のやりとりを行う。
クライアント側が複雑な機能を必要とする場合は、複数のWebサービスを組み合わせて順次呼び出すことにより、所望の機能を実現する。
従来、この種のWebサービスを提供するシステムとして、クライアントに対してネットワーク上で行われているWebサービスの中から最適なものを選択して提供するものがある(例えば、特許文献1参照)。
【0003】
【特許文献1】
特開2001−350754号公報
【0004】
図8は、従来のWebサービス利用方法を概略的に示す図であり、クライアント802はインターネット801により複数のWebサービス装置805,806,807からWebサービスを受けることができるようになっている。
レジストリサービス装置804のレジストリ(UDDIレジストリ)803には、Webサービス805、806、807を呼び出すために必要なインタフェースが登録されている。
インタフェースとしては、例えば(1)企業や団体などビジネス主体の情報、(2)ビジネス主体が提供するサービスの内容、(3)サービスが提供する機能の利用方法、(4)機能のインタフェース仕様を定めたサービス型などが登録されている。
クライアント802は、自身が必要としているサービスについて、レジストリサービス装置804にアクセスして問い合わせ、その結果に基づいて、必要なWebサービス装置805、806、807を選択的に呼び出してWebサービスを利用する。
【0005】
【発明が解決しようとする課題】
しかし、図8の従来システムにおいては、クライアント802がレジストリサービス804にアクセスして必要なWebサービス装置805、806、807を取捨選択する必要がある。また、複数のWebサービス装置を呼び出す場合は、クライアント802が呼び出す手順の流れを管理する必要がある。
また、Webサービス装置807にバックエンドシステム808が接続され、このバックエンドシステム808にトラブル等の状況の変化が発生した場合には、クライアント802へメール等の手段で通知し、クライアント802がWebサービス装置805、806へ変更の要求を行う必要がある。すなわち、クライアント802がWebサービス装置805、806、807から提供されるWebサービスとして、例えば、ホテルの予約、レンタカーの予約、航空機の予約という1セットのサービスを受けた場合、何らかの事情により空港到着が遅れることが航空機の予約サービスを提供するWebサービス装置807のバックエンドシステム808で判明した場合であっても、Webサービス装置805、806、807は互いに連絡関係を持っていないため、クライアント802は個別にWebサービス装置805、806へアクセスし、ホテルへの到着時刻の変更、レンタカーの予約内容の変更を行う必要があり、クライアント802の負担が大きいという問題がある。
【0006】
本発明の目的は、クライアントが必要なWebサービス装置に個別にアクセスすることなく複数のWebサービスを享受することができるWebサービスの動的統合方法及びシステムを提供することにある。
また、いずれかのWebサービス装置のバックエンドシステムにトラブル等の状況の変化が発生した場合であっても、関連するサービスを提供した他のWebサービス装置に対し必要な通知を行うことができるWebサービスの動的統合方法及びシステムを提供することにある。
【0007】
【課題を解決するための手段】
前記の目的を達成するため、本発明は、Webサービスを提供する複数のWebサービス装置を備えたシステムにおいて、複数のWebサービス装置が提供するWebサービスを動的に統合する統合Webサービス装置を設置し、動的に複数のWebサービスを単一のWebサービスに統合することを特徴とする。
また、動的に統合した複数のWebサービスへの呼び出しフローを記憶手段に記憶するステップと、呼び出したWebサービスのバックエンドシステムから状況の変化を受け取り、記憶された複数のWebサービスの呼び出し手順を動的に変更し、バックエンドシステムの状況の変化が影響を及ぼす他のWebサービスに通知するステップとを備えることを特徴とする。
【0008】
本発明に係るWebサービスシステムは、Webサービスを提供する複数のWebサービス装置を備えたシステムにおいて、複数のWebサービス装置が提供するWebサービスを動的に単一のWebサービスに統合する統合Webサービス装置を備えることを特徴とするWebサービスシステム。
また、動的に統合した複数のWebサービスへの呼び出しフローを記憶する記憶手段と、呼び出したWebサービスのバックエンドシステムから状況の変化を受け取り、記憶された複数のWebサービスの呼び出し手順を動的に変更し、バックエンドシステムの状況の変化が影響を及ぼす他のWebサービスに通知するフロー管理手段とを備えることを特徴とする。
【0009】
【発明の実施の形態】
以下、本発明の一実施形態について図面により詳しく説明する。
図1は、本発明を適用したWebサービスシステムの一実施の形態を示すシステム構成図である。
図1において、101はインターネット、102はWebサービスを享受するクライアント、103はレジストリサービス装置、104はレジストリ、105はWebサービスAを提供するWebサービス装置、106はWebサービスBを提供するWebサービス装置、107はWebサービスCを提供するWebサービス装置、108はWebサービス装置107のバックエンドシステム、109は複数のWebサービスを統合する統合Webサービス装置、110はフロー記憶機構、111はフロー管理Webサービス装置である。
【0010】
統合Webサービス装置109は、レジストリサービス装置104のレジストリ103にアクセスし、クライアント102から与えられた条件に合致するWebサービスA、B、Cを取捨選択する。そして、取捨選択したWebサービスA〜Cの呼び出しのフローをフロー記憶機構110に記憶し、記憶したフローにしたがってWebサービスA〜Cを呼び出す。
また、フロー記憶機構110を経由して統合Webサービス装置109に接続するフロー管理Webサービス111が付加されている。
バックエンドシステム108にトラブル等の状況の変化が発生した場合には、バックエンドシステム108がフロー管理Webサービス装置111を呼び出し、フロー記憶機構110に記憶されたフローに関連するWebサービスA〜Cを呼び出して変更の要求を行う。
【0011】
図2は、本発明を適用した旅行代理店Webサービスシステムの形態を示すシステム構成図である。
旅行代理店Webサービスシステム200は、旅行代理店統合Webサービス109、フロー記憶機構110、フロー管理Webサービス111で構成される。Webサービス装置105、106、107は、図1のWebサービスA〜Cについて、WebサービスA=ホテル予約、WebサービスB=レンタカー予約、WebサービスC=航空機予約といったサービスを提供するように具体化されている。
旅行代理店統合Webサービスシステム200は、クライアント102から旅行の予約に関する無条件または条件付要求を受け取ると、レジストリサービス装置104にアクセスし、レジストリ103を検索して、クライアント102からの要求に合致するホテル予約Webサービス、レンタカー予約Webサービス、航空機予約Webサービスを提供する各Webサービス装置105、106、107の呼び出しフローを動的に構築し、フロー記憶機構110へ記憶する。
【0012】
次に、旅行代理店統合Webサービス装置109は、フロー記憶機構110に記憶されているWebサービスの呼び出しフローに従い、ホテル予約Webサービス装置105、レンタカー予約Webサービス装置106、航空機予約Webサービス装置107を呼び出し、呼び出した結果を統合して、クライアント102へ返す。
次に、バックエンドシステム108からのフィードバック方法を説明する。
航空機予約Webサービス装置108のバックエンドで稼動している航空機予約バックエンドシステム108において、航空機の欠航や到着時刻の遅延等の状況の変化が生じた場合に、航空機予約バックエンドシステム108がフロー管理Webサービス111を呼び出し、航空機の欠航や到着時刻の遅延等の状況の変化を通知する。
【0013】
フロー管理Webサービス111は、フロー記憶機構110に記憶されているWebサービスの呼び出しフローに従い、ホテル予約Webサービス装置105、レンタカー予約Webサービス装置106、航空機予約Webサービス107を呼び出し、航空機の欠航や到着時刻の遅延等の状況の変化を通知する。
以上で説明したバックエンドシステム108からのフィードバックにより、ホテルのチェックイン時刻の変更や宿泊のキャンセル、レンタカーの予約時刻の変更やキャンセルを行う。
【0014】
図3は、フロー記憶機構110のデータ構造の例を示す図である。
フロー制御テーブル301は、レコードの配列で構成する。各レコードは、ラベル、オペレーション、オペランドの3つのフィールドで構成する。オペランドは、オペレーションの種類により、内容が異なる。基本的なオペレーションは、INVOKEオペレーション302と、CONDJMPオペレーション303の2種類であるが、複雑なフローを定義するためには、必要に応じてオペレーションの種類を増やす。
INVOKEオペレーション302は、Webサービスを呼び出すための操作を定義する。オペランドには、WSDL(Web Services Description Language)形式等で記述されたインタフェースへのポインタをURI形式等で格納する。メソッド名は、呼び出すWebサービスのメソッドの名前である。パラメタリストは、メソッドへ渡すパラメタ群である。
CONDJMPオペレーション303は、条件式を評価した結果によって指定されたラベルを有するレコードへジャンプするための操作を定義する。
NOPオペレーション304は、何も実行しないための操作を定義する。
図3に示すオペレーションの他、繰り返し等の操作を定義することにより、複雑な制御構造の表現ができる。
【0015】
図4は、図2の旅行代理店Webサービスシステムにおけるフローを、フロー記憶機構110のフロー制御テーブル401に記憶した場合のフローデータの例である。
ラベルL1では、INVOKEオペレーションにより、ホテル予約WebサービスのRESERVEATIONメソッドを、パラメタ値“2002/08/07”、“18:00”、 “SINGLE”、“2”で呼び出す操作を定義している。
ラベルL2では、直前のオペレーションが失敗した場合には、ラベルL9へジャンプする操作を定義している。
ラベルL3では、INVOKEオペレーションにより、レンタカー予約WebサービスのRESERVEATIONメソッドを、パラメタ値“2002/08/07”、“12:00”、”MID”、”AT”で呼び出す操作を定義している。
ラベルL4では、直前のオペレーションが失敗した場合には、ラベルL8へジャンプする操作を定義している。
ラベルL5では、INVOKEオペレーションにより、航空機予約WebサービスのRESERVEATIONメソッドを、パラメタ値“2002/08/06”、“19:00”、”NRT”、”SFO”で呼び出す操作を定義している。
ラベルL8、L9では、NOPオペレーションにより、何もしない操作を定義している。実業務の運用では、予約を取り消す等のWebサービスを呼び出すINVOKEオペレーション等を定義することができる。
【0016】
図5は、旅行代理店統合Webサービス装置109が、図4のフローデータを解釈して実行する場合の処理をフローチャートで表したものである。
旅行代理店統合Webサービス装置109は、ホテル予約Webサービス装置105のインタフェースを取得して動的にスタブを生成し、ホテル予約Webサービスを呼び出す(ステップ501)。
次に、ステップ501が失敗したか判定し、失敗した場合は、ステップ507へ進む(ステップ502)。
次に、レンタカー予約Webサービス装置106のインタフェースを取得して動的にスタブを生成し、レンタカー予約Webサービスを呼び出す(ステップ503)。
次に、ステップ503が失敗したか判定し、失敗した場合は、ステップ506へ進む(ステップ504)。
次に、ホテル予約Webサービス装置107のインタフェースを取得して動的にスタブを生成し、ホテル予約Webサービスを呼び出す(ステップ505)。次に、何もせずにステップ507へ進む(ステップ506)。
次に、何もせずに処理を終了する(ステップ507)。
【0017】
図6は、図2の旅行代理店Webサービスシステム200において、旅行代理店統合Webサービス装置109が、クライアント102からの要求によって、フロー記憶機構110に、フローデータを記憶する場合の処理をフローチャートで表したものである。
旅行代理店統合Webサービス装置109は、クライアント102からホテル、レンタカー、航空機の3種類のサービスを1セットにした予約要求があったものとすると、レジストリサービス装置104にアクセスし、ホテル予約Webサービスを検索する(ステップ601)。
次に、ホテル予約Webサービス装置105が見つかったか判定し、見つからなかったら、終了する(ステップ602)。
見つかった場合は、ホテル予約Webサービスを、フロー記憶機構109へ記憶する(ステップ603)。
次に、レジストリサービス装置104にアクセスし、レンタカー予約Webサービスを検索する(ステップ604)。レンタカー予約Webサービスが見つかったか判定し、見つからなかったら、終了する(ステップ605)。見つかった場合は、レンタカー予約Webサービスをフロー記憶機構110へ記憶する(ステップ606)。
次に、レジストリサービス装置104にアクセスし、航空機予約Webサービスを検索する(ステップ607)。
航空機予約Webサービス213が見つかったか判定し、見つからなかったら、終了する(ステップ608)。見つかった場合は、航空機予約Webサービスをフロー記憶機構110へ記憶し、処理を終了する(ステップ609)。
【0018】
図7は、バックエンドシステム108からのフィードバックを行うフロー管理Webサービス装置106のフィードバック処理のフローチャートである。
航空機予約バンクエンドシステム108で、予約済み航空機が遅延したものとする。航空機予約バックエンドシステム108は、フロー管理Webサービス装置111を呼び出す。次に、フロー記憶機構110から、1レコード取り出す(ステップ701)。
レコードが終了しているか判定し、終了していて取り出せなかったときは処理を終了する(ステップ702)。
次に、取り出したレコードのオペレーションが”INVOKE”であるか判定し、”INVOKE”でないなら、ステップ701へ戻る(ステップ703)。
レコードから、オペランド中のインタフェースを取り出す(ステップ704)。
取り出したインタフェースで示されるWebサービスの、更新の通知を行うメソッドを呼び出し、バックエンドシステム108からの更新の通知を行う(ステップ705)。この後、ステップ701へ戻る。
ステップ705により、ホテル予約Webサービス、レンタカー予約Webサービスに対し、航空機予約バンクエンドシステム108で、予約済み航空機が遅延する状況の変化を通知する。
【0019】
【発明の効果】
以上説明したように、本発明によれば、複数のWebサービスを単一のWebサービス化し、クライアントが必要なWebサービス装置に個別にアクセスすることなく複数のWebサービスを享受することができる。
また、動的に統合した複数のWebサービスの呼び出しフローを記憶しておき、呼び出したWebサービスのバックエンドシステムから状況の変化を受け取り、記憶された複数のWebサービスの呼び出し手順を動的に変更することにより、バックエンドシステムの状況の変化が影響を及ぼすWebサービスに、自動的にバックエンドシステムの状況の変化を通知することが可能である。
【図面の簡単な説明】
【図1】本発明を適用した統合Webサービスシステムの実施形態を示すシステム構成図である。
【図2】本発明を適用した旅行代理店Webサービスシステムの構成図である。
【図3】フロー記憶機構のデータ構造図である。
【図4】旅行代理店Webサービスシステムのフローデータ構造図である。
【図5】旅行代理店Webサービスシステムの処理を示すフローチャートである。
【図6】フロー記憶機構へフローを記憶する処理のフローチャートである。
【図7】フロー管理Webサービスのフィードバック処理のフローチャートである。
【図8】従来の複数Webサービス利用方法を示す図である。
【符号の説明】
101…インターネット、102…クライアント、103…レジストリ、104…レジストリサービス装置、105…Webサービス装置、106…Webサービス装置、107…Webサービス装置、108…バックエンドシステム、109…統合Webサービス装置、110…フロー記憶機構、111…フロー管理Webサービス、200…統合Webサービスシステム。
Claims (4)
- Webサービスを提供する複数のWebサービス装置を備えたシステムにおいて、複数のWebサービス装置が提供するWebサービスを動的に統合する統合Webサービス装置を設置し、動的に複数のWebサービスを単一のWebサービスに統合することを特徴とするWebサービスの動的統合方法。
- 動的に統合した複数のWebサービスへの呼び出しフローを記憶手段に記憶するステップと、呼び出したWebサービスのバックエンドシステムから状況の変化を受け取り、記憶された複数のWebサービスの呼び出し手順を動的に変更し、バックエンドシステムの状況の変化が影響を及ぼす他のWebサービスに通知するステップとを備えることを特徴とする請求項1に記載のWebサービスの動的統合方法。
- Webサービスを提供する複数のWebサービス装置を備えたシステムにおいて、複数のWebサービス装置が提供するWebサービスを動的に単一のWebサービスに統合する統合Webサービス装置を備えることを特徴とするWebサービスシステム。
- 動的に統合した複数のWebサービスへの呼び出しフローを記憶する記憶手段と、呼び出したWebサービスのバックエンドシステムから状況の変化を受け取り、記憶された複数のWebサービスの呼び出し手順を動的に変更し、バックエンドシステムの状況の変化が影響を及ぼす他のWebサービスに通知するフロー管理手段とを備えることを特徴とする請求項3に記載のWebサービスシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002274459A JP2004110620A (ja) | 2002-09-20 | 2002-09-20 | Webサービスの動的統合方法およびシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002274459A JP2004110620A (ja) | 2002-09-20 | 2002-09-20 | Webサービスの動的統合方法およびシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004110620A true JP2004110620A (ja) | 2004-04-08 |
Family
ID=32270926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002274459A Pending JP2004110620A (ja) | 2002-09-20 | 2002-09-20 | Webサービスの動的統合方法およびシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004110620A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006309744A (ja) * | 2005-03-31 | 2006-11-09 | Denso It Laboratory Inc | 情報サービス提供方法及び情報サービス提供システム |
US7613799B2 (en) | 2005-12-28 | 2009-11-03 | International Business Machines Corporation | Service evaluation method, system, and computer program product |
JP2009259009A (ja) * | 2008-04-17 | 2009-11-05 | Internatl Business Mach Corp <Ibm> | トランザクションの実行を制御する装置及び方法 |
JP2016006641A (ja) * | 2014-05-30 | 2016-01-14 | アマデウス エス.アー.エス.Amadeus S.A.S. | コンテンツ管理システム |
US10891279B2 (en) | 2014-05-30 | 2021-01-12 | Amadeus S.A.S. | Content management in a travel management system |
US11107010B2 (en) | 2014-05-30 | 2021-08-31 | Amadeus S.A.S. | Content exchange with a travel management system |
-
2002
- 2002-09-20 JP JP2002274459A patent/JP2004110620A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006309744A (ja) * | 2005-03-31 | 2006-11-09 | Denso It Laboratory Inc | 情報サービス提供方法及び情報サービス提供システム |
US7613799B2 (en) | 2005-12-28 | 2009-11-03 | International Business Machines Corporation | Service evaluation method, system, and computer program product |
JP2009259009A (ja) * | 2008-04-17 | 2009-11-05 | Internatl Business Mach Corp <Ibm> | トランザクションの実行を制御する装置及び方法 |
JP2016006641A (ja) * | 2014-05-30 | 2016-01-14 | アマデウス エス.アー.エス.Amadeus S.A.S. | コンテンツ管理システム |
US10891279B2 (en) | 2014-05-30 | 2021-01-12 | Amadeus S.A.S. | Content management in a travel management system |
US11107010B2 (en) | 2014-05-30 | 2021-08-31 | Amadeus S.A.S. | Content exchange with a travel management system |
US11113637B2 (en) | 2014-05-30 | 2021-09-07 | Amadeus S.A.S. | Content exchange with a travel management system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8356274B2 (en) | System and methods to create a multi-tenancy software as a service application | |
US8380785B2 (en) | Managing rule sets as web services | |
CN103947140B (zh) | 用于位置无关软件的需求驱动的部署的系统和方法 | |
US8458727B2 (en) | Asynchronous client to server updates | |
JP5931934B2 (ja) | マルチサーバー予約システムにおける集中型予約コンテキスト管理のための方法及びシステム | |
EP3118753B1 (en) | Mashup service device and system, and method for establishing and using mashup service | |
CN110310034A (zh) | 一种应用于SaaS的服务编排、业务流程处理方法和装置 | |
CA2824393C (en) | Method and system for providing a session involving a plurality of software applications | |
JP2005196767A (ja) | ウェブ・サービス呼び出しをサポートするスケジューラ | |
US20030144860A1 (en) | Dynamic conversation logic selection method and system | |
CN1728700B (zh) | 基于struts框架的web电信网管系统及其方法 | |
JP2011118587A (ja) | 複数サーバによる連携サービス実行システム | |
AU2013213683A1 (en) | A method and system of application development for multiple device client platforms | |
US9652309B2 (en) | Mediator with interleaved static and dynamic routing | |
JP2004110620A (ja) | Webサービスの動的統合方法およびシステム | |
US7844978B2 (en) | Artifact management for an extensible runtime environment | |
US10083407B2 (en) | Ad hoc task creation and process modification | |
JP2006171918A (ja) | クライアントへのデータ送信および更新データの実行制御方法 | |
JP3947136B2 (ja) | ウェブサービスシステム、フロー展開支援装置およびフロー展開支援プログラム | |
US20080307421A1 (en) | Flow process execution method, apparatus and program | |
Ettazi et al. | Micats: Middleware for context-aware transactional services | |
Liu et al. | Towards service discovery and subscription based on community-of-interest | |
KR20180117486A (ko) | 서비스 공통 실행 환경에서의 서비스 통합 관리 시스템 | |
US20060004853A1 (en) | Method and system to prefilter and render service data utilizing trigger links | |
Hariharan et al. | A Framework for Constraint-Based Collaborative Web Service Applications and A Travel Application Case Study. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061027 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070301 |