JP4352801B2 - Service cooperation apparatus and method - Google Patents

Service cooperation apparatus and method Download PDF

Info

Publication number
JP4352801B2
JP4352801B2 JP2003278059A JP2003278059A JP4352801B2 JP 4352801 B2 JP4352801 B2 JP 4352801B2 JP 2003278059 A JP2003278059 A JP 2003278059A JP 2003278059 A JP2003278059 A JP 2003278059A JP 4352801 B2 JP4352801 B2 JP 4352801B2
Authority
JP
Japan
Prior art keywords
service
definition
providing server
community
holding
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
Application number
JP2003278059A
Other languages
Japanese (ja)
Other versions
JP2005044158A (en
Inventor
佳弘 増田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2003278059A priority Critical patent/JP4352801B2/en
Publication of JP2005044158A publication Critical patent/JP2005044158A/en
Application granted granted Critical
Publication of JP4352801B2 publication Critical patent/JP4352801B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、共同作業支援、より詳細には、ネットワーク上に公開されるサービスを連携して一連のサービスプロセスを形成する技術に関する。なお、サービスとしては、ASP等によって提供されるオンラインのアプリケーション、各種情報アプライアンスが提供するアプリケーションなど、ネットワークを介して提供されるすべてのサービスを含む。   The present invention relates to collaborative work support, and more particularly, to a technique for forming a series of service processes by linking services published on a network. The service includes all services provided via a network, such as an online application provided by an ASP or the like, and an application provided by various information appliances.

近年、インターネットの普及に伴い、ネットワークを介してサービスを提供するASP(Application Service Provider)や、ネットワーク上に提供されるサービスを相互に連携するための標準技術として、XML(Extensible Markup Language)をベースにしたUDDI(Universal Description, Discovery and Integration)、WSDL(Web Services Description Language)、SOAP(Simple Object Access Protocol)等の標準で構成されるWebサービス技術が進展してきている。そして、このような技術トレンドとともに、従来、インターネット上に提供されるサービスを連携して一連のサービスプロセスを構成する技術が、いくつか提案されてきている。   In recent years, with the spread of the Internet, ASP (Application Service Provider) that provides services via a network and XML (Extensible Markup Language) as a standard technology for linking services provided on a network to each other UDDI (Universal Description, Discovery and Integration), WSDL (Web Services Description Language), SOAP (Simple Object Access Protocol), and other Web services that are developed by standard technologies such as SOAP (Simple Object Access Protocol). Along with such a technical trend, several techniques for configuring a series of service processes by linking services provided on the Internet have been proposed.

それらの技術には、まず、特許文献1〜6などで示されているように、ネットワーク上に提供されている複数のサービスを連携するための「業務連携サーバ」を個々のサービスと独立した形でネットワーク上に配置し、その業務連携サーバを介して、適切なサービスをユーザに提供する方式がある。しかしながら、インターネットのようなオープンな環境で、企業間にまたがるサービス連携を実現することを想定した場合、この「業務連携サーバ」は、それぞれのサービス提供者の利害関係が及ばない中立的な立場で運用する必要が生じる。このため、このような業務連携サーバは、第三者的な機関によるか、参加する企業間が合意した形で運営しなければならず、このことは、運用上の障壁となる。   In these technologies, first, as shown in Patent Documents 1 to 6 and the like, a “business cooperation server” for linking a plurality of services provided on a network is independent from each service. There is a method of providing an appropriate service to the user via the business cooperation server. However, when it is assumed that service collaboration across companies is realized in an open environment such as the Internet, this "business collaboration server" is in a neutral position that does not reach the interests of each service provider. Need to operate. For this reason, such a business cooperation server must be operated by a third-party organization or in a form agreed between participating companies, which constitutes an operational barrier.

また、特許文献7〜9で示されているように、エンドユーザの要求に基づいて、ネットワーク上に広く提供されているサービスを検索して一連のプロセスを生成し、そのプロセスを構成するサービス間で処理を受け渡しながらサービスの提供をすすめてゆく方法がある。しかしながら、これらの特許出願で提案されている方式では、サービス連携がエンドユーザ側で指定された連携関係に基づいて行われるため、サービス提供者間で業務上の信頼関係がない場合であっても業務処理の受け渡しを行わなければならないということになり、企業間でのサービス連携に適用した場合、実際の業務の受け渡しができないという場合が発生することが予想される。   Further, as shown in Patent Documents 7 to 9, based on an end-user request, a service widely provided on the network is searched to generate a series of processes, and between services constituting the process There is a way to recommend the service while handing over the process. However, in the methods proposed in these patent applications, since service cooperation is performed based on the cooperation relation designated on the end user side, even if there is no business trust relationship between service providers, This means that business processing must be transferred, and when applied to service cooperation between companies, it may be expected that actual business cannot be transferred.

また、特許文献10に示されているように、固定的な接続インタフェースの集合から連携関係を照合するのではなく、段階的に追加されるサービスに対して、並列に照合を行い、連携関係を計算する方式がある。この方式は、連携関係を導出する際に計算対象となる接続インタフェースの集合を特定する必要がなく、段階的な追加や削除が可能であるという点で、インターネットのような開放環境で業務連携の処理を分散することができる。しかしながら、この方式においても、連携対象とするサービスの接続インタフェースの集合を何らかの方法で特定しなければ、実際には意味を持たない連携関係までも導出されてしまう可能性がある。   In addition, as shown in Patent Document 10, collation is not collated from a set of fixed connection interfaces, but collation is performed in parallel for a service added in stages, and the cooperation is determined. There is a calculation method. This method eliminates the need to specify a set of connection interfaces to be calculated when deriving a linkage relationship, and allows stepwise additions and deletions. Processing can be distributed. However, even in this method, if a set of connection interfaces of services to be linked is not specified by any method, even a linkage relationship that does not actually have a possibility may be derived.

また、特許文献11〜13で示されているように、企業や部門で個々に管理されている業務プロセス同士を、共通の記述形式の連携インタフェースに基づいて接続する方式が提案されている。この方式は、企業間や部門間での業務処理の受け渡しを可能にするが、企業間や部門間での業務の連携関係の導出は取り扱っていない。
特開平10−49471号公報 特開平10−2322899号公報 特開平11−15849号公報 特開平11−212911号公報 特開2002−150034 特開2002−324123 特開平8−249290号公報 特開平8−314872号公報 特開2002−196926 特開2001−202408 特開平11−238090 特開2001−325413 特開2002−108632
In addition, as shown in Patent Documents 11 to 13, a method has been proposed in which business processes individually managed by a company or a department are connected based on a common description format linkage interface. Although this method enables delivery of business processing between companies and departments, it does not deal with the derivation of business cooperation between companies or departments.
JP 10-49471 A JP 10-2322899 A JP-A-11-15849 Japanese Patent Laid-Open No. 11-212911 JP2002-150034 JP 2002-324123 A JP-A-8-249290 Japanese Patent Laid-Open No. 8-314872 JP 2002-196926 A JP 2001-202408 A JP-A-11-238090 JP 2001-325413 A JP 2002-108632 A

本発明は、以上の事情を考慮してなされたものであり、例えば、インターネット上に提供されるさまざまな企業が提供するサービスを連携することを可能にする基盤アーキテクチャを実現するものであり、上記の従来技術で述べたような未解決の課題に対処するため、サービス間の連携関係を一括してつかさどる「サービス連携サーバ」を置くことなく、個々のサービス提供者間の間に設定される提携関係のネットワーク上でサービスの連携関係を導出することを可能にする非集中型のサービス連携アーキテクチャを実現することを目的としている。   The present invention has been made in consideration of the above circumstances. For example, the present invention realizes a basic architecture that enables services provided by various companies provided on the Internet to cooperate with each other. In order to deal with unresolved issues such as those described in the previous technology, alliances established between individual service providers without a “service linkage server” that collectively manages linkages between services. It aims to realize a decentralized service cooperation architecture that enables service cooperation relations to be derived on a related network.

また、サービス連携を行う際には、パブリックオープンに提供されるサービス間の連携、ある特定の企業間だけに限定されたサービス連携、ある部門内に限定されたサービス連携、ある部屋の中で利用可能なサービスに限定したサービス連携など、さまざまな範囲のレベルで連携対象となるサービス群を制御する必要があると考えられる。このため、本発明の具体的な側面では、このような連携対象とするサービス集合をさまざまな範囲のレベルで制御できるようにすることを目的としている。   Also, when linking services, linking between services provided in a public open, linking services that are limited to a specific company, linking services that are limited to a certain department, and being used in a room It is considered necessary to control the service group to be linked at various levels, including service linkage limited to possible services. Therefore, a specific aspect of the present invention aims to enable control of such a service set to be linked at various levels.

この発明によれば、上述の目的を達成するために、特許請求の範囲に記載のとおりの構成を採用している。   According to this invention, in order to achieve the above-mentioned object, the configuration as described in the claims is adopted.

本発明は、例えば、ネットワーク上に公開されているさまざまな企業が提供するサービス提供サーバをピアとして、ピア・ツー・ピア型のサービス連携を可能にする基盤アーキテクチャに関するものである。ここでは、従来技術のように、複数のサービスの連携関係を一括して計算する「サービス連携用サーバ」を置く集中型のアーキテクチャではなく、利害関係が異なる企業間をまたがるサービス連携を可能にするため、それぞれのサービス提供サーバが対等の立場で互いに接続されてピア・ツー・ピアのネットワークを構成し、その関係の中で各サービス提供サーバにおいて連携関係が並列的に計算される非集中型のアーキテクチャを提案する。(従来のような集中型のアーキテクチャで企業間のサービス連携を実現するためには、連携関係を導出する機構を第三者的な機関によって運営する必要があった。)   The present invention relates to a basic architecture that enables peer-to-peer service cooperation using, for example, a service providing server provided by various companies disclosed on a network as a peer. Here, it is not a centralized architecture that puts a “service linkage server” that calculates the linkage relationship of multiple services at once, as in the conventional technology, but enables service linkage across companies with different interests Therefore, each service providing server is connected to each other in an equal position to form a peer-to-peer network, and in that relationship, the cooperative relationship is calculated in parallel in each service providing server. Propose an architecture. (In order to realize service cooperation between companies with a conventional centralized architecture, it was necessary to operate a mechanism for deriving the cooperation by a third party organization.)

具体的な構成では、各サービス提供サーバ装置(サーバコンピュータ。以下では単にサーバという)について、サービスの内容を記述した「サービス定義」が、XML文書の形式でネットワーク上に公開される。なお、ここで、サービス定義は、「操作対象」と「操作」を単位として表現されるアクティビティを単位として一連のプロセスを構成する形式として定義される。   In a specific configuration, for each service providing server device (server computer; hereinafter simply referred to as a server), a “service definition” describing the contents of the service is published on the network in the form of an XML document. Here, the service definition is defined as a format that constitutes a series of processes in units of activities expressed in units of “operation target” and “operation”.

また、サービス提供サーバ間には、相互の信頼関係に基づいて提携関係が結ばれ、ピア・ツー・ピア型のネットワークを構成する。また、サービス提供サーバ間に設定される提携関係は、「サービスコミュニティ」という単位で管理され、個々のサービスコミュニティ内でサービス定義の共有が行われる。なお、「サービスコミュニティ」は複数のサービス定義で構成されるが、サービス定義の追加は、各サービスコミュニティに与えられたクレデンシャルがサービスコミュニティと加入するサービスとの間で交換されて確認が行われた上で実施される。なお、「サービスコミュニティ」は、任意のサービス提供サーバ上で生成することが可能であり、個々のサービスコミュニティについて、当該サービスコミュニティを構成するサービス定義を提供しているサービス提供サーバのアドレスが保持される。そして、サービス提供サーバ間で提携関係が結ばれ、サービスコミュニティに対してサービス定義が提供されると、当該、サービスコミュニティが保持している他のサービス提供サーバとの間にも当該提携関係にあるサービス提供サーバとの提携関係が自動的に設定され、これによって、サービス提供サーバが構成するピア・ツー・ピアネットワークの結合密度を向上させ、系全体としての信頼性の向上を図ることができる。   In addition, a partnership relationship is established between service providing servers based on mutual trust relationships, and a peer-to-peer network is configured. The partnership relationship set between the service providing servers is managed in units of “service communities”, and service definitions are shared within individual service communities. The “service community” is composed of multiple service definitions, but the addition of service definitions was confirmed by exchanging the credentials given to each service community between the service community and the service to subscribe to. Implemented above. The “service community” can be generated on any service providing server, and for each service community, the address of the service providing server that provides the service definition constituting the service community is held. The Then, when a partnership is formed between the service providing servers and the service definition is provided to the service community, it is also in the partnership with the other service providing servers held by the service community. The partnership with the service providing server is automatically set, thereby improving the connection density of the peer-to-peer network formed by the service providing server and improving the reliability of the entire system.

各サービス提供サーバでは、サービスコミュニティを単位として、各サービスコミュニティを構成するサービス定義に基づいてサービス間の連携関係が計算される。連携関係の計算は、一定の時間間隔で実行されてもよいし、新たなサービスが追加された際にサーバ間で通知しあうことによって実行されてもよい。サービス定義には、当該サービスを提供する上で他に依頼するサービスの記述も含まれる。他に依頼するサービスが発見されると、そのサービス内容を提供可能なサービスの候補が、サービスコミュニティ内で検索され、提供可能なサービスが発見されると連携関係が設定される。また、連携関係を計算する際に、複数サービスを統合したサービスをひとつのサービスとして抽象化がなされ、ひとつの仮想的な連携対象のサービスとして扱われる。   In each service providing server, the service community is used as a unit, and the cooperation relationship between services is calculated based on the service definition constituting each service community. The calculation of the cooperation relationship may be executed at regular time intervals, or may be executed by notifying between servers when a new service is added. The service definition includes a description of a service to be requested to others for providing the service. When a service to be requested is found, service candidates that can provide the service content are searched in the service community, and when a service that can be provided is found, a cooperative relationship is set. Further, when calculating the linkage relationship, a service obtained by integrating a plurality of services is abstracted as one service and treated as one virtual linkage target service.

サービス利用者は、任意のサービス提供サーバに対してサービスの依頼を行う。すると、そのサービス提供サーバが参加しているサービスコミュニティ内で導出されている連携候補が検索され、所望のサービスを提供する連携関係が提供される。   The service user requests a service from an arbitrary service providing server. Then, the cooperation candidate derived | led-out within the service community in which the service provision server participates is searched, and the cooperation relationship which provides a desired service is provided.

このような構成では、利害関係が異なる企業間においてサービスの連携を行う際に、サービス間の連携を一括してつかさどるサービス連携サーバ(コーディネーションサーバ)を置くことなく、個々の企業が管理するサービス提供サーバを対等に接続することによって、非集中型のサービス連携を可能にする。すなわち特定のサーバがサービスの連携関係を計算する方式ではなく、個々のサービス提供側で他のサービスとの連携関係を計算して連携を可能にする。   In such a configuration, when services are linked between companies with different interests, service management managed by each company is provided without placing a service coordination server (coordination server) that handles the coordination between services at once. By connecting servers equally, non-centralized service linkage is possible. That is, instead of a method in which a specific server calculates a service linkage relationship, each service provider calculates a linkage relationship with another service to enable linkage.

ネットワーク上に提供されるサービス群との間で連携関係を設定する場合、連携対象とするサービス群の範囲を、「サービスコミュニティ」という単位を用いることによって制御することができる。このため、連携対象の規模を、完全にパブリックオープンな範囲から、信頼関係を結んでいるサービス提供者間との間に至るまでの幅広いレンジの間で特定できるとともに、サービス間の連携関係を計算する際の計算爆発(全世界中で提供されるサービス群の間に連携関係を設定する計算を行うことは難しい)を回避することができる。   When setting a cooperative relationship with a service group provided on the network, the range of the service group to be linked can be controlled by using a unit called “service community”. For this reason, the scale of collaboration targets can be specified in a wide range from a completely public open range to between service providers who have a trust relationship, and the linkage relationship between services is calculated. It is possible to avoid the explosion of calculation (it is difficult to perform a calculation to set up a cooperative relationship between service groups provided all over the world).

サービス間の連携関係の計算が、複数のサービス提供サーバに分散されるため、系全体としての信頼性を高めることができる。(一種のグリッドコンピューティングを実現する。)   Since the calculation of the cooperation relationship between services is distributed to a plurality of service providing servers, the reliability of the entire system can be improved. (A kind of grid computing is realized.)

さらに、一例として図1を参照しながら本発明を説明する。   Furthermore, the present invention will be described with reference to FIG. 1 as an example.

本発明は、上述の目的を達成するために、複数のサービス間の連携をつかさどる単一のサービス連携用サーバを置かず、個々のサービス間に設定されるピア・ツー・ピアの関係が形成するネットワーク構成に基づいて、サービス間の連携を可能にする非集中型のサービス連携を実現することを前提とする。   In order to achieve the above-mentioned object, the present invention does not include a single service cooperation server that controls cooperation between a plurality of services, and forms a peer-to-peer relationship established between individual services. Based on the network configuration, it is assumed that decentralized service linkage that enables linkage between services is realized.

本発明の一側面によれば、それぞれサービス提供サーバ装置102として機能する複数のコンピュータをネットワーク101を介して接続し上記複数のコンピュータが提供するサービスを連携させるサービス連携装置において、上記複数のコンピュータの各々が:当該コンピュータが提供する各サービスのサービス内容を記述したサービス定義を保持するサービス定義保持手段(105)と;上記サービス定義保持手段が保持するサービス定義に基づいてサービス間の連携関係を計算するサービス連携関係導出手段(106)と;他のサービス提供サーバ装置との連携関係の情報を保持する、サービス提供サーバ装置間提携関係保持手段(102)と;上記サービス提供サーバ装置間提携関係保持手段が保持する連携関係の情報に基づいて当該コンピュータと連携関係にある他のサービス提供サーバ装置との間でサービス定義を共有化するサービス定義共有手段(104)とを有するようにしている。   According to one aspect of the present invention, in a service cooperation apparatus that connects a plurality of computers each functioning as the service providing server apparatus 102 via the network 101 and coordinates a service provided by the plurality of computers, Each includes: a service definition holding unit (105) that holds a service definition describing the service contents of each service provided by the computer; and calculates a cooperative relationship between services based on the service definition held by the service definition holding unit A service cooperation relationship deriving unit (106) for maintaining the cooperation relationship between the service providing server devices and holding the information on the cooperation relationship with other service providing server devices (102); Based on the information on the linkages held by the means. So that having a service definition sharing means for sharing a service definition between the other service providing server device in a cooperative relationship with the computer (104).

この構成においては、中央にサービス連携用のサーバを置くことなく、個々のサービス提供サーバ間に設定されたピア・ツー・ピアの連携関係をたどることによって、各サービス提供サーバ内で定義されたサービスの接続インタフェースが共有され、それらをもとに、サービス間の連携関係を導出することが可能になる。   In this configuration, the service defined in each service providing server is established by following the peer-to-peer cooperation relationship established between the individual service providing servers without placing a server for service cooperation in the center. Connection interfaces are shared, and it is possible to derive a cooperation relationship between services based on them.

この構成において、上記複数のコンピュータの各々が、連携対象とするサービス定義の集合に対応するサービスコミュニティを保持するサービスコミュニティ保持手段を備え、さらに、上記サービス定義共有手段は、連携関係にある他のサービス提供サーバ装置のサービスコミュニティ保持手段が保持するサービスコミュニティに関する情報を共有し、上記サービス定義保持手段は、上記サービスコミュニティ保持手段が保持するサービスコミュニティに関連してサービスを公開するようにしてもよい。   In this configuration, each of the plurality of computers includes a service community holding unit that holds a service community corresponding to a set of service definitions to be linked. Information related to the service community held by the service community holding unit of the service providing server device may be shared, and the service definition holding unit may publish the service in relation to the service community held by the service community holding unit. .

サービスコミュニティは上述のとおりサービスの連携関係の単位であり、具体的には、1まとまりの連携関係にあるサービス提供サーバにより構成される。サービスコミュニティの概念を導入することにより1つのサービス提供サーバが複数のサービスコミュニティに参加可能になる。   As described above, the service community is a unit of service cooperation, and is specifically configured by a service providing server having a single cooperation relationship. By introducing the concept of service community, one service providing server can participate in a plurality of service communities.

このようにすると、サービス提供サーバ間に設定される連携関係を「サービスコミュニティ」と呼ぶ単位で管理し、サービス提供サーバが、さまざまなグループに所属し、それら各グループ内を連携対象の範囲としてサービス連携を行うことができる。これによって、さまざまな信用範囲でのサービス連携が可能になる。   In this way, the linkage relationship set between the service providing servers is managed in units called “service communities”, and the service providing servers belong to various groups, and each group is serviced within the scope of cooperation. Cooperation can be performed. This makes it possible to link services in various credit ranges.

また、この場合、上記サービスコミュニティ保持手段が、各サービスコミュニティに対してサービスを提供しているサービス提供サーバ装置の情報を保持しており、上記サービス提供サーバ装置間連携関係保持手段は、上記サービス定義共有手段によって共有されたサービスコミュニティの情報に基づいて、当該サービスコミュニティに対してサービスを提供している複数のサービス提供サーバ装置の間の連携関係を設定・保持するようにしてもよい。   Further, in this case, the service community holding unit holds information of service providing server devices that provide services to the service communities, and the service providing server device cooperation holding unit holds the service Based on the service community information shared by the definition sharing means, a linkage relationship between a plurality of service providing server devices that provide services to the service community may be set and held.

このようにすると、サービス提供サーバ間に設定されるピア・ツー・ピアの連携関係を、より系全体として信頼性の高いネットワークにすることを可能にする。すなわち、サービスコミュニティを形成するネットワークの結合関係をより、メッシュ状に近づけることになるため、あるサービス提供サーバがダウンしている場合においても、他のサービス提供サーバを経由してサービス提供サーバ間で情報を共有することが可能になる。   In this way, it is possible to make the peer-to-peer cooperation relationship set between the service providing servers more reliable network as a whole system. In other words, since the connection relationship of the networks forming the service community is made closer to a mesh shape, even when a certain service providing server is down, the service providing server is connected between the service providing servers via other service providing servers. It becomes possible to share information.

また、上記サービス連携関係導出手段が、上記サービス定義保持手段が保持する複数のサービス定義を抽象化したサービス定義を自動的に生成し、連携対象のサービスとなるように、サービス定義保持手段に登録するようにしてもよい。   In addition, the service linkage relationship deriving unit automatically generates a service definition that abstracts a plurality of service definitions held by the service definition holding unit, and registers the service definition in the service definition holding unit so that it becomes a service to be linked. You may make it do.

この場合、定義されたサービスに加えて、複数のサービスを連携した結果形成されるサービスをひとつのサービスとして連携対象にすることが可能になる。   In this case, in addition to the defined service, a service formed as a result of linking a plurality of services can be linked as one service.

また、上記複数のコンピュータと別に設けられたコンピュータ、または上記複数のコンピュータのうちの1つが、サービス内容を定義する際に使用される業務を記述するための標準的な名前や標準的な操作名称を提供するサービスオントロジ提供手段を備え、上記複数のコンピュータの各々において、上記サービス定義保持手段は、サービスを定義する際、上記サービスオントロジ提供手段が提供する、業務の記述に使用する標準的な名前や操作名称を検索して利用するようにしてもよい。   In addition, a standard name or a standard operation name for describing a business used when a computer provided separately from the plurality of computers or one of the plurality of computers defines service contents In each of the plurality of computers, the service definition holding unit provides a standard name used for description of business provided by the service ontology providing unit when defining a service. Or an operation name may be retrieved and used.

この場合、サービス定義の内容に関して、共通の単語を用いて記述されるため、サービスの連携関係を算出する際のサービス定義の照合が容易になるとともに、同意語辞書や概念の抽象関係に基づく辞書を持つことにより、意味のばらつきや抽象関係による違いを吸収することが可能になる。   In this case, since the contents of the service definition are described using a common word, it is easy to collate the service definition when calculating the linkage relationship of the service, and the synonym dictionary or the dictionary based on the abstract relationship of the concept It is possible to absorb differences in meaning and differences due to abstract relations.

さらに、上記複数のコンピュータとは別にエンドユーザ側に設けられたコンピュータが、エンドユーザが定義する複数のサービスで形成される一連のプロセスを定義するサービスプロセス定義手段と、上記サービスプロセス定義手段で定義されたプロセス中の各サービスを検索する検索要求を、サービス提供サーバ装置をなす上記複数のコンピュータの少なくとも1つに発行するサービス検索要求発行手段とを備え、上記複数のコンピュータの各々が、サービス検索要求発行手段から送られてくる検索要求に合致するサービスを、サービス定義保持手段が保持するサービス中から検索し、検索結果を上記エンドユーザ側に設けられたコンピュータに返し、該当するサービスが無い場合には、連携関係にある他のサービス提供サーバ装置に検索を依頼する手段を備えるようにしてもよい。   Further, a computer provided on the end user side separately from the plurality of computers is defined by a service process definition means for defining a series of processes formed by a plurality of services defined by the end user, and defined by the service process definition means. Service search request issuing means for issuing a search request for searching for each service in the processed process to at least one of the plurality of computers constituting the service providing server device, and each of the plurality of computers includes a service search When a service matching the search request sent from the request issuing means is searched from the services held by the service definition holding means, the search result is returned to the computer provided on the end user side, and there is no corresponding service. Search for other service provider servers that are linked It may be provided with means for requesting.

この場合、サービスの提供を受けようとするエンドユーザに対して、サービス提供サーバのネットワークが提供する一連のプロセスで構成されるサービスを提供することが可能になる。   In this case, it is possible to provide a service configured by a series of processes provided by the network of the service providing server to the end user who is to receive the service.

なお、この発明は装置またはシステムとして実現できるのみでなく、方法としても実現可能である。また、そのような発明の一部をソフトウェアとして構成することができることはもちろんである。またそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品もこの発明の技術的な範囲に含まれることも当然である。   The present invention can be realized not only as an apparatus or a system but also as a method. Of course, a part of the invention can be configured as software. Of course, software products used to cause a computer to execute such software are also included in the technical scope of the present invention.

この発明の上述の側面および他の側面は特許請求の範囲に記載され以下実施例を用いて詳述される。   These and other aspects of the invention are set forth in the appended claims and will be described in detail below with reference to examples.

この発明によれば、サービス間の連携を一括してつかさどるサービス連携サーバ(コーディネーションサーバ)を置くことなく、単にサービス提供サーバを対等に接続することによって、非集中型のサービス連携を可能にする。   According to the present invention, non-centralized service cooperation is enabled by simply connecting service providing servers on an equal basis without placing a service cooperation server (coordination server) that collectively manages cooperation between services.

より具体的な構成においては、ネットワーク上に提供されるサービス群との間で連携関係を設定する場合、連携対象とするサービス群の範囲を、「サービスコミュニティ」という単位を用いることによって制御することができる。このため、連携対象の規模を、完全にパブリックオープンな範囲から、信頼関係を結んでいるサービス提供者間との間に至るまでの幅広いレンジの間で特定できるとともに、サービス間の連携関係を計算する際の計算爆発(全世界中で提供されるサービス群の間に連携関係を設定する計算を行うことは難しい)を回避することができる。   In a more specific configuration, when setting a linkage relationship with a service group provided on the network, the range of the service group to be linked is controlled by using a unit called “service community”. Can do. For this reason, the scale of collaboration targets can be specified in a wide range from a completely public open range to between service providers who have a trust relationship, and the linkage relationship between services is calculated. It is possible to avoid the explosion of calculation (it is difficult to perform a calculation to set up a cooperative relationship between service groups provided all over the world).

同様に具体的な構成においては、サービス間の連携関係の計算が、複数のサービス提供サーバに分散されるため、系全体としての信頼性を高めることができる。(一種のグリッドコンピューティングを実現する。)   Similarly, in a specific configuration, since the calculation of the cooperation relationship between services is distributed to a plurality of service providing servers, the reliability of the entire system can be improved. (A kind of grid computing is realized.)

以下、本発明の実施例について図を用いて詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

[原理的な構成]
図1は、本発明によるサービス連携装置の原理的な構成を概略的に示すものであり、図1において、サービス連携装置は、ネットワーク101に接続された複数のサービス提供サーバ102、複数のエンドユーザクライアント103(図では1つしか示さないが通常複数ある)、1台のサービス記述オントロジサーバ110で構成される。サービス提供サーバ102は、サーバ提携関係保持手段103、サービス定義共有手段104、サービス定義保持手段105、サービス連携関係導出手段106等を有している。エンドユーザクライアント107は、サービスプロセス定義手段108、サービス検索手段109等を有している。サービス記述オントロジサーバ110はサービスオントロジ提供手段111等を有している。
[Principle configuration]
FIG. 1 schematically shows the basic configuration of a service cooperation apparatus according to the present invention. In FIG. 1, the service cooperation apparatus includes a plurality of service providing servers 102 connected to a network 101, and a plurality of end users. The client 103 (only one is shown in the figure, but usually there are a plurality), is composed of one service description ontology server 110. The service providing server 102 includes a server affiliation relationship holding unit 103, a service definition sharing unit 104, a service definition holding unit 105, a service cooperation relationship deriving unit 106, and the like. The end user client 107 includes a service process definition unit 108, a service search unit 109, and the like. The service description ontology server 110 has service ontology providing means 111 and the like.

各サービス提供サーバ102は、後に図2以降を用いて説明するように、具体的には、図3に示すような、サービスサーバデータ301、サービスデータ302、サービスコミュニティデータ303、サービス内容記述データ304、活動インタフェース記述データ305、プロセス記述要素データ306等を保持している。   Each service providing server 102, as will be described later with reference to FIG. 2 and later, specifically, service server data 301, service data 302, service community data 303, service content description data 304 as shown in FIG. , Activity interface description data 305, process description element data 306, and the like.

サーバ連携関係保持手段103は、サービスサーバデータ301の連携サーバ集合データを保持するものである。場合によっては、サーバ連携関係保持手段103は、このサービスコミュニティデータ303の所属サービス提供サーバ集合データの情報を保持するものでもよい。   The server cooperation relationship holding unit 103 holds the cooperation server aggregate data of the service server data 301. In some cases, the server cooperation relationship holding unit 103 may hold information on the service provision server aggregate data of the service community data 303.

サービス定義共有手段104は、連携関係にあるサービス提供サーバ102間で例えば図6に示すサービスコミュニティメッセージ602を用いてサービス定義(サービスIDのみでもよい)を共有化するものである。   The service definition sharing unit 104 shares a service definition (or only a service ID) using, for example, a service community message 602 shown in FIG.

サービス定義保持手段105は、当該サービス提供サーバ102が提供するサービスのサービス定義を保持するものであり、具体的には、図3に示すサービスデータ302、サービス内容記述データ304、活動インタフェース記述データ305、プロセス記述要素データ306等を保持するものであるが、これに限定されない。   The service definition holding unit 105 holds the service definition of the service provided by the service providing server 102. Specifically, the service definition 302, the service content description data 304, and the activity interface description data 305 shown in FIG. The process description element data 306 and the like are held, but the present invention is not limited to this.

サービス連携関係導出手段106は、サービスと他のサービスとの連携関係を計算し、所定の条件を満たすときに連携関係があると判別するものである。とくに新たなサービスが導入されたときに行われるが、異なる条件下での再計算等、既存のサービスに関しても行う場合もあり得る。   The service cooperation relationship deriving unit 106 calculates a cooperation relationship between the service and another service, and determines that there is a cooperation relationship when a predetermined condition is satisfied. This is performed especially when a new service is introduced, but it may also be performed for an existing service such as recalculation under different conditions.

サービス記述オントロジサーバ110のサービスオントロジ提供手段111は、例えば図11に示すようなサービスに関する意味の情報を提供する。   The service ontology providing means 111 of the service description ontology server 110 provides meaning information related to services as shown in FIG. 11, for example.

この構成においては、中央にサービス連携用のサーバを置くことなく、個々のサービス提供サーバ102間に設定されたピア・ツー・ピアの連携関係をたどることによって、各サービス提供サーバ102内で定義されたサービスの接続インタフェースが共有され、それらをもとに、サービス間の連携関係を導出することが可能になる。   In this configuration, it is defined in each service providing server 102 by following a peer-to-peer cooperative relationship established between the individual service providing servers 102 without placing a server for service cooperation in the center. The connection interface of each service is shared, and it is possible to derive a cooperation relationship between services based on them.

以上の構成は以下の実施例の構成によりより明瞭に理解される。   The above configuration can be understood more clearly by the configuration of the following embodiments.

[実施例の構成]
図2は、本発明によるサービス連携装置のより具体的な構成例を示す構成図である。図2の例では、サービス連携装置が、ネットワーク201に接続された複数のサービス提供サーバ202、複数のエンドユーザクライアント203、1台のサービス記述オントロジサーバ204で構成される。
[Configuration of Example]
FIG. 2 is a block diagram showing a more specific configuration example of the service cooperation apparatus according to the present invention. In the example of FIG. 2, the service cooperation apparatus includes a plurality of service providing servers 202 connected to a network 201, a plurality of end user clients 203, and one service description ontology server 204.

ここで、サービス提供サーバ202とサービス記述オントロジサーバ204には、HTTP(HyperText Transfer Protocol)サーバがインストールされており、本発明を実現する上でXMLの形式で表現されるデータをネットワーク上に公開することができる。また、本システムは、Java(商標)プラットフォーム上に実現され、エンドユーザのクライアント側203では、サービス提供サーバ202が提供するサービス検索実行のためのアプレットを実行することができ、また、サービス提供サーバ202では、サービス提供オントロジサーバ204が提供するオントロジ検索用のアプレットを実行することができる。   Here, an HTTP (HyperText Transfer Protocol) server is installed in the service providing server 202 and the service description ontology server 204, and data expressed in the XML format is disclosed on the network for realizing the present invention. be able to. The system is realized on a Java (trademark) platform, and an end user client side 203 can execute an applet for service search execution provided by the service providing server 202. In 202, an ontology search applet provided by the service providing ontology server 204 can be executed.

また、本発明の実施例における処理の中で取り扱われるデータオブジェクトのデータ構造を一例として図3に示す。これらのデータは、サービス提供サーバ202にそれぞれ保持され、すべて、サービス提供サーバ202で管理される。これらデータは具体的にはサービスサーバデータ301、サービスデータ302、サービスコミュニティデータ303、サービス内容記述データ304、活動インタフェース記述データ305、プロセス記述要素データ306である。   FIG. 3 shows an example of the data structure of the data object handled in the processing in the embodiment of the present invention. These data are respectively held in the service providing server 202 and are all managed by the service providing server 202. Specifically, these data are service server data 301, service data 302, service community data 303, service content description data 304, activity interface description data 305, and process description element data 306.

サービスサーバデータ301は、サービス集合、サービスコミュニティ集合、連携サーバ集合等を記述する。サービスデータ302は、サービス名、インタフェースアドレス、所属コミュニティ集合、サービス窓口アドレス、サービス内容等を記述する。サービスコミュニティデータ303は、コミュニティ名、所属サービス提供サーバ集合、クレデンス(認証コード)等を記述する。サービス内容記述データ304は、活動インタフェース記述、プロセス記述等を含む。活動インタフェース記述データ305は、操作対象集合、操作名、提供サービスアドレス、被提供サービスアドレス集合等を記述する。プロセス記述要素データ306は、先行活動集合、サブ活動集合等を記述する。   The service server data 301 describes a service set, a service community set, a linked server set, and the like. The service data 302 describes a service name, interface address, belonging community set, service window address, service content, and the like. The service community data 303 describes a community name, a group of service providing servers, a credential (authentication code), and the like. The service content description data 304 includes an activity interface description, a process description, and the like. The activity interface description data 305 describes an operation target set, operation name, provided service address, provided service address set, and the like. The process description element data 306 describes a preceding activity set, a sub-activity set, and the like.

[サービス提供サーバ間の提携関係設定処理]
サービス提供サーバ202間の提携は一方のサービス提供サーバ202(提携依頼元)から他方のサービス提供サーバ202(提携依頼先)へ提携要求メッセージを送出して行われる。提携依頼元の処理は図4の処理401に示されるとおりであり、提携依頼先での処理は図4の処理402に示されるとおりである。図4の記載自体は図から明らかであるのでとくに説明しない。
[Partnership setting process between service providing servers]
Alliance between the service providing servers 202 is performed by sending an association request message from one service providing server 202 (association request source) to the other service providing server 202 (association request destination). The process at the affiliation request source is as shown in process 401 in FIG. 4, and the process at the affiliation request destination is as shown in process 402 in FIG. The description itself of FIG. 4 is clear from the drawing and will not be described in particular.

サービス提供サーバ202は、ネットワークに接続されている任意の他のサービス提供サーバと202の間に提携関係を結ぶことができる。ただし、提携関係を結ぶためには、提携関係を依頼する側が、認証するためのクレデンスを事前に提携先からオフラインによって取得しておく必要がある。   The service providing server 202 can establish a partnership with any other service providing server 202 connected to the network. However, in order to establish an alliance, the side requesting the alliance needs to obtain a credential for authentication offline beforehand from the alliance partner.

連携依頼元となるサービス提供サーバ202では、連携依頼先となるサービス提供サーバ202に対して、「提携要求メッセージ601」(図6)に示すようなXMLの形式で表現されたメッセージを送信する。   The service providing server 202 serving as the cooperation request source transmits a message expressed in the XML format as shown in the “cooperation request message 601” (FIG. 6) to the service providing server 202 serving as the cooperation request destination.

一方、提携要求メッセージ601を受信した提携依頼先のサービス提供サーバ202では、当該提携要求メッセージ中601に含まれているクレデンスが、予めオフラインで通知しておいたクレデンスから算出される値と同一であるかどうか確認する。そして、もし、正しい場合は、当該連携要求元のサービス提供サーバ202との間で提携関係を結び、サービスコミュニティに関する情報を、XMLの形式をした「サービスコミュニティ共有メッセージ」602(図6)として、提携依頼元となるサービス提供サーバに通知する。なお、この「サービスコミュニティ共有メッセージ」602には、当該連携先となるサービス提供サーバが保持している全サービスコミュニティの名前と、それら個々のサービスコミュニティを構成するサービスのアドレスが含まれている。   On the other hand, in the service providing server 202 of the partner request destination that has received the partner request message 601, the credential included in the partner request message 601 is the same as the value calculated from the credential notified in advance offline. Check if it exists. If it is correct, a partnership is established with the service providing server 202 of the cooperation request source, and information on the service community is expressed as a “service community shared message” 602 (FIG. 6) in XML format. Notify the service provider server that is the partner requester. The “service community sharing message” 602 includes the names of all service communities held by the service providing server that is the cooperation destination and the addresses of the services that form the individual service communities.

提携依頼元では、提携依頼先から返信されてくるXMLの形式をした「サービスコミュニティ共有メッセージ」602中に含まれているサービスコミュニティ情報を計算機上で扱えるデータオブジェクトの形式に変換して保存する。またさらに、本来、提携依頼元のサービス提供サーバが保持していたサービスコミュニティに関する情報を、「サービスコミュニティ共有メッセージ」602の形式に変換し、提携依頼先のサービス提供サーバに送信する。この結果、提携関係を結んだ2つのサービス提供サーバ間で、サービスコミュニティに関する情報が共有される。   In the partner requester, the service community information included in the “service community sharing message” 602 in the XML format returned from the partner requester is converted into a data object format that can be handled on the computer and stored. Furthermore, the information about the service community originally held by the service providing server of the cooperation request source is converted into the format of “service community sharing message” 602 and transmitted to the service providing server of the cooperation request destination. As a result, information regarding the service community is shared between the two service providing servers that have formed a partnership.

一方、新しいサービスコミュニティは、任意のサービス提供サーバ上で、図14に示すような概観をしたサービス定義ウィンドウ1401のサービスコミュニティ一覧ビュー1402上でポップアップメニュー1403から「新規登録」を選択することにより、ユーザが独自に追加することが可能であり、このようにして追加された新しいサービスコミュニティに関する情報は、上記のようなサービス提供サーバ間の連携によって伝播してゆく。   On the other hand, a new service community can be selected by selecting “new registration” from the pop-up menu 1403 on the service community list view 1402 of the service definition window 1401 having an overview as shown in FIG. The user can add the information independently, and information on the new service community added in this way is propagated by the cooperation between the service providing servers as described above.

[サービスの追加処理]
サービスの追加が行われたときにはサービスを追加したサービス提供サーバ202において図5の処理501が行われ、提携先のサービス提供サーバ202において図5の処理502が行われる。図5の記載自体は図から明らかであるのでとくに説明しない。
[Add service]
When the service is added, the service providing server 202 to which the service has been added performs the process 501 in FIG. 5, and the partner service providing server 202 performs the process 502 in FIG. The description itself of FIG. 5 is clear from the drawing and will not be particularly described.

サービスは、各サービス提供サーバ202上で、図14に示すような概観のサービス定義ウィンドウ1401を通じて定義される。新たなサービスを定義する際、ユーザは、まず、サービスを登録させるサービスコミュニティを、サービスコミュニティ名一覧ビュー1402上で選択して指定する。そして、サービス名一覧ビュー1404上で表示可能なサービス名一覧ポップアップメニュー1405上で「新規登録」を選択する。すると、サービス登録用の新規サービス登録ウィンドウ1410がオープンする。   The service is defined on each service providing server 202 through an overview service definition window 1401 as shown in FIG. When defining a new service, the user first selects and designates a service community in which the service is registered on the service community name list view 1402. Then, “new registration” is selected on the service name list pop-up menu 1405 that can be displayed on the service name list view 1404. Then, a new service registration window 1410 for service registration opens.

新規サービス登録ウィンドウ1410上では、サービスの内容を、操作対象名(「何を」に相当)と操作名(「どうする」に相当)によって指定する。これらの名前は、サービス記述オントロジサーバ204が保持しているオントロジに基づいて指定され、それらは、操作名オントロジ1101、操作対象名オントロジ1102(それぞれ図11参照)に示すような、概念の抽象度に基づいて階層構造を構成するキーワード集合として表現されている。ユーザが、新規サービス登録ウィンドウ1410上の選択ボタン1411を選択すると、サービス記述オントロジサーバ204から操作名オントロジ1101が獲得され、選択ウィンドウ1417のオントロジビュー1418上に、操作名オントロジ1011が階層的に表示される。そして、ユーザがそれらの中から、適切な操作名を指定して「選択」ボタン1419を押すと、その操作名が指定されたことになる。「キャンセル」ボタン1920により以上の処理をキャンセルすることもできる。また、同様にして、新規サービス登録ウィンドウ1410上で、選択ボタン1412や選択ボタン1413を押すと、同様の処理が行われて、サービス記述オントロジサーバ204から操作対象名オントロジ1102が獲得され、それらの中から該当する操作対象名を選択して指定する。   On the new service registration window 1410, the contents of the service are designated by an operation target name (corresponding to “what”) and an operation name (corresponding to “what”). These names are specified on the basis of the ontology held by the service description ontology server 204, and these are abstraction levels of concepts as shown in the operation name ontology 1101 and the operation target name ontology 1102 (see FIG. 11 respectively). Is expressed as a keyword set constituting a hierarchical structure. When the user selects the selection button 1411 on the new service registration window 1410, the operation name ontology 1101 is acquired from the service description ontology server 204, and the operation name ontology 1011 is displayed hierarchically on the ontology view 1418 of the selection window 1417. Is done. When the user designates an appropriate operation name from them and presses a “select” button 1419, the operation name is designated. The above processing can be canceled by a “cancel” button 1920. Similarly, when the selection button 1412 or the selection button 1413 is pressed on the new service registration window 1410, the same processing is performed, and the operation target name ontology 1102 is acquired from the service description ontology server 204, Select and specify the operation target name from the list.

一方、上記で定義された新しいサービスを構成するサービス群は、プロセスビュー(前後関係)1406、および、プロセスビュー(サブタスク関係)1408を通じて指定される。ここで、プロセスビュー(前後関係)1406は、サービスを構成する複数のサービスに関する順序関係の指定を行うものであり、プロセスビュー(サブタスク関係)1408は、サービスを構成する複数のサービスに関するタスク・サブタスク関係の指定を行うものである。これらのサービスも、上記と同様の新規サービス登録ウィンドウ1410を、ポップアップメニュー1407やポップアップメニュー1409からオープンすることによって指定される。   On the other hand, a service group constituting the new service defined above is specified through a process view (context relation) 1406 and a process view (subtask relation) 1408. Here, the process view (context relation) 1406 is used to specify an order relation regarding a plurality of services constituting the service, and the process view (subtask relation) 1408 is a task / subtask relating to a plurality of services constituting the service. Specifies the relationship. These services are also specified by opening a new service registration window 1410 similar to the above from the pop-up menu 1407 or pop-up menu 1409.

上記のようにして定義されたサービスは、図8に示すようなXMLの形式(公開サービス情報801)に変換され、サービス提供サーバが備えているHTTPサーバによって、ネットワーク上に公開される。(他のサービス提供サーバから当該サービスに関する情報へのアクセスが可能になる。)   The service defined as described above is converted into an XML format (public service information 801) as shown in FIG. 8, and is made public on the network by the HTTP server provided in the service providing server. (Another service providing server can access information related to the service.)

一方、上記のようにして定義されたサービスが、サービスコミュニティに追加されると、当該サービス提供サーバにおいて図5の処理501が行われる。すなわち、そのサービスコミュニティに関して提携関係にあるサービス提供サーバが、サービスコミュニティ203の「所属サービス提供サーバ集合」から取り出され、それらのサービス提供サーバに対して、当該サービスが追加されたことが、サービスコミュニティ共有メッセージ602の形で送信される。   On the other hand, when the service defined as described above is added to the service community, the process 501 in FIG. 5 is performed in the service providing server. That is, the service providing server that is affiliated with the service community is extracted from the “affiliation service providing server set” of the service community 203, and the service community is added to the service providing server. It is transmitted in the form of a shared message 602.

上記の処理501によって、新たなサービスが追加されたサービス提供サーバ202から送信されたサービスコミュニティ共有メッセージ602を受信したサービス提供サーバ202では、図5の処理502に示すように、メッセージ中に含まれているサービスコミュニティに関する情報に基づいて、それぞれが保持しているサービスコミュニティデータ303を更新するとともに、以下に示す処理手順に従ってサービス間の連携関係の計算を開始する。   The service providing server 202 that has received the service community sharing message 602 transmitted from the service providing server 202 to which a new service has been added by the above process 501 includes the message as shown in process 502 in FIG. Based on the information regarding the service community, the service community data 303 held therein is updated, and the calculation of the cooperation relationship between services is started according to the following processing procedure.

[サービス間の連携関係導出処理]
サービス間の連携関係の計算は、各サービス定義に含まれるプロセス中の被提供サービスに関して、その活動記述に指定された操作対象と操作名が比較されることによって行われる。これは例えば図7に示すような処理701、702により行われる。図5の記載自体は図から明らかであるのでとくに説明しない。
[Process of deriving linkage relationship between services]
The calculation of the linkage relationship between services is performed by comparing the operation name specified in the activity description with the operation name for the provided service in the process included in each service definition. This is performed, for example, by processes 701 and 702 as shown in FIG. The description itself of FIG. 5 is clear from the drawing and will not be described in particular.

操作名と操作対象の包含関係は、サービス指定オントロジサーバが保持するオントロジに基づいて判断される。以下のような条件が満足される場合、被提供サービスAと提供サービスBとの間に連携関係が設定可能であると判定される。(なお、ここでa<bは、オントロジ中のキーワードaの抽象度が、キーワードbの抽象度よりも狭義、つまり、階層関係の下位に所属することを示す。)   The inclusion relationship between the operation name and the operation target is determined based on the ontology held by the service designation ontology server. When the following conditions are satisfied, it is determined that a cooperative relationship can be set between the provided service A and the provided service B. (Here, a <b indicates that the abstraction level of the keyword a in the ontology is narrower than the abstraction level of the keyword b, that is, belongs to the lower level of the hierarchical relationship.)

条件1) 被提供サービスAの操作名<=提供サービスBの操作名
条件2) 被提供サービスAの入力操作対象名<=提供サービスBの入力操作対象名
条件3) 被提供サービスAの入力操作対象名の集合⊆提供サービスBの入力操作対象名の集合
条件4) 被提供サービスAの出力操作対象名<=提供サービスBの出力操作対象名
条件5) 被提供サービスAの出力操作対象名の集合⊆提供サービスBの出力操作対象名の集合
Condition 1) Operation name of provided service A <= Operation name of provided service B Condition 2) Input operation object name of provided service A <= Input operation object name of provided service B Condition 3) Input operation of provided service A Set of target names 集合 Set of input operation target names of provided service B Condition 4) Output operation target name of provided service A <= Output operation target name of provided service B Condition 5) Output operation target name of provided service A Set of output operation target names of the collective provision service B

