JP5089621B2 - サービス連携処理システム及び方法 - Google Patents
サービス連携処理システム及び方法 Download PDFInfo
- Publication number
- JP5089621B2 JP5089621B2 JP2009008057A JP2009008057A JP5089621B2 JP 5089621 B2 JP5089621 B2 JP 5089621B2 JP 2009008057 A JP2009008057 A JP 2009008057A JP 2009008057 A JP2009008057 A JP 2009008057A JP 5089621 B2 JP5089621 B2 JP 5089621B2
- Authority
- JP
- Japan
- Prior art keywords
- authentication
- information
- service
- request information
- soap
- 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.)
- Expired - Fee Related
Links
Images
Description
マッシュアップを行う際、利用するWebサービス毎にプロトコルが異なり、あるいは、認証方法が異なる場合、各プロトコルや認証方法に合わせたWebサービス要求(リクエスト情報)を送信するためのプログラムが必要となり、また、SOAP用ミドルウェアソフトやREST用ミドルウェアソフトの購入などのコストが発生する。
例えば、非特許文献1では、Webとテレコムとを連携する際、SOAPのシングルサインオン(Single Sign On; SSO)認証認可処理を行い、サービス品質監視制御処理やトラフィック制御処理などの非機能要件処理を一括して行う実行制御サーバが提案されている。
また、非特許文献2では、電話サービスとWebサービスとを連携する際に、共通処理を行う実行制御サーバが提案されている。
一方で、非特許文献3に示されるように、SAML(Security Assertion Markup Language)認証のシングルサインオン認証認可を有する正規権限保侍者が権限委譲証明書を被権限委譲者に譲渡し、権限を委譲された利用者は、権限を譲渡された利用者のアカウントでAPL(Application)サーバにログインする方式が一般的になってきており、この方式によるメリットは権限委譲によるサービス認可を実現可能な点である。
以下、図面を参照して、本発明の実施形態について説明する。図1は、本発明の実施形態による、サービス連携処理システム100の構成を示す概略ブロック図である。
図1のサービス連携処理システム100は、実行制御サーバ1と、トラフィック情報管理サーバ14と、メッセージトランスレータ装置7と、プロファイルサーバ10と、サービス登録サーバ12と、サービス公開サーバ13と、認証局6と、ネットワーク18と、SOAPサービスコンポーネントサーバ19と、RESTサービスコンポーネントサーバ21と、SOAPサービスリクエスタ端末16と、RESTサービスリクエスタ端末17とを備える。
SOAPサービスリクエスタ端末16、RESTサービスリクエスタ端末17、実行制御サーバ1、メッセージトランスレータ装置7、サービス公開サーバ13、サービス登録サーバ12、認証局6、SOAPサービスコンポーネントサーバ19、RESTサービスコンポーネントサーバ21は、ネットワーク18を介して接続されている。
また、プロファイルサーバ10は、実行制御サーバ1、メッセージトランスレータ装置7、サービス登録サーバ12に接続されている。
また、トラフィック情報管理サーバ14は、実行制御サーバ1に接続されている。
なお、プロファイルサーバ10、トラフィック情報管理サーバ14は、ネットワーク18を介して接続されていてもよい。
ここで、SOAPリクエスト情報は、サービスコンポーネントにレスポンスの送信を要求するために、XML(Extensible Markup Language)やHTTP(Hyper Text Transfer Protocol)などの転送プロトコルに基づいて記述される情報である。また、SOAPサービスコンポーネント20、26、27に対するSOAPリクエスト情報のフォーマットについても、提供するサービスを記述する場合と同じく、WSDLを用いて記述されるWSDL定義文書によって示される。
RESTサービスコンポーネントサーバ21において、RESTサービスコンポーネント28、29、30は、それぞれのプログラムが実行されることにより構成される機能部であり、RESTリクエスト情報を受信して、RESTレスポンスを送信する。また、RESTサービスコンポーネント28、29、30は、提供するサービスをインタフェース定義であるWADL(Web Application Description Language)で定義したWADL定義文書を生成する。
ここで、RESTリクエスト情報は、サービスコンポーネントにレスポンスの送信を要求するために、HTTPのGET、PUT、POST、DELETEメソッドを用いて記載される情報である。また、RESTサービスコンポーネント28、29、30に対するRESTリクエスト情報のフォーマットについても、提供するサービスを記述する場合と同じく、WADLを用いて記載されるWADL定義文書によって示される。
なお、以下の説明において、SOAPサービスコンポーネント20、26、27、RESTサービスコンポーネント28、29、30の全てをいうときは、単にサービスコンポーネントともいう。
また、SOAPリクエスト情報及びRESTリクエスト情報の両方を示すときには、単にリクエスト情報ともいう。
また、WSDL定義文書とWADL定義文書の両方を示すときには、単に定義文書ともいう。
コンポーネント情報抽出部42は、サービスコンポーネントから受信する定義文書中に記載されたサービスID(Identifier)と、URI(Uniform Resource Identifier)と、オペレーション名とを読み出す。また、コンポーネント情報抽出部42は、定義文書の書式から、該定義文書を送信したサービスコンポーネントのプロトコルがSOAPかRESTかを判定する。併せて、コンポーネント情報抽出部42は、サービスコンポーネントから定義文書と共に送信される、非機能要件処理ポリシーと、ID変換パターンと、サービスコンポーネント固有の認証情報と、変換を求める情報とを受信する。
また、URIとは、サービスコンポーネントのネットワーク上でのアドレスを表す識別子である。
また、非機能要件処理ポリシーとは、サービスコンポーネントが実行を要求する非機能要件を示す情報である。非機能要件処理とは、SOAPリクエスト情報或いはRESTリクエスト情報に対する直接の処理であるレスポンスを返信する処理以外の処理をいい、例えば、認可処理や、ユーザ閉塞確認処理や、サービス閉塞確認処理や、擾乱防止処理や、トラフィック制御処理などがある。認可処理としては、SOAPリクエスト情報またはRESTリクエスト情報のホワイトリスト照合や、ブラックリスト照合や、SOAPリクエスト情報またはRESTリクエスト情報中に書き込まれた、サービスコンポーネントによって発行されたIDを検出することによるサービスコンポーネントへのアクセス権限の判定などがある。擾乱防止処理は、ネットワークからの擾乱を防止する処理であり、リクエスト情報に記載された条件を満たさないサービスコンポーネントへのリクエスト情報の送信を行わなくするコンテンツフィルタ処理や、いわゆるスパム攻撃などの場合に、特定のユーザとの通信量を制御するスロットリング処理などがある。トラフィック制御機能処理としては、リクエスト情報に優先度を付けて優先度の高いものから処理する優先制御処理や、サービスコンポーネントサーバの処理能力に応じて通信量を制御するフロー制御などがある。
また、ID変換パターンとは、サービスコンポーネントが行う認証方法のパターンを表す情報であり、例えば、後述するSAML連携型、ID置換型、削除型などがある。
また、サービスコンポーネント固有の認証情報とは、サービスコンポーネントが独自に発行する認証情報であり、例えば、該サービスコンポーネントが発行するIDおよびパスワードである。したがって、認証を行わないサービスコンポーネントや、複数のサービスコンポーネントに共通の認証情報である認証チケットを利用して認証を行うサービスコンポーネントは、サービスコンポーネント固有の認証情報を発行しない。
なお、以下では、サービスコンポーネント固有の認証情報を、単に固有の認証情報ともいう。
定義文書変換部43は、サービス登録部41からWSDL定義文書の入力を受けると、該WSDL定義文書中の送信先アドレスを実行制御サーバ1のアドレスに書き換え、認証情報のパラメータを書き込む。また、定義文書変換部43は、WSDL定義文書と共に、変換を求める旨の情報の入力を受けると、該WSDL定義文書をWADL定義文書に変換する。また、定義文書変換部43は、サービス登録部41からWADL定義文書の入力を受けると、該WADL定義文書中の送信先アドレスを実行制御サーバ1のアドレスに書き換え、認証情報のパラメータを書き込む。また、定義文書変換部43は、WADL定義文書と共に、変換を求める旨の情報の入力を受けると、該WADL定義文書をWSDL定義文書に変換する。
また、プロファイル制御部11は、コンポーネント情報抽出部42から受信したサービスIDと、オペレーション名と、ID変換パターンと、サービスコンポーネント固有の認証情報と、非機能要件ポリシーとを関連付けて、オペレーションテーブル52に登録する。
ここで、認証局6が発行する認証情報は、一度の認証で複数のWebサービスが利用できるシングルサインオン(SSO; Single Sign On)のための認証情報であり、例えばSAMLの認証チケットや認証チケットポインタである。SAMLは、標準化団体OASIS(Organization for the Advancement of Structured Information Standards)によって策定された、IDやパスワードなどの認証及び認証情報を、安全に受け渡しするための規格であり、XML仕様で規定される。SAMLにおける認証情報の受け渡し方法は、SAMLプロトコルとしてまとめられており、メッセージの送受信にはHTTPまたはSOAPが用いられる。SAMLの認証チケットは、資格証明用の情報であり、これを流通させることでシングルサインオンができる。なお、RESTでは、認証情報は1度しか使えないものとして、認証チケットではなく、認証チケットへのポインタである認証チケットポインタの受け渡しを行うこととする。
また、認証情報制御部50は、例えば、認証チケットまたは認証チケットポインタを受信して、あるいは、認証局6専用のIDとパスワードを受信して、これらが正当なものであるかを判定する。IDとパスワードが正当なものであると判定した場合、認証情報制御部50は、認証チケットを受信したときは、認証チケットポインタ/認証チケット対応表25で対応付けられた認証チケットポインタを発行する。また、認証チケットポインタを受信したときは、認証チケットポインタ/認証チケット対応表25で対応付けられた認証チケットを発行する。また、認証局6専用のIDとパスワードと共に、認証チケットまたは認証チケットポインタの指定を受信した場合は、指定に従って、認証チケット及び認証チケットポインタを発行し、発行した認証チケット及び認証チケットポインタを認証チケットポインタ/認証チケット対応表25に記憶させ、指定のあった認証チケットまたは認証チケットポインタを送信する。
RESTサービスリクエスタ端末17において、RESTサービスリクエスタ45は、サービス公開サーバ13にWADL定義文書を要求して受信し、該WADL定義文書に基づいてRESTリクエスト情報を生成する。また、RESTサービスリクエスタ端末17は、認証局6に認証チケットポインタの発行を要求して受信し、該認証チケットポインタをRESTリクエスト情報中に、パラメータ値として書き込む。
なお、以下の説明において、SOAPサービスリクエスタ44と、RESTサービスリクエスタ45との両方をいうときは、単にサービスリクエスタともいう。
メッセージプロキシ部3において、プロトコル判定部33は、SOAPサービスリクエスタ44またはRESTサービスリクエスタ45からリクエスト情報を受信し、該リクエスト情報のプロトコルがSOAPかRESTかを判定する。SOAPかRESTかの判定は、例えば、要素名が「soapenv」で始まるタグがあればSOAP、なければRESTとする。
SOAPリクエスト情報転送部4は、プロトコル判定部33が受信したリクエスト情報のプロトコルがSOAPである場合に、該リクエスト情報の入力を受ける。また、SOAPリクエスト情報転送部4は、プロファイルサーバ10から、プロトコル変換が必要か否かの情報と、該リクエスト情報に対するサービスコンポーネントサーバのURIを受信し、変換が不要な場合は、該サービスコンポーネントサーバにリクエスト情報を送信する。
RESTリクエスト情報転送部5は、プロトコル判定部33が受信したリクエスト情報のプロトコルがRESTである場合に、該リクエスト情報の入力を受ける。また、RESTリクエスト情報転送部5は、プロファイルサーバ10から、プロトコル変換が必要か否かの情報と、該リクエスト情報に対するサービスコンポーネントサーバのURIを受信し、変換が不要な場合は、該サービスコンポーネントサーバにリクエスト情報を送信する。
SOAPレスポンス転送部34は、SOAPレスポンスを受信すると、SOAPサービスリクエスタ44に、該SOAPレスポンスを送信する。
RESTレスポンス転送部35は、RESTレスポンスを受信すると、RESTサービスリクエスタ45に、該RESTレスポンスを送信する。
シングルサインオン部47は、認証チケットポインタ解決部46から認証チケットの入力を受け、該認証チケットの正当性を判断することによって認証を行う。
なお、SOAPサービスリクエスタ44は、認証チケットの代わりに実行制御サーバ1が発行したIDおよびパスワードをSOAPリクエスト情報中に書き込んで実行制御サーバ1へ送信し、シングルサインオン部47は、該IDおよびパスワードの正当性を判定することによって認証を行ってもよい。同様に、RESTサービスリクエスタ45は、認証チケットポインタの代わりに実行制御サーバ1が発行したIDおよびパスワードをRESTリクエスト情報中に書き込んで実行制御サーバ1へ送信し、シングルサインオン部47は、該IDおよびパスワードの正当性を判定することによって認証を行ってもよい。
認証部36が行う認証は、シングルサインオンの基礎認証であり、認証に成功すると、すなわち、正当な認証チケットと判断された場合は、サービスリクエスタは、サービスコンポーネントの認証を直接受けることを免除される。
非機能要件処理部2は、認証部36から、認証に成功したこと、すなわち、認証チケットあるいは認証チケットポインタにより示される認証チケットが正当なものであることが示された情報の入力を受けると、非機能要件処理を行う。また、非機能要件処理部2は、メッセージプロキシ部3へ、非機能要件処理に成功したこと、例えば、認可処理において、サービスコンポーネントへのアクセス権限を有するサービスリクエスタであることが確認されたことを示す情報を出力する。
リクエスト情報変換部37において、SOAPリクエスト情報変換部8は、SOAPリクエスト情報転送部4からSOAPリクエスト情報を受信して、RESTリクエスト情報に変換し、プロファイルサーバ10に、該RESTリクエスト情報に対応するサービスコンポーネントのURIを要求して受信し、該サービスコンポーネントにRESTリクエスト情報を送信する。
RESTリクエスト情報変換部9は、RESTリクエスト情報転送部5からRESTリクエスト情報を受信して、SOAPリクエスト情報に変換し、プロファイルサーバ10に、該SOAPリクエスト情報に対応するサービスコンポーネントのURIを要求して受信し、該サービスコンポーネントにSOAPリクエスト情報を送信する。
レスポンス変換部38において、SOAPレスポンス変換部39は、SOAPサービスコンポーネント20、26、27のいずれかからSOAPレスポンスを受信すると、RESTレスポンスに変換してRESTレスポンス転送部35へ送信する。
RESTレスポンス変換部40は、RESTサービスコンポーネント28、29、30のいずれかからRESTレスポンスを受信すると、SOAPレスポンスに変換してSOAPレスポンス転送部34へ送信する。
次に、図2を参照しつつ、サービス登録サーバ12が、RESTサービスコンポーネント28、29、30からWADL定義文書を受信して、WSDL定義文書に変換する例について説明する。WADL定義文書は、RESTリクエスト情報のフォーマットを示すものであり、SOAPサービスリクエスタ44がそのまま用いることはできない。そこで、サービス登録サーバ12は、該WADL定義文書を、SOAPリクエスト情報のフォーマットを示すWSDL定義文書に変換する。
サービス事業者の操作を受けたRESTサービスコンポーネント28、29、30は、サービスIDとオペレーション名とが書き込まれたWADL定義文書、例えば、図2のsample.wadlを生成し、サービス登録サーバ12に送信する。また、RESTサービスコンポーネント28、29、30は、非機能要件処理ポリシーと、ID変換パターンと、サービスコンポーネント固有の認証情報と、変換を求めるか否か示す情報とを、WADL定義文書と共に、サービス登録サーバ12に送信する。
コンポーネント情報抽出部42は、RESTサービスコンポーネント28、29、30から受信するWADL定義文書中に記載されたサービスIDと、URIと、オペレーション名とを読み出して、プロファイルサーバ10へ送信する。また、コンポーネント情報抽出部42は、定義文書の書式から、該定義文書を送信したRESTサービスコンポーネント28、29、30のプロトコルがSOAPかRESTかを判定して、プロファイルサーバ10へ送信する。ここでは、RESTであることを示す情報を送信する。また、コンポーネント情報抽出部42は、サービス登録部41から入力された、非機能要件処理ポリシーと、ID変換パターンと、サービスコンポーネント固有の認証情報とをプロファイルサーバ10へ出力する。
また、定義文書変換部43は、サービス登録部41から、変換を求める旨の情報が入力された場合は、サービス登録部41から入力されたWADL定義文書をWSDL定義文書に変換する。そして、定義文書変換部43は、変換後のWSDL定義文書中に記載された送信先アドレスを実行制御サーバ1のアドレスに書き換え、認証情報のパラメータを書き加えて、サービス公開サーバ13に送信し、公開サービス制御部48を通じて公開サービス記憶部49に登録させる。
また、定義文書変換部43は、変換を行った場合は、変換を行った旨を示す情報を、プロファイルサーバ10へ送信する。
(1)SOAP名前空間(targetNamespace)は、サービス登録時に入力されたサービスIDに、定型プレフィックスを付したものとする。例えば、サービスID「com.goo.search」に、定型プレフィックス「urn:nttcs:com」を付して、名前空間を「urn:nttss:com:goo:search」とする。図2の例では、サービスID「sample」に定型プレフィックス「nttss」を付して、名前空間を「urn:nttss:sample」としている。
ここで、名前空間とは、SOAPリクエスト情報中で使用されるタグセットの定義に付される識別子であり、タグセットの定義の登録先を示す。手順(1)によって、名前空間の一意性を確保する。
ここで、SOAPオペレーション名を「HTTPメソッド名十#連番」とするのは、RESTでは1リソースに同一メソッド名を複数定義(オーバーロード)できるので、その識別をするためである。
また、メディアタイプが「application/xml」または「text/xml」の場合は、当該XML文書が、SOAPの1パラメータとして対応付けられる。
変換前後でパラメータを1対1に対応付けることによって、メッセージトランスレータ装置7が、SOAPリクエスト情報をRESTリクエスト情報に変換する際に、変換前後でパラメータが1対1に対応付けられ、RESTリクエスト情報のパラメータに、対応するSOAPリクエスト情報のパラメータ値を書き込めるようにするためである。
これにより、メッセージトランスレータ装置7がSOAPリクエスト情報をRESTリクエスト情報に変換する際、SOAPレスポンスのパラメータを読み出すことでRESTレスポンスのパラメータが得られる。
図2の例では、定義文書変換部43は、include文「<include href="sample.xsd">」から、タグセットの定義を示す外部スキーマファイルsample.xsdを読み出し、該外部スキーマフィルと名前空間「targetNamespace="urn:nttss:sample"」とを公開サービス記憶部49に登録する。外部スキーマファイルと名前空間との対応付けは、例えば、公開サービス記憶部49中に対応関係テーブルを設けて登録することによって行う。
また、定義文書変換部43は、生成するWSDL定義文書sample.wswdl中に、名前空間を書き込む。
これによって、SOAPサービスリクエスタ44が、WSDL定義文書を受信してSOAPリクエストを生成する際、名前空間をサービス公開サーバ13に送信し、外部スキーマファイルを受信してタグセットの定義を知ることができる。
次に、図3を参照しつつ、サービス登録サーバ12が、SOAPサービスコンポーネント20、26、27からWSDL定義文書を受信して、WADL定義文書に変換する例について説明する。WADL定義文書からWSDL定義文書への変換の場合と同様、サービス登録サーバ12は、WSDL定義文書をRESTサービスリクエスタ45が利用できるWADL定義文書に変換する。
なお、プロファイルサーバ10に情報を登録する過程、および、サービス公開サーバ13に定義文書を登録する過程は、サービス登録サーバ12がプロファイルサーバ10に名前空間を登録する点を除いて、WADL定義文書からWSDL定義文書に変換する場合と同様であり以下、名前空間を登録する構成と変換の手順について説明する。
サービス登録サーバ12のコンポーネント情報抽出部42は、WSDL定義文書中に記載されたサービスIDと、URIとに加えて、名前空間を読み出して、プロファイルサーバ10へ送信する。名前空間は、プロファイルサーバ10のサービス情報テーブル51に登録される。
サービス登録サーバ12の定義文書変換部43は、WSDL定義文書、例えば、図3のsample.wsdlを、図3のWADL定義文書sampleExport.wadlに変換する。
定義文書変換部43が行う、WSDL定義文書からWADL定義文書への変換は、以下の手順に従って行われる。
ここで、SOAPのオペレーションの意味は自動判別できないため、httpのGETに全てマッピングすることで、自動変換を可能としている。
1.配列は、element名と配列のインテックスを「@」で結合して、element名@<配列のインデックス(1〜)>とする。
2.構造体の入れ子は、element名を「@」で連結する。図3の例では、パラメータ「condition」は構造体であり、sampleExport.wadlでは、入れ子を「@」で結合した「condition@elem1」、「conditon@elem2」がelement名として用いられている。
3.その他は、element名をそのまま用いる。図3の例では、sample.wsdl中のパラーメータ「keyword」は、「string」型であって配列でも構造体でもないので、sampleExport.wadl中では「<param name="tns:keyword"…>」と、element名「keyword」がそのまま用いられている。
これにより、メッセージトランスレータ装置7が、RESTリクエスト情報をSOAPリクエスト情報に変換する際に、元の配列や構造体の構造に変換できるようにしている。
これにより、メッセージトランスレータ装置7がRESTリクエスト情報をSOAPリクエスト情報に変換する際、RESTレスポンスのパラメータを読み出すことでSOAPレスポンスのパラメータを得られる。
図3の例では、定義文書変換部43は、WSDL定義文書sample.wsdlから、点線で囲まれた部分のタグセットの定義と、名前空間「targetNamespace="http://AAA" xmlns:ns1="http://BBB"」とを読み出す。点線部分のタグセットの定義は、例えば"Response"の文字を含むタグを検出し、タグで囲まれた部分を抽出することによって行う。
また、定義文書変換部43は、読み出したタグセットの定義を、外部スキーマファイルsearchResponse_schema.xsdとして、名前空間と対応付けて公開サービス記憶部49に登録する。タグセットの定義と名前空間との対応付けは、例えば、公開サービス記憶部49中に対応関係テーブルを設けて登録することによって行う。
また、定義文書変換部43は、生成するWADL定義文書sampleExport.wadl中に、外部スキーマファイルの読み込み文(include文)「<include href="searchResponse_schema.xsd/>"」を書き込む。
これによって、RESTサービスリクエスタ45が、WADL定義文書を受信してRESTリクエストを生成する際、include文中の外部スキーマファイル名をサービス公開サーバ13に送信し、外部スキーマファイルを受信してタグセットの定義を知ることができる。
これによって、メッセージトランスレータ装置7がRESTリクエストをSOAPリクエストに変換する際、WADL定義文書中のサービスIDをプロファイルサーバ10に送信して名前空間を受信し、SOAPリクエスト中に書き込むことができる。また、SOAPリクエストを受信したSOAPサービスコンポーネント20、26、27は、SOAPリクエスト中の名前空間をサービス公開サーバ13に送信し、外部スキーマファイルを受信して、タグセットの定義を知ることができる。
次に、図4を参照して、プロファイルサーバ10のサービス情報テーブル51およびオペレーションテーブル52に登録される情報について説明する。
サービス情報テーブル51は、サービスコンポーネントを識別するための識別子である「サービスID」と、リクエスト情報の「プロトコル」と、サービスコンポーネントのネットワーク上のアドレスを表す「URI」と、リクエスト情報の変更の要否を示す「変換要否」の情報と、前述の「名前空間」とを記憶する。
「URI」の項目は、実行制御サーバ1またはメッセージトランスレータ装置7が、リクエスト情報をサービスコンポーネントに送信するために用いられる。
「変換要否」の項目に記載される情報は、実行制御サーバ1がリクエスト情報の送信先を決定するために用いられる情報である。実行制御サーバ1は、変換が必要な場合はメッセージトランスレータ装置7へ、不要な場合はサービスコンポーネントへ、リクエスト情報を送信する。
「サービスID」の項目は、「プロトコル」の項目と共に、サービス情報テーブル51を検索する際のキーとなる。
「オペレーション名」の項目は、「サービスID」の項目と共に、オペレーションテーブル52を検索する際のキーとなる。なお、オペレーション名が規定されないサービスの場合は、「サービスID」のみをキーとしてオペレーションテーブル52を検索する。
「ID変換パターン」の項目は、サービスコンポーネントが行う認証方法のパターンを表す情報である。ID変換パターンは、「SAML連携型」と、「ID置換型」と、「削除型」のいずれかの情報である。
ここで、以下の説明では、SOAPサービスコンポーネント20、RESTサービスコンポーネント28が「SAML連携型」、SOAPサービスコンポーネント26、RESTサービスコンポーネント29が「ID置換型」、SOAPサービスコンポーネント27、RESTサービスコンポーネント30が「削除型」であるとする。
「SAML連携型」のSOAPサービスコンポーネント20は、認証局6が発行する認証チケットを利用して認証を行うサービスコンポーネントである。実行制御サーバ1またはメッセージトランスレータ装置7は、SOAPサービスコンポーネント20に対しては、認証チケットを書き込んだリクエスト情報を送信する。また、同じくSAML連携型のRESTサービスコンポーネント28は、認証局6が発行する認証チケットポインタを利用して認証を行うサービスコンポーネントであり、RESTサービスコンポーネント28に対しては、実行制御サーバ1またはメッセージトランスレータ装置7は、認証チケットポインタを書き込んだリクエスト情報を送信する。
「ID置換型」のSOAPサービスコンポーネント26、RESTサービスコンポーネント29は、サービスコンポーネント固有の認証情報、例えばIDおよびパスワードを利用するサービスコンポーネントである。実行制御サーバ1またはメッセージトランスレータ装置7は、SOAPサービスコンポーネント26、RESTサービスコンポーネント29に対しては、固有の認証情報を書き込んだリクエスト情報を送信する。
「削除型」のSOAPサービスコンポーネント27、RESTサービスコンポーネント30は、認証を行わないサービスコンポーネントである。実行制御サーバ1またはメッセージトランスレータ装置7は、SOAPサービスコンポーネント27、RESTサービスコンポーネント30に対しては、認証情報を削除したリクエスト情報を送信する。
非機能要件処理ポリシーは、前記のとおり、実行制御サーバ1が行う非機能要件処理の内容を示す情報である。
また、実行制御サーバ1やメッセージトランスレータ装置7に、キャッシュ部31、32を備えておき、サービス情報テーブル51やオペレーションテーブル52の情報をそれぞれのキャッシュ部31、32に記憶しておくことで、プロファイルサーバ10との通信量を削減するようにしてもよい。
次に、SOAPリクエスト情報からRESTリクエスト情報への変換について、図5に示す例を用いて説明する。なお、以下ではSAML連携型のRESTサービスコンポーネント28について説明する。ID置換型のRESTサービスコンポーネント29や、削除型のRESTサービスコンポーネント30についても同様の変換を行う。
図5は、SOAPリクエスト情報がRESTリクエスト情報に変換され、それに対するRESTレスポンスがSOAPレスポンスに変換される例を示す図である。
実行制御サーバ1は、SOAPサービスリクエスタ44からSOAPリクエスト情報を受信すると、要素名が「soapenv」で始まるタグがあることから、プロトコルがSOAPであると判定して、SOAPリクエスト中から認証チケットを読み出して、認証チケットの検証によるシングルサインオン認証を行い、非機能要件処理を実行し、SOAPリクエスト情報をメッセージトランスレータ装置7に転送する。
メッセージトランスレータ装置7のSOAPリクエスト情報変換部8は、SOAPリクエスト情報を受信すると、SOAPオペレーションからRESTメソッドを判断してSOAPリクエスト情報をRESTリクエスト情報に変換し、また、SOAPリクエスト情報中にパラメータとして書き込まれた認証チケットと、その他のパラメータ値とを抽出する。また、SOAPリクエスト情報変換部8は、認証局6に認証チケットを送信して認証チケットポインタを取得し、該認証チケットポインタとSOAPリクエスト情報から抽出したその他のパラメータ値とを、RESTリクエスト情報中に書き込んで、RESTサービスコンポーネント28に送信する。
図5の場合、SOAPリクエスト
<soapenv:Envelope・・・> <soapenv:Header/>
<soapenv:Body>
<tns:Get#1> <para1>xxx</para1> <para2>yyy</para2>
<tns:Get#1> <soapenv:Body> </soapenv:Envelope>
に記載されている、SOAPオペレーション「GET#1」からRESTメソッドが「GET」であると判別し、SOAPリクエスト情報から抽出したパラメータ「<para1>xxx</para1> <para2>yyy</para2>」を「para1=xxx¶2=yyy#1」の形にしてRESTのクエリパラメータに入れる。
この変換は、WADL定義文書をWSDL定義文書に変換する際に、前述した手順(1)〜(5)に従うことによって可能となっている。
RESTサービスコンポーネント28は、RESTリクエスト情報を受信すると、RESTレスポンスをメッセージトランスレータ装置7へ送信する。
メッセージトランスレータ装置7のRESTレスポンス変換部40は、受信したRESTレスポンスの内容を、SOAPレスポンスのパラメータ値として書き込むことによって、RESTレスポンスをSOAPレスポンスに変換する。
図5の場合、RESTレスポンスの内容「<ZZZ> <result> 0 </result> </ZZZ>」が、SOAPレスポンス中にパラメータ値として書き込まれている。
RESTレスポンス変換部40は、変換によって生成されたSOAPレスポンスを、実行制御サーバ1のSOAPレスポンス転送部34を経由して、SOAPサービスリクエスタ44へ送信する。
以上よって、SOAPサービスリクエスタ44は、SOAPによって記載されたSOAPリクエスト情報を送信することによって、RESTサービスコンポーネント28からのレスポンスを、SOAPレスポンスとして得ることができる。
次に、RESTリクエスト情報からSOAPリクエスト情報への変換について、図6に示す例を用いて説明する。なお、以下ではSAML連携型のSOAPサービスコンポーネント20について説明する。ID置換型のSOAPサービスコンポーネント26や、削除型のSOAPサービスコンポーネント27についても同様の変換を行う。
図6は、RESTリクエスト情報がSOAPリクエスト情報に変換され、それに対するSOAPレスポンスがRESTレスポンスに変換される例を示す図である。
実行制御サーバ1は、RESTサービスリクエスタ45からRESTリクエスト情報を受信すると、要素名が「soapenv」で始まるタグが無いことから、プロトコルがRESTであると判定して、RESTリクエスト情報中から認証チケットポインタを読み出して認証局6へ送信し、認証チケットを取得する。実行制御サーバ1は、取得した認証チケットの検証によるシングルサインオン認証を行い、また、RESTでは認証情報は1度しか使えないので、認証チケットを認証局6へ送信して認証チケットポインタを取得し、RESTリクエスト情報中に取得した認証チケットポインタの情報を書き込む。また、実行制御サーバ1は、非機能要件処理を実行し、RESTリクエスト情報をメッセージトランスレータ装置7に転送する。
メッセージトランスレータ装置7のRESTリクエスト情報変換部9は、RESTリクエスト情報を受信すると、RESTメソッドからSOAPオペレーション名を判断してRESTリクエスト情報をSOAPリクエスト情報に変換し、また、RESTリクエスト情報中にパラメータ値として書き込まれた認証チケットポインタ、その他のパラメータ値を読み出す。また、RESTリクエスト情報変換部9は、認証局6へ認証チケットポインタ送信し、認証チケットを取得する。また、RESTリクエスト情報変換部9は、取得した認証チケットと、その他のパラメータ値とをSOAPリクエスト情報中に書き込んで、SOAPサービスコンポーネント20に送信する。
また、下記のRESTリクエスト情報の場合、「method=makeCallSession」によりSOAPのオペレーション「makeCallSession」が指定され、&でつながれたパラメータがSOAPのパラメータにマッピングされる。
?method=makeCallSession
&loc:callParticipants@1=sip:AAA &loc:callParticipants@2=sjp:BBB
&loc:ca1llngParticipantName=xxx &loc:charging@description=xxx
&loc:charging@currency=xxx &loc:charging@amount=100
&loc:charging@code=xxx &loc:mediaInfo@media=Audio
&loc:mediaInfo@mediaDirection=InOut &loc:changeMediaNotAllowed=false
この変換は、WSDL定義文書をWADL定義文書に変換する際に、前述した手順(1)〜(3)に従うことによって可能となっている。
RESTリクエスト情報変換部9は、変換したSOAPリクエスト情報をSOAPサービスコンポーネント20へ送信する。
SOAPサービスコンポーネント20は、SOAPリクエスト情報を受信すると、SOAPレスポンスをメッセージトランスレータ装置7へ送信する。
メッセージトランスレータ装置7のSOAPレスポンス変換部39は、受信したSOAPレスポンスのパラメータ値を、RESTレスポンスの内容とすることによって、SOAPレスポンスをRESTレスポンスに変換する。
図6の場合、SOAPレスポンスのパラメータ値「<tns:searchRseponse> <tns:result> 0 </tns:result> <tns:serarchResponse>」をRESTレスポンスの内容として、これに送信先アドレスを書き込んでRESTレスポンスを生成している。
SOAPレスポンス変換部39は、変換によって生成されたRESTレスポンスを、実行制御サーバ1のRESTレスポンス転送部35を経由して、RESTサービスリクエスタ45へ送信する。
以上によって、RESTサービスリクエスタ45は、RESTによって記載されたRESTリクエスト情報を送信することによって、SOAPサービスコンポーネント20からのレスポンスを、RESTレスポンスとして得ることができる。
次に、SOAPサービスリクエスタ44、RESTサービスリクエスタ45がリクエスト情報を送信してレスポンスを取得する際の、サービス連携処理システム100の動作について説明する。
第1の実施形態では、SOAPサービスリクエスタ44がSOAPリクエスト情報を送信し、実行制御サーバ1を経由してSOAPサービスコンポーネント20、26、27が受信する際のサービス連携処理システム100の動作を、図7を参照しつつ説明する。
ユーザに操作されたSOAPサービスリクエスタ端末16の、SOAPサービスリクエスタ44は、サービス公開サーバ13の公開サービス記憶部49に登録されたWSDL定義文書を取得し、また、認証局6に認証チケットの発行を要求して取得する。
また、SOAPサービスリクエスタ44は、WSDL定義文書に規定されたフォーマットに従って、利用するサービスコンポーネントのサービスIDとオペレーション名とを含んだSOAPリクエスト情報を生成し、認証情報のパラメータに認証チケットの情報を書き込んで、実行制御サーバ1へ送信する(Sa1)。
シングルサインオン部47は、入力されたSOAPリクエスト情報中から読み出した認証チケットの正当性を判断することによって認証を行う。認証に成功すると、すなわち正当な認証チケットと判断すると、シングルサインオン部47は、非機能要件処理部2に、SOAPリクエスト情報と、リクエスト情報のプロトコルを示す情報とを出力する(Sa3)。
ここで、シングルサインオン部47は、例えば、認証チケットの解読方法を予め知っており、認証チケットを解読して、該認証チケットの正当性を判断する。なお、シングルサインオン部47は、認証局6へ認証チケットを送信して認証局6が認証を行ってもよい。
非機能要件処理部2は、入力されたSOAPリクエスト情報中からサービスIDを読み出し、該サービスIDをプロファイルサーバ10へ送信して、プロファイルサーバ10からオペレーションテーブル52に登録された非機能要件処理ポリシーを受信し、非機能要件処理を実行する。また、非機能要件処理部2は、認可処理などの非機能要件処理に成功すると、SOAPリクエスト情報と、リクエスト情報のプロトコルを示す情報とを、SOAPリクエスト情報転送部4へ出力する(Sa4)。
なお、オペレーションテーブルからの情報の受信は、オペレーション名が規定されているサービスでは「サービスID」と「オペレーション名」とをキーとして送信し、オペレーション名が規定されていないサービスでは「サービスID」のみをキーとして送信することによって行う。以下の説明でも同様である。
また、SOAPリクエスト情報転送部4は、ID変換パターンがSAML連携型の場合は、SOAPリクエスト情報中の認証チケットを削除せずにそのままとして(Sa6)、SOAPサービスコンポーネント20に送信する(Sa9)。
また、SOAPリクエスト情報転送部4は、ID変換パターンがID置換型の場合は、SOAPリクエスト情報中の認証チケットを固有の認証情報に書き換え(Sa7)、SOAPサービスコンポーネント26に転送する(Sa9)。
また、SOAPリクエスト情報転送部4は、ID変換パターンが削除型の場合は、SOAPリクエスト情報中の認証チケットを削除して(Sa8)、SOAPサービスコンポーネント27に転送する(Sa9)。
SOAPサービスコンポーネント20、26、27は、SOAPリクエスト情報を受信すると、実行制御サーバ1のSOAPレスポンス転送部34を経由して、SOAPサービスリクエスタ44にSOAPレスポンスを送信する。
第2の実施形態では、RESTサービスリクエスタ45がRESTリクエスト情報を送信し、実行制御サーバ1を経由してRESTサービスコンポーネント28、29、30が受信する際のサービス連携処理システム100の動作を、図8を参照しつつ説明する。
ユーザに操作されたRESTサービスリクエスタ45は、サービス公開サーバ13の公開サービス記憶部49に登録されたWADL定義文書を取得し、また、認証局6に認証チケットポインタの発行を要求して取得する。
また、RESTサービスリクエスタ45は、WADL定義文書に規定されたフォーマットに従って、利用するサービスコンポーネントのサービスIDを含んだRESTリクエスト情報を生成し、認証情報のパラメータに認証チケットポインタの情報を書き込んで、実行制御サーバ1へ送信する(Sb1)。
認証チケットポインタ解決部46は、RESTリクエスト情報中から認証チケットポインタの情報を読み出して認証局6に送信し、認証チケットの発行を要求する。認証局6は、受信した認証チケットポインタに対応した認証チケットを、認証チケットポインタ/認証チケット対応表25を用いて生成し、認証チケットポインタ解決部46に送信する(Sa3)。また、認証チケットポインタ解決部46は、受信した認証チケットをRESTリクエスト情報中に書き込んで、シングルサインオン部47に出力する(Sb4)
シングルサインオン部47は、入力されたRESTリクエスト情報中から読み出した認証チケットを用いて認証を行う。認証チケットが正当なものであると判断されると、シングルサインオン部47は、非機能要件処理部2に、RESTリクエスト情報と、リクエスト情報のプロトコルを示す情報とを出力する(Sb5)。
非機能要件処理部2は、入力されたRESTリクエスト情報中からサービスIDを読み出し、該サービスIDをプロファイルサーバ10へ送信して、オペレーションテーブル52に登録された非機能要件処理ポリシーをプロファイルサーバ10から受信し、非機能要件処理を実行する。また、非機能要件処理部2は、認可処理などの非機能要件処理に成功すると、RESTリクエスト情報と、RESTリクエスト情報のプロトコルを示す情報とを、RESTリクエスト情報転送部5へ出力する(Sb6)。
また、RESTリクエスト情報転送部5は、RESTリクエスト情報中から認証チケットを読み出し、また、RESTリクエスト情報中の認証チケットポインタを削除する(Sb8)。
また、RESTリクエスト情報転送部5は、ID変換パターンがSAML連携型の場合は、読み出した認証チケットを認証局6に送信し、認証チケットポインタ/認証チケット対応表25上で該認証チケットに対応付けられた認証チケットポインタを取得する(Sb9)。また、RESTリクエスト情報転送部5は、取得した認証チケットポインタをRESTリクエスト情報に書き込んで(Sb10)、RESTサービスコンポーネント28に送信する(Sb12)。
また、RESTリクエスト情報転送部5は、ID変換パターンがID置換型の場合は、RESTリクエスト情報中に固有の認証情報を書き込み(Sb11)、RESTサービスコンポーネント29に転送する(Sb12)。
また、RESTリクエスト情報転送部5は、ID変換パターンが削除型の場合は、RESTリクエスト情報に新たな認証情報を加えずにそのまま、RESTサービスコンポーネント30に転送する(Sb12)。
RESTサービスコンポーネント28、29、30は、RESTリクエスト情報を受信すると、実行制御サーバ1のRESTレスポンス転送部35を経由して、RESTサービスリクエスタ45にRESTレスポンスを送信する。
第3の実施形態では、SOAPサービスリクエスタ44がSOAPリクエスト情報を送信し、実行制御サーバ1を経由して、メッセージトランスレータ装置7がこれを受信してRESTリクエスト情報に変換し、RESTサービスコンポーネント28、29、30に送信する際のサービス連携処理システム100の動作を、図9を参照しつつ説明する。
ユーザに操作されたSOAPサービスリクエスタ端末16のSOAPサービスリクエスタ44は、サービス公開サーバ13に登録されたWSDL定義文書を取得し、また、認証局6に認証チケットの発行を要求して取得する。
また、SOAPサービスリクエスタ44は、WSDL定義文書に規定されたフォーマットに従ってサービスIDとオペレーション名とが書き込まれたSOAPリクエスト情報を生成し、認証情報のパラメータに認証チケットの情報を書き込んで、実行制御サーバ1へ送信する(Sc1)。
シングルサインオン部47は、入力されたSOAPリクエスト情報中から読み出した認証チケットを用いて認証を行う。認証に成功すると、すなわち、正当な認証チケットと判断すると、シングルサインオン部47は、非機能要件処理部2に、SOAPリクエスト情報と、リクエスト情報のプロトコルを示す情報とを出力する(Sc3)。
非機能要件処理部2は、入力されたSOAPリクエスト情報中からサービスIDを読み出し、該サービスIDをプロファイルサーバ10へ送信して、オペレーションテーブル52に登録された非機能要件処理ポリシーを受信し、非機能要件処理を実行する。また、非機能要件処理部2は、認可処理などの非機能要件処理に成功すると、SOAPリクエスト情報と、リクエスト情報のプロトコルを示す情報とを、SOAPリクエスト情報転送部4へ出力する(Sc4)。
また、SOAPリクエスト情報転送部4は、ID変換パターンがSAML連携型の場合は、SOAPリクエスト情報中の認証チケットを削除せずにそのままとし(Sc6)、該SOAPリクエスト情報をメッセージトランスレータ装置7のSOAPリクエスト情報変換部8へ送信する(Sc8)。
また、SOAPリクエスト情報転送部4は、ID変換パターンがID置換型の場合は、SOAPリクエスト情報中の認証チケットを固有の認証情報に書き換え(Sc7)、メッセージトランスレータ装置7のSOAPリクエスト情報変換部8へ送信する(Sc8)。
また、SOAPリクエスト情報転送部4は、ID変換パターンがSAML連携型の場合は、SOAPリクエスト情報中の認証チケットを削除して、メッセージトランスレータ装置7のSOAPリクエスト情報変換部8へ送信する(Sc8)。
また、SOAPリクエスト情報変換部8は、ID変換パターンがSAML連携型の場合は、認証局6に認証チケットを送信して、対応する認証チケットポインタを取得し、RESTリクエスト情報のパラメータに書き込み(Sc12)、RESTサービスコンポーネント28に送信する(Sc14)。
また、SOAPリクエスト情報変換部8は、ID変換パターンがID置換型または削除型の場合は、SOAPリクエスト情報中のSOAPボディ部の全パラメータ値をRESTパラメータに設定して(Sc13)、RESTサービスコンポーネント28に送信する(Sc14)。SOAPボディ部のパラメータには、ID置換型の場合の固有の認証情報が含まれる。
RESTサービスコンポーネント28、29、30は、RESTリクエスト情報を受信すると、メッセージトランスレータ装置7にRESTレスポンスを送信する。メッセージトランスレータ装置7のRESTレスポンス変換部40は、RESTレスポンスをSOAPレスポンスに変換し、該SOAPレスポンスを、実行制御サーバ1のSOAPレスポンス転送部34を経由してSOAPサービスリクエスタ44に送信する。
第4の実施形態では、RESTサービスリクエスタ45がRESTリクエスト情報を送信し、実行制御サーバ1を経由して、メッセージトランスレータ装置7がこれを受信してSOAPリクエスト情報に変換し、SOAPサービスコンポーネント20、26、27に送信する際のサービス連携処理システム100の動作を、図10を参照しつつ説明する。
ユーザに操作されたRESTサービスリクエスタ45は、サービス公開サーバ13に登録されたWADL定義文書を取得し、また、認証局6に認証チケットポインタの発行を要求して取得する。
また、RESTサービスリクエスタ45は、WADL定義文書に規定されたフォーマットに従ってサービスIDとオペレーション名とが書き込まれたRESTリクエスト情報を生成し、認証情報のパラメータに認証チケットポインタの情報を書き込んで、実行制御サーバ1へ送信する(Sd1)。
認証チケットポインタ解決部46は、RESTリクエスト情報中から認証チケットポインタの情報を読み出して認証局6に送信し、認証チケットの発行を要求する。認証局6は、受信した認証チケットポインタに対応した認証チケットを、認証チケットポインタ/認証チケット対応表25を用いて生成し、認証チケットポインタ解決部46に送信する。また、認証チケットポインタ解決部46は、受信した認証チケットをRESTリクエスト情報中に書き込んで、シングルサインオン部47に出力する(Sd3)
シングルサインオン部47は、入力されたRESTリクエスト情報中から読み出した認証チケットを用いて認証を行う。認証に成功すると、すなわち正当な認証チケットと判断すると、シングルサインオン部47は、非機能要件処理部2に、RESTリクエスト情報と、リクエスト情報のプロトコルを示す情報とを出力する(Sd4)。
非機能要件処理部2は、入力されたRESTリクエスト情報中からサービスIDを読み出し、該サービスIDをプロファイルサーバ10へ送信して、オペレーションテーブル52に登録された非機能要件処理ポリシーを受信し、非機能要件処理を実行する。また、非機能要件処理部2は、認可処理などの非機能要件処理に成功すると、SOAPリクエスト情報と、リクエスト情報のプロトコルを示す情報とを、RESTリクエスト情報転送部5へ出力する(Sd5)。
また、RESTリクエスト情報転送部5は、ID変換パターンがSAML連携型の場合は、RESTリクエスト情報中から認証チケットを読み出し、また、RESTリクエスト情報中の認証チケットポインタを削除する。また、RESTリクエスト情報転送部5は、読み出した認証チケットを認証局6に送信し、対応する認証チケットポインタを取得する(Sd7)。また、RESTリクエスト情報転送部5は、取得した認証チケットポインタをRESTリクエスト情報のパラメータに書き込んで(Sd8)、メッセージトランスレータ装置7のRESTリクエスト情報変換部9に送信する(Sd10)。
また、RESTリクエスト情報転送部5は、ID変換パターンがID置換型の場合は、RESTリクエスト情報のパラメータに固有の認証情報を書き込んで(Sd9)、メッセージトランスレータ装置のRESTリクエスト情報変換部9に送信する(Sd10)。
また、RESTリクエスト情報転送部5は、ID変換パターンが削除型の場合は、RESTリクエスト情報中の認証チケットポインタを削除して、メッセージトランスレータ装置のRESTリクエスト情報変換部9に送信する(Sd10)。
また、RESTリクエスト情報変換部9は、ID変換パターンがSAML連携型の場合は、認証局6に認証チケットポインタを送信して、対応する認証チケットを取得し、SOAPリクエスト情報中に書き込み(Sd13)、RESTリクエスト情報中のその他のパラメータ値もSOAPリクエスト情報中に書き込んで(Sd14)、SOAPサービスコンポーネント20に送信する(Sd15)。
また、RESTリクエスト情報変換部9は、ID変換パターンがID置換型または削除型の場合は、RESTリクエスト情報中のパラメータ値をSOAPリクエスト情報中に書き込んで(Sd14)、SOAPサービスコンポーネント26、27に送信する(Sd15)。
RESTリクエスト情報中のパラメータには、ID置換型の場合の固有の認証情報が含まれる。SOAPサービスコンポーネント20、26、27は、SOAPリクエスト情報を受信すると、メッセージトランスレータ装置7にSOAPレスポンスを送信する。メッセージトランスレータ装置7のSOAPレスポンス変換部39は、SOAPレスポンスをRESTレスポンスに変換し、該RESTレスポンスを、実行制御サーバ1のRESTレスポンス転送部35を経由してRESTサービスリクエスタ45に送信する。
また、非機能要件処理部2が一括して非機能要件処理を行うので、サービスコンポーネントは個別に非機能要件処理を行う必要がない。
また、SOAPサービスリクエスタ44、RESTサービスリクエスタ45は、シングルサインオンの認証を受けられるので、SOAPサービスとRESTサービスとの異なるプロトコルのサービスコンポーネントを利用する場合でも、認証情報の入力は1度でよい。
また、SOAPサービスリクエスタ44、RESTサービスリクエスタ45は、新たにミドルウェアを用意して設定を行わなくても、自リクエスタと異なるプロトコルのサービスコンポーネントからサービスを受けることができるので、アプリケーション開発コストを削減でき、また、開発期間を短縮することができる。加えて、SOAPとRESTとで提供される多くのWebサービスを利用できるので、1形式のプロトコルで提供されるWebサービスのみからは開発できない、新しいアプリケーションを開発できる。
また、本実施形態のサービス連携システムは、トラフィック制御処理等、ネットワークの安定性を制御する処理を実行するので、SOAPサービスリクエスタ44、RESTサービスリクエスタ45は、安定したサービスを受けることができる。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
2…非機能要件処理部
3…メッセージプロキシ部
4…SOAPリクエスト情報転送部
5…RESTリクエスト情報転送部
6…認証局
7…メッセージトランスレータ装置
8…SOAPリクエスト情報変換部
9…RESTリクエスト情報変換部
10…プロファイルサーバ
11…プロファイル制御部
12…サービス登録サーバ
13…サービス公開サーバ
14…トラフィック情報管理サーバ
15…サービス品質監視制御部
16…SOAPサービスリクエスタ端末
17…RESTサービスリクエスタ端末
18…ネットワーク
19…SOAPサービスコンポーネントサーバ
21…RESTサービスコンポーネントサーバ
20、26、27…SOAPサービスコンポーネント
28、29、30…RESTサービスコンポーネント
25…認証チケットポインタ/認証チケット対応表
51…サービス情報テーブル
52…オペレーションテーブル
31…キャッシュ部(実行制御サーバ内)
32…キャッシュ部(メッセージトランスレータ装置内)
33…プロトコル判定部
34…SOAPレスポンス転送部
35…RESTレスポンス転送部
36…認証部
37…リクエスト情報変換部
38…レスポンス変換部
39…SOAPレスポンス変換部
40…RESTレスポンス変換部
41…サービス登録部
42…コンポーネント情報抽出部
43…定義文書変換部
44…SOAPサービスリクエスタ
45…RESTサービスリクエスタ
46…認証チケットポインタ解決部
47…シングルサインオン部
48…公開サービス制御部
49…公開サービス記憶部
50…認証情報制御部
100…サービス連携処理システム
Claims (7)
- 予め定められるプロトコルでウェブサービスを提供するサービスコンポーネントサーバと、
前記サービスコンポーネントサーバのウェブサービスを複数の異なるプロトコルに対応するインタフェース定義で記述した定義文書により公開するサービス公開サーバと、
前記複数の異なるプロトコルに応じた認証情報を発行する認証局と、
前記サービスコンポーネントサーバが行う認証処理を示した認証処理情報を提供するプロファイルサーバと、
自端末のプロトコルに対応する認証情報を前記認証局に要求して受信し、サービスを利用するサービスコンポーネントサーバの定義文書のうち自端末のプロトコルに対応する定義文書を前記サービス公開サーバに要求して受信し、受信した定義文書に前記受信した認証情報を含めたリクエスト情報を生成して送信するサービスリクエスタ端末と、
前記サービスリクエスタ端末から前記リクエスト情報を受信し、前記リクエスト情報から認証情報を読み出し、読み出した認証情報に応じたシングルサインオン認証を行い、前記リクエスト情報が正当なリクエスト情報であると認証した場合、前記リクエスト情報の変換の要否を判断し、変換が不要と判断した場合は、前記サービスコンポーネントサーバが行う認証処理情報を前記プロファイルサーバに要求して受信し、受信した認証処理情報に応じた前記認証情報の書き換えを行い、前記サービスコンポーネントサーバへ送信する実行制御サーバと、
前記実行制御サーバが変換が必要と判断した場合には、該実行制御サーバから前記リクエスト情報を受信し、前記リクエスト情報を前記サービスコンポーネントサーバのインタフェース仕様に従って変換し、前記サービスコンポーネントサーバが行う認証処理情報を前記プロファイルサーバに要求して受信し、受信した認証処理情報に応じた前記認証情報の書き換えを行い、前記サービスコンポーネントサーバに送信するメッセージトランスレータ装置と、
を備えたことを特徴とするサービス連携処理システム。 - 前記プロトコルはSOAP、あるいはRESTであり、
前記実行制御サーバは、
前記受信したリクエスト情報のプロトコルを検出し、検出したプロトコルがSOAPを示す場合、前記リクエスト情報から認証チケットで示される認証情報を読み出し、読み出した認証チケットによりシングルサインオン認証を行い、検出したプロトコルがRESTを示す場合、前記リクエスト情報から認証チケットポインタで示される認証情報を読み出し、読み出した認証チケットポインタを前記認証局に送信し、前記認証局から前記認証チケットポインタに対応する認証チケットを受信してシングルサインオン認証を行う
ことを特徴とする請求項1に記載のサービス連携処理システム。 - 前記プロファイルサーバは、
前記サービスコンポーネントサーバが行う認証処理として、連携型、ID置換型、削除型の処理のいずれかを認証処理情報として提供し、
前記実行制御サーバは、
前記リクエスト情報の変換が不要と判断した場合は、
前記認証処理情報がID置換型の場合、前記認証情報を予め定められるID情報に書き換え、
前記認証処理情報が削除型の場合、認証情報の削除を行い、
前記認証処理情報が連携型の場合であって、前記リクエスト情報がSOAPのとき、認証情報の書き換えを行わず、前記リクエスト情報がRESTのとき、前記認証局に認証チケットポインタで示される認証情報を要求して受信し、認証情報に書き換え、
前記メッセージトランスレータ装置は、
前記実行制御サーバから前記リクエスト情報を受信すると、
前記認証処理情報がID置換型の場合、前記認証情報を削除して、予め定められるID情報を変換したリクエスト情報に付与し、
前記認証処理情報が削除型の場合、認証情報の削除を行い、
前記認証処理情報が連携型の場合であって、前記リクエスト情報がSOAPのとき、前記リクエスト情報に含まれる認証チケットで示される認証情報を読み出し、該リクエスト情報から該認証情報を削除し、前記認証局に認証チケットに対応した認証チケットポインタで示される認証情報を要求して受信し、受信した認証情報をSOAPからRESTへ変換したリクエスト情報に含め、
前記認証処理情報が連携型の場合であって、前記リクエスト情報がRESTのとき、前記リクエスト情報に含まれる認証チケットポインタで示される認証情報を読み出し、読み出した認証チケットポインタを前記認証局に送信し、前記認証局から前記認証チケットポインタに対応する認証チケットを受信し、受信した認証チケットをRESTからSOAPへ変換したリクエスト情報に含める
ことを特徴とする請求項2に記載のサービス連携処理システム。 - 前記定義文書のうち、SOAPに対応する定義文書は、WSDL定義文書であり、RESTに対応する定義文書は、WADL定義文書であり、
前記サービス公開サーバは、
WADL定義文書からWSDL定義文書に変換する場合、SOAPオペレーション名をHTTPメソッドに連番を付与する形式とし、
WSDL定義文書をWADL定義文書に変換する場合、HTTPメソッドをGET固定とし、SOAPオペレーション名をクエリパラメータmethodにより指定する形式として変換して異なるプロトコルに対応する定義文書を生成する
ことを特徴とする請求項2または3に記載のサービス連携処理システム。 - 前記メッセージトランスレータ装置は、
前記リクエスト情報を、SOAPからRESTへ変換する場合、前記リクエスト情報に含まれるHTTPメソッドに連番が付与されている場合、連番の順にHTTPメソッドを、RESTメソッドの1リソースに複数定義して変換し
前記リクエスト情報を、RESTからSOAPへ変換する場合、HTTPメソッドのGETの箇所からクエリパラメータmethodで指定されるSOAPのオペレーション名を抽出してSOAPオペレーションへ変換する
ことを特徴とする請求項4に記載のサービス連携処理システム。 - 前記実行制御サーバがシングルサインオン認証をした後に、前記リクエスト情報に対して、認可処理、スロットリング及びコンテンツフィルタの擾乱防止処理、トラフィック制御処理のいずれかの非機能要件処理を行う非機能要件処理手段
を備えたことを特徴とする請求項1から5のいずれかに記載のサービス連携処理システム。 - 予め定められるプロトコルでウェブサービスを提供するサービスコンポーネントサーバと、前記サービスコンポーネントサーバのウェブサービスを複数の異なるプロトコルに対応するインタフェース定義で記述した定義文書により公開するサービス公開サーバと、前記複数の異なるプロトコルに応じた認証情報を発行する認証局と、前記サービスコンポーネントサーバが行う認証処理を示した認証処理情報を提供するプロファイルサーバと、サービスリクエスタ端末と、実行制御サーバと、メッセージトランスレータ装置とを備えたサービス連携処理システムにおけるサービス連携処理方法であって、
前記サービスリクエスタ端末が、自端末のプロトコルに対応する認証情報を前記認証局に要求して受信する過程と、
前記サービスリクエスタ端末が、サービスを利用するサービスコンポーネントサーバの定義文書のうち自端末のプロトコルに対応する定義文書を前記サービス公開サーバに要求して受信する過程と、
前記サービスリクエスタ端末が、受信した定義文書に前記受信した認証情報を含めたリクエスト情報を生成して送信する過程と、
前記実行制御サーバが、前記サービスリクエスタ端末から前記リクエスト情報を受信し、前記リクエスト情報から認証情報を読み出し、読み出した認証情報に応じたシングルサインオン認証を行い、前記リクエスト情報が正当なリクエスト情報であると認証した場合、前記リクエスト情報の変換の要否を判断し、変換が不要と判断した場合は、前記サービスコンポーネントサーバが行う認証処理情報を前記プロファイルサーバに要求して受信し、受信した認証処理情報に応じた前記認証情報の書き換えを行い、前記サービスコンポーネントサーバへ送信する過程と、
前記メッセージトランスレータ装置が、前記実行制御サーバが変換が必要と判断した場合には、該実行制御サーバから前記リクエスト情報を受信し、前記リクエスト情報を前記サービスコンポーネントサーバのインタフェース仕様に従って変換し、前記サービスコンポーネントサーバが行う認証処理情報を前記プロファイルサーバに要求して受信し、受信した認証処理情報に応じた前記認証情報の書き換えを行い、前記サービスコンポーネントサーバに送信する過程と、
を含むことを特徴とするサービス連携処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009008057A JP5089621B2 (ja) | 2009-01-16 | 2009-01-16 | サービス連携処理システム及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009008057A JP5089621B2 (ja) | 2009-01-16 | 2009-01-16 | サービス連携処理システム及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010165250A JP2010165250A (ja) | 2010-07-29 |
JP5089621B2 true JP5089621B2 (ja) | 2012-12-05 |
Family
ID=42581342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009008057A Expired - Fee Related JP5089621B2 (ja) | 2009-01-16 | 2009-01-16 | サービス連携処理システム及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5089621B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10305905B2 (en) | 2014-01-31 | 2019-05-28 | Ricoh Company, Ltd. | Access control device, communication system, program, and method for controlling access |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143200B (zh) * | 2010-10-20 | 2013-09-11 | 华为技术有限公司 | 一种soap api转换为rest api的公共消息头承载方法及装置 |
JP5389866B2 (ja) * | 2011-06-30 | 2014-01-15 | ヤフー株式会社 | 情報管理装置、システム及び方法 |
JP5626919B2 (ja) * | 2012-02-29 | 2014-11-19 | Necソリューションイノベータ株式会社 | ネットワークシステム、認証連携装置、認証連携方法、及びプログラム |
JP5589034B2 (ja) * | 2012-07-24 | 2014-09-10 | 日本電信電話株式会社 | 情報流通システム、認証連携方法、装置及びそのプログラム |
JP6386074B2 (ja) * | 2014-03-21 | 2018-09-05 | ピーティーシー インコーポレイテッド | バイナリ動的restメッセージを使用したシステム及び方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005149131A (ja) * | 2003-11-14 | 2005-06-09 | Toshiba Corp | 情報処理装置、方法及びプログラム |
JP2006164018A (ja) * | 2004-12-09 | 2006-06-22 | Hitachi Ltd | XML署名・暗号の処理方法、XML署名・暗号処理用プログラム、Webサービス用ノード装置、コンピュータプログラムの生成方法、プログラム、プログラミング装置、XML署名・暗号処理システム |
KR100714708B1 (ko) * | 2006-01-12 | 2007-05-04 | 삼성전자주식회사 | 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어장치 및 그 방법 |
JP2008134914A (ja) * | 2006-11-29 | 2008-06-12 | Nippon Telegr & Teleph Corp <Ntt> | 複合サービス提供システムおよび方法 |
JP5292712B2 (ja) * | 2007-03-23 | 2013-09-18 | 日本電気株式会社 | 認証連携システム、中継装置、認証連携方法および認証連携プログラム |
JP2009009455A (ja) * | 2007-06-29 | 2009-01-15 | Osaka Prefecture Univ | サービス連携支援装置 |
JP2010009520A (ja) * | 2008-06-30 | 2010-01-14 | Canon Inc | フロー処理装置及びメッセージ変換方法 |
-
2009
- 2009-01-16 JP JP2009008057A patent/JP5089621B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10305905B2 (en) | 2014-01-31 | 2019-05-28 | Ricoh Company, Ltd. | Access control device, communication system, program, and method for controlling access |
Also Published As
Publication number | Publication date |
---|---|
JP2010165250A (ja) | 2010-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101467174B1 (ko) | 통신 수행 방법 및 그 장치와, 통신 수행 제어 방법 및 그장치 | |
JP5089621B2 (ja) | サービス連携処理システム及び方法 | |
US9386015B2 (en) | Security model for industrial devices | |
JP4672593B2 (ja) | Id連携型認証システムおよびid連携型認証方法 | |
US9313257B2 (en) | Method for starting a client program | |
WO2009107219A1 (ja) | 認証装置,認証方法およびその方法を実装した認証プログラム | |
CN102609635A (zh) | 信息处理装置及其控制方法 | |
US9961069B2 (en) | Ticket generator for alternate authentication environments | |
JP2013041408A (ja) | 情報処理装置、リソース提供装置および情報処理システム | |
US7945950B2 (en) | Generic interactive challenges in a distributed system | |
JP4897503B2 (ja) | アカウントリンキングシステム、アカウントリンキング方法、連携サーバ装置 | |
Maleshkova et al. | Using semantics for automating the authentication of web apis | |
JP4607602B2 (ja) | アクセス提供方法 | |
JP4729365B2 (ja) | アクセス制御システム、認証サーバ、アクセス制御方法およびアクセス制御プログラム | |
KR20000030413A (ko) | 인터넷상에서 하나의 계정으로 여러 사이트에 자유롭게로그온 및 자동 회원 가입하는 사용자 인증방법 및인증사이트 | |
JP4667326B2 (ja) | 認証装置,認証方法およびその方法を実装した認証プログラム | |
JP2009217522A (ja) | 個人属性情報提供システムおよび個人属性情報提供方法 | |
JP2009071430A (ja) | 多要素認証システム、認証代行装置、端末、多要素認証プログラムおよび多要素認証方法 | |
JP2011160383A (ja) | 監視装置、監視方法および監視プログラム | |
JP2010165306A (ja) | サービス提供方法、サービス提供システム、代理装置、そのプログラム | |
JP5252721B2 (ja) | 情報提供サーバ | |
JP3564435B2 (ja) | アクセス誘導装置及び方法 | |
JP2010238060A (ja) | 認証システム、中継サーバ、及び中継サーバの認証プログラム | |
KR101259574B1 (ko) | 사용자 및 단말 통합 인증 시스템 및 방법 | |
JP7283614B1 (ja) | 認証局管理システム、認証局管理方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100526 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120718 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120904 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120911 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150921 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5089621 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150921 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |