説明

サービス連携システム

【課題】ヒューマンコンピュータインタラクション(HCI)を含むビジネスプロセス実行において、複雑なプロセスを実行可能にする。
【解決手段】ユーザ対話型のサービス連携システムは、ユーザ端末がWebポータルサーバおよびサービスシナリオ実行サーバを介して、Webサービス提供サーバを順次呼び出し、各Webサービス提供サーバがユーザ端末との間で対話処理を実施するサービス連携システムであり、コールバックユーザIDを伴ったコールバック要求のWebサービス提供サーバからの受信に応答して、ユーザ端末またはユーザ端末によるセッションを識別するIDを用いてユーザ端末へ対話処理開始の要求を送信するコールバック制御部と、IDとコールバックユーザIDとを関連づけて管理し、コールバックユーザIDに対応するIDを取得するコールバックID管理部とを有するコールバック制御サーバを設ける。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サービス連携システム、特に、ユーザ対話処理を含むサービス連携を実現するシステムに関するものである。
【背景技術】
【0002】
近年、ユーザが必要な時に必要な機能だけを利用するといった新しいサービス提供形態が増加している。例えば、ユーザが欲しい機能だけを自由に選んでサービスを利用できるような、新しいソフトウェア利用形態であるSaaS(Software as a Service)や、インターネット上のコンピューティングリソースを組合せ、エンドユーザに対してより付加価値の高いアプリケーションサービスを提供するクラウドコンピューティングといったサービス提供形態である。
【0003】
このように、ネットワーク上に分散した機能を組み合わせ、サービスを提供する仕組みとしては、標準化団体OASISにおいて策定された技術仕様であるBPEL(Business Process Execution Language)がある。BPELでは、既存のWebサービスを組み合わせ、一連のWebサービスの実行順序の規定、および順序の制御方法を、ビジネスプロセスとしてXMLで記述する。そして、BPELエンジンがビジネスプロセスのXMLを解釈し、Webサービスを順次呼出し、また呼出し順序を制御する。
【0004】
しかしながら、BPELの基本仕様はBPELエンジンが各Webサービスを順次呼び出し、自動的に実行するようなビジネスプロセスを前提としている。ワークフローシステムにおける承認処理やデータ入力などの操作のように、ビジネスプロセスとして実行する個々のタスクに人の操作(Human Computer Interaction : HCI)が介在する事は考慮されていない。
【0005】
このような、HCIを内包するビジネスプロセスを実行可能にする技術として、BPELの拡張仕様であるBPEL4People(WS-BPEL Extension for People)が策定されている。BPEL4Peopleは、BPELが実施するビジネスプロセスの処理において、HCIを実現する機能を、BPELにおけるアクティビティとしてBPELエンジンと連携する。具体的には、ビジネスプロセス実行時、ヒューマンタスクを割り当てるワークフローサービスをWEBサービス呼出として実行し、ワークフローサービスはメールやメッセンジャー、3PCC(3rd Party Call Controll)などの手法でタスクを実行する担当者を通知する。全てのタスクの実行が完了するとBPELエンジンに実行結果を返す。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】”WS-BPEL Extension for People (BPEL4People) Specification version 1.1”, OASIS Standard, 2010
【発明の概要】
【発明が解決しようとする課題】
【0007】
HCIを含むビジネスプロセスにおいて、BPEL4Peopleの技術を適用することで、ワークフローのようなタイプのビジネスプロセスを実行することが可能となる。しかしながら、従来技術ではHCIの実施の際、ワークフローサービスがタスクの担当者へタスクの実行を通知してから、担当者が通知を認識してタスクの実行を開始するまで、タイムラグが生じる。したがって、同期型のビジネスプロセスにおいて、ユーザ端末へアプリケーションサービスを提供するポータルサイトがBPELエンジンへビジネスプロセスの実行を要求してから、応答が戻ってくるまでの間に、アプリケーションサービスとユーザ端末との間のセッションがタイムアウトする可能性がある。
【0008】
また、複数のHCIを含むビジネスプロセスにおいては、複数のWebサービスからHCIの要求がユーザ端末に送信される。これにより、ユーザ端末上には各Webサービスの画面が多数表示され、ユーザ端末上の画面の領域を圧迫する。
【0009】
このように、HCIを内包するビジネスプロセスの実施形態および形態ごとに抱える問題は多様であり、種々の形態を満足するようにビジネスプロセスを実行することは、BPEL4Peopleの仕様では示されていない。
【課題を解決するための手段】
【0010】
上記の課題を解決するために、開示されるユーザ対話型サービス連携システムは、Webサービスとユーザ端末との間でHCIの開始を制御するために、Webサービスからユーザ端末への処理の呼び戻し(コールバック)を制御する手段を新たに備える。
【0011】
具体的には、ユーザ対話型のサービス連携システムは、ユーザ端末がWebポータルサーバおよびサービスシナリオ実行サーバを介して、Webサービス提供サーバを順次呼び出し、各Webサービス提供サーバがユーザ端末との間で対話処理を実施するサービス連携システムであり、コールバックユーザIDを伴ったコールバック要求のWebサービス提供サーバからの受信に応答して、ユーザ端末または前記ユーザ端末によるセッションを識別するIDを用いてユーザ端末へ対話処理開始の要求を送信するコールバック制御部と、IDとコールバックユーザIDとを関連づけて管理し、コールバックユーザIDに対応するIDを取得するコールバックID管理部とを有するコールバック制御サーバを設ける。
【発明の効果】
【0012】
ヒューマンコンピュータインタラクション(HCI)を含むビジネスプロセス実行において、多様なビジネスプロセスを実施可能にする。
【図面の簡単な説明】
【0013】
【図1】ユーザ対話型サービス連携システムの構成図である。
【図2】ユーザ対話型サービス連携システムの各構成要素のハードウェア構成図である。
【図3】サービス利用シーケンスの例である。
【図4】連携サービスの実行シーケンスの例である。。
【図5A】コールバック管理テーブルの例である。
【図5B】シナリオテーブルの例である。
【図5C】サービステーブルの例である。
【図5D】実行プロセス管理テーブルの例である。
【図6A】シナリオ情報の例である。
【図6B】シナリオ実行要求の例である。
【図6C】シナリオ実行応答の例である。
【図7A】連携サービス実行要求の例である。
【図7B】連携サービス実行応答の例である。
【図7C】ユーザコールバック要求の例である。
【図7D】ユーザコールバック応答の例である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態を、図面を用いて詳細に説明する。尚、本実施形態のシステム構成要素のうち、同一の要素が複数ある場合には、端末US-1、端末US-2のように表記する。また、複数の要素をまとめて説明する場合、例えば端末US-1と端末US-2といった複数の端末をまとめて説明する場合は、末尾を省略して単純に端末と表現する。
【0015】
本実施形態の、BPEL(Business Process Execution Language)を用いたユーザ対話型サービス連携システムの一例について説明する。BPELは、標準化団体OASISにおいて策定された技術仕様であり、一連のWebサービスの実行順序の規定、および順序の制御方法を、ビジネスプロセスとしてXMLで記述する仕組みである。
【0016】
図1は、ユーザがWebポータルサーバWPを介して順次Webサービス提供サーバWSを呼出し、必要に応じてユーザ端末USとWebサービス提供サーバWSとの間でユーザインタラクションをしながら、サービス連携を実施するユーザ対話型サービス連携システムの構成図である。同図において、ユーザ対話型サービス連携システムは、端末US、WebポータルサーバWP、コールバック制御サーバCCS、サービスシナリオ実行サーバSES、Webサービス提供サーバWSによって構成されている。上記の、ユーザ対話型サービス連携システムの各構成要素はそれぞれネットワークNWに接続している。
【0017】
本実施形態のシステム構成では、Webサービス提供サーバWSからコールバック制御サーバCCSを経由してユーザ端末USへコールバックを実施する際、コールバック制御サーバCCSからユーザ端末USへの通信はHTTPのリダイレクションを利用する。 システム構成は他にも考えられる。他のシステム構成としては、コールバック制御部CCとコールバックID管理部CIMが同一の装置上にはなく、コールバックID管理部CIMがWebポータルサーバWPの一機能として存在する形態が考えられる。そして、コールバックID管理部CIMがユーザのメールアドレスを管理し、このメールアドレスを用いてコールバックを実施する。
【0018】
更なる他のシステム構成としては、コールバック制御部CCとコールバックID管理部CIMが同一の装置上にはなく、コールバックID管理部CIMが種々のIDを管理するサービスとして存在する形態が考えられる。そして、WebポータルサーバWPがコールバックID管理部CIMに問い合わせ、ポータルで使用するユーザIDからキャリアが管理する通信IDを取得し、その通信IDを用いてコールバックを実施する。この場合、ユーザ端末USには、コールバック要求を受信しWebブラウザUS1を新規に立ち上げるランチャ機能が新たに必要となる。
【0019】
以下、本実施形態を説明する上で必要となる用語の定義を行う。ユーザとは、ユーザ端末USを操作する人間をいう。コールバックとは、HCIを実施するために、Webサービス提供サーバWSからユーザ端末USへメッセージを送信する事をいう。シナリオとは、サービスシナリオ実行サーバSESが、Webサービスを順次呼び出し実行をするために必要となる、ビジネスプロセスの実行手順の名称を指す。
【0020】
次に、本実施形態のユーザ対話型サービス連携システムの各構成要素について述べる。
【0021】
ユーザ端末USは、WebポータルサーバWPや、Webサービス提供サーバWSとの間の通信を行う装置であり、上記通信を実施するWebブラウザUS1を備えている。
【0022】
WebポータルサーバWPは、コールバックID管理部CIMおよび端末USとの間で通信を実施する装置であり、またサービスシナリオ実行サーバSESによるシナリオ実行結果を加工し、Webコンテンツとしてユーザ端末USへ提供する装置である。WebポータルサーバWPは、ユーザ端末USとの間で通信を実施し、ユーザ端末USからの入力情報を受付けたり、シナリオ実行結果をHTML形式にしてユーザ端末USに提示したりするポータルアプリケーションWP1、およびコールバックID管理部CIMを介してサービスシナリオ実行サーバSESへシナリオ実行を要求するシナリオ実行要求部WP2を備えている。
【0023】
コールバック制御サーバCCSは、端末USとWebサービス提供サーバWSとの間のユーザインタラクションを制御するための装置であり、コールバック制御部CC、およびコールバックID管理部CIMから構成される。
【0024】
コールバック制御部CCは、端末USとWebポータルサーバWPとの間のユーザインタラクションの開始および制御を実施する構成要素であり、Webサービス提供サーバWSとの通信を実施するWS向けI/F CC1、ユーザ端末USとの通信を実施するUS向けI/F CC2、ユーザ端末US- Webサービス提供サーバWS間のユーザインタラクションを制御するとともに、該当するユーザコールバックIDを管理しているコールバックID管理部CIMへユーザコールバック要求を転送するコールバック制御部CC3、コールバックID管理部CIMとの通信を実施するコールバックID管理部I/F CC4、および、WebポータルサーバWPとの通信を実施するWP向けI/F CC5を備えている。
【0025】
コールバックID管理部CIMは、ユーザ毎にコールバックで使用するユーザおよびコールバック制御部CCを一意に識別するためのコールバックユーザIDを管理する装置であり、コールバックユーザIDを格納・管理すると共にコールバック制御部CCとの間で通信を実施するコールバック管理部CIM1を備えている。また、コールバック管理部CIM1は、コールバック管理テーブルCIM1-aを備えている。
【0026】
サービスシナリオ実行サーバSESは、BPELで記述されたシナリオ情報に基づき、Webサービスを順次呼出し、実行する装置である。サービスシナリオ実行サーバSESは、シナリオ情報に基づきサービスの実行順序を決定・制御し、Webサービスを順次呼出すシナリオ実行エンジンSES1、およびコールバックID管理部CIMとの間の通信を実施するシナリオ実行受付部SES2を備えている。また、シナリオ実行エンジンSES1は、サービステーブルSES1-a、およびシナリオテーブルSES1-bを備えている。
【0027】
Webサービス提供サーバWSは、シナリオ実行サーバSESに対しWebサービスを提供すると共に、端末USとの間でユーザ対話処理を実施する装置である。Webサービス提供サーバWSは、シナリオ実行サーバSESとの通信を実施するシナリオ実行I/F WS1、コールバック制御部CCにコールバックを要求するCallbackクライアントWS2、ユーザ端末USとの通信を実施するHTTP UI WS3、コールバック処理の実行およびサービス実行結果を制御する制御モジュールWS4、およびユーザ端末USに対し提供するアプリケーションWS5を備えている。制御モジュールWS4は、実行プロセス管理テーブルWS4-aを備えている。
【0028】
なお、本実施例では具体的なWebサービス提供サーバWSとして、Webサービス提供サーバWS1およびWebサービス提供サーバWS2がシステムの構成要素となっている。Webサービス提供サーバWS1は宿泊予約アプリケーションWS1-5を、Webサービス提供サーバWS2は新幹線予約アプリケーションをそれぞれ備えている。
【0029】
ネットワークNWは企業内LANのようなプライベートネットワークでも、インターネットのようなオープンネットワークでも良い。
【0030】
図2は、図1の各構成要素である情報処理装置のハードウェア構成を例示した図である。これらの機器は、CPU11と、メモリ12と、インターネットやLANを介して他の装置と通信を行うための通信装置13と、キーボードやマウス等の入力装置14と、モニタやプリンタ等の出力装置15と、読取装置16と、ハードディスク等の外部記憶装置17とが、インタフェース10を介して接続されている。また、読取装置16にはICカードやUSBメモリのような、可搬性を有する記憶媒体18を接続することができる。
【0031】
ユーザ対話型サービス連携システムの各構成要素は、これらを実現するプログラムがメモリ12上にロードされ、CPU11により実行されることにより具現化される。これらのプログラムは、あらかじめ、上記情報処理装置の外部記憶装置17に格納されていても良いし、必要なときに、読取装置16や通信装置13と当該情報処理装置が利用可能な媒体を介して、他の装置から上記外部記憶装置に導入されてもよい。媒体とは、たとえば、読取装置16に着脱可能な記憶媒体18、または通信装置13に接続可能なネットワークまたはネットワークを伝搬する搬送波やディジタル信号を指す。そして、プログラムは一旦外部記憶装置17に格納された後、そこからメモリ12上にロードされてCPU11に実行されてもよいし、あるいは外部記憶装置17に格納されることなく、直接メモリ12上にロードされて、CPU11に実行されてもよい。
【0032】
以下、ユーザ対話型サービス連携システムにおいて、 ユーザがユーザ端末USを用いて、WebポータルサーバWPの提供するアプリケーションWP1を利用する場合の動作について、図3のサービス利用シーケンスの例を用いて説明する。
【0033】
なお、ユーザ対話型サービス連携システムが実行する具体的なシナリオとしては、ユーザが旅行のポータルを通じて宿泊施設や飛行機の予約を行うシナリオを用意する。ポータルアプリケーションWP1は、ユーザ端末USによる特定のURLへのアクセスがあると、宿泊施設および飛行機の予約画面を表示する。そして、ユーザがユーザ端末US上のWebブラウザUS1を通じて宿泊施設および飛行機に関する条件を入力すると、ポータルアプリケーションWP1は入力情報をサービス実行パラメータとして受け取り、宿泊施設および飛行機予約のシナリオIDと共に、コールバックID管理部CIMを介して、シナリオ実行要求部WP2へ渡される。
【0034】
まずユーザは、ユーザ端末US上のWebブラウザUS1を通じて、コールバック制御部CCに対し、サービス実行パラメータを引数として含めた、サービス要求S1-1を送信する。サービス要求S1-1には、IETFにおいてRFC2616で定義されているHTTPのGETメッセージを利用する。
【0035】
コールバック制御部CCのUS向けI/F CC2はユーザ端末USからサービス要求S1-1を受信すると、ユーザ端末USとの通信を識別するセッションIDを発行し、メモリ12へ登録する(A1-1)。以下では、ユーザ端末USとの通信を識別するセッションIDを用いて生の制御を説明するが、ユーザ端末USを識別するIDを用いてもよい。続いて、コールバックID管理部I/F CC4はコールバックID管理部CIMに対し、セッションIDを引数として含めた、コールバックID取得要求S1-2を送信する。コールバックID取得要求S1-2は、セッションIDを含めたバイナリデータであり、ソケット通信によりコールバックID管理部CIMへ送信される。
【0036】
コールバックID管理部CIMのコールバックID管理部CIM1は、コールバック制御部CCよりコールバックID取得要求S1-2を受信すると、セッションIDを基にしたコールバックユーザIDを発行し、セッションIDと関連付けてコールバック管理テーブルCIM1-aへ登録する(A1-2)。
【0037】
コールバックユーザIDは、WEBポータルサーバWPがユーザ端末USを識別するセッションID、およびコールバック処理の際に中継するコールバック制御サーバCCSの識別情報を含めたIDとして発行する。例えば、セッションIDが12345678、コールバック制御サーバCCSのを識別するURIがccs01.comである場合、コールバックユーザIDは12345678@ccs01.comというように、セッションIDとコールバック制御サーバCCSのURIとが一対一に結びつくように発行する。
【0038】
ここで、図5Aに示す、コールバック管理テーブルCIM1-aの各項目について説明する。コールバックIDには、コールバックID管理部CIM1が発行したコールバックユーザIDを記載する。セッションIDには、コールバックID取得要求S1-2の引数であるセッションIDを記載する。
【0039】
図3の説明に戻る。コールバックID管理部CIMのコールバックID管理部CIM1は、コールバック制御部CCに対し、コールバックユーザIDを引数として含めた、コールバックID取得応答S1-3を送信する。コールバックID取得応答S1-3は、コールバックユーザIDを含めたバイナリデータであり、ソケット通信によりコールバック制御部CCへ送信される。
【0040】
コールバック制御部CCのコールバックID管理部I/F CC4は、コールバックID管理部CIMよりコールバックID取得応答S1-3を受信すると、WEBポータルサーバWPに対し、コールバックユーザIDおよびサービス実行パラメータを引数として含めた、サービス要求S1-4を送信する。サービス要求S1-4には、HTTPのGETメッセージを利用する。
【0041】
WebポータルサーバWPのポータルアプリケーションWP1は、コールバックID管理部CIMからサービス要求S1-4を受信すると、ユーザ端末USから指定のあったアクセスURLから、実行するシナリオを決定する(A1-3)。その後、コールバックユーザID、シナリオID、およびサービス実行パラメータを引数として含めたシナリオ実行要求S1-5を作成し、シナリオ実行サーバSESへ送信する。
【0042】
シナリオ実行要求S1-5には、シナリオ実行サーバSESが規定したSOAPのリクエストメッセージを使用する。SOAPは、WWW関連技術の標準化団体であるW3Cによって策定された、オブジェクト間通信を実現するための通信プロトコルである。
【0043】
図6Bは、シナリオ実行要求S1-5のSOAPメッセージのうち、主要な部分を取り出したものである。scenarioIDタグの要素には、シナリオIDの値を記載する。callbackIDタグの要素には、コールバックユーザIDの値を記載する。parametersタグの要素にはparamタグを複数個記載可能とし、各paramタグの要素にはサービス実行パラメータの個々の値を記載する。
【0044】
図3の説明に戻る。シナリオ実行サーバSESのシナリオ実行受付部SES2は、WebポータルサーバWPからシナリオ実行要求S1-5を受信すると、シナリオIDをキーにして、シナリオ情報についてシナリオテーブルSES1-bを検索する。シナリオ情報にはBPELの仕様に準拠したXMLを使用する。
【0045】
ここで、図5Bに示す、シナリオテーブルSES1-bの各項目について説明する。シナリオIDには、シナリオ実行要求S1-5の引数であるシナリオIDを記載する。シナリオ情報には、連携サービスの実行順序を示すシナリオ情報の参照先を記載する。
【0046】
連携サービスの実行順序を示すシナリオ情報はBPELに基づき記述する。図6Aは、シナリオ情報のBPEL文書のうち、主要な部分を取り出したものである。scenarioタグはシナリオ情報をすべて含むタグで、複数のサービスタグを子要素に持ち、また属性値としてシナリオIDの値(図6Aでは、2512)を持つ。serviceタグは呼び出すWebサービス提供サーバWSに関する情報を記載するタグで、サービス名を示すnameタグおよびサービス実行パラメータを全て含んだinputValiablesタグを子要素に持つ。また、inputValiablesタグは、個々の変数情報を子要素variableタグの内容として記述する。
【0047】
図3の説明に戻る。シナリオ実行サーバSESのシナリオ実行エンジンSES1は検索の結果、図5Bに示すようにシナリオIDに対応したシナリオ情報が登録されているので、シナリオテーブルSES1-bからシナリオの実行に関するシナリオ情報を取得する(A1-4)。
【0048】
続いて、シナリオ実行サーバSESのシナリオ実行エンジンSES1はおよびシナリオ情報S1-aに記述されているサービス名をキーにして、WebサービスWSのURLおよびWebサービスWSの実行に必要なパラメータについて、サービステーブルSES1-aを検索する。
【0049】
ここで、図5Cに示す、サービステーブルSES1-aの各項目について説明する。サービス名には、取得したシナリオ情報に記載されている、serviceタグの要素と同じサービス名を記載する。エンドポイントURLには、Webサービス呼出において、連携サービス実行要求S1-6を送信する宛先となるURL(サービスURL)を記載する。
【0050】
シナリオ実行サーバSESのシナリオ実行エンジンSES1は検索の結果、図5Cに示すようにサービス名に対応したサービスURLが登録されているので、サービステーブルSES1-aからWEBサービス提供サーバWS1およびWEBサービス提供サーバWS2のURLを取得する(A1-5)。続いて、WEBサービス提供サーバWS1およびWEBサービス提供サーバWS2それぞれに対し、コールバックユーザID、シナリオ実行ID、サービス実行パラメータを引数として含めた連携サービス実行要求S1-6を送信する。連携サービス実行要求S1-6には、WEBサービス提供サーバWS1およびWEBサービス提供サーバWS2のそれぞれが規定したSOAPのリクエストメッセージを使用する。
【0051】
図7Aは、連携サービス実行要求S1-6のSOAPメッセージのうち、主要な部分を取り出したものである。callbackIDタグの要素には、コールバックユーザIDの値を記載する。processIDタグの要素には、シナリオ実行IDの値を記載する。parametersタグの要素にはparamタグを複数個記載可能とし、各paramタグの要素にはサービス実行パラメータの個々の値を記載する。
【0052】
続いて、ユーザ対話処理を含む連携サービス実行について、図4の連携サービスの実行シーケンスの例を用いて説明する。 WEBサービス提供サーバWSのシナリオ実行I/F WS1がシナリオ実行サーバSESから連携サービス実行要求S1-6を受信すると、制御モジュールWS4は、引数として取得したシナリオ実行IDと、シナリオ実行I/FにおけるスレッドIDとを結びつけて、実行プロセス管理テーブルWS4-aに登録する。
【0053】
ここで、図5Dに示す、実行プロセス管理テーブルWS4-aの各項目について説明する。コールバックユーザIDには、連携サービス実行要求S1-6の引数であるコールバックユーザIDを記載する。スレッドIDレコードには、連携サービスの実行要求を受理した、シナリオ実行I/FにおけるスレッドIDを記載する。
【0054】
図4の説明に戻る。WEBサービス提供サーバWSの制御モジュールWS4はコールバックユーザIDを基に、コールバック要求先のコールバック制御部CCを特定する。その後、CallbackクライアントWS2はコールバック制御部CCに対し、WEBサービス提供サーバWSのURLおよびコールバックユーザIDを引数として含めた、ユーザコールバック要求S2-1を送信する。
【0055】
図7Cは、ユーザコールバック要求S2-1のSOAPメッセージのうち、主要な部分を取り出したものである。callbackIDタグの要素には、コールバックユーザIDの値を記載する。endPointタグの要素にはコールバック処理によりユーザがインタラクションを開始する通信相手となる、Webサービス提供サーバWSのアクセスするURLの値を記載する。
【0056】
図4の説明に戻る。コールバック制御部CCのWS向けI/F CC1が、WEBサービス提供サーバWSからユーザコールバック要求S2-1を受信すると、コールバックID管理部I/F CC4は、コールバック管理部CIMに対し、コールバックユーザIDを引数として含めた、コールバックユーザID解決要求S2-2を送信する。コールバックユーザID解決要求S2-2は、コールバックユーザIDを含めたバイナリデータであり、ソケット通信によりコールバック管理部CIMへ送信される。
【0057】
コールバック管理部CIMのコールバック管理部CIM1は、コールバック制御部CCよりコールバックユーザID解決要求S2-2を受信すると、受信メッセージに含まれているコールバックユーザIDについて、コールバック管理テーブルCIM1-aを検索する。
【0058】
検索の結果、コールバック管理テーブルCIM1-aは図5Aのようになっており、コールバックユーザIDから対応するセッションIDを取得する(A2-1)。その後、コールバック制御部CCに対し、セッションIDを引数として含めた、コールバックユーザID解決応答S2-3を送信する。コールバックユーザID解決応答S2-3は、セッションIDを含めたバイナリデータであり、ソケット通信によりコールバック制御部CCへ送信される。
【0059】
コールバック制御部CCのコールバックID管理部I/F CC4が、コールバック管理部CIMよりコールバックユーザID解決応答S2-3を受信すると、US向けI/F CC2は取得したセッションIDに結びつくユーザ端末USに対し、WEBサービス提供サーバWSのURL、コールバックユーザIDおよびセッションIDを引数として含めた、ユーザコールバック要求S2-4を送信する。ユーザコールバック要求S2-4には、HTTPの302 Moved Temporarilyメッセージを利用し、LocationヘッダにWEBサービス提供サーバWSのURLを設定する。
【0060】
ユーザ端末USのWebブラウザUS1はコールバック制御部CCからユーザコールバック要求S2-4を受信すると、Locationヘッダを確認し、WEBサービス提供サーバWS のURLを取り出す。そして、WEBサービス提供サーバWSに対し、コールバックユーザIDを引数として含めた、ユーザインタラクション要求S2-5を送信する。ユーザインタラクション要求S2-5には、HTTPのGETメッセージを利用し、Refererヘッダにコールバック管理部CIMの戻り先URLを設定する。
【0061】
WEBサービス提供サーバWSのHTTP UI WS3がユーザ端末USからユーザインタラクション要求S2-5を受信すると、アプリケーションWS5はユーザ端末USに対し、ユーザ対話処理に必要なHTMLの画面を引数として含めた、ユーザインタラクション入力要求S2-6を送信する。ユーザインタラクション入力要求S2-6には、HTTPの200 OKメッセージを利用する。
【0062】
ユーザ端末USのWebブラウザUS1は、Webサービス提供サーバWSからユーザインタラクション入力要求S2-6を受信すると、WebブラウザUS1上に表示されている入力フォームへ、情報を入力する。入力が終わると、WEBサービス提供サーバWSに対し入力情報送信メッセージS2-7を送信する。入力情報送信メッセージS2-7にはHTTPのGETメッセージを利用する。
【0063】
WEBサービス提供サーバWSのHTTP UI WS3がユーザ端末USから入力情報送信メッセージS2-7を受信すると、アプリケーションWS5は入力情報を基にアプリケーションWS5を実行する。アプリケーションWS5の実行が成功しなかった場合、再度ユーザ端末USに対し、ユーザインタラクション入力要求S2-5を送信する。アプリケーションWS5の実行が成功した場合、ユーザ端末USに対し、アプリケーションWS5の実行結果を引数として含めた、アプリケーション実行結果確認要求S2-8を送信する。アプリケーション実行結果確認要求S2-8には、HTTPの200 OKメッセージを利用する。
【0064】
ユーザ端末USのWebブラウザUS1は、WEBサービス提供サーバWSからアプリケーション実行結果確認要求S2-8を受信すると、ユーザはWebブラウザUS1に表示された実行結果を確認する。実行結果が良ければ承認処理として、WEBサービス提供サーバWSに対しアプリケーション実行結果確認応答S2-9を送信する。アプリケーション実行結果確認応答S2-9には、HTTPのGETメッセージを利用する。
【0065】
WEBサービス提供サーバWSのHTTP UI WS3がユーザ端末USからアプリケーション実行結果確認応答S2-9を受信すると、アプリケーションWS5は実行結果を確定する。その後、ユーザ端末USに対し、ユーザインタラクション応答S2-10を非同期メッセージとして送信する。ユーザインタラクション応答S2-10には、HTTPの302 Moved Temporarilyメッセージを利用する。
【0066】
その後、WEBサービス提供サーバWSのアプリケーションWS5は制御モジュールWS4にコールバックユーザIDおよび実行結果を渡す。制御モジュールWS4はコールバックユーザIDおよび実行結果を取得すると、シナリオ実行I/Fから取得したコールバックユーザIDの中から、一致するものがあるか探し出し、スレッドID解決する。これによりシナリオ実行スレッドが特定されるので、そのシナリオ実行スレッドにサービスの実行結果を渡す(A2-2)。
【0067】
一方、ユーザ端末USのWebブラウザUS1は、WEBサービス提供サーバWSからユーザインタラクション応答S2-10を受信すると、コールバック制御部CCに対し、セッションIDおよびコールバックユーザIDを引数として含めた、ユーザコールバック応答S2-11を送信する。ユーザコールバック応答S2-11には、HTTPの302 Moved Temporarilyメッセージを利用し、Locationヘッダにコールバック管理部CIMの戻り先URLを設定する。
【0068】
コールバック制御部CCのUS向けI/F CC2は、ユーザ端末USからユーザコールバック応答S2-11を受信すると、WEBサービス提供サーバWSに対しユーザコールバック応答S2-12を送信する。そしてWEBサービス提供サーバWSはユーザコールバック応答S2-12を受信する。
【0069】
図7Dは、ユーザコールバック応答S2-12のSOAPメッセージのうち、主要な部分を取り出したものであり、statusタグの要素には、実行結果が成功であればsuccessを、失敗であればfailを記載する。
以上が、ユーザインタラクションを実施する一連の処理である。
【0070】
図3の説明に戻る。WEBサービス提供サーバWS1のシナリオ実行I/F WS1-1、およびWEBサービス提供サーバWS2のシナリオ実行I/F WS2-1は、Webサービスの実行が終了するとそれぞれ、シナリオ実行サーバSESに対し、連携サービス実行結果、シナリオ実行IDおよびコールバックユーザIDを引数として含めた、連携サービス実行応答S1-7を送信する。
【0071】
図7Bは、連携サービス実行応答S1-7のSOAPメッセージのうち、主要な部分を取り出したものである。callbackIDタグの要素には、コールバックユーザIDの値を記載する。processIDタグの要素には、シナリオ実行IDの値を記載する。resultタグの要素には、各Webサービス提供サーバWSの実行結果を、テキスト形式で記載する。実行結果がバイナリ形式の場合は、テキスト形式にエンコードしてから記載する。
【0072】
シナリオ実行サーバSESのシナリオ実行エンジンSES1が、WEBサービス提供サーバWS1およびWEBサービス提供サーバWS2から連携サービス実行応答S1-7を受信すると、シナリオ実行受付部SES2はWebポータルサーバWPに対し、連携サービス実行結果およびコールバックユーザIDを引数として含めた、シナリオ実行応答S1-8を送信する。
【0073】
図6Cは、シナリオ実行応答S1-8のSOAPメッセージのうち、主要な部分を取り出したものであり、resultタグの要素には、各Webサービス提供サーバWSの実行結果を、テキスト形式で記載する。実行結果がバイナリ形式の場合は、テキスト形式にエンコードしてから記載する。
【0074】
図3の説明に戻る。WebポータルサーバWPのポータルアプリケーションWP1は、シナリオ実行サーバSESからシナリオ実行応答S1-8を受信すると、シナリオ実行結果をHTML形式に加工した実行結果HTML を生成する。そしてコールバック制御部CCに対し、実行結果HTMLおよびコールバックユーザIDを引数として含めた、サービス応答S1-9を送信する。サービス応答S1-9には、HTTPの200 OKメッセージを利用する。
【0075】
コールバック制御部CCのWP向けI/F CC5はWebポータルサーバWPからサービス応答S1-9を受信すると、コールバックユーザIDから、セッションIDを解決する(A1-6)。その後、US向けI/F CC2は解決したセッションIDに結びつくユーザ端末USに対し、実行結果HTMLおよびセッションIDを引数として含めた、サービス応答S1-10を送信する。サービス応答S1-10には、HTTPの200 OKメッセージを利用する。
【0076】
ユーザ端末USのWebブラウザUS1は、コールバック制御部CCからサービス応答S1-10を受信すると、受信した実行結果HTMLを描画し、WebブラウザUS1上に表示する。
【0077】
以上が、ユーザがユーザ端末を用いて、WebポータルサーバWPの提供するアプリケーションWP1を利用する場合の動作である。
【0078】
以上説明した本実施形態については、幾つかのバリエーションが存在する。まず、コールバック方式によるバリエーションについて述べる。
【0079】
これまで述べた方式は、Webサービス提供サーバWSからコールバック制御サーバCCSを経由してユーザ端末USへコールバックを実施する際、コールバック制御サーバCCSからユーザ端末USへの通信はHTTPのリダイレクションを利用している。この形態は、PCや携帯端末だけでなく、デジタルテレビなどWebブラウザのみの使用を前提としたサービスを提供する場合に適用できる。
【0080】
他の方式として、コールバックID管理部CIMがWebポータルサーバの一部として存在し、コールバックID管理部CIMがユーザのメールアドレスを管理し、このメールアドレスを用いてコールバックを実施するようにしてもよい。
【0081】
さらに他の方式として、SIP-URIのようなキャリアが管理する通信IDを用いてコールバックを実施してもよい。この場合、コールバックID管理部CIMが種々のIDを管理するサービスとして存在し、WebポータルサーバがコールバックID管理部CIMに問い合わせ、ポータルで使用するユーザIDからキャリアが管理する通信IDを取得する。この場合は、ユーザ端末USには、コールバック要求を受信しWebブラウザUS1を新規に立ち上げるランチャ機能が新たに必要となる。
【0082】
次に、HCIの制御方法についても、幾つかのバリエーションがある。コールバック制御部CCがユーザ端末USに対するフォワードプロキシとして、Webサービス提供サーバWSとの間を仲介する形態では、従来のプロキシを用いた技術と同様の効果が得られる。つまり、ユーザ端末USの情報(IPアドレスなど)のWebサービス提供サーバWSに対する秘匿、ユーザ端末USからの入力情報のキャッシュ、Webサービス提供サーバWSからユーザ端末USに対し配信されるコンテンツのキャッシュや軽量化、などといった効果が期待できる。
【0083】
なお、本発明は、上述した各実施形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、上記各実施の形態を適宜組み合わせることができる。
【符号の説明】
【0084】
NW:ネットワーク、US:ユーザ端末、US1:Webブラウザ、CCS:コールバック制御サーバ、CIM:コールバックID制御部、CIM1:コールバックID管理部、CIM1−a:コールバック制御テーブル、CC:コールバック制御部、CC1:WS向けI/F、CC2:US向けI/F、CC3:コールバック制御部、CC4:コールバックID管理部I/F、CC5:WP向けI/F、WP:Webポータルサーバ、WP1:ポータルアプリケーション、WP2:シナリオ実行要求部、SES:サービスシナリオ実行サーバ、SES1:シナリオ実行エンジン、SES1−a:サービステーブル、SES1−b:シナリオテーブル、SES2:シナリオ実行受付部、WS1、WS2:Webサービス提供サーバ、WS1−1、WS2−1:シナリオ実行I/F、WS1−2、WS2−2:Callbackクライアント、WS1−3、WS2−3:HTTP UI、WS1−4、WS2−4:制御モジュール、WS1−4−a、WS2−4−a:実行プロセス管理テーブル、WS1−5:宿泊予約アプリケーション、WS2−5:新幹線予約アプリケーション、10:インタフェース、11:CPU、12:メモリ、13:通信装置、14:入力装置、15:出力装置、16:読取装置、17:外部記憶装置、18:可搬性を有する記憶媒体。