連携関係の設定が可能であると判断されると、活動インタフェース記述中305の被提供サービスアドレス集合に、当該連携可能なサービスのURLが追加・保存され、それらサービス間に連携関係が設定される。なお、サービス間の連携関係は、活動インタフェース記述データ305中の「被提供サービスアドレス集合」に追加され、保持される。
[合成サービスの導出処理]
If it is determined that the linkage relationship can be set, the URL of the service that can be linked is added to and stored in the provided service address set 305 in the activity interface description, and the linkage relationship is set between these services. . The linkage relationship between services is added to the “provided service address set” in the activity interface description data 305 and held.
[Synthesis service derivation process]

各サービス提供サーバ202では、一定時間おきに、各サービス提供サーバ202が保持しているサービスコミュニティを単位に、合成サービスの計算を行う。これは例えば図9に示すような処理901により行われる。図9の記載自体は図から明らかであるのでとくに説明しない。   Each service providing server 202 calculates a composite service for each service community held by each service providing server 202 at regular intervals. This is performed, for example, by a process 901 as shown in FIG. The description itself of FIG. 9 is clear from the drawing and will not be described in particular.

合成サービスの導出は、図12に示すようなサービス合成ルール1201に基づいて行われる。ここでは、各サービスコミュニティ内に登録されている2つのサービスの組み合わせすべてに対して、合成ルールのパターンに合致するかどうかが検査され、合致すると判断された場合には、新しいサービスが、上述した新規サービスの定義と同じ手順に従って追加される。なお、ここで導出された新しいサービスは、他のサービスと同様、連携対象のサービスとしても扱われることになる。   The synthesis service is derived based on a service synthesis rule 1201 as shown in FIG. Here, for all combinations of two services registered in each service community, whether or not they match the pattern of the synthesis rule is checked, and if it is determined that they match, the new service is described above. Added according to the same procedure as defining a new service. The new service derived here is treated as a service to be linked as well as other services.

