JP2008186105A - Service function providing device, service function providing method and program - Google Patents
Service function providing device, service function providing method and program Download PDFInfo
- Publication number
- JP2008186105A JP2008186105A JP2007017238A JP2007017238A JP2008186105A JP 2008186105 A JP2008186105 A JP 2008186105A JP 2007017238 A JP2007017238 A JP 2007017238A JP 2007017238 A JP2007017238 A JP 2007017238A JP 2008186105 A JP2008186105 A JP 2008186105A
- Authority
- JP
- Japan
- Prior art keywords
- service
- execution computer
- request
- information
- requester
- 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
Images
Abstract
Description
本発明は、サービス実行計算機からリクエスタ実行計算機にサービスの機能を提供する技術に関するものである。 The present invention relates to a technique for providing a service function from a service execution computer to a requester execution computer.
近年、システムの効率的な再利用を目的に、サービスと呼ばれるソフトウェアコンポーネントを構築し、それらのサービスを組み合わせて活用するSOA(Service Oriented Architecture)というシステムアーキティクチャが注目されている。SOAシステムは、サービスの実行をサービス実行計算機に要求するプログラムであるリクエスタを備えたリクエスタ実行計算機と、その要求に従ってサービスを実行するサービス実行計算機とを含んで構成される。そして、リクエスタ実行計算機がサービスを要求し、サービス実行計算機が要求を受け付けるが、サービス実行計算機とリクエスタ実行計算機との間で使用される通信プロトコルが異なる場合がある。 In recent years, a system architecture called SOA (Service Oriented Architecture) has been attracting attention, in which software components called services are constructed for the purpose of efficient system reuse, and these services are used in combination. The SOA system includes a requester execution computer that includes a requester that is a program that requests a service execution computer to execute a service, and a service execution computer that executes a service according to the request. The requester execution computer requests a service and the service execution computer accepts the request, but the communication protocol used between the service execution computer and the requester execution computer may be different.
サービス実行計算機とリクエスタ実行計算機との間で異なる通信プロトコルを用いる場合に対応する技術として、ESB(Enterprise Service Bus)を用いる技術が挙げられる(非特許文献1など)。このESBを実行するESB実行計算機によれば、使用する通信プロトコルが異なるサービス実行計算機とリクエスタ実行計算機との間においても、リクエスタ実行計算機にサービスの機能を提供することが可能である。
As a technique corresponding to the case where different communication protocols are used between the service execution computer and the requester execution computer, a technique using ESB (Enterprise Service Bus) can be cited (Non-patent
また、このESB実行計算機を用いたシステムには、サービス実行計算機の通信プロトコルに対応したアダプタを有し、リクエスタ実行計算機の通信プロトコルに対応したリクエスト受付を有する技術がある(非特許文献2など)。
しかしながら、前記従来技術を用いる場合には、リクエスタ実行計算機からの要求を受け付けるリクエスト受付や、サービス実行計算機を呼び出すアダプタを予め用意しておかなければならない。このためには、ESB実行計算機が、サービス実行計算機とリクエスタ実行計算機との間で送受信される情報を予め把握して、リクエスタ実行計算機に対応するリクエスト受付や、サービス実行計算機に対応するアダプタを事前に生成しておかなければならず、サービス実行計算機と通信プロトコルの異なるリクエスタ実行計算機に対して、動的にサービスの機能を提供することが不可能であるという問題がある。 However, in the case of using the conventional technology, it is necessary to prepare in advance an adapter for receiving a request for receiving a request from the requester execution computer and for calling the service execution computer. For this purpose, the ESB execution computer grasps in advance the information transmitted and received between the service execution computer and the requester execution computer, and the request reception corresponding to the requester execution computer and the adapter corresponding to the service execution computer are prepared in advance. There is a problem that it is impossible to dynamically provide a service function to a requester execution computer having a communication protocol different from that of the service execution computer.
そこで本発明は、サービス実行計算機と通信プロトコルの異なるリクエスタ実行計算機に対して、動的にサービスの機能を提供することを可能にすることを目的とする。 Therefore, an object of the present invention is to make it possible to dynamically provide a service function to a requester execution computer having a communication protocol different from that of the service execution computer.
前記課題を解決するため、本発明は、サービス機能提供装置の記憶部にリクエスタ実行計算機およびサービス実行計算機からの公開情報を登録し、サービス機能提供装置の処理部が、記憶部の公開情報からリクエスタおよびサービスのそれぞれに対応するリクエスト受付およびアダプタを生成する。 In order to solve the above problems, the present invention registers a requester execution computer and public information from a service execution computer in a storage unit of a service function providing device, and a processing unit of the service function providing device uses a requester from the public information in the storage unit. And request reception and adapter corresponding to each of the service.
本発明によれば、サービス実行計算機と通信プロトコルの異なるリクエスタ実行計算機に対して、動的にサービスの機能を提供することが可能になる。 According to the present invention, it is possible to dynamically provide a service function to a requester execution computer having a communication protocol different from that of the service execution computer.
次に、本発明を実施するための最良の形態(以下、「実施形態」という)について、適宜図面を参照しながら詳細に説明する。
図1は、本実施形態におけるサービス機能提供システムの構成を示す図である。図1に示すように、サービス機能提供システム10は、サービス実行計算機100と、リクエスタ実行計算機160と、ESB実行計算機(サービス機能提供装置)110とがネットワーク1200を介して相互に通信することが可能に構成される。
Next, the best mode for carrying out the present invention (hereinafter referred to as “embodiment”) will be described in detail with reference to the drawings as appropriate.
FIG. 1 is a diagram showing a configuration of a service function providing system in the present embodiment. As shown in FIG. 1, in the service function providing system 10, a
リクエスタ実行計算機160は、記憶部としてのメモリ1105と、処理部としてのCPU(Central Processing Unit)1104とを含んで構成される。メモリ1105は、スタブ1106と、サービス100Aの実行をサービス実行計算機100に要求するプログラムであるリクエスタ160Aとを格納しており、CPU1104は、リクエスタ160Aを実行することによって、ESB実行計算機110を介して、サービス100Aの実行をサービス実行計算機100に要求する。図1では、リクエスタ実行計算機160が3台示されているが、リクエスタ実行計算機160の台数は特に限定されるものではない。スタブ1106は、ユーザがリクエスタ160Aを作成する際にJ2EE(Java(登録商標) 2 Enterprise Edition)サーバなどの実行環境が提供しているコマンドを入力して生成することとしてもよいし、J2EEサーバなどの製品が提供しているものを取り込むことによって生成することとしてもよい。スタブ1106については、図14のステップS701の処理などで用いられる。
The
サービス実行計算機100は、メモリ1102と、CPU1101とを含んで構成される。メモリ1102は、リクエスタ実行計算機160に機能を提供するためのプログラムであるサービス100Aを格納しており、CPU1101は、リクエスタ実行計算機160からの要求に従ってサービス100Aを実行することによって、サービス100Aの機能をリクエスタ実行計算機160に提供する。サービス100Aには、例えば、入金処理、出金処理を実行するためのコードが記述されている。図1では、サービス実行計算機100が3台示されているが、サービス実行計算機100の台数は特に限定されるものではない。
The
ESB実行計算機110は、メモリ170と、CPU180とを含んで構成される。メモリ170は、ESBプログラム(サービス機能提供プログラム)130と、サービスレジストリ190と、電文フォーマット1300とを格納している。ESBプログラム130は、アダプタ生成処理部120と、リクエスト受付生成処理部121と、運用制御部122と、アダプタ選択制御部123と、マッチング制御部124と、アダプタ140と、リクエスト受付150とを含んで構成される。サービスレジストリ190は、リクエスタ公開情報テーブル191と、サービス公開情報テーブル192とを含んで構成される。
The ESB execution computer 110 includes a memory 170 and a
リクエスト受付150は、リクエスタ160Aからサービス要求を受け取り、アダプタ140に転送し、処理結果をアダプタ140から受け取り、リクエスタ160Aに返す処理が記述されたプログラムである。このプログラムは、CPU180によって実行される。図1では、リクエスト受付150が3つ示されており、リクエスト受付150の数は特に限定されるものではないが、リクエスト受付150は、リクエスタ160Aと1対1で対応している。
The
アダプタ140は、リクエスト受付150からサービス要求を受け取り、サービス100Aに転送し、処理結果をサービス100Aから受け取り、リクエスト受付150に返す処理が記述されたプログラムである。このプログラムは、CPU180によって実行される。図1では、アダプタ140が3つ示されており、アダプタ140の数は特に限定されるものではないが、アダプタ140は、サービス100Aと1対1で対応している。
The
アダプタ生成処理部120は、アダプタ140を生成する処理が記述されたプログラムである。このプログラムは、CPU180によって実行される。アダプタ生成処理部120についての詳細は後記する(図18参照)。
The adapter
リクエスト受付生成処理部121は、リクエスト受付150を生成する処理が記述されたプログラムである。このプログラムは、CPU180によって実行される。リクエスト受付生成処理部121についての詳細は後記する(図8参照)。
The request reception generation processing unit 121 is a program in which processing for generating the
運用制御部122は、サービス100Aの起動を制御する処理が記述されたプログラムである。このプログラムは、CPU180によって実行される。運用制御部122についての詳細は後記する(図24参照)。
The
アダプタ選択制御部123は、アダプタ140を選択する処理が記述されたプログラムである。このプログラムは、CPU180によって実行される。アダプタ選択制御部123についての詳細は後記する(図16参照)。
The adapter
マッチング制御部124は、複数のサービス100Aの中から最適なサービス100Aを選択する処理が記述されたプログラムである。このプログラムは、CPU180によって実行される。マッチング制御部124についての詳細は後記する(図17参照)。
The
図2は、本実施形態におけるリクエスタ公開情報テーブルのデータ構造を示す図である。図2に示すように、リクエスタ公開情報テーブル191は、公開情報エントリ201を含んで構成される。公開情報エントリ201の数は特に限定されるものではない。公開情報エントリ201は、リクエスタ160Aの公開情報を示しており、リクエスタ名202と、I/F(インタフェース)情報203と、運用ポリシ204とを含んで構成される。
FIG. 2 is a diagram showing a data structure of the requester public information table in the present embodiment. As shown in FIG. 2, the requester public information table 191 includes a
リクエスタ名202は、リクエスタ160A(図1参照)を一意に識別するための情報である。
The
I/F情報203は、プロトコル情報205と、電文情報206と、宛先情報207とを含んで構成される。プロトコル情報205は、HTTP(HyperText Transfer Protocol)、SOAP(Simple Object Access Protocol)、JMS(Java(登録商標) Message Service)などの通信プロトコルを示すものである。電文情報206は、リクエスタ実行計算機160(図1参照)がESB実行計算機110(図1参照)に送信する電文のフォーマット種別を示すものである。宛先情報207は、リクエスタ実行計算機160(図1参照)が送信する電文の宛先となるリクエスト受付150(図1参照)のIP(Internet Protocol)アドレスや、URL(Uniform Resource Locator)、キューの名前などを示すものである。
The I /
運用ポリシ204は、優先度208と、障害時の動作209とを含んで構成される。優先度208は、ESB実行計算機110(図1参照)がサービス実行計算機100(図1参照)に電文を送信する際の優先度を示すものである。障害時の動作209は、ESB実行計算機110(図1参照)がサービス実行計算機100(図1参照)に電文を送信する際に障害が発生した場合の動作を示すものである。
The
図3は、本実施形態におけるリクエスタ公開情報テーブルに登録されるデータおよび電文フォーマットの例を示す図であり、図3(a)は、リクエスタ公開情報テーブルに登録されるデータの例であり、図3(b)は、XSD形式で記述された電文フォーマットの例を示す図であり、図3(c)は、WSDL(Web Services Description Language)形式で記述された電文フォーマットの例を示す図である。 FIG. 3 is a diagram showing an example of data and a message format registered in the requester public information table in the present embodiment, and FIG. 3A is an example of data registered in the requester public information table. 3 (b) is a diagram illustrating an example of a message format described in the XSD format, and FIG. 3 (c) is a diagram illustrating an example of a message format described in a WSDL (Web Services Description Language) format. .
図3(a)に示すように、リクエスタ公開情報テーブル191にデータが2件登録されているが、登録される情報の件数はこれに限定されない。図3(b)は、電文フォーマット1300(図1参照)がXML Schema(Extensible Markup Language Schema)で定義されている場合の例を示している。これは、図3(a)の1件目のデータ(♯1)の電文情報に対応するフォーマットである。また、図3(c)は、電文フォーマット1300(図1参照)がWSDL(Web Services Description Language)で定義されている場合の例を示している。これは、図3(a)の2件目のデータ(♯2)の電文情報に対応するフォーマットである。 As shown in FIG. 3A, two pieces of data are registered in the requester public information table 191, but the number of pieces of information to be registered is not limited to this. FIG. 3B shows an example in which the electronic message format 1300 (see FIG. 1) is defined by XML Schema (Extensible Markup Language Schema). This is a format corresponding to the message information of the first data (# 1) in FIG. FIG. 3C shows an example in which the message format 1300 (see FIG. 1) is defined in WSDL (Web Services Description Language). This is a format corresponding to the message information of the second data (# 2) in FIG.
図4は、本実施形態におけるサービス公開情報テーブルのデータ構造を示す図である。図4に示すように、サービス公開情報テーブル192は、公開情報エントリ301を含んで構成される。公開情報エントリ301の数は特に限定されるものではない。公開情報エントリ301は、サービス100Aの公開情報を示しており、サービス名302と、I/F情報303と、運用ポリシ304と、アダプタ情報305とを含んで構成される。
FIG. 4 is a diagram showing a data structure of the service disclosure information table in the present embodiment. As shown in FIG. 4, the service public information table 192 includes a
サービス名302は、サービス100A(図1参照)を一意に識別するための情報である。
The
I/F情報303は、プロトコル情報306と、電文情報307と、宛先情報308とを含んで構成される。プロトコル情報306は、HTTP、SOAP、JMSなどの通信プロトコルを示すものである。電文情報307は、ESB実行計算機110(図1参照)がサービス実行計算機100(図1参照)に送信する電文のフォーマット種別を示すものである。宛先情報308は、ESB実行計算機110(図1参照)が送信する電文の宛先となるサービス100A(図1参照)のIPアドレスや、URL、キューの名前などを示すものである。
The I /
運用ポリシ304は、稼動時間309と、負荷容量310とを含んで構成される。稼動時間309は、サービス100A(図1参照)の稼働している時間を示すものである。負荷容量310は、アダプタ140(図1参照)がリクエスト受付150(図1参照)から受け付けた電文を処理し、サービス実行計算機100(図1参照)に送信することが可能な量を示すものである。
The
アダプタ情報305は、生成情報311と、アドレス情報312とを含んで構成される。生成情報311は、アダプタ140(図1参照)が生成されているか否かを示すものである。アドレス情報312は、生成されたアダプタ140(図1参照)の転送先であるサービス100AのアドレスをIPアドレスや、URLなどで示すものである。
The
図5は、本実施形態におけるサービス公開情報テーブルに登録されるデータの例を示す図である。図5に示すように、サービス公開情報テーブル192にデータが2件登録されているが、登録されるデータの件数はこれに限定されない。 FIG. 5 is a diagram illustrating an example of data registered in the service disclosure information table in the present embodiment. As shown in FIG. 5, although two pieces of data are registered in the service disclosure information table 192, the number of pieces of data to be registered is not limited to this.
図6は、本実施形態におけるリクエスタがESB実行計算機に送信するリクエスト要求を示す図である。図6に示すように、リクエスト要求400は、制御部401と、データ部402とを含んで構成される。さらに、制御部401は、リクエスタ名403と、宛先サービス名404とを含んで構成される。
FIG. 6 is a diagram showing a request request transmitted from the requester to the ESB execution computer in this embodiment. As shown in FIG. 6, the request request 400 includes a
リクエスタ名403は、リクエスト要求400の送信元のリクエスタ実行計算機160(図1参照)を一意に識別するための情報である。宛先サービス名404は、リクエスト要求400の送信先のサービス100A(図1参照)を一意に識別するための情報である。データ部402は、リクエスタ実行計算機160(図1参照)が要求するサービス機能の内容を示す電文である。
The requester name 403 is information for uniquely identifying the requester execution computer 160 (see FIG. 1) that is the transmission source of the request request 400. The destination service name 404 is information for uniquely identifying the
図7は、図6のリクエスト要求の例を示す図である。データ部402には例として、XMLで記述されたデータが設定されている。
FIG. 7 is a diagram illustrating an example of the request request in FIG. As an example, data described in XML is set in the
図8は、本実施形態におけるリクエスタ公開情報登録処理を示すフローチャートである。このリクエスタ公開情報登録処理は、リクエスト受付生成処理部121がCPU180によって実行されることによって行われる。以下、図8を参照して(適宜図1ないし図7参照)、リクエスタ公開情報登録処理S500の流れを説明する。
FIG. 8 is a flowchart showing the requester public information registration process in this embodiment. This requester public information registration process is performed by the
まず、CPU180は、リクエスト受付生成処理部121の実行により、リクエスタ実行計算機160からリクエスタ公開情報を受け取る(ステップS501)。リクエスタ公開情報を受け取る方法としては、リクエスタ実行計算機160が、リクエスト受付生成処理部121の提供するコマンドなどを実行することにより受け取る方法などがある。次に、CPU180は、受け取ったリクエスタ公開情報をリクエスタ公開情報テーブル191に公開情報エントリ201として登録し(ステップS502)、受け取ったリクエスタ公開情報のI/F情報203からリクエスト受付を生成する(ステップS503)。CPU180は、生成したリクエスト受付を開始し(ステップS504)、リクエスタ実行計算機160に登録完了を通知して(ステップS505)、処理を終了する(ステップS506)。
First, the
図9は、図8のリクエスト受付生成処理の詳細を示すフローチャートである。このリクエスト受付生成処理は、リクエスト受付生成処理部121がCPU180によって実行されることによって行われる。以下、図9を参照して(適宜図1ないし図7参照)、リクエスタ公開情報のI/F情報203からリクエスト受付150を生成する処理S503の流れを説明する。
FIG. 9 is a flowchart showing details of the request reception generation process of FIG. This request reception generation process is performed by the request reception generation processing unit 121 being executed by the
まず、CPU180は、リクエスタ公開情報のプロトコル情報205を判定する(ステップS1500)。プロトコル情報205が「SOAP」または「EJB(登録商標)(Enterprise JavaBeans(登録商標)))」である場合(ステップS1500で「SOAP」または「EJB(登録商標)」)、同期リクエスト受付の生成処理を行い(ステップS1501)、処理を終了する(ステップS1503)。プロトコル情報205が「JMS」である場合は、非同期リクエスト受付の生成処理を行い(ステップS1502)、処理を終了する(ステップS1503)。ここでは、プロトコル情報205が「SOAP」「EJB(登録商標)」または「JMS」の場合について説明したが、その他の場合であっても、プロトコル情報205が同期の通信プロトコルの場合にはステップS1501を実行し、プロトコル情報205が非同期の通信プロトコルの場合にはステップS1502を実行する。
First, the
図10は、本実施形態におけるリクエスト受付生成処理で生成されるリクエスト受付の構造を示す図である。 FIG. 10 is a diagram showing a structure of a request reception generated by the request reception generation process in the present embodiment.
EJB(登録商標)リクエスト受付2200は、リクエスト受付定義ファイル2202と、EJB(登録商標)アプリケーション2203とを含んで構成される。リクエスト受付定義ファイル2202は、リクエスト受付150で必要となる情報を定義したファイルであるが、詳細な説明は後記する(図11参照)。EJB(登録商標)アプリケーション2203は、サービス要求(リクエスト要求400(図6参照)のデータ部402(図6参照))を受け取り、処理する際に用いるアプリケーションである。
The EJB (registered trademark)
SOAPリクエスト受付2205は、リクエスト受付定義ファイル2206と、SOAPアプリケーション2207とを含んで構成される。リクエスト受付定義ファイル2206は、リクエスト受付150で必要となる情報を定義したファイルであるが、詳細な説明は後記する(図11参照)。SOAPアプリケーション2207は、サービス要求(リクエスト要求400(図6参照)のデータ部402(図6参照))を受け取り、処理する際に用いるアプリケーションである。
The
JMSリクエスト受付2208は、キュー2210と、リクエスト受付定義ファイル2209と、JMSアプリケーション2211とを含んで構成される。リクエスト受付定義ファイル2209は、リクエスト受付150で必要となる情報を定義したファイルであるが、詳細な説明は後記する(図12参照)。キュー2210は、リクエスト要求(図6参照)のデータ部402(図6参照)を格納するものである。JMSアプリケーション2211は、サービス要求(リクエスト要求400(図6参照)のデータ部402(図6参照))を受け取ると、キュー2210に格納し、順番に従ってキュー2210からサービス要求(リクエスト要求400(図6参照)のデータ部402(図6参照))を取り出し、処理する際に用いるアプリケーションである。
The
図11は、図9の同期リクエスト受付を生成する処理の詳細を示すフローチャートである。以下、図11を参照して(適宜図1ないし図7参照)、同期リクエスト受付を生成する処理S1501の流れを説明する。 FIG. 11 is a flowchart showing details of processing for generating the synchronous request reception of FIG. Hereinafter, with reference to FIG. 11 (refer to FIGS. 1 to 7 as appropriate), the flow of processing S1501 for generating a synchronization request reception will be described.
まず、CPU180は、リクエスタ公開情報のリクエスタ名202およびプロトコル情報205をリクエスト受付定義ファイル1700に定義する(ステップS1701)。リクエスト受付定義ファイル1700には、図3の#2の公開情報エントリのデータ(リクエスタ名およびプロトコル情報)がそれぞれ、リクエスタ名1710およびプロトコル情報1711に設定されている例が示されている。なお、リクエスト受付定義ファイル1700の最初の2行の内容については予め決められている。次に、CPU180は、リクエスタ公開情報の電文情報206が示すWSDLファイルから宛先情報を取得し、リクエスト受付定義ファイル1700に定義する(ステップS1702)。リクエスト受付定義ファイル1700の例では、図3の#2の公開情報エントリの電文情報が「service1.wsdl」であるので、図3(c)に示した「service1.wsdl」から宛先情報を取得する。リクエスト受付定義ファイル1700の宛先情報1712には「http://aaa」が設定されている例が示されている。
First, the
CPU180は、電文情報206が示すWSDLファイルからすべてのオペレーションを取得し(ステップS1703)、すべてのオペレーションに対して処理(ステップS1704〜ステップS1706)を行う(ステップS1709)。すなわち、電文情報1713の<name>タグにオペレーション名を定義し(ステップS1704)、電文情報1713の<input>タグに要求情報を定義し(ステップS1705)、電文情報1713の<output>タグに応答情報を定義する(ステップS1706)。リクエスト受付定義ファイル1700の例では、図3の#2の公開情報エントリの電文情報が「service1.wsdl」であるので、図3(c)に示した「service1.wsdl」からオペレーションを取得する。オペレーション名、要求情報および応答情報は、取得したオペレーションに記述されている。リクエスト受付定義ファイル1700では、WSDLファイルによって生成される要求情報の電文フォーマットが<input>タグの<format−file>に定義され、フォーマットの種別が<input>タグの<message−type>に定義されている。また、WSDLから生成される応答情報の電文フォーマットが<output>タグの<format−file>に定義され、フォーマットの種別が<output>タグの<message−type>に定義されている。<format−file>がxsd形式の場合、<message−type>にはXMLが設定されるが、xsd形式には限定されず、xsd形式以外の形式でも固有のフォーマット種別が設定される。
The
生成したリクエスト受付定義ファイル1700(リクエスト受付定義ファイル2202(図10参照)または2206(図10参照))とプロトコル別のアプリケーション(EJB(登録商標)アプリケーション2203(図10参照)またはSOAPアプリケーション2207(図10参照))とをパッケージングして(ステップS1707)、処理を終了する(ステップS1708)。このパッケージングによって、リクエスト受付150(EJB(登録商標)リクエスト受付2200(図10参照)またはSOAPリクエスト受付2205(図10参照))が生成される。ここで、プロトコル別のアプリケーション(EJB(登録商標)アプリケーション2203(図10参照)またはSOAPアプリケーション2207(図10参照))は、例えば、J2EEサーバなどの製品が提供しているアプリケーション(不図示)がメモリ170に格納されている場合、そのアプリケーションをコピーすることによって取得される。電文情報1713は、プロトコル別のアプリケーション(EJB(登録商標)アプリケーション2203(図10参照)またはSOAPアプリケーション2207(図10参照))が実行される際に用いられる。
The generated request reception definition file 1700 (request reception definition file 2202 (see FIG. 10) or 2206 (see FIG. 10)) and protocol-specific application (EJB (registered trademark) application 2203 (see FIG. 10)) or SOAP application 2207 (see FIG. 10)) is packaged (step S1707), and the process is terminated (step S1708). By this packaging, a request reception 150 (EJB (registered trademark) request reception 2200 (see FIG. 10) or SOAP request reception 2205 (see FIG. 10)) is generated. Here, the protocol-specific application (EJB (registered trademark) application 2203 (see FIG. 10) or SOAP application 2207 (see FIG. 10)) is, for example, an application (not shown) provided by a product such as a J2EE server. If stored in the memory 170, it is obtained by copying the application. The
図12は、図9の非同期リクエスト受付を生成する処理の詳細を示すフローチャートである。以下、図12を参照して(適宜図1ないし図7参照)、非同期リクエスト受付を生成する処理S1502の流れを説明する。 FIG. 12 is a flowchart showing details of processing for generating the asynchronous request reception of FIG. Hereinafter, the flow of the processing S1502 for generating the asynchronous request reception will be described with reference to FIG. 12 (see FIGS. 1 to 7 as appropriate).
まず、CPU180は、リクエスタ公開情報のリクエスタ名202およびI/F情報203をリクエスト受付定義ファイル1800に定義する(ステップS1801)。リクエスト受付定義ファイル1800には、図3の#1の公開情報エントリのデータ(リクエスタ名、プロトコル情報、電文情報および宛先情報)がそれぞれ、リクエスタ名1810、プロトコル情報1811、電文情報1813の<input>タグおよび宛先情報1812に設定されている例が示されている。電文情報1813のオペレーションの<name>タグには固定でsendを定義する。なお、リクエスト受付定義ファイル1800の最初の2行の内容については予め決められている。ここで、I/F情報203の宛先情報207に宛先が設定されていない場合、<url>の行を省略する方法や、<url>と</url>との間に何も設定しない方法などがある。要求の情報として<input>タグに、電文情報で定義した要求の電文フォーマットとフォーマットの種別を定義する。次に、CPU180は、宛先情報のURLの有無を判定する(ステップS1802)。URLが存在する場合(ステップS1803で「有り」)、CPU180は、URLを転送先とした転送用のキュー2210(図10参照)を作成し(ステップS1804)、ステップS1806に進む。URLが存在しない場合(ステップS1803で「無し」)、CPU180は、ローカル用のキュー2210(図10参照)を作成し(ステップS1805)、ステップS1806に進む。
First, the
CPU180は、ステップS1806では、生成したリクエスト受付定義ファイル1800(リクエスト受付定義ファイル2209(図10参照)と、作成したキュー2210(図10参照)と、アプリケーション(JMSアプリケーション2211(図10参照))とをパッケージングして(ステップS1806)、処理を終了する(ステップS1807)。このパッケージングによって、リクエスト受付150(JMSリクエスト受付2208(図10参照))が生成される。ここで、アプリケーション(JMSアプリケーション2211(図10参照))は、例えば、J2EEサーバなどの製品が提供しているアプリケーション(不図示)がメモリ170に格納されている場合、そのアプリケーションをコピーすることによって取得される。電文情報1813は、アプリケーション(JMSアプリケーション2211(図10参照))が実行される際に用いられる。
In step S1806, the
図13は、本実施形態におけるサービス公開情報登録処理を示すフローチャートである。このサービス公開情報登録処理は、アダプタ生成処理部120がCPU180によって実行されることによって行われる。以下、図13を参照して(適宜図1ないし図7参照)、サービス公開情報登録処理S600の流れを説明する。
FIG. 13 is a flowchart showing service public information registration processing in the present embodiment. This service public information registration process is performed by the adapter
まず、CPU180は、アダプタ生成処理部120の実行により、サービス実行計算機100からサービス公開情報を受け取る(ステップS601)。サービス公開情報を受け取る方法としては、サービス実行計算機100が、アダプタ生成処理部120の提供するコマンドなどを実行することにより受け取る方法などがある。次に、CPU180は、受け取ったサービス公開情報をサービス公開情報テーブル192に公開情報エントリ301として登録する(ステップS602)。このとき、生成情報311は「未配備」に設定される。CPU180は、登録が完了したらサービス実行計算機100に登録完了を通知して(ステップS603)、処理を終了する(ステップS604)。
First, the
図14は、本実施形態におけるサービス呼び出し処理を示すフローチャートである。このサービス呼び出し処理は、ESBプログラム130がCPU180によって実行されることによって行われる。以下、図14を参照して(適宜図1ないし図7参照)、サービス呼び出し処理S700の流れを説明する。
FIG. 14 is a flowchart showing service call processing in the present embodiment. This service call processing is performed by the ESB program 130 being executed by the
まず、CPU180は、リクエスタ実行計算機160からリクエスト要求400を受け取り、リクエスト受付150が、サービス要求(リクエスト要求400のデータ部402)を受け取る(ステップS701)。ここで、リクエスタ実行計算機160は、例えば通信プロトコルとしてEJB(登録商標)を用いる場合、スタブ1106を呼び出すことによってリクエスト要求400を送信する。CPU180は、サービスレジストリ190のリクエスタ公開情報テーブル191からリクエスト要求400のリクエスタ名403に該当する公開情報エントリ201を取り出す(ステップS702)。次に、CPU180は、リクエスト要求400から宛先サービス名404を取り出し(ステップS703)、アダプタ選択制御処理を実行する(ステップS704)。CPU180は、アダプタ選択制御処理によって選択された公開情報エントリ301内のアダプタ情報305の生成情報311を判定する(ステップS705)。生成情報311が「開始済み」の場合(ステップS706で「開始済み」)、ステップS708に進む。生成情報311が「未配備」の場合(ステップS706で「未配備」)、アダプタ生成処理を実行し(ステップS707)、ステップS708に進む。
First, the
リクエスト受付150は、アダプタ選択制御処理によって選択された公開情報エントリ301内のアダプタ情報305のアドレス情報312で指定されるアダプタ140にサービス要求(リクエスト要求400のデータ部402)を出す(ステップS708)。アダプタ140は、サービス要求(リクエスト要求400のデータ部402)を受け取る(ステップS709)。その後、アダプタ140によってサービス要求(リクエスト要求400のデータ部402)がサービス100Aに送信され、サービス実行計算機100によってサービス100Aが実行される。サービス100Aは、例えば、図7のデータ部402を受信した場合、<in0>タグで囲まれた文字列である「Hello!」をリクエスタ160Aに返し、リクエスタ実行計算機160のブラウザウィンドウ(不図示)に表示する。リクエスト受付150は、サービス実行計算機100からの応答を判定し(ステップS710)、応答が無い場合(ステップS710で「無し」)、処理を終了する(ステップS713)。例えば、非同期で要求した場合などに応答データがない場合がある。応答が正常な場合(ステップS710で「正常」)、リクエスタ160Aに応答データを返し、処理を終了する(ステップS713)。応答がエラーの場合(ステップS710で「エラー」)、運用制御部122が運用制御処理を実行して(ステップS711)、処理を終了する(ステップS713)。
The
図15は、図14のリクエスト受付がサービス要求を受け取る処理の詳細を示すフローチャートである。この処理は、ESBプログラム130がCPU180によって実行されることによって行われる。また、この処理によって、リクエスト受付150はサービス要求を受け取ることができる。以下、図15を参照して(適宜図1ないし図7参照)、リクエスト受付150がサービス要求を受け取る処理S701の流れを説明する。
FIG. 15 is a flowchart showing details of processing in which the request reception in FIG. 14 receives a service request. This process is performed by the ESB program 130 being executed by the
まず、CPU180は、リクエスト要求400のリクエスタ名403を取り出し(ステップS2301)、該当するリクエスト受付150のリクエスト受付定義ファイル1700(図11参照)または1800(図12参照)(リクエスト受付定義ファイル2202、2206または2209(図10参照))からプロトコル情報1711(図11参照)または1811(図12参照)を取り出す(ステップS2302)。ここで、該当するリクエスト受付150とは、リクエスタ名403と一致するリクエスタ名1710(図11参照)または1810(図12参照)が定義されているリクエスト受付定義ファイル2202、2206または2209(図10参照)を検索することで取得される。
First, the
プロトコル情報1811(図12参照)が「JMS」の場合(ステップS2303で「JMS」)、該当するリクエスト受付150(JMSリクエスト受付2208(図10参照))のキュー2210(図10参照)にリクエスト要求400のデータ部402を書き込み(ステップS2304)、処理を終了する(ステップS2307)。
When the protocol information 1811 (see FIG. 12) is “JMS” (“JMS” in step S2303), a request request is made to the queue 2210 (see FIG. 10) of the corresponding request reception 150 (JMS request reception 2208 (see FIG. 10)). The
プロトコル情報1711(図11参照)が「SOAP」の場合(ステップS2303で「SOAP」)、SAAJ(SOAP with Attachments API for Java(登録商標))のAPI(Application Program Interface)を用いたSOAP通信によって、該当するリクエスト受付150(SOAPリクエスト受付2205(図10参照))のリクエスト受付定義ファイル2206(図10参照)に定義された宛先(宛先情報1712(図11参照))にリクエスト要求400のデータ部402を送信し(ステップS2305)処理を終了する(ステップS2307)。
When the protocol information 1711 (see FIG. 11) is “SOAP” (“SOAP” in step S2303), by SOAP communication using an API (Application Program Interface) of SAAJ (SOAP with Attachments API for Java (registered trademark)), The
プロトコル情報1711(図11参照)が「EJB(登録商標)」の場合(ステップS2303で「EJB(登録商標)」)、該当するリクエスト受付150(EJB(登録商標)リクエスト受付2200(図10参照))のリクエスト受付定義ファイル2202で定義した宛先(宛先情報1712(図11参照))にリクエスト要求400のデータ部402を送信し(ステップS2306)、処理を終了する(ステップS2307)。 When the protocol information 1711 (see FIG. 11) is “EJB (registered trademark)” (“EJB (registered trademark)” in step S2303), the corresponding request reception 150 (EJB (registered trademark) request reception 2200 (see FIG. 10)). ) Is transmitted to the destination defined in the request reception definition file 2202 (destination information 1712 (see FIG. 11)) (step S2306), and the process is terminated (step S2307).
ここでは、プロトコル情報1711(図11参照)(プロトコル情報1811(図12参照))が「SOAP」「EJB(登録商標)」または「JMS」の場合について説明したが、その他の場合であっても、各種の通信プロトコルに基づいてリクエスト要求400のデータ部402を送信する処理を実行する。
Here, the case where the protocol information 1711 (see FIG. 11) (the protocol information 1811 (see FIG. 12)) is “SOAP”, “EJB (registered trademark)”, or “JMS” has been described. The process of transmitting the
図16は、図14のアダプタ選択制御処理の詳細を示すフローチャートである。この処理は、アダプタ選択制御部123がCPU180によって実行されることによって行われる。以下、図16を参照して(適宜図1ないし図7参照)、アダプタ選択制御処理S704の流れを説明する。
FIG. 16 is a flowchart showing details of the adapter selection control process of FIG. This process is performed by the adapter
まず、CPU180は、サービスレジストリ190のサービス公開情報テーブル192からリクエスト要求400のリクエスタ名403と一致するサービス名302の公開情報エントリ301を選択する(ステップS801)。CPU180は、取り出した公開情報エントリ301が複数存在するか否かを判定する(ステップS802)。複数存在しない場合(ステップS802で「No」)、ステップS804に進む。複数存在する場合(ステップS802で「Yes」)、マッチング制御処理を実行して(ステップS803)、ステップS804に進む。
First, the
ステップS804では、選択された1つの公開情報エントリ301をリクエスト受付150に返す(ステップS804)、処理を終了する(ステップS805)。
In step S804, one selected
図17は、図16のマッチング制御処理の詳細を示すフローチャートである。この処理は、マッチング制御部124がCPU180によって実行されることによって行われる。以下、図17を参照して(適宜図1ないし図7参照)、マッチング制御処理S803の流れを説明する。
FIG. 17 is a flowchart showing details of the matching control process of FIG. This process is performed by the matching
まず、CPU180は、ステップS801(図16参照)で選択された公開情報エントリ301から運用ポリシ304の稼動時間309を取得し、現在時刻が稼動時間309内である公開情報エントリ301を選択する(ステップS901)。CPU180は、選択された公開情報エントリ301が複数であるか否かを判定する(ステップS902)。複数でない場合(ステップS902で「No」)、処理を終了する(ステップS907)。複数の場合(ステップS902で「Yes」)、ステップS702(図14参照)で取り出された公開情報エントリ201の優先度208を判定する(ステップS903)。優先度が「高」の場合(ステップS904で「高」)、選択された公開情報エントリ301のうち、運用ポリシ304の負荷容量310の値が最も大きい公開情報エントリ301を選択し(ステップS905)、処理を終了する(ステップS907)。優先度が「低」の場合(ステップS904で「低」)、選択された公開情報エントリ301のうち、運用ポリシ304の負荷容量310の値が最も小さい公開情報エントリ301を選択し(ステップS906)、処理を終了する(ステップS907)。
First, the
このように、サービス実行計算機100が、公開情報エントリ301に稼動時間309を登録することによって、ESB実行計算機110が稼動時間309と現在時刻とを比較し、複数のサービス100Aから稼動時間309の範囲内のサービス100Aを選択することができる。つまり、リクエスタ160Aが優先して呼び出すサービス100Aの運用ポリシを予めESB実行計算機110に登録しておく必要がなくなるという効果がある。
As described above, the
また、リクエスタ実行計算機160が、公開情報エントリ201に優先度208を登録し、サービス実行計算機100が、公開情報エントリ301に負荷容量310を登録することによって、ESB実行計算機110が優先度208に合った負荷容量310のサービス100Aを選択することができる。つまり、リクエスタ160Aが優先して呼び出すサービス100Aの運用ポリシを予めESB実行計算機110に登録しておく必要がなくなるという効果がある。
The
図18は、図14のアダプタ生成処理の詳細を示すフローチャートである。この処理は、アダプタ生成処理部120がCPU180によって実行されることによって行われる。以下、図18を参照して(適宜図1ないし図7参照)、アダプタ生成処理S707の流れを説明する。
FIG. 18 is a flowchart showing details of the adapter generation processing of FIG. This process is performed by the adapter
まず、CPU180は、サービス公開情報のI/F情報303からアダプタ140を生成する(ステップS610)。CPU180は、生成したアダプタ140を開始して(ステップS611)、生成したアダプタの情報をアダプタ情報305に記録する(ステップS612)。ここでは、アダプタ情報305の生成情報311を「開始済み」に設定し、生成したアダプタのアドレスをアドレス情報312に設定する。その後、処理を終了する(ステップS712)。
First, the
図19は、図18のサービス公開情報のI/F情報からアダプタを生成する処理の詳細を示すフローチャートである。このリクエスト受付生成処理は、アダプタ生成処理部120がCPU180によって実行されることによって行われる。以下、図19を参照して(適宜図1ないし図7参照)、サービス公開情報のI/F情報303からアダプタ140を生成する処理S610の流れを説明する。
FIG. 19 is a flowchart showing details of processing for generating an adapter from the I / F information of the service disclosure information shown in FIG. This request reception generation process is performed when the adapter
まず、CPU180は、サービス公開情報のプロトコル情報306を判定する(ステップS1600)。プロトコル情報306が「SOAP」または「EJB(登録商標)」である場合(ステップS1600で「SOAP」または「EJB(登録商標)」)、同期アダプタの生成処理を行い(ステップS1601)、処理を終了する(ステップS1603)。プロトコル情報306が「JMS」である場合は、非同期アダプタの生成処理を行い(ステップS1602)、処理を終了する(ステップS1603)。ここでは、プロトコル情報306が「SOAP」「EJB(登録商標)」または「JMS」の場合について説明したが、その他の場合であっても、プロトコル情報306が同期の通信プロトコルの場合にはステップS1601を実行し、プロトコル情報306が非同期の通信プロトコルの場合にはステップS1602を実行する。
First, the
図20は、本実施形態におけるアダプタ生成処理で生成されるアダプタの構造を示す図である。 FIG. 20 is a diagram illustrating a structure of an adapter generated by the adapter generation process in the present embodiment.
EJB(登録商標)アダプタ2100は、スタブ2101と、アダプタ定義ファイル2102と、EJB(登録商標)アプリケーション2103とを含んで構成される。アダプタ定義ファイル2102は、アダプタ140で必要となる情報を定義したファイルであるが、詳細な説明は後記する(図21参照)。EJB(登録商標)アプリケーション2103は、サービス要求(リクエスト要求400(図6参照)のデータ部402(図6参照))を受け取り、処理する際に用いるアプリケーションである。
The EJB (registered trademark)
SOAPアダプタ2105は、アダプタ定義ファイル2106と、SOAPアプリケーション2107とを含んで構成される。アダプタ定義ファイル2106は、アダプタ140で必要となる情報を定義したファイルであるが、詳細な説明は後記する(図21参照)。SOAPアプリケーション2107は、サービス要求(リクエスト要求400(図6参照)のデータ部402(図6参照))を受け取り、処理する際に用いるアプリケーションである。
The
JMSアダプタ2108は、キュー2110と、アダプタ定義ファイル2109と、JMSアプリケーション2111とを含んで構成される。アダプタ定義ファイル2109は、アダプタ140で必要となる情報を定義したファイルであるが、詳細な説明は後記する(図22参照)。キュー2110は、リクエスト要求(図6参照)のデータ部402(図6参照)を格納するものである。JMSアプリケーション2111は、サービス要求(リクエスト要求400(図6参照)のデータ部402(図6参照))を受け取ると、キュー2110に格納し、順番に従ってキュー2110からサービス要求(リクエスト要求400(図6参照)のデータ部402(図6参照))を取り出し、処理する際に用いるアプリケーションである。
The
図21は、図19の同期アダプタを生成する処理の詳細を示すフローチャートである。以下、図21を参照して(適宜図1ないし図7参照)、同期アダプタを生成する処理S1601の流れを説明する。 FIG. 21 is a flowchart showing details of processing for generating the synchronous adapter of FIG. Hereinafter, the flow of the processing S1601 for generating the synchronization adapter will be described with reference to FIG. 21 (see FIGS. 1 to 7 as appropriate).
まず、CPU180は、サービス公開情報のサービス名302およびプロトコル情報306をアダプタ定義ファイル1900に定義する(ステップS1901)。アダプタ定義ファイル1900には、図5の#1の公開情報エントリのデータ(サービス名およびプロトコル情報)がそれぞれ、サービス名1910およびプロトコル情報1911に設定されている例が示されている。なお、アダプタ定義ファイル1900の最初の2行の内容については予め決められている。次に、CPU180は、サービス公開情報の電文情報307が示すWSDLファイルから宛先情報を取得し、アダプタ定義ファイル1900に定義する(ステップS1902)。アダプタ定義ファイル1900の例では、図5の#1の公開情報エントリの電文情報が「service2.wsdl」であるので、「service2.wsdl」(不図示)から宛先情報を取得する。アダプタ定義ファイル1900の宛先情報1912には「http://yyy/」が設定されている例が示されている。
First, the
CPU180は、電文情報307が示すWSDLファイルからすべてのオペレーションを取得し(ステップS1903)、すべてのオペレーションに対して処理(ステップS1904〜ステップS1906)を行う(ステップS1909)。すなわち、電文情報1913の<name>タグにオペレーション名を定義し(ステップS1904)、電文情報1913の<input>タグに要求情報を定義し(ステップS1905)、電文情報1913の<output>タグに応答情報を定義する(ステップS1906)。アダプタ定義ファイル1900の例では、図5の#1の公開情報エントリの電文情報が「service2.wsdl」であるので、「service2.wsdl」(不図示)からオペレーションを取得する。オペレーション名、要求情報および応答情報は、取得したオペレーションに記述されている。アダプタ定義ファイル1900では、WSDLファイルによって生成される要求情報の電文フォーマットが<input>タグの<format−file>に定義され、フォーマットの種別が<input>タグの<message−type>に定義されている。また、WSDLから生成される応答情報の電文フォーマットが<output>タグの<format−file>に定義され、フォーマットの種別が<output>タグの<message−type>に定義されている。<format−file>がxsd形式の場合、<message−type>にはXMLが設定されるが、xsd形式には限定されず、xsd形式以外の形式でも固有のフォーマット種別が設定される。
The
アダプタ定義ファイル1900(アダプタ定義ファイル2102(図20参照)または2106(図20参照))とプロトコル別のアプリケーション(EJB(登録商標)アプリケーション2103(図20参照)またはSOAPアプリケーション2107(図20参照))とをパッケージングして(ステップS1907)、処理を終了する(ステップS1908)。このパッケージングによって、アダプタ140(EJB(登録商標)アダプタ2100(図20参照)またはSOAPアダプタ2105(図20参照))が生成される。ここで、プロトコル別のアプリケーション(EJB(登録商標)アプリケーション2103(図20参照)またはSOAPアプリケーション2107(図20参照))は、例えば、J2EEサーバなどの製品が提供しているアプリケーション(不図示)がメモリ170に格納されている場合、そのアプリケーションをコピーすることによって取得される。電文情報1913は、プロトコル別のアプリケーション(EJB(登録商標)アプリケーション2103(図20参照)またはSOAPアプリケーション2107(図20参照))が実行される際に用いられる。なお、EJB(登録商標)アダプタ2100にはスタブ2101もパッケージングする必要がある。スタブ2101は、J2EEサーバなどの実行環境が提供しているコマンドを実行して生成することとしてもよいし、J2EEサーバなどの製品が提供しているものを取り込むことによって生成することとしてもよい。
Adapter definition file 1900 (adapter definition file 2102 (see FIG. 20) or 2106 (see FIG. 20)) and protocol-specific application (EJB (registered trademark) application 2103 (see FIG. 20) or SOAP application 2107 (see FIG. 20)) Are packaged (step S1907), and the process is terminated (step S1908). By this packaging, an adapter 140 (EJB (registered trademark) adapter 2100 (see FIG. 20) or SOAP adapter 2105 (see FIG. 20)) is generated. Here, the protocol-specific application (EJB (registered trademark) application 2103 (see FIG. 20) or SOAP application 2107 (see FIG. 20)) is, for example, an application (not shown) provided by a product such as a J2EE server. If stored in the memory 170, it is obtained by copying the application. The
図22は、図19の非同期アダプタを生成する処理を示すフローチャートである。以下、図22を参照して(適宜図1ないし図7参照)、非同期アダプタを生成する処理S1602の流れを説明する。 FIG. 22 is a flowchart showing a process for generating the asynchronous adapter of FIG. Hereinafter, the flow of the processing S1602 for generating the asynchronous adapter will be described with reference to FIG. 22 (see FIGS. 1 to 7 as appropriate).
まず、CPU180は、サービス公開情報のサービス名302およびI/F情報303をアダプタ定義ファイル2000に定義する(ステップS2001)。アダプタ定義ファイル2000には、図5の#2の公開情報エントリのデータ(サービス名、プロトコル情報、電文情報および宛先情報)がそれぞれ、サービス名2010、プロトコル情報2011、電文情報2013の<input>タグおよび宛先情報2012に設定されている例が示されている。電文情報2013のオペレーションの<name>タグには固定でsendを定義する。なお、アダプタ定義ファイル2000の最初の2行の内容については予め決められている。ここで、I/F情報303の宛先情報308に宛先が設定されていない場合、<url>の行を省略する方法や、<url>と</url>との間に何も設定しない方法などがある。要求の情報として<input>タグに、電文情報で定義した要求の電文フォーマットとフォーマットの種別を定義する。次に、CPU180は、宛先情報のURLの有無を判定する(ステップS2002)。URLが存在する場合(ステップS2003で「有り」)、CPU180は、URLを転送先とした転送用のキュー2110(図20参照)を作成し(ステップS2004)、ステップS2006に進む。URLが存在しない場合(ステップS2003で「無し」)、CPU180は、ローカル用のキュー2110(図20参照)を作成し(ステップS2005)、ステップS2006に進む。
First, the
ステップS2006では、生成したアダプタ定義ファイル2000(アダプタ定義ファイル2109(図20参照)と、作成したキュー2110(図20参照)と、アプリケーション(JMSアプリケーション2111(図20参照))とをパッケージングして(ステップS2006)、処理を終了する(ステップS2007)。このパッケージングによって、アダプタ140(JMSアダプタ2108(図20参照))が生成される。ここで、アプリケーション(JMSアプリケーション2111(図20参照))は、例えば、J2EEサーバなどの製品が提供しているアプリケーション(不図示)がメモリ170に格納されている場合、そのアプリケーションをコピーすることによって取得される。電文情報2013は、アプリケーション(JMSアプリケーション2111(図20参照))が実行される際に用いられる。 In step S2006, the generated adapter definition file 2000 (adapter definition file 2109 (see FIG. 20), created queue 2110 (see FIG. 20), and application (JMS application 2111 (see FIG. 20)) are packaged. (Step S2006), the process ends (Step S2007), and the adapter 140 (JMS adapter 2108 (see FIG. 20)) is generated by this packaging, where the application (JMS application 2111 (see FIG. 20)). For example, when an application (not shown) provided by a product such as a J2EE server is stored in the memory 170, the application is obtained by copying the application. Used in (JMS applications 2111 (see FIG. 20)) is performed.
図23は、図14のアダプタがサービス要求を受け取る処理の詳細を示すフローチャートである。この処理は、リクエスト受付150がCPU180によって実行されることによって行われる。また、この処理によって、アダプタ140はサービス要求を受け取ることができる。以下、図23を参照して(適宜図1ないし図7参照)、アダプタ140がサービス要求を受け取る処理S709の流れを説明する。
FIG. 23 is a flowchart showing details of processing in which the adapter of FIG. 14 receives a service request. This process is performed when the
まず、S708でサービス要求を出されたアダプタ140のアダプタ定義ファイル1900(図21参照)または2000(図22参照)(アダプタ定義ファイル2102、2106または2109(図20参照))からプロトコル情報1911(図21参照)または2011(図22参照)を取り出す(ステップS2401)。
First, the protocol information 1911 (see FIG. 20) from the adapter definition file 1900 (see FIG. 21) or 2000 (see FIG. 22) (
プロトコル情報2011(図22参照)が「JMS」の場合(ステップS2402で「JMS」)、該当するアダプタ140(JMSアダプタ2108(図20参照))のキュー2110(図20参照)にリクエスト要求400のデータ部402を書き込み(ステップS2403)、処理を終了する(ステップS2406)。
When the protocol information 2011 (see FIG. 22) is “JMS” (“JMS” in step S2402), the request request 400 is sent to the queue 2110 (see FIG. 20) of the corresponding adapter 140 (JMS adapter 2108 (see FIG. 20)). The
プロトコル情報1911(図21参照)が「SOAP」の場合(ステップS2402で「SOAP」)、SAAJのAPIを用いたSOAP通信によって、該当するアダプタ140(SOAPアダプタ2105(図20参照))のアダプタ定義ファイル2106(図20参照)に定義された宛先(宛先情報1912(図21参照))にリクエスト要求400のデータ部402を送信し(ステップS2404)、処理を終了する(ステップS2406)。
When the protocol information 1911 (see FIG. 21) is “SOAP” (“SOAP” in step S2402), the adapter definition of the corresponding adapter 140 (SOAP adapter 2105 (see FIG. 20)) by SOAP communication using the SAAJ API. The
プロトコル情報1911(図21参照)が「EJB(登録商標)」の場合(ステップS2402で「EJB(登録商標)」)、スタブ2101を呼び出すことによって、アダプタ定義ファイル2102で定義した宛先(宛先情報1912(図21参照))にリクエスト要求400のデータ部402を送信し(ステップS2405)、処理を終了する(ステップS2406)。
When the protocol information 1911 (see FIG. 21) is “EJB (registered trademark)” (“EJB (registered trademark)” in step S2402), the destination (destination information 1912) defined in the
このような処理によって、アダプタ140がサービス要求(リクエスト要求400のデータ部402)をサービス100Aに送信し、サービス実行計算機100によってサービス100Aが実行される。
By such processing, the
ここでは、プロトコル情報1911(図21参照)(プロトコル情報2011(図22参照))が「SOAP」「EJB(登録商標)」または「JMS」の場合について説明したが、その他の場合であっても、各種の通信プロトコルに基づいてリクエスト要求400のデータ部402を送信する処理を実行する。
Here, the case where the protocol information 1911 (see FIG. 21) (the protocol information 2011 (see FIG. 22)) is “SOAP”, “EJB (registered trademark)”, or “JMS” has been described. The process of transmitting the
図24は、図14の運用制御処理の詳細を示すフローチャートである。この運用制御処理は、運用制御部122がCPU180によって実行されることによって行われる。以下、図24を参照して(適宜図1ないし図7参照)、運用制御処理S711の流れを説明する。
FIG. 24 is a flowchart showing details of the operation control process of FIG. This operation control process is performed by the
まず、CPU180は、ステップS702(図14参照)で取り出した公開情報エントリ201の運用ポリシ204から障害時の動作209を取得する(ステップS1000)。障害時の動作209が「リトライ」の場合(ステップS1001で「リトライ」)、サービス実行計算機100にサービス起動要求(サービス100Aを起動する要求)を出す(ステップS1002)。サービス100Aが起動され、サービス100Aが実行されて、サービス100Aから応答が返ってくると、CPU180は、リクエスタ160Aに応答を返し(ステップS1004)、処理を終了する(ステップS1006)。障害時の動作209が「エラー」の場合(ステップS1001で「エラー」)、リクエスタ160Aにエラーを返し(ステップS1005)、処理を終了する(ステップS1006)。
First, the
このように、サービス100Aの呼び出し要求があった場合、サービス100Aが開始されていなくても、ESB実行計算機110がサービス100Aの起動を行い、サービス100Aを開始することができる。
As described above, when there is a call request for the
本実施形態によれば、ESB実行計算機110内のサービスレジストリ190にリクエスタ160Aおよびサービス100Aからの公開情報を登録し、サービスレジストリ190の公開情報からリクエスタ160Aおよびサービス100Aのそれぞれに対応するリクエスト受付およびアダプタを生成することができる。これにより、サービス実行計算機100と通信プロトコルの異なるリクエスタ実行計算機160に対して、動的にサービス100Aの機能を提供することが可能になる。
According to the present embodiment, the public information from the
10 サービス機能提供システム
100 サービス実行計算機
100A サービス
110 ESB実行計算機
120 アダプタ生成処理部
121 リクエスト受付生成処理部
122 運用制御部
123 アダプタ選択制御部
124 マッチング制御部
130 ESBプログラム
140 アダプタ
150 リクエスト受付
160 リクエスタ実行計算機
160A リクエスタ
170 メモリ
180 CPU
190 サービスレジストリ
191 リクエスタ公開情報テーブル
192 サービス公開情報テーブル
201 公開情報エントリ
202 リクエスタ名
203 I/F(インタフェース)情報
204 運用ポリシ
205 プロトコル情報
206 電文情報
207 宛先情報
208 優先度
209 障害時の動作
301 公開情報エントリ
302 サービス名
303 I/F(インタフェース)情報
304 運用ポリシ
305 アダプタ情報
306 プロトコル情報
307 電文情報
308 宛先情報
309 稼動時間
311 生成情報
312 アドレス情報
400 リクエスト要求
401 制御部
402 データ部
403 リクエスタ名
404 宛先サービス名
1101 CPU
1102 メモリ
1104 CPU
1105 メモリ
1106 スタブ
1200 ネットワーク
1300 電文フォーマット
DESCRIPTION OF SYMBOLS 10 Service
190
1102
1105
Claims (10)
前記サービス実行計算機と通信を行う際に用いるアダプタを記憶する記憶部を備えるとともに、
前記リクエスタ実行計算機から前記リクエスタ実行計算機との通信に用いるプロトコルおよび電文のフォーマットの種別をそれぞれ指定するプロトコル情報および電文情報を受け取ることにより、リクエスタ公開情報エントリとして前記記憶部に記憶し、
前記記憶部の前記プロトコル情報および前記電文情報を用いて、前記リクエスタ実行計算機と通信を行う際に用いるリクエスト受付を生成して前記記憶部に記憶し、
前記記憶部の前記リクエスト受付を用いて、前記リクエスタ実行計算機から前記サービスを実行する旨の要求を受け付け、前記記憶部の前記アダプタを用いて、前記サービス実行計算機に当該要求を行う処理部
を備えることを特徴とするサービス機能提供装置。 A requester execution computer that requests execution of a service, and a service function providing device that can communicate with the service execution computer that executes the service,
A storage unit for storing an adapter used when communicating with the service execution computer;
By receiving protocol information and message information specifying the protocol and message format type used for communication with the requester execution computer from the requester execution computer, respectively, the requester public information entry is stored in the storage unit,
Using the protocol information and the message information in the storage unit, generate a request reception used when communicating with the requester execution computer, and store the request reception in the storage unit,
A processing unit that receives a request to execute the service from the requester execution computer using the request reception of the storage unit, and that performs the request to the service execution computer using the adapter of the storage unit. A service function providing apparatus characterized by the above.
前記サービス機能提供装置は、
前記サービス実行計算機と通信を行う際に用いるアダプタを記憶する記憶部と、情報を処理する処理部とを備え、
前記処理部は、
前記リクエスタ実行計算機から前記リクエスタ実行計算機との通信に用いるプロトコルおよび電文のフォーマットの種別をそれぞれ指定するプロトコル情報および電文情報を受け取ることにより、リクエスタ公開情報エントリとして前記記憶部に記憶し、
前記記憶部の前記プロトコル情報および前記電文情報を用いて、前記リクエスタ実行計算機と通信を行う際に用いるリクエスト受付を生成して前記記憶部に記憶し、
前記記憶部の前記リクエスト受付を用いて、前記リクエスタ実行計算機から前記サービスを実行する旨の要求を受け付け、前記記憶部の前記アダプタを用いて、前記サービス実行計算機に当該要求を行う
ことを特徴とするサービス機能提供方法。 A service function providing method by a requester execution computer that requests execution of a service and a service function providing device that can communicate with the service execution computer that executes the service,
The service function providing device includes:
A storage unit that stores an adapter used when communicating with the service execution computer; and a processing unit that processes information.
The processor is
By receiving protocol information and message information specifying the protocol and message format type used for communication with the requester execution computer from the requester execution computer, respectively, the requester public information entry is stored in the storage unit,
Using the protocol information and the message information in the storage unit, generate a request reception used when communicating with the requester execution computer, and store the request reception in the storage unit,
Using the request acceptance of the storage unit to accept a request to execute the service from the requester execution computer, and making the request to the service execution computer using the adapter of the storage unit. To provide service functions.
前記リクエスト受付を生成する際、前記プロトコル情報によって指定される通信プロトコルに従って、非同期用のリクエスト受付を作成するか同期用のリクエスト受付を生成するかを判定する
ことを特徴とする請求項2に記載のサービス機能提供方法。 The processor is
The generation of the request reception determines whether to generate an asynchronous request reception or a synchronous request reception according to a communication protocol specified by the protocol information. Service function provision method.
前記サービス機能提供装置は、
前記リクエスタ実行計算機と通信を行う際に用いるリクエスト受付を記憶する記憶部と、情報を処理する処理部とを備え、
前記処理部は、
前記サービス実行計算機から前記サービス実行計算機との通信に用いるプロトコルおよび電文のフォーマットの種別をそれぞれ指定するプロトコル情報および電文情報を受け取ることにより、サービス公開情報エントリとして前記記憶部に記憶し、
前記記憶部の前記プロトコル情報および前記電文情報を用いて、前記サービス実行計算機と通信を行う際に用いるアダプタを生成して前記記憶部に記憶し、
前記記憶部の前記リクエスト受付を用いて、前記リクエスタ実行計算機から前記サービスを実行する旨の要求を受け付け、前記記憶部の前記アダプタを用いて、前記サービス実行計算機に当該要求を行う
ことを特徴とするサービス機能提供方法。 A service function providing method by a requester execution computer that requests execution of a service and a service function providing device that can communicate with the service execution computer that executes the service,
The service function providing device includes:
A storage unit that stores a request reception used when communicating with the requester execution computer, and a processing unit that processes information.
The processor is
By receiving protocol information and message information specifying the protocol and message format type used for communication with the service execution computer from the service execution computer, respectively, it is stored in the storage unit as a service public information entry,
Using the protocol information and the message information in the storage unit, generate an adapter to be used when communicating with the service execution computer and store it in the storage unit,
Using the request acceptance of the storage unit to accept a request to execute the service from the requester execution computer, and making the request to the service execution computer using the adapter of the storage unit. To provide service functions.
前記サービス機能提供装置は、
前記リクエスタ実行計算機と通信を行う際に用いるリクエスト受付を記憶する記憶部と、情報を処理する処理部とを備え、
前記処理部は、
前記サービス実行計算機から前記サービス実行計算機との通信に用いるプロトコルおよび電文のフォーマットの種別をそれぞれ指定するプロトコル情報および電文情報を受け取ることにより、サービス公開情報エントリとして前記記憶部に記憶し、
前記サービス実行計算機と通信を行う際に用いるアダプタが生成されているか否かを判定し、生成されていない場合には、前記記憶部の前記プロトコル情報および前記電文情報を用いて、前記アダプタを生成して前記記憶部に記憶し、
前記記憶部の前記リクエスト受付を用いて、前記リクエスタ実行計算機から前記サービスを実行する旨の要求を受け付け、前記記憶部の前記アダプタを用いて、前記サービス実行計算機に当該要求を行う
ことを特徴とするサービス機能提供方法。 A service function providing method by a requester execution computer that requests execution of a service and a service function providing device that can communicate with the service execution computer that executes the service,
The service function providing device includes:
A storage unit that stores a request reception used when communicating with the requester execution computer, and a processing unit that processes information.
The processor is
By receiving protocol information and message information specifying the protocol and message format type used for communication with the service execution computer from the service execution computer, respectively, it is stored in the storage unit as a service public information entry,
It is determined whether or not an adapter to be used when communicating with the service execution computer is generated. If the adapter is not generated, the adapter is generated using the protocol information and the message information in the storage unit. And store in the storage unit,
Using the request acceptance of the storage unit to accept a request to execute the service from the requester execution computer, and making the request to the service execution computer using the adapter of the storage unit. To provide service functions.
前記サービス実行計算機から前記プロトコル情報および前記電文情報を受け取るとともに、前記サービスを提供可能な稼動時間を受け取って、前記サービス公開情報エントリに含めて前記記憶部に記憶し、
現在時刻が前記記憶部の前記稼動時間内である前記記憶部の前記サービス公開情報エントリに基づいて、前記サービス実行計算機に前記要求を行うアダプタを選択する
ことを特徴とする請求項4または請求項5に記載のサービス機能提供方法。 The processor is
The protocol information and the message information are received from the service execution computer, and the operation time during which the service can be provided is received, included in the service disclosure information entry, and stored in the storage unit,
5. The adapter that makes the request to the service execution computer is selected based on the service disclosure information entry of the storage unit whose current time is within the operating time of the storage unit. 5. The service function providing method according to 5.
前記サービス実行計算機に前記要求を行うアダプタを選択する際の優先度をさらに記憶し、
前記処理部は、
前記リクエスタ実行計算機から前記プロトコル情報および前記電文情報を受け取るとともに、前記サービスの負荷容量を受け取って、前記サービス公開情報エントリに含めて前記記憶部に記憶し、
前記優先度および前記負荷容量に従って、前記記憶部の前記サービス公開情報エントリに基づいて、前記サービス実行計算機に前記要求を行うアダプタを選択する
ことを特徴とする請求項4ないし請求項6のいずれか1項に記載のサービス機能提供方法。 The storage unit
Further storing the priority when selecting the adapter that performs the request to the service execution computer,
The processor is
The protocol information and the telegram information are received from the requester execution computer, and the load capacity of the service is received and included in the service disclosure information entry and stored in the storage unit,
7. The adapter that performs the request to the service execution computer is selected based on the service public information entry in the storage unit according to the priority and the load capacity. 2. A service function providing method according to item 1.
前記サービスに障害が起きた際の動作である障害時の動作をさらに記憶し、
前記処理部は、
前記障害時の動作に従って、前記サービス実行計算機に前記サービスの起動要求を出す
ことを特徴とする請求項4ないし請求項7のいずれか1項に記載のサービス機能提供方法。 The storage unit
Further storing an operation at the time of failure, which is an operation when a failure occurs in the service,
The processor is
The service function providing method according to any one of claims 4 to 7, wherein an activation request for the service is issued to the service execution computer according to an operation at the time of the failure.
前記記憶部の前記アダプタを用いて、前記サービス実行計算機に前記要求を行う際、前記プロトコル情報で指定された通信プロトコルを使用する
ことを特徴とする請求項4ないし請求項8のいずれか1項に記載のサービス機能提供方法。 The processor is
The communication protocol specified by the protocol information is used when making the request to the service execution computer using the adapter of the storage unit. Service function providing method described in 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007017238A JP2008186105A (en) | 2007-01-29 | 2007-01-29 | Service function providing device, service function providing method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007017238A JP2008186105A (en) | 2007-01-29 | 2007-01-29 | Service function providing device, service function providing method and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008186105A true JP2008186105A (en) | 2008-08-14 |
Family
ID=39729132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007017238A Pending JP2008186105A (en) | 2007-01-29 | 2007-01-29 | Service function providing device, service function providing method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008186105A (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1196099A (en) * | 1997-09-19 | 1999-04-09 | Hitachi Ltd | Service providing system |
JP2002150000A (en) * | 2000-11-13 | 2002-05-24 | Dainippon Screen Mfg Co Ltd | Server system |
JP2006092167A (en) * | 2004-09-22 | 2006-04-06 | Ricoh Co Ltd | Service provision device, semantic relation service provision device, service provision program, semantic relation service provision program, recording medium, service provision method and semantic relation service provision method |
-
2007
- 2007-01-29 JP JP2007017238A patent/JP2008186105A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1196099A (en) * | 1997-09-19 | 1999-04-09 | Hitachi Ltd | Service providing system |
JP2002150000A (en) * | 2000-11-13 | 2002-05-24 | Dainippon Screen Mfg Co Ltd | Server system |
JP2006092167A (en) * | 2004-09-22 | 2006-04-06 | Ricoh Co Ltd | Service provision device, semantic relation service provision device, service provision program, semantic relation service provision program, recording medium, service provision method and semantic relation service provision method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW556095B (en) | Method and system for embedding correlated performance measurements for distributed application performance decomposition | |
CN101341724B (en) | System and method for history driven optimization of web services communication | |
US20090327868A1 (en) | Intermediate apparatus and method | |
EP3103023B1 (en) | Private cloud connected device cluster architecture | |
US7689430B2 (en) | Access to web services | |
US7650609B2 (en) | Multi-environment document management system access | |
US7509422B2 (en) | System and method for locating web services | |
CN107872437B (en) | Method, device and server for service request | |
EP1627327A2 (en) | Accessing data stored in multiple locations | |
US7319979B2 (en) | Dynamically interacting with an internet service using a client-specified communication proxy and protocol | |
US20070011274A1 (en) | Data transfer in a multi-environment document management system access | |
US20060075336A1 (en) | Method, system and program product for providing content over a network | |
KR20090029715A (en) | Locating services using compiled scopes | |
US8463744B2 (en) | Method and system for synchronizing data | |
JP4462901B2 (en) | Modal synchronization control method and multimodal interface system | |
JP2006243985A (en) | Message notification system and method, and server used therefor | |
JPH1115723A (en) | Multimedia data supplying method and multimedia data server | |
US7860924B2 (en) | Method and system for supporting multiple versions of web services standards | |
US7827132B2 (en) | Peer based event conversion | |
EP1754145B1 (en) | Method and apparatus for supporting multiple versions of a web services protocol | |
JP2008186105A (en) | Service function providing device, service function providing method and program | |
US7693840B1 (en) | Method and system for distribution of common elements | |
US20080046461A1 (en) | Method and apparatus for generating a web page | |
JP4893712B2 (en) | Web service system and web service providing method | |
JP2005157613A (en) | Information management device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20090806 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A977 | Report on retrieval |
Effective date: 20120528 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
A131 | Notification of reasons for refusal |
Effective date: 20120619 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121016 |