【特許請求の範囲】
【請求項1】
ユーザ端末がWebポータルサーバおよびサービスシナリオ実行サーバを介して、Webサービス提供サーバを順次呼び出し、各Webサービス提供サーバが前記ユーザ端末との間で対話処理を実施するサービス連携システムにおいて、
コールバックユーザIDを伴ったコールバック要求の前記Webサービス提供サーバからの受信に応答して、前記ユーザ端末または前記ユーザ端末によるセッションを識別するIDを用いて前記ユーザ端末へ対話処理開始の要求を送信するコールバック制御部と、
前記IDと前記コールバックユーザIDとを関連づけて管理し、前記コールバックユーザIDに対応する前記IDを取得するコールバックID管理部とを有するコールバック制御サーバを設けたことを特徴とするサービス連携システム。
【請求項2】
請求項1に記載のサービス連携システムにおいて、
前記コールバック制御部は、前記ユーザ端末から前記Webポータルサーバへのサービス要求の受信に応答して、前記IDを前記コールバックID管理部へ送信し、前記コールバックID管理部から前記コールバックユーザIDを取得し、取得した前記コールバックユーザIDを前記サービス要求に付与し、前記コールバックユーザIDを付与した前記サービス要求を前記Webポータルサーバへ送信し、前記コールバック要求に伴う前記コールバックユーザIDに対応する前記IDを前記コールバックID管理部へ要求し、前記コールバックID管理部から前記コールバックユーザIDに対応する前記IDを取得し、
前記コールバックID管理部は、前記コールバック制御部から前記IDを取得し、取得した前記IDに対応する前記コールバックユーザIDを生成し、、生成した前記コールバックユーザIDを前記コールバック制御部へ送信し、前記コールバック制御部から前記コールバック要求に伴う前記コールバックユーザIDを取得し、、取得した前記コールバックユーザIDに対応する前記IDを前記コールバック制御部へ送信することを特徴とするサービス連携システム。
【請求項3】
請求項2に記載のサービス連携システムにおいて、
前記コールバック制御部は、前記ユーザ端末から前記Webサービス提供サーバへの入力情報、および、前記Webサービス提供サーバから前記ユーザ端末へ配信されるコンテンツをキャッシュすることを特徴とするサービス連携システム。
【請求項4】
請求項2に記載のサービス連携システムにおいて、
前記コールバック制御部は、前記ユーザ端末から前記Webサービス提供サーバへの入力情報から前記Webサービス提供サーバに対し秘匿が必要な情報を除いて、秘匿が必要な情報を除いた前記入力情報を前記Webサービス提供サーバへ送信することを特徴とするサービス連携システム。
【請求項5】
請求項1に記載のサービス連携システムにおいて、
前記Webポータルサーバは、前記Webポータルサーバが使用するユーザIDを前記コールバックID管理部に送信し、前記ユーザIDに対応する前記コールバックユーザIDを前記コールバックID管理部から取得し、取得した前記コールバックユーザIDをパラメータとして前記サービスシナリオ実行サーバへ送信し、
前記コールバックID管理部は、前記Webポータルサーバからの前記ユーザIDの取得に応答して、前記ユーザIDに対応する前記コールバックユーザIDを生成し、生成した前記コールバックユーザIDを前記Webポータルサーバへ送信することを特徴とするサービス連携システム。
【請求項6】
請求項5に記載のサービス連携システムにおいて、
前記コールバック制御部は、前記ユーザ端末から前記Webサービス提供サーバへの入力情報、および、前記Webサービス提供サーバから前記ユーザ端末へ配信されるコンテンツをキャッシュすることを特徴とするサービス連携システム。
【請求項7】
請求項5に記載のサービス連携システムにおいて、
前記コールバック制御部は、前記ユーザ端末から前記Webサービス提供サーバへの入力情報から前記Webサービス提供サーバに対し秘匿が必要な情報を除いて、秘匿が必要な情報を除いた前記入力情報を前記Webサービス提供サーバへへ送信することを特徴とするサービス連携システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図5C】
image rotate

【図5D】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図6C】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図7C】
image rotate

【図7D】
image rotate


【公開番号】特開2012−79210(P2012−79210A)
【公開日】平成24年4月19日(2012.4.19)
【国際特許分類】
【出願番号】特願2010−225639(P2010−225639)
【出願日】平成22年10月5日(2010.10.5)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成20年度 独立行政法人情報通信研究機構「次世代ネットワーク(NGN)基盤技術の研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】