[サービスの検索と実行の処理]
サービスの検索と実行は例えば図10に示すような処理1001により行われる。図10の記載自体は図から明らかであるのでとくに説明しない。
[Service search and execution process]
The search and execution of the service is performed by a process 1001 as shown in FIG. The description itself of FIG. 10 is clear from the drawing and will not be described in particular.

サービスの提供を受けるユーザは、図15に示すようなサービス検索・依頼用のユーザインタフェース画面を通じて、所望するサービスの検索を行う。ここでは、サービスを定義する場合と同様、操作名と操作対象を「選択」ボタン1502、1504、1505により指定し、「検索」ボタン1503を押すことによって検索を実行する。検索は、当該サービス提供サーバ中の全サービスコミュニティに登録されているサービス(サービスA)の活動インタフェースで指定された操作対象と操作名について、検索条件で指定されたサービス(サービスB)の操作対象と操作名が比較され、以下のような包含関係が成立したサービス(サービスA)が、検索結果として合致する候補サービスとして抽出される。   The user who receives the service searches for a desired service through a user interface screen for service search / request as shown in FIG. Here, as in the case of defining a service, an operation name and an operation target are designated by “select” buttons 1502, 1504, 1505, and a “search” button 1503 is pressed to execute a search. The search is performed on the operation target and the operation name specified in the activity interface of the service (service A) registered in all service communities in the service providing server, and the operation target of the service (service B) specified in the search condition. And the service name (service A) having the following inclusion relationship is extracted as a candidate service that matches the search result.

