JP2006092167A - 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 - Google Patents
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 Download PDFInfo
- Publication number
- JP2006092167A JP2006092167A JP2004275622A JP2004275622A JP2006092167A JP 2006092167 A JP2006092167 A JP 2006092167A JP 2004275622 A JP2004275622 A JP 2004275622A JP 2004275622 A JP2004275622 A JP 2004275622A JP 2006092167 A JP2006092167 A JP 2006092167A
- Authority
- JP
- Japan
- Prior art keywords
- service
- semantic
- service providing
- stub
- connector
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、サービス提供装置、意味関係サービス提供装置、サービス提供プログラム、意味関係サービス提供プログラム、記録媒体、サービス提供方法及び意味関係サービス提供方法に関する。 The present invention relates to a service providing apparatus, a semantic relation service providing apparatus, a service provision program, a semantic relation service provision program, a recording medium, a service provision method, and a semantic relation service provision method.
以下、従来の問題点の一例を、図1に示す。図1は、従来の問題点を示す図(その1)である。 An example of conventional problems is shown in FIG. FIG. 1 is a diagram (part 1) illustrating a conventional problem.
図1では、既にあるシステムが存在し、該システムに含まれるアプリケーションが、外部サービスを利用し、該外部サービスが、前記アプリケーションに対応した基盤サービス(図1においては、認証サービス)を利用するよう、例えばアプリケーションに求められている例が示されている。即ち、アプリケーションBが外部サービスであるサービス1を利用する場合、サービス1は、認証サービスBを用いて認証を行うことが求められている。
In FIG. 1, an existing system exists, an application included in the system uses an external service, and the external service uses a base service (authentication service in FIG. 1) corresponding to the application. For example, an example required for an application is shown. That is, when the application B uses the
図1に示したような構成において、基盤サービスの入れ替えや、基盤サービスのバージョンの更新があった場合、例えば各外部サービスの作りや設定等を変更しないと、そのままでは、外部サービスと、入れ替え又は更新があった基盤サービスと、が今までのように接続されて、例えばメッセージの送受信等が行えないという問題があった。なお、基盤サービスとしは、認証サービス以外に、ログをとるログサービス、データを管理する管理サービス、ディレクトリを提供するディレクトリサービス等がある。 In the configuration shown in FIG. 1, when there is a replacement of a base service or a version update of the base service, for example, without changing the creation or setting of each external service, There has been a problem that, for example, messages cannot be transmitted / received because the updated base service is connected as before. In addition to the authentication service, the base service includes a log service for collecting logs, a management service for managing data, and a directory service for providing a directory.
以下、上述したような問題を解決する従来の解決案を、図2に示す。図2は、従来の解決案を示す図である。 A conventional solution for solving the above-described problem is shown in FIG. FIG. 2 is a diagram showing a conventional solution.
図2に示されるように、ディスパッチャーを設け、例えば該ディスパッチャーが外部サービスからの呼び出しに応じて、対応する入れ替えや変更後の新しい基盤サービス(図2の例では、認証サービス)を呼び出す(振り分ける)ようにしてもよいし、例えばディスパッチャーによって、入れ替えや変更前の旧基盤サービスに対するメッセージを、入れ替えや変更後の新基盤サービスへのメッセージに変更するようにしてもよい。図2に示したような構成及び上述したような方法をとることにより、各外部サービスの作りや設定をそれぞれ変更する必要は無くなる。 As shown in FIG. 2, a dispatcher is provided, and for example, the dispatcher calls (distributes) a new base service (authentication service in the example of FIG. 2) corresponding to the change or change in response to a call from an external service. Alternatively, for example, a message for the old base service before replacement or change may be changed to a message for the new base service after replacement or change by a dispatcher. By adopting the configuration as shown in FIG. 2 and the method as described above, there is no need to change the creation and setting of each external service.
しかしながら、図2に示した構成及び方法でも、基盤サービスの入れ替えや、基盤サービスのバージョンの更新によっては、ディスパッチャーの作りや設定を変更しなくてはならない問題がある。また、上述したような処理を実行するディスパッチャーを作成し、設置しなければならない問題もある。例えば、署名や暗号化が施されたメッセージを解読し、振り分けたり、新しいメッセージに変更したりするのは、作りや設定が面倒な場合が多い。また、ディスパッチャーという一つのサービスを経由して処理を行うため、処理速度等のパフォーマンスが落ちる問題もある。 However, even in the configuration and method shown in FIG. 2, there is a problem that the creation and setting of the dispatcher must be changed depending on the replacement of the base service or the update of the version of the base service. There is also a problem that a dispatcher that executes the processing as described above must be created and installed. For example, it is often troublesome to create and set up to decrypt and sort a message that has been signed or encrypted, or to change it to a new message. In addition, since processing is performed via a single service called a dispatcher, there is a problem that performance such as processing speed falls.
以下、従来の問題点の他の例を、図3に示す。図3は、従来の問題点を示す図(その2)である。 Hereinafter, another example of conventional problems is shown in FIG. FIG. 3 is a diagram (part 2) illustrating a conventional problem.
図3に示されるように、複数のサービスをまとめて例えばクライアント等に提供するオーケストレーションサービスが存在した場合、例えば複数のサービスの内容が変更したり、複数のサービスの組み合わせが変更したりした場合、サービス間の接続が保証されないという問題があった。例えば、従来の技術では、サービス3がサービス4に変更になった場合、サービス4を呼び出す、サービス1及びサービス2の作りや設定等を変更しないと、そのままでは、サービス1及びサービス2からサービス4が呼び出せない問題があった。
As shown in FIG. 3, when there is an orchestration service that provides a plurality of services together, for example, to a client, etc., for example, when the contents of a plurality of services are changed or a combination of a plurality of services is changed There was a problem that the connection between services was not guaranteed. For example, in the conventional technique, if the service 3 is changed to the service 4, the service 4 is called up without changing the creation and setting of the
本発明は、上記の点に鑑みなされたもので、呼び出し側のサービスが変更又は更新されても、簡単且つ速やかに呼び出し側のサービスを呼び出すことを目的とする。 The present invention has been made in view of the above points, and an object of the present invention is to call a caller's service easily and quickly even if the caller's service is changed or updated.
そこで、上記課題を解決するため、本発明は、サービスを提供するサービス提供手段を有するサービス提供装置であって、前記サービス提供手段は、サービスに係る異なる2つのインターフェースの間の意味関係を定義した意味関係データより、前記サービスに係る異なる2つのインターフェースのコネクタを生成するコネクタ生成手段と、当該サービス提供手段が呼び出すサービスに係る情報が記述されたデータより、前記呼び出すサービスに係るスタブを生成するスタブ生成手段と、前記呼び出すサービスを呼び出す、サービス呼び出し手段と、を有することを特徴とする。 In order to solve the above problems, the present invention provides a service providing apparatus having a service providing means for providing a service, wherein the service providing means defines a semantic relationship between two different interfaces related to a service. A stub for generating a stub for the service to be called from data in which information on the service to be called by the service providing means and a connector generation unit for generating a connector of two different interfaces related to the service is described from the semantic relation data. It has a generation means and a service call means for calling the service to be called.
本発明によれば、サービスを提供するサービス提供手段を有するサービス提供装置であって、前記サービス提供手段は、サービスに係る異なる2つのインターフェースの間の意味関係を定義した意味関係データより、前記サービスに係る異なる2つのインターフェースのコネクタを生成するコネクタ生成手段と、当該サービス提供手段が呼び出すサービスに係る情報が記述されたデータより、前記呼び出すサービスに係るスタブを生成するスタブ生成手段と、前記呼び出すサービスを呼び出す、サービス呼び出し手段と、を有することにより、呼び出し側のサービスが変更又は更新されても、簡単且つ速やかに呼び出し側のサービスを呼び出すことができる。 According to the present invention, there is provided a service providing apparatus having service providing means for providing a service, wherein the service providing means uses the semantic relation data defining a semantic relation between two different interfaces related to the service. Connector generating means for generating connectors of two different interfaces according to the above, stub generating means for generating a stub related to the service to be called from data describing information related to the service to be called by the service providing means, and the service to be called And the service calling means for calling, even if the calling service is changed or updated, the calling service can be called easily and quickly.
また、上記課題を解決するための手段として、意味関係サービス提供装置、サービス提供プログラム、意味関係サービス提供プログラム、記録媒体、サービス提供方法及び意味関係サービス提供方法としてもよい。 Further, as means for solving the above problems, a semantic relation service providing apparatus, a service provision program, a semantic relation service provision program, a recording medium, a service provision method, and a semantic relation service provision method may be used.
なお、特許請求の範囲に記載のサービス提供手段は、例えば後述するサービス(外部サービス)20又はディスパッチャー110に対応する。また、特許請求の範囲に記載のコネクタ生成手段は、例えば後述するコネクタ生成部53に対応する。また、特許請求の範囲に記載のスタブ生成手段は、例えば後述するWebサービススタブ生成部56に対応する。また、特許請求の範囲に記載のサービス呼び出し手段は、例えば後述するWebサービス呼び出し部51に対応する。また、特許請求の範囲に記載の意味関係データは、例えば後述する意味関係ファイル90に対応する。また、特許請求の範囲に記載の呼び出すサービスに係る情報が記述されたデータは、例えば後述するWebサービス30のWSDL100に対応する。また、特許請求の範囲に記載のサービスに係るインターフェースの意味に係るデータは、例えば後述する意味ファイル85に対応する。
The service providing means described in the claims corresponds to, for example, a service (external service) 20 or a
また、特許請求の範囲に記載のコネクタ登録手段は、例えば後述するコネクタ登録部54に対応する。また、特許請求の範囲に記載のコネクタ保存手段は、例えば後述するコネクタ保存部55に対応する。また、特許請求の範囲に記載のスタブ登録手段は、例えば後述するWebサービススタブ登録部57に対応する。また、特許請求の範囲に記載のスタブ保存手段は、例えば後述するWebサービススタブ保存部58に対応する。また、特許請求の範囲に記載のコネクタは、例えば後述するコネクタ21に対応する。また、特許請求の範囲に記載のスタブは、例えば後述するWebサービススタブ22に対応する。
The connector registration means described in the claims corresponds to, for example, a
また、特許請求の範囲に記載の意味関係サービス提供手段は、例えば後述するセマンティクスサービス32に対応する。また、特許請求の範囲に記載の意味解析手段は、例えば後述する意味解析部72に対応する。また、特許請求の範囲に記載のメッセージ処理手段は、例えば後述するメッセージ処理部74に対応する。また、特許請求の範囲に記載の意味関係データ保存手段は、例えば後述する意味関係ファイル保存部73に対応する。また、特許請求の範囲に記載の意味データ保存手段は、例えば後述する意味ファイル保存部71に対応する。
The semantic relation service providing means described in the claims corresponds to, for example, a
本発明によれば、呼び出し側のサービスが変更又は更新されても、簡単且つ速やかに呼び出し側のサービスを呼び出すことができる。 According to the present invention, even if the caller service is changed or updated, the caller service can be called easily and quickly.
以下、本発明の実施の形態について図面に基づいて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
以下、後述する本発明に係る少なくとも1つ以上のサービス(外部サービス)20が実装されるサービス装置1のハードウェア構成の一例を、図4に示す。図4は、サービス装置の一例のハードウェア構成図である。
FIG. 4 shows an example of the hardware configuration of the
図4に示されるように、サービス装置1は、ドライブ装置13と、ROM15と、RAM16と、CPU17と、インターフェース装置18と、HDD19と、を含む。
As shown in FIG. 4, the
インターフェース装置18は、サービス装置1をネットワーク等に接続するインターフェースである。
The interface device 18 is an interface that connects the
サービス(外部サービス)20に対応するプログラム(以下、サービスプログラムという)等は、例えばCD−ROM等の記録媒体14によってサービス装置1に提供されるか、ネットワークを通じてダウンロードされる。記録媒体14は、ドライブ装置13にセットされ、サービスプログラムが記録媒体14からドライブ装置13を介してHDD19にインストールされる。
A program corresponding to the service (external service) 20 (hereinafter referred to as a service program) or the like is provided to the
ROM15は、データ等を格納する。RAM16は、サービス装置1の起動時にHDD19からサービスプログラム等を読み出して格納する。CPU17は、RAM16に読み出され格納されたサービスプログラム等に従って処理を実行する。
The
HDD19は、サービスプログラムや、後述するコネクタ21、Webサービススタブ22、データ等を格納する。なお、コネクタ21や、Webサービススタブ22は、HDD19ではなく、RAM16に格納されるようにしてもよい。
The HDD 19 stores a service program, a
以下、後述する本発明に係るセマンティクスサービス(意味解析サービス)32が実装される意味関係サービス装置2のハードウェア構成の一例を、図5に示す。図5は、意味関係サービス装置の一例のハードウェア構成図である。
FIG. 5 shows an example of the hardware configuration of the semantic
図5に示されるように、意味関係サービス装置2は、ドライブ装置113と、ROM115と、RAM116と、CPU117と、インターフェース装置118と、HDD119と、を含む。
As shown in FIG. 5, the semantic
インターフェース装置118は、意味関係サービス装置2をネットワーク等に接続するインターフェースである。
The
セマンティクスサービス(意味解析サービス)32に対応するプログラム(以下、意味解析サービスプログラムという)等は、例えばCD−ROM等の記録媒体114によって意味関係サービス装置2に提供されるか、ネットワークを通じてダウンロードされる。記録媒体114は、ドライブ装置113にセットされ、意味解析サービスプログラムが記録媒体114からドライブ装置113を介してHDD119にインストールされる。
A program corresponding to the semantic service (semantic analysis service) 32 (hereinafter referred to as a semantic analysis service program) or the like is provided to the
ROM115は、データ等を格納する。RAM116は、意味関係サービス装置2の起動時にHDD119から意味解析サービスプログラム等を読み出して格納する。CPU117は、RAM116に読み出され格納された意味解析サービスプログラム等に従って処理を実行する。
The
HDD119は、意味解析サービスプログラムや、後述する意味ファイル51、意味関係ファイル63、データ等を格納する。なお、意味ファイル51や、意味関係ファイル63は、HDD199ではなく、RAM116に格納されるようにしてもよい。
The
図4及び図5では、サービス20と、セマンティクスサービス32とが、それぞれサービス装置1と、意味関係サービス装置2と、に実装されている例を示したが、サービス20と、セマンティクスサービス32とが、同じ装置(サービス装置1又は意味関係サービス装置2)に含まれていてもよい。但し、以下では説明の簡略化のため、特に言及しない限り、サービス20は、サービス装置1に実装され、セマンティクスサービス32は、意味関係サービス装置2に実装されているものとして説明を行う。
4 and 5 show examples in which the
以下、従来の問題点を解決する、サービス20の一例を、図6に示す。図6は、サービス20を示す図(その1)である。なお、以下、実施例1で示すシステム構成は、図1又は図3に示したようなシステム構成であるものとして説明を行う。
An example of the
図6に示されるように、サービス(外部サービス)20は、Client Implementation23と、Primitive I/F24と、コネクタ21と、Webサービススタブ22と、を含む。
As shown in FIG. 6, the service (external service) 20 includes a
ここで、コネクタ21は、Primitive I/F24と、WebサービスI/F35と、を結合するものであって、Primitive I/F24と、WebサービスI/F35と、の意味関係が記述されている意味関係ファイル90より、自動生成される。なお、該意味関係ファイル90は、Primitive I/F24(又はClient Implementation23)の意味を記述する意味ファイル85と、WebサービスI/F35(又はWebサービス30)の意味を記述する意味ファイル85と、に基づいて、生成される。
Here, the
また、サービス20が、Webサービス30を呼び出す際の仲介者であるWebサービススタブ22は、呼び出すWebサービス30のWSDL(Web Services Description Language)ファイル(以下、単にWSDLという)100より、自動生成される。
A
なお、Client Implementation23は、サービス20としての、サービスの提供機能を実装したサービス提供機能実装部である。
The
また、Primitive I/F24は、Client Implementation23が提供するI/Fである。
Primitive I /
また、WebサービスI/F35は、Webサービス30のI/Fである。
The web service I /
図6に示したように、Primitive I/F24と、WebサービスI/F35と、の間の意味関係ファイル90よりコネクタ21を生成し、呼び出すWebサービス30のWSDL100より、Webサービススタブ22を生成することにより、サービス20は、呼び出し先のWebサービス30(又はWebサービスI/F35)が、変更又は更新されても、サービス20を作り直して、例えばコンパイルし直したりすることなく、簡単且つ速やかにWebサービス30を呼び出すことができる。
As shown in FIG. 6, the
以下、従来の問題点を解決する、サービス20の他の例を、図7に示す。図7は、サービスを示す図(その2)である。
FIG. 7 shows another example of the
図7に示されるサービス20は、図6に示したサービス20に比べて、コネクタ21と、Webサービススタブ22と、が複数存在する。図7に示されるような構成とすることによって、1つの実装(Client Implementation23)から、呼び出し先の複数のWebサービス30(又はWebサービスI/F35)が、変更又は更新されても、サービス20を作り直して、例えばコンパイルし直したりすることなく、簡単且つ速やかに複数のWebサービス30を呼び出すことができる。
The
以下、サービス20の機能構成の一例を、図8に示す。図8は、サービスの機能構成の一例を示す図である。
An example of the functional configuration of the
図8に示されるように、サービス20は、WebサービスI/F52と、Client Implementation23と、Primitive I/F24と、コネクタ生成部53と、コネクタ登録部54と、コネクタ保存部55と、Webサービススタブ生成部56と、Webサービススタブ登録部57と、Webサービススタブ保存部58と、Webサービス呼び出し部51と、を含む。
As shown in FIG. 8, the
WebサービスI/F52は、当該サービス20のI/Fである。
The web service I /
コネクタ生成部53は、意味関係ファイル90よりコネクタ21を生成する。コネクタ登録部53は、コネクタ生成部53において生成されたコネクタ21を、コネクタ保存部55に保存する。コネクタ保存部55は、少なくとも1つ以上のコネクタ21を保存する。
The
Webサービススタブ生成部56は、呼び出し先(Webサービス30)のWSDL100よりWebサービススタブ22を生成する。Webサービススタブ登録部57は、Webサービススタブ生成部56において生成されたWebサービススタブ22を、Webサービススタブ保存部58に保存する。Webサービススタブ保存部58は、少なくとも1つ以上のWebサービススタブ22を保存する。
The Web service
Webサービス呼び出し部51は、Webサービススタブ22から呼び出され、Webサービス30等を呼び出す。
The web
以下、コネクタ21が自動生成される一例を、図9に示す。図9は、コネクタが自動生成される例を示す概念図である。
An example in which the
図9に示されるように、コネクタ生成部53は、例えばWebサービスI/F35と、Primitive I/F24と、の間の意味的関係を定義した意味関係ファイル90に基づいて、コネクタ21を自動生成する。図9に示されるように、コネクタ21は、2つのI/Fの橋渡しを行っている。
As illustrated in FIG. 9, the
以下、コネクタ21及びWebサービススタブ22の生成の一例を、図10に示す。図10は、コネクタ及びWebサービススタブの生成を示す図(その1)である。なお、以下に示す例は、アプリケーション又はオーケストレーションサービス40等が意味関係ファイル90を作成し、該アプリケーション又はオーケストレーションサービス40等が作成した意味関係ファイル90に基づいて、外部サービス(サービス)20が、コネクタ21等を生成する例である。
Hereinafter, an example of generation of the
初めに、アプリケーション又はオーケストレーションサービス40(以下、単にアプリケーション40ともいう)は、外部サービス(サービス)20のPrimitive I/F24を取得する(図10の(1))。なお、実際は、I/Fではなく、I/Fの情報(I/Fに係る情報)を取得すればよいが、以下では説明の簡略化のため、I/Fを取得する等と記述する。
First, the application or orchestration service 40 (hereinafter also simply referred to as the application 40) acquires the Primitive I /
次に、アプリケーション40は、外部サービス(サービス)20が、直接呼ぶ可能性のあるWebサービス(図10の例では、認証サービス31)のI/F(WebサービスI/F35)を取得する(図10の(2))。
Next, the
続いて、アプリケーション40は、(1)で取得した外部サービス(サービス)20のPrimitive I/F24と、(2)で取得したWebサービスI/F35と、に基づいて、I/F間の意味関係ファイル90を作成する(図10の(3))。
Subsequently, the
次に、アプリケーション40は、作成した意味関係ファイル90を、外部サービス(サービス)20に送信する(図10の(4))。
Next, the
外部サービス(サービス)20のコネクタ生成部53は、取得した意味関係ファイル90より、コネクタ21を生成し、Webサービススタブ生成部56は、呼び出すWebサービス(図10の例では、認証サービス31)のWSDL100よりWebサービススタブ22を生成する(図10の(5))。
The
以下、コネクタ21及びWebサービススタブ22の生成の他の例を、図11に示す。図11は、コネクタ及びWebサービススタブの生成を示す図(その2)である。なお、以下に示す例は、セマンティクスサービス32が意味関係ファイル90を作成し、該セマンティクスサービス32が作成した意味関係ファイル90に基づいて、外部サービス(サービス)20が、コネクタ21等を生成する例である。
Hereinafter, another example of the generation of the
初めに、外部サービス(サービス)20の導入者は、外部サービス(サービス)20の導入時に外部サービス(サービス)20(外部サービス(サービス)20のI/F)の意味ファイル85を、セマンティクスサービス32に登録する(図11の(1))。なお、外部サービス(サービス)20の導入者ではなく、外部サービス(サービス)20自身が、導入時(又は起動時等)に自身(自身のI/F)の意味ファイル85を、セマンティクスサービス32に登録するようにしてもよい。
First, when the external service (service) 20 is introduced, the introducer of the external service (service) 20 creates the
また、アプリケーション40の導入者は、アプリケーション40の導入時に認証サービス31(認証サービス31のI/F)の意味ファイル85を、セマンティクスサービス32に登録する(図11の(2))。なお、アプリケーション40の導入者ではなく、アプリケーション40自身が、導入時(又は起動時等)に自身が利用する認証サービス31(認証サービス31のI/F)の意味ファイル85を、セマンティクスサービス32に登録するようにしてもよい。
Further, when the
次に、アプリケーション40は、導入時(又は起動時等)に、当該アプリケーション40が利用する外部サービス(サービス)20に、当該アプリケーション40が利用する又は外部サービス(サービス)20に利用して欲しいシステムに係る情報、例えば認証サービス31のWSDL及びセマンティクスサービス32のWSDL等、を渡す(図11の(3))。
Next, the
アプリケーション40より情報を受け取った外部サービス(サービス)20は、セマンティクスサービス32に、利用するサービス(図11の例では認証サービス31)のWebサービスI/F35と、当該サービスのPrimitive I/F24と、の意味関係ファイル90を問い合わせる(図11の(4))。
The external service (service) 20 that has received the information from the
外部サービス(サービス)20より問い合わせを受けた、セマンティクスサービス32は、要求元の外部サービス(サービス)20に、意味関係ファイル90を返す(図11の(5))。なお、セマンティクスサービス32は、(4)において問い合わせを受けたときに、(1)で登録を受けた意味ファイルと、(2)で登録を受けた意味ファイルと、に基づいて、意味関係ファイル90を作成してもよいし、(1)及び(2)で意味ファイルの登録を受けたときに、該意味ファイルに基づいて意味関係ファイル90を作成するようにしてもよい。
Upon receiving an inquiry from the external service (service) 20, the
外部サービス(サービス)20のコネクタ生成部53は、取得した意味関係ファイル90より、コネクタ21を生成し、Webサービススタブ生成部56は、呼び出すWebサービス(図11の例では、認証サービス31)のWSDL100よりWebサービススタブ22を生成する(図11の(6))。
The
セマンティクスサービス32が、後述する図12に示すような構成をし、上述した図11に示したような処理を実行することによって、サービス20は、意味関係ファイル90を取得し、コネクタ21を自動生成することができる。また、サービス20は、呼び出すWebサービスのWSDL100よりWebサービススタブ22を自動生成することにより、呼び出し側のサービス(又はサービスのI/F)が変更又は更新されても、呼び出すサービス(Webサービス)を、簡単且つ速やかに呼び出すことができる。
The
以下、セマンティクスサービス32の機能構成の一例を、図12に示す。図12は、セマンティクスサービスの機能構成の一例を示す図である。
An example of the functional configuration of the
図12に示されるように、セマンティクスサービス32は、WebサービスI/F70と、意味ファイル保存部71と、意味解析部72と、意味関係ファイル保存部73と、メッセージ処理部74と、を含む。
As shown in FIG. 12, the
WebサービスI/F70は、セマンティクスサービス32のI/Fである。意味ファイル保存部71は、複数の意味ファイル85を保存する。意味解析部72は、意味ファイル保存部71に保存されている複数の意味ファイル85に基づいて、意味解析を行い、意味関係ファイル90を作成する。意味関係ファイル保存部73は、少なくとも1つ以上の意味関係ファイル90を保存する。メッセージ処理部74は、例えばサービス20等からのメッセージに応じて、処理を行う処理部である。
The web service I /
例えばメッセージ処理部74は、意味ファイル85を、意味ファイル保存部71に保存したり、削除したり、意味関係ファイル90を、意味関係ファイル保存部73に保存したり、削除したりする。また、メッセージ処理部74は、メッセージに応じて、意味関係ファイル保存部73に意味関係ファイル90の問い合わせを行い、メッセージに対応する意味関係ファイル90が存在しない場合は、意味ファイル保存部71より意味ファイル85を取得して、意味解析部72に渡して、意味関係ファイル90の作成を要求し、作成された意味関係ファイル90を、意味関係ファイル保存部73に保存する。また、メッセージ処理部74は、意味解析部72において意味関係ファイル90が作成できなかった場合は、エラーメッセージ等を作成し、サービス20等に返す。また、メッセージ処理部74は、意味ファイル85の更新があった場合、関係する意味関係ファイル90を更新する。
For example, the
以下、WebサービスI/F35におけるメッセージの一例を、図13に示す。図13は、WebサービスI/Fにおけるメッセージの一例を示す図である。
An example of a message in the Web service I /
図13に示される例は、認証サービス31のI/Fにおけるメッセージ例であり、ユーザIDや、パスワード等が所定のタグ内にそれぞれ格納されている。
The example shown in FIG. 13 is an example of a message in the I / F of the
以下、WebサービスI/F35の意味ファイル85の一例を、図14に示す。図14は、WebサービスI/Fの意味ファイルの一例を示す図である。
An example of the
図14に示されるように、意味ファイル85には、WebサービスI/F35(又はWebサービスI/F35におけるメッセージ)の意味が記述されている。
As shown in FIG. 14, the meaning
以下、意味関係ファイル90の生成の一例を、図15に示す。図15は、意味関係ファイルの生成の概念図である。
An example of generation of the
図15に示されるように、意味解析部72は、複数の意味ファイル85より共通概念(共通概の構成又は情報)を抽出し、該共通概念の意味解析を行い、意味関係ファイル90を生成する。
As shown in FIG. 15, the
以下、同期の場合のサービス20の動作例を、図16に示す。図16は、サービスの動作例を示すフロー(その1)である。
Hereinafter, an operation example of the
ステップS10において、サービス20は、WebサービスI/F52を介して、アプリケーション40等よりリクエストメッセージを受け取る。
In step S10, the
ステップS10に続いてステップS11に進み、サービス20のClient Implementation23で、例えば他のサービス(他のWebサービス)を呼び出す必要が発生する。
In step S11 following step S10, it is necessary to call, for example, another service (another web service) in the
ステップS11に続いてステップS12に進み、Webサービススタブ登録部57は、Primitive I/F24を介してClient Implementation23より受け取ったメッセージに基づいて、呼び出すWebサービススタブ22を、Webサービススタブ保存部58より選択する。
Progressing to step S12 following step S11, the web service
ステップS12に続いてステップS13に進み、メッセージに設定される(含まれる)パラメータは、Primitive I/F24より、Webサービススタブ登録部57において選択されたWebサービススタブ22に渡される。
Progressing to step S13 following step S12, the parameter set (included) in the message is passed from the primitive I /
ステップS13に続いてステップS14に進み、Webサービススタブ22によって作成された、パラメータを含むメッセージ(リクエストメッセージ)は、Webサービス呼び出し部51を介し、他のサービス(他のWebサービス)へ送信される。
Progressing to step S14 following step S13, the message (request message) created by the
ステップS14に続いてステップS15に進み、サービス20は、Webサービス呼び出し部51を介し、他のサービス(他のWebサービス)より、他のサービス(他のWebサービス)のWebサービススタブ22で生成されたメッセージ(レスポンスメッセージ)を受信する。
In step S15 following step S14, the
ステップS15に続いてステップS16に進み、Webサービススタブ登録部57は、受信したメッセージを、対応するWebサービススタブ22に渡す。
In step S16 following step S15, the web service
ステップS16に続いてステップS17に進み、Webサービススタブ22は、Webサービススタブ登録部57より渡されたメッセージを、パラメータに変換し、Primitive I/F24へ渡す。
Progressing to step S17 following step S16, the
ステップS17に続いてステップS18に進み、Client Implementation23は、Primitivie I/F24を介して、パラメータの受取処理を実行する。
Proceeding to step S18 following step S17, the
ステップS18に続いてステップS19に基づいて、Client Implementation23は、受け取ったパラメータに基づいて、当該サービス20のサービス提供機能を実行し、実行結果等を含むレスポンスメッセージを、WebサービスI/F52を介して、アプリケーション40等に送信する。
Following step S18, based on step S19, the
以下、非同期の場合のサービス20の動作例を、図17に示す。図17は、サービスの動作例を示すフロー(その2)である。
Hereinafter, an operation example of the
ステップS30において、サービス20は、WebサービスI/F52を介して、アプリケーション40等よりリクエストメッセージを受け取る。
In step S30, the
ステップS30に続いてステップS31に進み、サービス20のClient Implementation23で、例えば他のサービス(他のWebサービス)を呼び出す必要が発生する。
In step S31 following step S30, the
ステップS31に続いてステップS32に進み、Webサービススタブ登録部57は、Primitive I/F24を介してClient Implementation23より受け取ったメッセージに基づいて、呼び出すWebサービススタブ22を、Webサービススタブ保存部58より選択する。
Progressing to step S32 following step S31, the web service
ステップS32に続いてステップS33に進み、メッセージに設定される(含まれる)パラメータは、Primitive I/F24より、Webサービススタブ登録部57において選択されたWebサービススタブ22に渡される。
Progressing to step S33 following step S32, the parameter set (included) in the message is passed from the primitive I /
ステップS33に続いてステップS34に進み、Webサービススタブ22によって作成された、パラメータを含むメッセージ(リクエストメッセージ)は、Webサービス呼び出し部51を介し、他のサービス(他のWebサービス)へ送信される。
Progressing to step S34 following step S33, the message (request message) created by the
また、ステップS40において、サービス20は、Webサービス呼び出し部51を介し、他のサービス(他のWebサービス)より、他のサービス(他のWebサービス)のWebサービススタブ22で生成された、メッセージ(レスポンスメッセージ)を受信する。なお、該メッセージは、ステップS34において送信したメッセージ(リクエストメッセージ)に対応するメッセージ(レスポンスメッセージ)である。
In step S40, the
ステップS40に続いてステップS41に進み、Webサービススタブ登録部57は、受信したメッセージより、呼び出すWebサービススタブ22を、Webサービススタブ保存部58より選択する。
In step S41 following step S40, the web service
ステップS41に続いてステップS42に進み、Webサービススタブ登録部57は、受信したメッセージを、対応するWebサービススタブ22に渡す。
Proceeding to step S42 following step S41, the web service
ステップS42に続いてステップS43に進み、Webサービススタブ22は、Webサービススタブ登録部57より渡されたメッセージを、パラメータに変換し、Primitive I/F24へ渡す。
Proceeding to step S43 following step S42, the
ステップS43に続いてステップS44に進み、Client Implementation23は、Primitivie I/F24を介して、パラメータの受取処理を実行する。
Proceeding to step S44 following step S43, the
ステップS45に続いてステップS46に基づいて、Client Implementation23は、受け取ったパラメータに基づいて、当該サービス20のサービス提供機能を実行し、実行結果等を含むレスポンスメッセージを、WebサービスI/F52を介して、アプリケーション40等に送信する。
Following step S45, based on step S46, the
以下、実施例1で示した各サービス20から、コネクタ21等を分離させてディスパッチャー110とした例を、実施例2に示す。図18は、実施例2におけるシステム構成図である。
Hereinafter, an example in which the
図18に示されるディスパッチャー110は、後述する図19に示されるように、サービス20のコネクタ21や、Webサービススタブ22等を、サービス20から分離させたものであって、複数のサービス20と、複数の認証サービス31と、の間をディスパッチする。
The
以下、ディスパッチャー110の一例を、図19に示す。図19は、ディスパッチャーの一例である。
An example of the
図19に示されるように、ディスパッチャー110は、Primitive I/F24と、コネクタ21と、Webサービススタブ22と、Primitive I/Fプロキシ26と、を含む。
As shown in FIG. 19, the
図19に示されるように、意味関係ファイル90は、例えばClient Implementation20(Primitive I/F24)の意味ファイル801と、Webサービス30(WebサービスI/F35)の意味ファイル802と、から、生成され、コネクタ21は、意味関係ファイル90から自動生成される。
As shown in FIG. 19, semantic relations file 90 includes, for example, a
また、Webサービススタブ22は、当該ディスパッチャー110が呼び出すWebサービス30のWSDL1002より自動生成され、Client Implementation20がディスパッチャー110を呼び出す際の仲介者であるPrimitive I/F26は、当該ディスパッチャー110を呼び出すClient Implementation20のWSDL1001より自動生成される。
Also,
図19に示したように、Primitive I/F24と、WebサービスI/F35と、の間の意味関係ファイル90よりコネクタ21を生成し、当該ディスパッチャー110が呼び出すWebサービス30のWSDL1002より、Webサービススタブ22を生成し、当該ディスパッチャー110を呼び出すClient Implementation20のWSDL1001より、Primitive I/Fプロキシ26を生成することにより、ディスパッチャー110は、呼び出し先のWebサービス30(又はWebサービスI/F35)が、変更又は更新されても、ディスパッチャー110や、サービス20を作り直して、例えばコンパイルし直したりすることなく、簡単且つ速やかにWebサービス30を呼び出すことができる。
As shown in FIG. 19, the
以下、サービス20及びディスパッチャー110の機能構成の一例を、図20に示す。図20は、サービス及びディスパッチャーの機能構成の一例を示す図である。
Hereinafter, an example of functional configurations of the
図20に示されるように、サービス20は、WebサービスI/F52と、Client Implementation23と、Primitive I/F24と、を含む。
As illustrated in FIG. 20, the
また、図20に示されるように、ディスパッチャー110は、Primitive I/F24と、Webサービス呼び出し部51と、コネクタ生成部53と、コネクタ登録部54と、コネクタ保存部55と、Webサービススタブ生成部56と、Webサービススタブ登録部57と、Webサービススタブ保存部58と、Primitive I/Fプロキシ生成部59と、Primitive I/Fプロキシ登録部60と、Primitive I/Fプロキシ保存部61と、を含む。
Also, as shown in FIG. 20, the
Primitive I/Fプロキシ生成部59は、呼び出し元(Client Implementation20)のWSDL100よりPrimitive I/Fプロキシ26を生成する。Primitive I/Fプロキシ登録部60は、Primitive I/Fプロキシ生成部59において生成されたPrimitive I/Fプロキシ26を、Primitive I/Fプロキシ保存部61に保存する。Primitive I/Fプロキシ保存部61は、Primitive I/Fプロキシ26を保存する。
The Primitive I / F
なお、実施例2で示したディスパッチャー110は、例えば実施例1で示したサービス装置1等と同様のハードウェア構成をした装置に実装され、該装置のCPUは、ディスパッチャー110に対応するプログラムに従って処理を実行する。
The
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 The preferred embodiments of the present invention have been described in detail above, but the present invention is not limited to such specific embodiments, and various modifications can be made within the scope of the gist of the present invention described in the claims.・ Change is possible.
1 サービス装置
2 意味関係サービス装置
20 サービス(外部サービス)
21 コネクタ
22 Webサービススタブ
23 Client Implementation
24 Primitive I/F
26 Primitive I/Fプロキシ
30 Webサービス
31 認証サービス
32 セマンティクスサービス
35 WebサービスI/F
40 アプリケーション(又はオーケストレーションサービス)
52 WebサービスI/F
53 コネクタ生成部
54 コネクタ登録部
55 コネクタ保存部
56 Webサービススタブ生成部
57 Webサービススタブ登録部
58 Webサービススタブ保存部
59 Primitive I/Fプロキシ生成部
60 Primitive I/Fプロキシ登録部
61 Primitive I/Fプロキシ保存部
70 WebサービスI/F
71 意味ファイル保存部
72 意味解析部
73 意味関係ファイル保存部
74 メッセージ処理部
85 意味ファイル
90 意味関係ファイル
100 WSDL
110 ディスパッチャー
1
21
24 Primitive I / F
26 Primitive I /
40 applications (or orchestration services)
52 Web Service I / F
53
71 Semantic
110 Dispatcher
Claims (23)
前記サービス提供手段は、
サービスに係る異なる2つのインターフェースの間の意味関係を定義した意味関係データより、前記サービスに係る異なる2つのインターフェースのコネクタを生成するコネクタ生成手段と、
当該サービス提供手段が呼び出すサービスに係る情報が記述されたデータより、前記呼び出すサービスに係るスタブを生成するスタブ生成手段と、
前記呼び出すサービスを呼び出す、サービス呼び出し手段と、
を有することを特徴とするサービス提供装置。 A service providing apparatus having service providing means for providing a service,
The service providing means includes:
Connector generating means for generating connectors of two different interfaces related to the service from semantic relationship data defining a semantic relationship between two different interfaces related to the service;
Stub generating means for generating a stub related to the service to be called from data describing information related to the service to be called by the service providing means;
Service calling means for calling the calling service;
A service providing apparatus comprising:
前記意味関係サービス提供手段は、
サービスに係るインターフェースの意味に係るデータを解析する意味解析手段と、
メッセージの送受信に係る処理を実行し、要求に応じて、対応する、サービスに係る異なる2つのインターフェース間の意味関係に係る意味関係データを、要求元に提供するメッセージ処理手段と、
を有することを特徴とする意味関係サービス提供装置。 A semantic relationship service providing apparatus having a semantic relationship service providing means for providing a service related to a semantic relationship between two different interfaces related to a service,
The semantic relationship service providing means includes:
Semantic analysis means for analyzing data related to the meaning of the interface related to the service;
Message processing means for executing processing related to transmission / reception of messages, and providing semantic relationship data related to the semantic relationship between two different interfaces related to services to a request source in response to a request;
A semantic relationship service providing apparatus characterized by comprising:
サービスを提供するサービス提供手段として動作させるサービス提供プログラムであって、
前記サービス提供手段は、
サービスに係る異なる2つのインターフェースの間の意味関係を定義した意味関係データより、前記サービスに係る異なる2つのインターフェースのコネクタを生成するコネクタ生成手段と、
当該サービス提供手段が呼び出すサービスに係る情報が記述されたデータより、前記呼び出すサービスに係るスタブを生成するスタブ生成手段と、
前記呼び出すサービスを呼び出す、サービス呼び出し手段と、
を有することを特徴とするサービス提供プログラム。 Computer
A service providing program that operates as a service providing means for providing a service,
The service providing means includes:
Connector generating means for generating connectors of two different interfaces related to the service from semantic relationship data defining a semantic relationship between two different interfaces related to the service;
Stub generating means for generating a stub related to the service to be called from data describing information related to the service to be called by the service providing means;
Service calling means for calling the calling service;
A service providing program characterized by comprising:
サービスに係る異なる2つのインターフェース間の意味関係に係るサービスを提供する意味関係サービス提供手段として動作させる意味関係サービス提供プログラムであって、
前記意味関係サービス提供手段は、
サービスに係るインターフェースの意味に係るデータを解析する意味解析手段と、
メッセージの送受信に係る処理を実行し、要求に応じて、対応する、サービスに係る異なる2つのインターフェース間の意味関係に係る意味関係データを、要求元に提供するメッセージ処理手段と、
を有することを特徴とする意味関係サービス提供プログラム。 Computer
A semantic relationship service providing program that operates as a semantic relationship service providing means for providing a service related to a semantic relationship between two different interfaces related to a service,
The semantic relationship service providing means includes:
Semantic analysis means for analyzing data related to the meaning of the interface related to the service;
Message processing means for executing processing related to transmission / reception of messages, and providing semantic relationship data related to the semantic relationship between two different interfaces related to services to a request source in response to a request;
A semantic relationship service providing program characterized by comprising:
サービスに係る異なる2つのインターフェースの間の意味関係を定義した意味関係データより、前記サービスに係る異なる2つのインターフェースのコネクタを生成するコネクタ生成段階と、
呼び出すサービスに係る情報が記述されたデータより呼び出すサービスに係るスタブを生成するスタブ生成段階と、
前記呼び出すサービスを呼び出す、サービス呼び出し段階と、
を有することを特徴とするサービス提供方法。 A service providing method for providing a service,
A connector generation stage for generating connectors of two different interfaces related to the service from semantic relationship data defining a semantic relationship between two different interfaces related to the service;
A stub generation stage for generating a stub related to the service to be called from data describing information related to the service to be called;
A service invocation step of invoking the invoking service;
A service providing method characterized by comprising:
サービスに係るインターフェースの意味に係るデータを解析する意味解析段階と、
メッセージの送受信に係る処理を実行し、要求に応じて、対応する、サービスに係る異なる2つのインターフェース間の意味関係に係る意味関係データを、要求元に提供するメッセージ処理段階と、
を有することを特徴とする意味関係サービス提供方法。 A semantic relationship service providing method for providing a service related to a semantic relationship between two different interfaces related to a service,
A semantic analysis stage for analyzing data related to the meaning of the interface related to the service;
A message processing stage that performs processing related to message transmission and reception, and provides, in response to a request, semantic relationship data related to a semantic relationship between two different interfaces related to a service to a request source;
A semantic relation service providing method characterized by comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004275622A JP2006092167A (en) | 2004-09-22 | 2004-09-22 | 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 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004275622A JP2006092167A (en) | 2004-09-22 | 2004-09-22 | 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 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011046033A Division JP2011108284A (en) | 2011-03-03 | 2011-03-03 | Semantic relation service providing device, semantic relation service providing program, recording medium, and semantic relation service providing method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006092167A true JP2006092167A (en) | 2006-04-06 |
Family
ID=36233081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004275622A Pending JP2006092167A (en) | 2004-09-22 | 2004-09-22 | 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 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006092167A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008186105A (en) * | 2007-01-29 | 2008-08-14 | Hitachi Ltd | Service function providing device, service function providing method and program |
WO2013144731A1 (en) * | 2012-03-28 | 2013-10-03 | International Business Machines Corporation | Optimizing subroutine calls based on architecture level of called subroutine |
JP2020516989A (en) * | 2017-04-14 | 2020-06-11 | イングラム マイクロ インコーポレーテッド | Technology to generate and distribute integrated connector of cloud service mediation system |
-
2004
- 2004-09-22 JP JP2004275622A patent/JP2006092167A/en active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008186105A (en) * | 2007-01-29 | 2008-08-14 | Hitachi Ltd | Service function providing device, service function providing method and program |
WO2013144731A1 (en) * | 2012-03-28 | 2013-10-03 | International Business Machines Corporation | Optimizing subroutine calls based on architecture level of called subroutine |
GB2513813A (en) * | 2012-03-28 | 2014-11-05 | Ibm | Optimizing Subroutine Calls Based On Architecture Level Of Called Subroutine |
US9063759B2 (en) | 2012-03-28 | 2015-06-23 | International Business Machines Corporation | Optimizing subroutine calls based on architecture level of called subroutine |
US9075636B2 (en) | 2012-03-28 | 2015-07-07 | International Business Machines Corporation | Optimizing subroutine calls based on architecture level of called subroutine |
GB2513813B (en) * | 2012-03-28 | 2017-02-22 | Ibm | Optimizing Subroutine Calls Based On Architecture Level Of Called Subroutine |
JP2020516989A (en) * | 2017-04-14 | 2020-06-11 | イングラム マイクロ インコーポレーテッド | Technology to generate and distribute integrated connector of cloud service mediation system |
JP7073394B2 (en) | 2017-04-14 | 2022-05-23 | イングラム マイクロ インコーポレーテッド | Technology to generate and distribute integrated connectors for cloud service intermediary systems |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11985024B2 (en) | Systems and methods for providing managed services | |
US7418501B2 (en) | Dynamic extension of network-accessible services | |
JP4583289B2 (en) | Execution flow generation program, execution flow generation method, and execution flow generation apparatus | |
US7529823B2 (en) | Notifications for shared resources | |
Krishnan et al. | GSFL: A workflow framework for grid services | |
US7831724B2 (en) | Services layer model for providing standards-based communications | |
JP2004070936A (en) | System and method for providing content-oriented service to content provider and content consumer | |
JP2004533687A (en) | Dynamic deployment of services in computer networks | |
US11411812B2 (en) | Dynamic service creation for microservice-based integration service | |
Indrasiri | Microservices in pratice-key architectural concepts of an msa | |
EP2270659A1 (en) | SIP servlet applications co-hosting | |
US7954085B2 (en) | Support for multiple interface versions | |
JP2006092167A (en) | 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 | |
US7448041B2 (en) | Interfacing an application server to remote resources using Enterprise Java Beans as interface components | |
WO2007019745A1 (en) | A service providing method of distributed service system | |
JP2006171918A (en) | Data transmission to client and execution control method of update data | |
JP2011108284A (en) | Semantic relation service providing device, semantic relation service providing program, recording medium, and semantic relation service providing method | |
JP2004334883A (en) | Method and device of providing client side local proxy object for distributed object-oriented system | |
JP2003015891A (en) | Network system, method for communicating among server, client and object, method for registering profile object, program, and storage medium | |
JP4738556B2 (en) | Distributed operation system and recording medium | |
US20090327389A1 (en) | Stateful Business Application Processing In An Otherwise Stateless Service-Oriented Architecture | |
US8849631B2 (en) | Protocol independent telephony call lifecycle management scheme | |
JP4367141B2 (en) | Instruction description content changing device and instruction description content changing program | |
JP2006072910A (en) | Client, service use program, and recording medium | |
JP4584654B2 (en) | Server, service providing program, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070918 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110303 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110329 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110527 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110614 |