条件1) サービスAの操作名<=サービスBの操作名
条件2) サービスAの入力操作対象名<=サービスBの入力操作対象名
条件3) サービスAの入力操作対象名の集合⊆サービスBの入力操作対象名の集合
条件4) サービスAの出力操作対象名<=サービスBの出力操作対象名
条件5) サービスAの出力操作対象名の集合⊆サービスBの出力操作対象名の集合
Condition 1) Service A operation name <= Service B operation name Condition 2) Service A input operation target name <= Service B input operation target name Condition 3) Set of service A input operation target names ⊆ Service B Set of input operation target names Condition 4) Output operation target name of service A <= Output operation target name of service B Condition 5) Set of output operation target names of service A 集合 Set of output operation target names of service B

検索結果は、検索結果一覧ビュー1506に表示され、このビューで選択したサービスの内部プロセスは、プロセスビュー(前後関係)1508、およびプロセスビュー(サブタスク関係)1509を通じて表示される。   The search results are displayed in a search result list view 1506, and the internal process of the service selected in this view is displayed through a process view (context relationship) 1508 and a process view (subtask relationship) 1509.

上記の検索の結果、提供するサービスの内容が要求に合致したサービスを発見した場合、「サービス提供依頼」ボタン1507を押すことにより、サービスの提供窓口にアクセスし、サービスの実行を開始する。   As a result of the above search, when a service whose service content matches the request is found, a “service provision request” button 1507 is pressed to access the service provision window and start execution of the service.

[実施例の効果]
以上説明したように、この実施例によれば、利害関係が異なる企業間においてサービスの連携を行う際に、サービス間の連携を一括してつかさどるサービス連携サーバ(コーディネーションサーバ)を置くことなく、個々の企業が管理するサービス提供サーバを対等に接続することによって、非集中型のサービス連携を可能になる。(特定のサーバがサービスの連携関係を計算する方式ではなく、個々のサービス提供側で他のサービスとの連携関係を計算して連携を可能にする点)
[Effect of Example]
As described above, according to this embodiment, when services are linked between companies having different interests, the service linkage server (coordination server) that manages the linkages between the services at once is not placed. By connecting service providing servers managed by other companies on an equal basis, non-centralized service cooperation becomes possible. (This is not a method in which a specific server calculates the service linkage, but individual service providers calculate the linkage with other services and enable linkage)

また、ネットワーク上に提供されるサービス群との間で連携関係を設定する場合、連携対象とするサービス群の範囲を、「サービスコミュニティ」という単位を用いることによって制御することができる。このため、連携対象の規模を、完全にパブリックオープンな範囲から、信頼関係を結んでいるサービス提供者間との間に至るまでの幅広いレンジの間で特定できるとともに、サービス間の連携関係を計算する際の計算爆発(全世界中で提供されるサービス群の間に連携関係を設定する計算を行うことは難しい)を回避することができる。   Further, when a cooperative relationship is set with a service group provided on the network, the range of the service group to be linked can be controlled by using a unit called “service community”. For this reason, the scale of collaboration targets can be specified in a wide range from a completely public open range to between service providers who have a trust relationship, and the linkage relationship between services is calculated. It is possible to avoid the explosion of calculation (it is difficult to perform a calculation to set up a cooperative relationship between service groups provided all over the world).

サービス間の連携関係の計算が、複数のサービス提供サーバに分散されるため、系全体としての信頼性を高めることができる。(一種のグリッドコンピューティングを実現する。)   Since the calculation of the cooperation relationship between services is distributed to a plurality of service providing servers, the reliability of the entire system can be improved. (A kind of grid computing is realized.)

なお、この発明は上述の実施例に限定されるものではなくその趣旨を逸脱しない範囲で種々変更が可能である。例えば、   The present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the spirit of the invention. For example,

本発明の実施例の概略構成を説明する図である。It is a figure explaining the schematic structure of the Example of this invention. 上述実施例の実現例の構成を説明する図である。It is a figure explaining the structure of the implementation example of the said Example. 上述実施例で用いるデータオブジェクトのデータ構造の例を説明する図である。It is a figure explaining the example of the data structure of the data object used in the above-mentioned Example. 上述実施例のサービス提供サーバ間の提携時の処理を説明するフローチャートである。It is a flowchart explaining the process at the time of the cooperation between the service provision servers of the said Example. 上述実施例のコミュニティへのサービス登録処理を説明するフローチャートである。It is a flowchart explaining the service registration process to the community of the said Example. 上述実施例において連携に関連して交換されるメッセージの例を説明する図である。It is a figure explaining the example of the message exchanged in relation to cooperation in the above-mentioned Example. 上述実施例のサービス間連携処理を説明するフローチャートである。It is a flowchart explaining the cooperation process between services of the said Example. 上述実施例で用いる公開サービス情報の例を説明する図である。It is a figure explaining the example of the public service information used by the above-mentioned Example. 上述実施例の合成サービス導出処理を説明するフローチャートである。It is a flowchart explaining the synthetic | combination service derivation process of the said Example. 上述実施例のサービス検索・実行処理を説明するフローチャートである。It is a flowchart explaining the service search and execution process of the above-mentioned Example. 上述実施例で用いるサービス記述オントロジの例を説明する図である。It is a figure explaining the example of the service description ontology used in the above-mentioned Example. 上述実施例の合成サービス導出処理に用いるルールの例を説明する図である。It is a figure explaining the example of the rule used for the synthetic | combination service derivation process of the said Example. 上述実施例でサービス提携先指定用の用いるユーザインタフェースの例を説明する図である。It is a figure explaining the example of the user interface used for service affiliation destination designation | designated in the above-mentioned Example. 上述実施例でサービス定義・コミュニティ登録・コミュニティ生成用に用いるユーザインタフェースの例を説明する図である。It is a figure explaining the example of the user interface used for a service definition, community registration, and community generation in the above-mentioned Example. 上述実施例でサービス検索・依頼用に用いるユーザインタフェースの例を説明する図である。It is a figure explaining the example of the user interface used for a service search and request in the above-mentioned Example.

符号の説明Explanation of symbols

101 ネットワーク
102 サービス提供サーバ
103 サーバ提携関係保持手段
104 サービス定義共有手段
105 サービス定義保持手段
106 サービス連携関係導出手段
107 エンドユーザクライアント
108 サービスプロセス定義手段
109 サービス検索手段
110 サービス記述オントロジサーバ
111 サービスオントロジ提供手段
201 ネットワーク
202 サービス提供サーバ
203 エンドユーザクライアント
204 サービス記述オントロジサーバ
301 サービスサーバのデータ構造
302 サービスのデータ構造
303 サービスコミュニティのデータ構造
304 サービス内容記述のデータ構造
305 活動インタフェース記述のデータ構造
306 プロセス記述要素のデータ構造
401 サービス提供サーバ間の連携処理(連携依頼元での処理)
402 サービス提供サーバ間の連携処理(連携依頼先での処理)
501 新規サービスの追加に伴う処理(追加が発生したサービス提供サーバでの処理)
502 新規サービスの追加に伴う処理(提携関係にあるサービス提供サーバでの処理)
601 サーバ提携依頼メッセージ
602 サービスコミュニティ共有メッセージ
701 サービス間の連携関係を計算する処理(全体)
702 サービス間の連携関係を計算する処理(照合処理)
801 公開サービス情報
901 合成サービス導出処理
1001 サービス検索・実行処理
1101 操作名オントロジ
1102 操作対象名オントロジ
1201 合成サービス導出ルール
1301 サービス提携先指定ウィンドウ
1302 提携先指定欄
1303 クレデンス指定欄
1304 提携処理実行ボタン
1305 提携処理キャンセルボタン
1401 サービス定義ウィンドウ
1402 サービスコミュニティ一覧ビュー
1403 サービスコミュニティ一覧ポップアップメニュー
1404 サービス名一覧ビュー
1405 サービス名一覧ポップアップメニュー
1406 プロセスビュー(前後関係)
1407 プロセスビューポップアップメニュー(前後関係)
1408 プロセスビュー(サブタスク関係)
1409 プロセスビューポップアップメニュー(サブタスク関係)
1410 新規サービス登録ウィンドウ
1411 操作名選択ボタン
1412 入力操作対象選択ボタン
1413 出力操作対象選択ボタン
1414 サービス登録ボタン
1415 サービス登録キャンセルボタン
1416 サービスプロパティ指定ボタン
1417 オントロジ選択ウィンドウ
1418 オントロジビュー
1419 選択ボタン
1420 選択キャンセルボタン
1501 サービス検索・依頼ウィンドウ
1502 操作名選択ボタン
1503 検索実行ボタン
1504 入力操作対象選択ボタン
1505 出力操作対象選択ボタン
1506 サービスコミュニティ名一覧ビュー
1507 サービスコミュニティ名一覧ポップアップメニュー
1508 サービス名一覧ビュー
1509 サービス名一覧ポップアップメニュー
1510 プロセスビュー(前後関係)
1511 プロセスビューポップアップメニュー(前後関係)
1512 プロセスビュー(サブタスク関係)
1513 プロセスビューポップアップメニュー(サブタスク関係)
101 Network 102 Service Providing Server 103 Server Alliance Relationship Holding Unit 104 Service Definition Sharing Unit 105 Service Definition Holding Unit 106 Service Cooperation Relationship Deriving Unit 107 End User Client 108 Service Process Definition Unit 109 Service Search Unit 110 Service Description Ontology Server 111 Service Ontology Provision Means 201 Network 202 Service providing server 203 End user client 204 Service description ontology server 301 Service server data structure 302 Service data structure 303 Service community data structure 304 Service content description data structure 305 Activity interface description data structure 306 Process description Element data structure 401 Cooperation processing between service providing servers (cooperation Processing at the request source)
402 Cooperation processing between service providing servers (processing at the cooperation request destination)
501 Processing associated with the addition of a new service (processing at the service providing server where the addition has occurred)
502 Processing associated with the addition of a new service (processing at a service providing server in a partnership)
601 Server cooperation request message 602 Service community sharing message 701 Processing for calculating the cooperation relationship between services (whole)
702 Processing to calculate the cooperation relationship between services (collation processing)
801 Public service information 901 Composite service derivation process 1001 Service search / execution process 1101 Operation name ontology 1102 Operation target name ontology 1201 Composite service derivation rule 1301 Service partner designation window 1302 Partner designation field 1303 Credential designation field 1304 Alliance process execution button 1305 Alliance processing cancel button 1401 Service definition window 1402 Service community list view 1403 Service community list popup menu 1404 Service name list view 1405 Service name list popup menu 1406 Process view (context)
1407 Process view popup menu (context)
1408 Process view (subtask relationship)
1409 Process view pop-up menu (related to subtasks)
1410 New service registration window 1411 Operation name selection button 1412 Input operation target selection button 1413 Output operation target selection button 1414 Service registration button 1415 Service registration cancel button 1416 Service property designation button 1417 Ontology selection window 1418 Ontology view 1419 selection button 1420 Selection cancel button 1501 Service search / request window 1502 Operation name selection button 1503 Search execution button 1504 Input operation target selection button 1505 Output operation target selection button 1506 Service community name list view 1507 Service community name list popup menu 1508 Service name list view 1509 Service name list popup Menu 1510 Process view (front and back Engagement)
1511 Process view popup menu (context)
1512 Process view (related to subtasks)
1513 Process view popup menu (related to subtasks)

Claims (9)

それぞれサービス提供サーバ装置として機能する複数のコンピュータをネットワークを介して接続し上記複数のコンピュータが提供するサービスを連携させるサービス連携装置において、
上記複数のコンピュータの各々が、
当該コンピュータが提供する各サービスのサービス内容を記述したサービス定義を保持するサービス定義保持手段と、
上記サービス定義保持手段が保持するサービス定義に基づいてサービス間の連携関係を計算するサービス連携関係導出手段と、
他のサービス提供サーバ装置との連携関係の情報を保持する、サービス提供サーバ装置間提携関係保持手段と、
上記サービス提供サーバ装置間提携関係保持手段が保持する連携関係の情報に基づいて当該コンピュータと連携関係にある他のサービス提供サーバ装置との間でサービス定義を共有化するサービス定義共有手段と、
連携対象とするサービス定義の集合を特定するサービスコミュニティ識別子を1個以上保持するサービスコミュニティ保持手段とを有し、
さらに、上記サービス定義共有手段は、連携関係にある他のサービス提供サーバ装置のサービスコミュニティ保持手段が保持するサービスコミュニティに関する情報を共有し、上記サービス定義保持手段は、上記サービスコミュニティ保持手段が保持するサービスコミュニティに関連付けられたサービスのサービス内容を記述したサービス定義を保持し、
さらに、新たなサービスについて、当該サービスのサービス内容を記述したサービス定義をサービスコミュニティと関連付けて上記サービス定義保持手段に登録するサービス追加手段を有し、
上記サービス定義共有手段は、上記新たなサービスのサービス内容を記述したサービス定義に関連付けられるサービスコミュニティに属する他のサービス提供サーバ装置にサービスが追加されたことを示すメッセージを送信して、当該新たなサービスのサービス定義を当該サービスコミュニティに属する他のサービス提供サーバ装置においてそのサービス定義保持手段に登録させて当該新たなサービスのサービス定義を共有化し、
さらに、上記サービス連携導出手段が当該新たなサービスと他のサービスとの間の連携関係を導出し、
さらに、他のサービス提供サーバ装置から、サービスが追加されたことを示すメッセージを受け取ったときに、当該新たなサービスのサービス定義を上記サービス定義保持手段に登録し、当該新たなサービスと他のサービスとの間の連携関係を導出することを特徴とするサービス連携装置。
In a service cooperation apparatus that connects a plurality of computers each functioning as a service providing server apparatus via a network and links services provided by the plurality of computers,
Each of the plurality of computers is
Service definition holding means for holding a service definition describing the service contents of each service provided by the computer;
Service linkage deriving means for calculating a linkage relation between services based on the service definition held by the service definition holding means;
A partnership relationship holding means between service providing server devices, which holds information on linkage relationships with other service providing server devices,
Service definition sharing means for sharing a service definition with other service providing server apparatuses that are in a cooperative relationship with the computer based on the information on the cooperative relation held by the partnership relation holding means between the service providing server apparatuses ;
Service community holding means for holding one or more service community identifiers for specifying a set of service definitions to be linked,
Further, the service definition sharing means shares information related to the service community held by the service community holding means of another service providing server apparatus in a cooperative relationship, and the service definition holding means is held by the service community holding means. Maintain a service definition that describes the service content of the service associated with the service community,
In addition, for a new service, service addition means for registering the service definition describing the service content of the service in the service definition holding means in association with the service community,
The service definition sharing means transmits a message indicating that a service has been added to another service providing server device belonging to the service community associated with the service definition describing the service content of the new service, and Share the service definition of the new service by registering the service definition of the service in the service definition holding means in another service providing server device belonging to the service community,
Furthermore, the service cooperation deriving means derives a cooperation relationship between the new service and another service,
Furthermore, when a message indicating that a service has been added is received from another service providing server device, the service definition of the new service is registered in the service definition holding means, and the new service and the other service are registered. A service cooperation apparatus characterized by deriving a cooperation relationship with the service.
上記サービスコミュニティ保持手段は、各サービスコミュニティに対してサービスを提供しているサービス提供サーバ装置の情報を保持しており、上記サービス提供サーバ装置間連携関係保持手段は、上記サービス定義共有手段によって共有されたサービスコミュニティの情報に基づいて、当該サービスコミュニティに対してサービスを提供している複数のサービス提供サーバ装置の間の連携関係を設定・保持する請求項記載のサービス連携装置。 The service community holding means holds information of service providing server devices that provide services to each service community, and the service providing server device cooperation holding means is shared by the service definition sharing means. It is based on the information of the service community, the service linkage apparatus of claim 1, wherein the setting and holding the linkage relationship between the plurality of service providing server that provides a service to the service community. 上記サービス連携関係導出手段は、上記サービス定義保持手段が保持する複数のサービス定義を抽象化したサービス定義を自動的に生成し、連携対象のサービスとなるように、サービス定義保持手段に登録する請求項1または2記載のサービス連携装置。 The service cooperation relationship deriving unit automatically generates a service definition that abstracts a plurality of service definitions held by the service definition holding unit, and registers the service definition in the service definition holding unit so as to become a service to be linked. Item 3. The service cooperation apparatus according to Item 1 or 2 . 上記複数のコンピュータと別に設けられたコンピュータ、または上記複数のコンピュータのうちの1つが、サービス内容を定義する際に使用される業務を記述するための標準的な名前や標準的な操作名称を提供するサービスオントロジ提供手段を備え、上記複数のコンピュータの各々において、上記サービス定義保持手段は、サービスを定義する際、上記サービスオントロジ提供手段が提供する、業務の記述に使用する標準的な名前や操作名称を検索して利用する請求項1、2または3記載のサービス連携装置。 Provide a standard name or standard operation name for describing the business used when defining the service contents by a computer provided separately from the plurality of computers or by one of the plurality of computers. In each of the plurality of computers, the service definition holding means provides a standard name and operation used to describe a business provided by the service ontology providing means when defining a service. The service cooperation apparatus according to claim 1, 2 or 3 , wherein the name is searched and used. 上記複数のコンピュータとは別にエンドユーザ側に設けられたコンピュータが、
エンドユーザが定義する複数のサービスで形成される一連のプロセスを定義するサービスプロセス定義手段と、
上記サービスプロセス定義手段で定義されたプロセス中の各サービスを検索する検索要求を、サービス提供サーバ装置をなす上記複数のコンピュータの少なくとも1つに発行するサービス検索要求発行手段とを備え、
上記複数のコンピュータの各々は、
サービス検索要求発行手段から送られてくる検索要求に合致するサービスを、サービス定義保持手段が保持するサービス中から検索し、検索結果を上記エンドユーザ側に設けられたコンピュータに返し、該当するサービスが無い場合には、連携関係にある他のサービス提供サーバ装置に検索を依頼する手段を備える請求項1、2、3または4記載のサービス連携装置。
A computer provided on the end user side separately from the plurality of computers,
A service process definition means for defining a series of processes formed by a plurality of services defined by an end user;
Service search request issuing means for issuing a search request for searching for each service in the process defined by the service process definition means to at least one of the plurality of computers constituting the service providing server device;
Each of the plurality of computers is
A service that matches the search request sent from the service search request issuing means is searched from the services held by the service definition holding means, and the search result is returned to the computer provided on the end user side. If not, according to claim 1 comprising means for requesting a search to other service providing server device in a cooperative relationship, service cooperation apparatus 3 or 4.
それぞれサービス提供サーバ装置として機能する複数のコンピュータをネットワークを介して接続し上記複数のコンピュータが提供するサービスを連携させるサービス連携装置において、
上記複数のコンピュータの各々が、
当該コンピュータが提供する各サービスのサービス内容を記述したサービス定義を保持するサービス定義保持手段と、
他のサービス提供サーバ装置からの提携要求に基づいて当該サービス提供サーバ装置および上記他のサービス提供サーバ装置の間で相互に提携関係を生成する提携関係生成手段と、
他のサービス提供サーバ装置との連携関係の情報を保持する、サービス提供サーバ装置間提携関係保持手段と、
上記サービス定義保持手段が保持するサービス定義に基づいてサービス間の連携関係を計算するサービス連携関係導出手段と、
上記サービス提供サーバ装置間提携関係保持手段が保持する連携関係の情報に基づいて当該コンピュータと連携関係にある他のサービス提供サーバ装置との間でサービスの情報を共有化するサービス情報共有手段と、
連携対象とするサービス定義の集合を特定するサービスコミュニティ識別子を1個以上保持するサービスコミュニティ保持手段とを有し、
さらに、上記サービス定義共有手段は、連携関係にある他のサービス提供サーバ装置のサービスコミュニティ保持手段が保持するサービスコミュニティに関する情報を共有し、上記サービス定義保持手段は、上記サービスコミュニティ保持手段が保持するサービスコミュニティに関連付けられたサービスのサービス内容を記述したサービス定義を保持し、
さらに、新たなサービスについて、当該サービスのサービス内容を記述したサービス定義をサービスコミュニティと関連付けて上記サービス提示保持手段に登録するサービス追加手段を有し、
上記サービス定義共有手段は、上記新たなサービスのサービス内容を記述したサービス定義に関連付けられるサービスコミュニティに属する他のサービス提供サーバ装置にサービスが追加されたことを示すメッセージを送信して、当該新たなサービスのサービス定義を当該サービスコミュニティに属する他のサービス提供サーバ装置においてそのサービス定義保持手段に登録させて当該新たなサービスのサービス定義を共有化し、
さらに、上記サービス連携導出手段が当該新たなサービスと他のサービスとの間の連携関係を導出し、
さらに、他のサービス提供サーバ装置から、サービスが追加されたことを示すメッセージを受け取ったときに、当該新たなサービスのサービス定義を上記サービス定義保持手段に登録し、当該新たなサービスと他のサービスとの間の連携関係を導出することを特徴とするサービス連携装置。
In a service cooperation apparatus that connects a plurality of computers each functioning as a service providing server apparatus via a network and links services provided by the plurality of computers,
Each of the plurality of computers is
Service definition holding means for holding a service definition describing the service contents of each service provided by the computer;
A partnership generation unit for generating a partnership between the service providing server device and the other service providing server device based on a partnership request from another service providing server device;
A partnership relationship holding means between service providing server devices, which holds information on linkage relationships with other service providing server devices,
Service linkage deriving means for calculating a linkage relation between services based on the service definition held by the service definition holding means;
Service information sharing means for sharing service information with other service providing server apparatuses that are in a cooperative relationship with the computer based on the information on the cooperative relation held by the partnership relation holding means between the service providing server apparatuses,
Service community holding means for holding one or more service community identifiers for specifying a set of service definitions to be linked,
Further, the service definition sharing means shares information related to the service community held by the service community holding means of another service providing server apparatus in a cooperative relationship, and the service definition holding means is held by the service community holding means. Maintain a service definition that describes the service content of the service associated with the service community,
In addition, for a new service, service addition means for registering the service definition describing the service content of the service in the service presentation holding means in association with the service community,
The service definition sharing means transmits a message indicating that a service has been added to another service providing server device belonging to the service community associated with the service definition describing the service content of the new service, and Share the service definition of the new service by registering the service definition of the service in the service definition holding means in another service providing server device belonging to the service community,
Furthermore, the service cooperation deriving means derives a cooperation relationship between the new service and another service,
Furthermore, when a message indicating that a service has been added is received from another service providing server device, the service definition of the new service is registered in the service definition holding means, and the new service and the other service are registered. A service cooperation apparatus characterized by deriving a cooperation relationship with the service.
サービスを提供するサービス提供サーバ装置であって他のサービス提供サーバ装置とともにネットワークに接続され当該サービス提供サーバ装置が提供するサービスと上記他のサービス提供サーバ装置が提供するサービスとを連携させるサービス提供サーバ装置において、
当該コンピュータが提供する各サービスのサービス内容を記述したサービス定義を保持するサービス定義保持手段と、
上記サービス定義保持手段が保持するサービス定義に基づいてサービス間の連携関係を計算するサービス連携関係導出手段と、
他のサービス提供サーバ装置との連携関係の情報を保持する、サービス提供サーバ装置間提携関係保持手段と、
上記サービス提供サーバ装置間提携関係保持手段が保持する連携関係の情報に基づいて当該コンピュータと連携関係にある他のサービス提供サーバ装置との間でサービス定義を共有化するサービス定義共有手段と、
連携対象とするサービス定義の集合を特定するサービスコミュニティ識別子を1個以上保持するサービスコミュニティ保持手段とを有し、
上記サービス定義共有手段は、上記新たなサービスのサービス内容を記述したサービス定義に関連付けられるサービスコミュニティに属する他のサービス提供サーバ装置にサービスが追加されたことを示すメッセージを送信して、当該新たなサービスのサービス定義を当該サービスコミュニティに属する他のサービス提供サーバ装置においてそのサービス定義保持手段に登録させて当該新たなサービスのサービス定義を共有化し、
さらに、新たなサービスについて、当該サービスのサービス内容を記述したサービス定義をサービスコミュニティと関連付けて上記サービス提示保持手段に登録するサービス追加手段を有し、
上記サービス定義共有手段は、上記新たなサービスのサービス内容を記述したサービス定義に関連付けられるサービスコミュニティに属する他のサービス提供サーバ装置にサービスが追加されたことを示すメッセージを送信して、当該新たなサービスのサービス定義を当該サービスコミュニティに属する他のサービス提供サーバ装置においてそのサービス定義保持手段に登録させて当該新たなサービスのサービス定義を共有化し、
さらに、上記サービス連携導出手段が当該新たなサービスと他のサービスとの間の連携関係を導出し、
さらに、他のサービス提供サーバ装置から、サービスが追加されたことを示すメッセージを受け取ったときに、当該新たなサービスのサービス定義を上記サービス定義保持手段に登録し、当該新たなサービスと他のサービスとの間の連携関係を導出することを特徴とするサービス提供サーバ装置。
A service providing server device that provides a service and is connected to a network together with another service providing server device to link a service provided by the service providing server device with a service provided by the other service providing server device In the device
Service definition holding means for holding a service definition describing the service contents of each service provided by the computer;
Service linkage deriving means for calculating a linkage relation between services based on the service definition held by the service definition holding means;
A partnership relationship holding means between service providing server devices, which holds information on linkage relationships with other service providing server devices,
Service definition sharing means for sharing a service definition with other service providing server apparatuses that are in a cooperative relationship with the computer based on the information on the cooperative relation held by the partnership relation holding means between the service providing server apparatuses ;
Service community holding means for holding one or more service community identifiers for specifying a set of service definitions to be linked,
The service definition sharing means transmits a message indicating that a service has been added to another service providing server device belonging to the service community associated with the service definition describing the service content of the new service, and Share the service definition of the new service by registering the service definition of the service in the service definition holding means in another service providing server device belonging to the service community,
In addition, for a new service, service addition means for registering the service definition describing the service content of the service in the service presentation holding means in association with the service community,
The service definition sharing means transmits a message indicating that a service has been added to another service providing server device belonging to the service community associated with the service definition describing the service content of the new service, and Share the service definition of the new service by registering the service definition of the service in the service definition holding means in another service providing server device belonging to the service community,
Furthermore, the service cooperation deriving means derives a cooperation relationship between the new service and another service,
Furthermore, when a message indicating that a service has been added is received from another service providing server device, the service definition of the new service is registered in the service definition holding means, and the new service and the other service are registered. A service providing server device for deriving a cooperative relationship between the service providing server and the service providing server device.
それぞれサービス提供サーバ装置として機能する複数のコンピュータをネットワークを介して接続し上記複数のコンピュータが提供するサービスを連携させるサービス連携方法であって、
上記複数のコンピュータの各々において、
当該コンピュータが提供する各サービスのサービス内容を記述したサービス定義をサービス定義保持手段に保持するサービス定義保持ステップと、
上記サービス定義保持ステップにより保持するサービス定義に基づいてサービス間の連携関係を計算するサービス連携関係導出ステップと、
他のサービス提供サーバ装置との連携関係の情報をサービス提供サーバ装置間提携関係保持手段に保持する、サービス提供サーバ装置間提携関係保持ステップと、
上記サービス提供サーバ装置間提携関係保持ステップにより保持する連携関係の情報に基づいて当該コンピュータと連携関係にある他のサービス提供サーバ装置との間でサービス定義を共有化するサービス定義共有ステップと、
連携対象とするサービス定義の集合を特定するサービスコミュニティ識別子を1個以上保持するサービスコミュニティ保持ステップとを有し、
さらに、上記サービス定義共有ステップは、連携関係にある他のサービス提供サーバ装置のサービスコミュニティ保持ステップにおいて保持するサービスコミュニティに関する情報を共有し、上記サービス定義保持ステップは、上記サービスコミュニティ保持ステップにおいてが保持するサービスコミュニティに関連付けられたサービスのサービス内容を記述したサービス定義を保持し、
さらに、新たなサービスについて、当該サービスのサービス内容を記述したサービス定義をサービスコミュニティと関連付けて上記サービス提示保持手段に登録するサービス追加ステップを有し、
上記サービス定義共有ステップにおいて、上記新たなサービスのサービス内容を記述したサービス定義に関連付けられるサービスコミュニティに属する他のサービス提供サーバ装置にサービスが追加されたことを示すメッセージを送信して、当該新たなサービスのサービス定義を当該サービスコミュニティに属する他のサービス提供サーバ装置においてそのサービス定義保持手段に登録させて当該新たなサービスのサービス定義を共有化し、
さらに、上記サービス連携導出手段が当該新たなサービスと他のサービスとの間の連携関係を導出し、
さらに、他のサービス提供サーバ装置から、サービスが追加されたことを示すメッセージを受け取ったときに、当該新たなサービスのサービス定義を上記サービス定義保持手段に登録し、当該新たなサービスと他のサービスとの間の連携関係を導出することを特徴とするサービス連携方法。
A service cooperation method in which a plurality of computers each functioning as a service providing server device are connected via a network to link services provided by the plurality of computers,
In each of the plurality of computers,
A service definition holding step for holding in the service definition holding means a service definition describing the service content of each service provided by the computer;
A service linkage derivation step for calculating a linkage between services based on the service definition held by the service definition holding step;
A partnership relationship holding step between service providing server devices, which holds information on the linkage relationship with other service providing server devices in the partnership holding device between service providing server devices,
A service definition sharing step for sharing a service definition with other service providing server devices in a cooperative relationship with the computer based on the information on the cooperative relationship held by the cooperative relationship holding step between the service providing server devices ;
A service community holding step for holding one or more service community identifiers for identifying a set of service definitions to be linked,
Further, the service definition sharing step shares information about the service community held in the service community holding step of the other service providing server devices that are in a cooperative relationship, and the service definition holding step is held in the service community holding step. Maintains a service definition that describes the service content of the service associated with the service community
In addition, for a new service, it has a service addition step of registering the service definition describing the service content of the service in the service presentation holding means in association with the service community,
In the service definition sharing step, a message indicating that a service has been added to another service providing server apparatus belonging to the service community associated with the service definition describing the service content of the new service is transmitted, and the new service Share the service definition of the new service by registering the service definition of the service in the service definition holding means in another service providing server device belonging to the service community,
Furthermore, the service cooperation deriving means derives a cooperation relationship between the new service and another service,
Furthermore, when a message indicating that a service has been added is received from another service providing server device, the service definition of the new service is registered in the service definition holding means, and the new service and the other service are registered. A service linkage method characterized by deriving a linkage relationship with the service.
それぞれサービス提供サーバ装置として機能する複数のコンピュータをネットワークを介して接続し上記複数のコンピュータが提供するサービスを連携させるために用いられるコンピュータプログラムであって、
当該コンピュータが提供する各サービスのサービス内容を記述したサービス定義を保持するサービス定義保持ステップと、
上記サービス定義保持ステップにより保持するサービス定義に基づいてサービス間の連携関係を計算するサービス連携関係導出ステップと、
他のサービス提供サーバ装置との連携関係の情報をサービス提供サーバ装置間提携関係保持手段に保持する、サービス提供サーバ装置間提携関係保持ステップと、
上記サービス提供サーバ装置間提携関係保持ステップにより保持する連携関係の情報に基づいて当該コンピュータと連携関係にある他のサービス提供サーバ装置との間でサービス定義を共有化するサービス定義共有ステップと、
連携対象とするサービス定義の集合を特定するサービスコミュニティ識別子を1個以上保持するサービスコミュニティ保持ステップとをコンピュータに実行させ
さらに、新たなサービスについて、当該サービスのサービス内容を記述したサービス定義をサービスコミュニティと関連付けて上記サービス提示保持手段に登録するサービス追加ステップを有し、
上記サービス定義共有ステップにおいて、上記新たなサービスのサービス内容を記述したサービス定義に関連付けられるサービスコミュニティに属する他のサービス提供サーバ装置にサービスが追加されたことを示すメッセージを送信して、当該新たなサービスのサービス定義を当該サービスコミュニティに属する他のサービス提供サーバ装置においてそのサービス定義保持手段に登録させて当該新たなサービスのサービス定義を共有化し、
さらに、上記サービス連携導出手段が当該新たなサービスと他のサービスとの間の連携関係を導出し、
さらに、他のサービス提供サーバ装置から、サービスが追加されたことを示すメッセージを受け取ったときに、当該新たなサービスのサービス定義を上記サービス定義保持手段に登録し、当該新たなサービスと他のサービスとの間の連携関係を導出することを特徴とするサービス連携用コンピュータプログラム。
A computer program used for connecting a plurality of computers each functioning as a service providing server device via a network and linking services provided by the plurality of computers,
A service definition holding step for holding a service definition describing the service content of each service provided by the computer;
A service linkage derivation step for calculating a linkage between services based on the service definition held by the service definition holding step;
A partnership relationship holding step between service providing server devices, which holds information on the linkage relationship with other service providing server devices in the partnership holding device between service providing server devices,
A service definition sharing step for sharing a service definition with other service providing server devices in a cooperative relationship with the computer based on the information on the cooperative relationship held by the cooperative relationship holding step between the service providing server devices ;
Causing the computer to execute a service community holding step of holding one or more service community identifiers that specify a set of service definitions to be linked ,
In addition, for a new service, it has a service addition step of registering the service definition describing the service content of the service in the service presentation holding means in association with the service community,
In the service definition sharing step, a message indicating that a service has been added to another service providing server apparatus belonging to the service community associated with the service definition describing the service content of the new service is transmitted, and the new service Share the service definition of the new service by registering the service definition of the service in the service definition holding means in another service providing server device belonging to the service community,
Furthermore, the service cooperation deriving means derives a cooperation relationship between the new service and another service,
Furthermore, when a message indicating that a service has been added is received from another service providing server device, the service definition of the new service is registered in the service definition holding means, and the new service and the other service are registered. A computer program for service cooperation characterized by deriving a cooperation relation with the service.
JP2003278059A 2003-07-23 2003-07-23 Service cooperation apparatus and method Expired - Fee Related JP4352801B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003278059A JP4352801B2 (en) 2003-07-23 2003-07-23 Service cooperation apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003278059A JP4352801B2 (en) 2003-07-23 2003-07-23 Service cooperation apparatus and method

Publications (2)

Publication Number Publication Date
JP2005044158A JP2005044158A (en) 2005-02-17
JP4352801B2 true JP4352801B2 (en) 2009-10-28

Family

ID=34264583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003278059A Expired - Fee Related JP4352801B2 (en) 2003-07-23 2003-07-23 Service cooperation apparatus and method

Country Status (1)

Country Link
JP (1) JP4352801B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4588731B2 (en) * 2007-02-27 2010-12-01 日本電信電話株式会社 Service connection information generation system, method, and program
US20080270589A1 (en) * 2007-03-29 2008-10-30 Begrid, Inc. Multi-Source, Multi-Use Web Processing Through Dynamic Proxy Based Grid Computing Mechanisms
JP4992854B2 (en) * 2008-08-06 2012-08-08 日本電気株式会社 Community management system and community management method
EP2182440A1 (en) * 2008-10-31 2010-05-05 NTT DoCoMo, Inc. Method and apparatus for service discovery
JP2011059929A (en) * 2009-09-09 2011-03-24 Fuji Xerox Co Ltd Information processor and information processing program
JP5673689B2 (en) * 2010-11-30 2015-02-18 富士通株式会社 Analysis support apparatus, analysis support method, and analysis support program

Also Published As

Publication number Publication date
JP2005044158A (en) 2005-02-17

Similar Documents

Publication Publication Date Title
CN105577780B (en) A kind of college teaching cloud platform based on micro services
Skopik et al. Modeling and mining of dynamic trust in complex service-oriented systems
CN102047242B (en) Content management
US7304982B2 (en) Method and system for message routing based on privacy policies
JP7079397B2 (en) Systems and methods for initiating processing actions using auto-generated data from group-based communication systems
JP5660050B2 (en) User information utilization system, apparatus, method and program
US20210149688A1 (en) Systems and methods for implementing external application functionality into a workflow facilitated by a group-based communication system
CN102255969B (en) Representational-state-transfer-based web service security model
Wild et al. Decentralized cross-organizational application deployment automation: an approach for generating deployment choreographies based on declarative deployment models
JP4352801B2 (en) Service cooperation apparatus and method
Skopik et al. Trust-based adaptation in complex service-oriented systems
Woerner et al. A security architecture integrated co-operative engineering platform for organised model exchange in a Digital Factory environment
JP3931941B2 (en) Work process management apparatus and work process management method
JP4393580B1 (en) Service system
Naseer et al. Resource discovery in Grids and other distributed environments: States of the art
EP3759602A1 (en) Semantic meta federation broker for cloud environments
Sakthivel et al. RESTful web services composition & performance evaluation with different databases
US20210234847A1 (en) Secure peer-to-peer connection network and associated protocols for a group-based communication system
JP4352211B2 (en) Network device and authentication server
Cubo et al. Context-aware service discovery and adaptation based on semantic matchmaking
Hussein et al. A framework and an architecture for context-aware group recommendations
JP2010250797A (en) Management server device
Vadivelou et al. Solution to dynamic web service composition related to QoS
Lewis et al. An active, ontology-driven network service for internet collaboration
Yu Intercloud system and data communications protocol

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060622

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090324

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090521

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: 20090707

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: 20090720

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130807

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees