JP4897872B2 - サービス・レジストリ、ならびに関連したシステムおよび方法 - Google Patents

サービス・レジストリ、ならびに関連したシステムおよび方法 Download PDF

Info

Publication number
JP4897872B2
JP4897872B2 JP2009502065A JP2009502065A JP4897872B2 JP 4897872 B2 JP4897872 B2 JP 4897872B2 JP 2009502065 A JP2009502065 A JP 2009502065A JP 2009502065 A JP2009502065 A JP 2009502065A JP 4897872 B2 JP4897872 B2 JP 4897872B2
Authority
JP
Japan
Prior art keywords
service
registry
local
remote
information manager
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.)
Active
Application number
JP2009502065A
Other languages
English (en)
Other versions
JP2009531760A (ja
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2009531760A publication Critical patent/JP2009531760A/ja
Application granted granted Critical
Publication of JP4897872B2 publication Critical patent/JP4897872B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/46Indexing scheme relating to G06F9/46
    • G06F2209/462Lookup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5015Service provider selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Multi Processors (AREA)
  • Exchange Systems With Centralized Control (AREA)

Description

本発明は、サービス指向アーキテクチャに関する。特に本発明は、SOA(service−oriented architecture)におけるサービス・レジストリの改善と、関連するサービス伝搬、照会、サービス呼び出し中のサービスの選択およびルーティングの方法の改善に関する。
SOAは、「サービス指向アーキテクチャ」の略称であり、独立し相互に協調するサブシステムまたはサービスのセットからアプリケーションを構成可能であることを表す。このようなアーキテクチャは、あらゆるサービスを独立させ、宣言される必要のあるインターフェースのみを他のサービスに通知する。SOAは、システム構築者が設計済み製品における依存関係を整理し、弱めることができるようにするだけではなく、開発環境内に整ったサービス・スイートも提供する。この方法を使用すると、例えば企業アプリケーションの集合体などの既存の要件をサポートすること、および、例えば電子商取引関連ソリューションの迅速なカスタマイズなど特有の商業上のニーズを満たすようにプラットフォームを拡大するための基盤を提供することができる。
SOAの基本的な配信形態として、ウェブ・サービスが日々広く使用されている。いわゆるウェブ・サービスは、企業により、その特有の商業上のニーズを満たすために公開されるオンライン・アプリケーション・サービスであり、これらのオンライン・サービスは、他の会社、および協力パートナーのアプリケーションが、ネットワーク(インターネット、企業内ネットワーク、および企業外ネットワークなどを含む)を介してアクセスおよび利用できる。ウェブ・サービスは、企業におけるフロー統合の効果的なメカニズムとして商業的に利用されており、NasdaqおよびAustralia Stock Exchange Systemなどがウェブ・サービスを使用する周知の例である。実際ウェブ・サービスは、単純な要求から複雑な商取引まで、あらゆる機能を実行できる。
どのSOAまたはウェブ・サービスも、サービス要求元(またはサービス・コンシューマと呼ばれる)、サービス・プロバイダ、およびサービス・レジストリという3つの役割を備えている。図1に示されているアーキテクチャ100は、サービス要求元110、サービス・プロバイダ120、およびサービス・レジストリ130を含む。
これらの中で、サービス・プロバイダ120は、有用なサービスを構築してそれに関するサービス・メタデータを確立し、次に、サービス要求元が1つ以上のサービス・レジストリ130のサービス・メタデータを照会するよう、メタデータを1つ以上のサービス・レジストリ130に公開する役割を持っている。メタデータは、サービスの機能的記述、非機能的記述、ポリシー、および関連データなどを含むと思われる。
サービス・レジストリ130は、SOAに関与するサービスのメタデータ・リポジトリであり、サービス・プロバイダ120がそこに公開するサービス・メタデータを保持および公表する役割を持っており、ローカル・サービス・レジストリ130の所有するサービス記述の照会をサービス要求元110が実行できるようにする。先行技術のSOAでは、サービス・レジストリ130が、サービス要求元とサービス・プロバイダとの間の対話プロセスに関与する必要はない。
さらに、サービス要求元110とサービス・プロバイダ120との間に、ゲートウェイ、企業サービス・バス(EBS:enterprise service bus)など(図示せず)の何らかの中継器(intermediator)がさらに提供されることもある。これら中継器は、サービス要求元110とサービス・プロバイダ120との間の簡素な要求‐応答配信機能を有する。
図1はさらに、SOAでは、サービス要求元110、サービス・プロバイダ120およびサービス・レジストリ130の間に、公開、検索(find)およびバインド(bind)という3つの動作が含まれることを示しており、これらの動作が、SOAのそれぞれの役割間の規約を定義する。
今まで、上述のSOAまたはウェブ・サービス・システムでは、サービス・レジストリは、統一的記述、発見および統合(UDDI:Universal Description Discovery & Integration)標準しか用いることができなかった。サービス・レジストリの販売業者(IBM、Microsoft、SUN、BEA、Systinetなど)はどれも、その製品においてUDDI3.0をサポートしている。UDDIはOASISによって定義された標準であり、その焦点は、
1)ビジネス、組織およびその他ウェブ・サービス・プロバイダ、
2)利用可能なウェブ・サービス、および
3)ウェブ・サービスへのアクセスに使用できる技術的インターフェース
の記述および発見をサポートするサービス・セットを定義することである。
UDDIは、業界標準の共通のセットに基づき、ウェブ・サービスを基盤としたコンピュータ環境の基礎的なインフラストラクチャを提供する。しかし、UDDI標準を使用することで、サービスの制御および共有の点で、SOAまたはウェブ・サービスに技術的な制限がもたらされる。一方、サービス・メタデータの制御および管理について、UDDI標準の使用には次の欠点がある。
1)照会用の拡張可能なデータ・モデルおよび方法の欠如―――固定された形式のサービス・メタデータは、さらなる機能またはサービス固有の特性を加える必要性に応じることができなかった
2)サービス・ライフサイクル管理の欠如
3)サービス呼び出し中の実行時制御の欠如―――これは、既存のSOAの三角形のアーキテクチャにおいて、サービス・レジストリはサービスの静的構成プロセスでのみその役割を果たすが、サービス実行時間中のサービス要求元とサービス・プロバイダとの間(ゲートウェイまたはEBSなどを含む)の動的対話プロセスには関与しないことが原因である
4)機能拡張用メカニズムの欠如
他方では、現在のウェブ・サービスの広範な使用に伴い、種々の標準(例えばWSRP、uPnPなど)に準拠し洗練さを増すサービスが出現すると共に、サービスの数が増えている。したがって、同じくサービス・レジストリの数も急速に増加する。この状況では、関連したUDDIレジストリ間での情報共有が、ウェブ・サービス技術の発展を促進するための緊急の要件となる。
UDDI規格の第3版の規定によれば、UDDIレジストリ間での情報共有は、サービス・メタデータを複製すること、すなわち、インポート側がソース・レジストリからUDDIエンティティの全メタデータを得て、前記メタデータを目標レジストリ内に複製することによって実施される。ここでのインポート側とは、問い合わせAPIまたはサブスクリプションAPIを介して1つ以上のソース・レジストリからデータを読み出し、それを目標レジストリに公開するパブリッシャである。UDDIにおいての情報共有に関する詳細情報については、UDDI Version 3.0.2,UDDI Spec Technical Committee Draft,Dated 20041019」を参照されたい。UDDIレジストリ間でのサービス共有を複製によって実施するメカニズムには、次の欠点がある。
1)UDDIレジストリのトポロジがインターネット・ドメインのものとは異なるため、すべてのインターネット自律システムにおいてサービス情報を操作することが難しい。
2)レジストリおよびUDDIエンティティの数が多くなるにつれ、1つのレジストリ内にすべてのエンティティの全メタデータを複製する記憶スペースが十分でなくなる。
3)エンティティの複製によって情報共有が実施された場合、異なるレジストリに登録されている同一エンティティの複製を同期させるメカニズムを欠く。
4)共有されるUDDIエンティティすべてを1つのUDDIレジストリに複製することはできないため、UDDIクライアントは、目標のUDDIエンティティを探索するためにいくつかのUDDIレジストリに照会しなければならない。
5)レジストリの数が増え、UDDIレジストリの一元化された位置情報がないため、クライアントがアクセス可能なレジストリすべてを検索してすべてを回るのは難しい(特に、計算能力および通信帯域幅が限られているクライアントに関して)。
上記の問題を考慮して、サービスの管理および共有に関する柔軟性および運用性が高まるよう、SOAまたはウェブ・サービスのサービス・レジストリを改善する必要がある。
したがって、本発明は、新たなサービス・レジストリ、サービス・レジストリを中心とするシステム・アーキテクチャ、サービスの伝搬および照会の方法、およびサービス呼び出し中のサービスの選択およびルーティングの方法を示す。本発明の根本的な概念は、サービス情報の分配されたインデックスおよび照会によりサービス・レジストリの機能を拡張することと、サービス・インデックスを(サービス・メタデータの代わりに)サービス・レジストリ間で複製することのみによってサービス共有を実現することと、サービス・レジストリをサービス要求元とサービス・プロバイダとの間の動的な実行中プロセスに関与させることによってサービスの実行時制御を実行することとにあり、それによって、UDDI標準の利用に起因する技術的な制限を打開する。
本発明の第1の態様によれば、ローカル・サービス・ドメインとリモート・サービス・レジストリとに接続されたサービス・レジストリが提供される。サービス・レジストリは、ローカル・サービス・ドメイン内のローカル・サービスを登録するローカル・サービス情報管理器と、ローカル・サービス情報管理器に接続され、ローカル・サービスのサービス・メタデータを記憶するローカル・サービス情報リポジトリとを備え、ローカル・サービス情報管理器とリモート・サービス・レジストリとに接続され、リモート・サービス・レジストリからリモート・サービス・インデックスを受信するリモート・サービス情報管理器と、前記リモート・サービス情報管理器に接続され、リモート・サービス・レジストリから受信されたリモート・サービス・インデックスを記憶するリモート・サービス情報リポジトリとを前記サービス・レジストリがさらに備えることを特徴とする。
本発明の第2の態様によれば、SOAフレームワークが提供される。SOAフレームワークは、上述のサービス・レジストリを含むメタ・サービス・ネットワークと、メタ・サービス・ネットワークと平行であり1つ以上のエンドポイントを含むサービス・ネットワークと、前記エンドポイント間に介在する1つ以上の中継器とを含む。前記1つ以上のエンドポイントは、直接かまたは前記1つ以上の中継器を介して、対応するサービス・レジストリと対話できる。
本発明の第3の態様によれば、サービス・レジストリ間でサービス情報を共有する方法が提供される。前記サービス・レジストリは、物理的または論理的に、あるいはその両方の形で相互接続されている。前記方法は、サービス・プロバイダのローカル・サービス・レジストリに前記サービス・プロバイダのサービス・メタデータを登録することと、前記ローカル・サービス・レジストリによって、前記サービス・メタデータ内のサービス・インデックスをリモート・サービス・レジストリへ伝搬することとを含む。
本発明の第4の態様によれば、サービス要求元が、サービス・レジストリのサービス情報を照会する方法が提供される。前記サービス・レジストリは、物理的または論理的に、あるいはその両方の形で相互接続されている。前記方法は、前記サービス要求元が、サービス情報についての問い合わせ要求をローカル・サービス・レジストリへ送信することと、前記サービス・レジストリが、1つ以上の目標リモート・サービス・レジストリに前記要求が届くまで、リモート・サービスのインデックスに基づき、関連する目標リモート・サービス・レジストリへ前記要求を転送することと、前記1つ以上の目標リモート・サービス・レジストリが、要求されたサービス・メタデータを、応答として前記ローカル・サービス・レジストリへ返送することと、前記ローカル・サービス・レジストリが、前記応答を前記サービス要求元へ送信することとを含む。
本発明の第5の態様によれば、サービス要求元がリモート・サービス・ドメイン内のサービスを呼び出す方法が提供される。前記方法は、前記サービス要求元が、リモート・サービス・ドメイン内のサービスを呼び出す要求を中継器へ送信し、中継器がローカル・サービス・レジストリへ要求を送信することと、前記ローカル・サービス・レジストリが、サービス・インデックスについて問い合わせることによってリモート・サービス・ドメインに要求を伝送することと、リモート・サービス・ドメインの中継器が、前記リモート・サービス・ドメインに関連したサービス・レジストリへ前記メッセージを送信することと、前記リモート・サービス・ドメインに関連したサービス・レジストリが、リモート・サービス・ドメインの中継器を介して前記サービス・プロバイダへ前記サービスを送信し、それによって前記サービス要求元に前記サービスを提供することとを含む。
本発明を使用することによって、サービス・レジストリに新たな効果および機能が与えられる。まず、各サービス・レジストリは、1つ以上の自律ドメイン(autonomous domain)を完全に制御できる。これは、サービス・レジストリの所有者(企業、組織または部門)にとって、サービス情報を保持するために便利である。次に、各サービス・レジストリは、ローカル・ドメイン内で静的および動的なサービス・メタデータ(ローカル・データおよびリモート・データ・インデックス)を管理する機能と、接続されているすべてのレジストリ内のサービス・メタデータについて問い合わせる機能と、サービス・ドメイン内またはサービス・ドメイン間で、サービス・レジストリを中心としてサービスの選択およびルーティングを実行する機能とを提供できる。
本発明を使用することによって、サービス・ルーティング用の機能モジュールを展開する拡張可能なメカニズムが提供される。これは、サービスのルーティングおよび選択のために、アプリケーション・サーバのような機能拡張メカニズムを実現するだけではなく、外部システム(例えば、課金、商業ルール、セキュリティ、監視など)との接続も達成する。
さらに、本発明を使用することによってドメイン間接続を実現できる。これは、主に次の3つの点に反映される。まず、本発明におけるサービス・ドメインのトポロジは、より自然であり、企業または組織のアプリケーション・ドメインにマッピングできるインターネット自律システムのトポロジに似ている。次に、本発明では、すべてのレジストリは、サービス・メタデータの複製ではなく、インデックスによって関連付けられる。最後に、すべてのサービス要求元および中継器(ESB、WSゲートウェイなど)は、ローカル・サービス・ドメイン外のサービスに関して情報を有する必要がない。
添付の図面では、同じ複合部品に同一または類似の参照符号が利用される。
本発明の原理が、添付の図面を参照して以下に説明される。
本発明による新規なサービス・レジストリについて説明する前に、まず、前記サービス・レジストリが適用されるシステムの全体的なトポロジを知る必要がある。図2がトポロジの概略図である。このトポロジは、メタ・サービス・プレーン(またはメタ・サービス・ネットワークと呼ばれる)105およびサービス・プレーン(またはサービス・ネットワークと呼ばれる)106を含む。メタ・サービス・プレーン105は、いくつかのサービス・レジストリ101を含み、サービス・レジストリ101間の接続線は、それらが物理的または論理的に、あるいはその両方の形で相互接続されていることを示す。サービス・プレーン106は、楕円で囲まれたいくつかのサービス・ドメインD1〜D4を含むとよい。各サービス・ドメインD1〜D4は、いくつかのエンドポイント103および中継器102をさらに含み、サービス・プレーン106は、サービス・ドメインを形成しない単一のエンドポイントまたは中継器(図2に示されている、サービス・ドメインD2とD3との間の単一の中継器102)あるいはその両方をさらに含んでもよい。なお、図2は具体例であり、サービス・レジストリ101、中継器102、エンドポイント103、およびサービス・ドメイン104などの実際の数および接続方法に対する制限として理解されるべきではない。
図2に示されているトポロジでは、各サービス・レジストリ101は、ローカル・サービス・ドメインでのサービスの登録および伝搬、ならびにローカル・サービス情報の動的な追跡を行う役割を持ち、クライアント・ソフトウェア開発者およびサービス要求元からのサービス照会要求(目標サービスのメタ情報を得るための拡張可能な照会機能)に応答する役割を持ち、中継器102との連携に基づきサービスの選択およびルーティングを行う役割を持つ。サービス・レジストリ101同士は対話し、すべてのサービス・レジストリを合わせてメタ・サービス・プレーンが形成される。サービス・レジストリは、アプリケーション・ドメインの状態に基づき、例えばスター型構造、完全なメッシュ構造、スーパーピア・ベース構造、純ピア・ツー・ピア構造など、複数のトポロジを有してもよい。なお、前記サービス・レジストリ間にどのトポロジおよび接続メカニズムが導入されるかは、本発明の実装に関連しない。
サービス・プレーン内の、サービス・ドメインD1〜D4はそれぞれ、特定のサービス・レジストリに登録されるウェブ・サービスの論理セットである。サービス・ドメインは、明確な境界を備えたドメイン(インターネット・ドメインなど)とすることも、明確な境界のないドメイン(インターネット・ドメインの一部など)とすることもできるであろう。各サービス・レジストリはサービス・ドメインに対応するとよく、これは、サービス・レジストリの「ローカル・サービス・ドメイン」と呼ばれる。
サービス・ドメインにおいて、各中継器102は、サービス・レジストリ内またはサービス・レジストリ間での情報の転送および変換に使用され、サービス要求元とサービス・プロバイダとの間のサービス・ルーティングの経路を提供する。企業サービス・バス(EBS:Enterprise Service Bus)またはサービス・ゲートウェイなどの要素が、前記中継器としての機能を果たすことができる。
各エンドポイント103は、メッセージ・イニシエータまたは最終届け先であり、サービス要求元およびサービス・プロバイダを含めばよい。
接続されているエンドポイントおよび中継器すべてが、メタ・サービス・プレーン105に平行なサービス・プレーン106を形成する。
以下、図3を参照して、本発明によるサービス・レジストリ200の基本構造を下記で説明する。図3において、サービス・レジストリ200は、ローカル・サービス・ドメイン106およびリモート・サービス・レジストリ200’に接続されている。当然のことながら、明瞭になるよう、図3は1つのリモート・サービス・レジストリ200’のみを示しているが、実際にはサービス・レジストリ200は任意の数のリモート・サービス・レジストリに接続可能である。さらに、サービス・レジストリ200は、ローカル・サービス情報管理器201、ローカル・サービス情報リポジトリ202、リモート・サービス情報管理器203およびリモート・サービス情報リポジトリ204を備える。図3に示されている構造を使用することによって、ローカル・サービスの登録、伝搬および更新のプロセス、ならびにサービスの要求および呼び出しのプロセスを、サービス・レジストリ200において実行できる。
ローカル・サービスの登録、伝搬および更新のプロセスについては、ローカル・サービス情報管理器201がローカル・サービス・ドメイン106内のサービス・プロバイダまたは管理ツールに接続されており、その結果サービス・プロバイダまたは管理ツールは、(例えばAPIを介して)ローカル・サービス情報管理器201にサービスを登録できる。ローカル・サービス情報管理器201はさらに、ローカル・サービス情報リポジトリ202に接続されており、その結果、一方では、ローカル・サービス・ドメイン内の登録されたサービス・メタデータをローカル・サービス情報リポジトリ202に記憶し、他方では、直接または間接的にローカル・サービスの実時間状態の動的な追跡を行い、ローカル・サービスが変化すると、ローカル・サービス情報リポジトリ202内の関連するサービス・メタデータを更新する。さらに、ローカル・サービス情報管理器201は、リモート・サービス情報管理器203にローカル・サービス情報およびその変更(例えばサービスの状態の変更)を通知するためにリモート・サービス情報管理器203にさらに接続されており、その結果、ローカル・サービス情報およびその更新は、直接接続されているその他すべてのサービス・レジストリ200’へ伝搬される。ローカル・サービス情報の伝搬中、ローカル・サービス情報管理器201は、サービス・インデックスとして機能するのに適した情報をローカル・サービス・メタデータから抽出する。
「サービス・メタデータ」は、サービスを記述するメタデータ、例えば、WSDL(Web Service Definition Language:ウェブ・サービス定義言語)ベースの記述(動作、メッセージ形式などを含む)などのサービス・インターフェース記述を含むサービスの機能的説明、サービスの非機能的記述(例えば、サービスの所有者――――IBM、XSD(XML Schema definition:XMLスキーマ定義)、サービスの位置―――北京)、サービス・ポリシー(例えばセキュリティ、トランザクションおよび信頼性のポリシーなど、WS‐Policy(Web Service Policy:ウェブ・サービス・ポリシー)のような標準に基づくサービス・ポリシー記述など)、およびその他のメタデータである。
「インデックス」または「サービス・インデックス」という用語は、ローカル・サービス・レジストリに記憶される、リモート・サービスに関する情報である。例えば、サービス・レジストリ200および200’は、互いのリモート・サービス・レジストリとしての機能を果たす。サービス・レジストリ200は、サービス・レジストリ200’のサービスに関してはサービス・インデックスのみを(サービス・メタデータの代わりに)記憶する。サービス・レジストリ200’も、サービス・レジストリ200のサービスに関してはサービス・インデックスのみを記憶する。
以下詳しく説明するように、インデックスまたはサービス・インデックスとなるのに適したメタデータ情報は、次に限定されるものではないが、WSDL記述、非機能的記述におけるサービス所有者またはサービスの位置など、およびインデックスとなるのに適した、サービス・メタデータの属性名、属性範囲、サービスの最終ホップ・アドレス(last hop address)などを含む。さらに、サービス・インデックスとして機能するメタデータ情報は、ローカル・サービス情報管理器201によって抽出されること、同じく、その他の適切な方法によって抽出されること、または、サービス登録中にサービス・プロバイダによって指定されることが可能である。
図4Aは、本発明によるサービス・インデックスの例示的なデータ構造を示し、これは、属性名/型280、属性範囲281および最終ホップのアドレス282という少なくとも3つのフィールドを含む。前記インデックス表には、必要に応じてその他任意の必要なフィールドをさらに含めることができるということが分かる。
表1は、一連のインデックス表項目を記録する。メタデータ項目をインデックス付けに使用することができる。
Figure 0004897872
表1において、属性範囲フィールドは、範囲内の単一の属性値または複数の属性値とすることができる。最終ホップ・アドレスは、ローカル・サービス・レジストリに関して、インデックス値の伝搬経路においての、最後のサービス・レジストリのアドレスと、対応する中継器/エンドポイントのアドレスとを示す。
引き続き図3を参照すると、ローカル・サービス情報リポジトリ202は、ローカル・サービス・ドメイン内のサービス・プロバイダのサービス・メタデータおよびその更新を記憶するように、ローカル・サービス情報管理器201と接続されている。
リモート・サービス情報管理器203は、例えばローカル・サービス情報管理器201からのイベントがトリガされると接続ポリシーに従って接続されているリモート・サービス・レジストリ200’へローカル・サービス情報を伝搬するよう、ローカル・サービス情報管理器201に接続されている。リモート・サービス情報管理器203は、一方では、リモート・サービス・レジストリ200’から送信されるリモート・サービス・インデックスを受信し、それを別のリモート・サービス・レジストリへ伝搬するよう、他方ではローカル・サービスに関係のある抽出されたサービス・インデックスを例えばリモート・サービス・レジストリ200’へ伝搬するよう、リモート・サービス・レジストリ200’にさらに接続されている。さらに、リモート・サービス管理器203は、受信されたリモート・サービス・インデックスをリモート・サービス情報リポジトリ204に記憶するよう、リモート・サービス情報リポジトリ204にさらに接続されている。
リモート・サービス情報リポジトリ204は、リモート・サービス・レジストリ200’から伝搬されたサービス・インデックスを記憶するために使用される。
サービスの照会および呼び出しのプロセスにおいて中継器からサービス要求元により実行されたサービス要求を受信するように、ローカル・サービス情報管理器201およびリモート・サービス情報管理器203は、ローカル・サービス・ドメイン106内の中継器と接続されている。
中継器から要求を受信するのに応答して、ローカル・サービス情報管理器201およびリモート・サービス情報管理器203はそれぞれ、ローカル・サービス情報リポジトリ202およびリモート・サービス情報リポジトリ204から、サービス要求を満たすサービス・メタデータと、サービス・インデックスとを抽出し、それらを中継器へ返す。なお、本発明がリモート・サービスの呼び出しを改善しようとする一方、ローカル・サービスを呼び出すプロセスは先行技術に属するため、本発明は全般的にリモート・サービスだけがサービス要求を満たし得ると想定する。
図4Bは、さらなる細部を含むサービス・レジストリ200の構造図を示す。サービス・レジストリ200は、図3に示された要素に加え、基本接続ポリシー・リポジトリ205、レグレット部分(reglet portion)210、および照会処理器(query handler)209をさらに備える。
基本接続ポリシー・リポジトリ205は、サービス・ドメイン(サービス・レジストリ)間の接続を確立するための基本ポリシーの記述を記憶するよう、リモート・サービス情報管理器203と接続されており、これに基づいて、サービス・レジストリまたは中継器は、どれと情報を交換可能かを判断することが可能である。前記接続ポリシーは、サービス・レジストリが物理的に相互接続されているかどうか、物理的に接続されているサービス・レジストリについてはその間で論理的に情報を共有できるかどうか、および、特別なサービス・レジストリに関しては特別な情報を遮断することが論理的に必要かどうかを規定できる。当然のことながら、サービス・レジストリ間の接続ポリシーの規定は、SOAシステムの知能および運用性をさらに改善できる。しかし、実際にはサービス・レジストリは、いかなる接続ポリシーも記憶する必要がないように、固定された接続関係に従うこともできる。
点線の四角形で囲まれたレグレット部分は、サービス・レジストリの機能を拡張するための部分であり、参照符号207およびレグレット・コンテナ(reglet container)206により一律に表されるいくつかのレグレットを含む。
レグレット207は、サービスの選択およびルーティングの機能を容易に実行できるようにする任意の静的または動的なレグレットを含めばよい。例えば、それらは、サービス・レジストリ内に含まれるレグレットとすることも、外部システム208との対話によって実現されるレグレットとすることもできる(以下で説明されるとおり)。レグレット207は、ローカル・サービス・ドメインからサービス・ルーティング要求を受信し、特定の接続ポリシー(例えば、基本接続ポリシー・リポジトリ205内に記憶されているポリシーなど)に基づきローカル・サービス・ドメインへルーティング応答を返すことができる。レグレット207は、サービスの選択およびルーティング用の論理を実装することができるであろう。
前記レグレット207は、レグレット・コンテナ206内に展開され、そこにリストまたはメッシュを形成する。レグレット・コンテナ206は、レグレット207に実行時環境情報および文脈情報を提供する。例えば、実行時間中、レグレット・コンテナ206は、メッセージのソースおよび目標の情報を含んだ要求を中継器から受信する。その後、レグレット・コンテナ206は、基本接続ポリシーを照会し、サービスの選択およびルーティング用に関係のあるレグレット207をすべて呼び出す。最後に、レグレット・コンテナ206は、次ホップ・アドレス(next hop address)を含んだ応答を返す。
外部システム208は、レグレット部分210と接続されており、サービスの選択およびルーティングの情報を提供することが可能であり、レグレット部分210(例えばレグレット207)からの情報を利用することも可能である。レグレット207は、関連する外部システム208の入り口を提供する。外部システム208の例には、次に限定されるものではないが、グローバル・セキュリティ・ポリシー用のセキュリティ・システム、商業用サービスの課金システム、QoS用のネットワーク・トラフィック・システム、データ・マイニングおよび意思決定のための統計情報を必要とするBIシステム、サービス選択に基づくビジネス契約用のビジネス・ルール・システムなどが含まれる。
照会処理器209は、ローカル・サービス・レジストリに対する照会要求を処理するよう、ローカル・サービス情報管理器201およびリモート・サービス情報管理器203に接続されている。照会処理器209は、次の2つのモードで動作する。第1のモードでは、ローカル・サービス・ドメインからの要求が受信されると、照会処理器209はローカル・サービス情報管理器201およびリモート・サービス情報管理器203の両方にサービスを見つけるよう要求し、サービス要求元へ応答を送信する。第2のモードでは、他のレジストリからの要求が受信されると、照会処理器209はローカル・サービス情報管理器201に要求し、ローカル・サービス情報をサービス要求元へ返す。
本発明によるサービス登録、伝搬および照会のプロセスについて、図5A、図5Bおよび図5Cを参照して以下で説明する。
サービス・レジストリによるローカル・サービスの登録および伝搬のプロセス
図5Aにおいて、サービス・ドメインN内のサービス・プロバイダ9が、そのローカル・サービス・レジストリ5に登録され他のサービス・レジストリと共有されるべき新たなサービスを有すると仮定する。したがって、回線1.1(または1.1’)で、サービス・プロバイダ9のサービスが、そのサービス・レジストリ5に登録される。この登録は、異なる方法で実施することもできる。例えば、サービス・プロバイダもしくはサード・パーティがサービス・レジストリ5への登録を実行する(回線1.1が示すように)、または、サービス・レジストリ5がサービスを自動的に発見する(回線1.1’が示すように)などである。その後、回線1.2で、サービス・レジストリ5が、例えば、基本接続ポリシーに基づき、サービス・レジストリ5と接続されたリモート・サービス・レジストリへローカル・サービス・インデックスを伝搬する。
図5Bは例示的な伝搬経路であり、回線1.2の詳細を示す。図5Bにおいて、四角形は、参照符号1〜6により表されるサービス・レジストリを含んだメタ・サービス・プレーンを表す。例えばサービス・レジストリ1と2との間の実線は、サービス・インデックスが、サービス・レジストリ1からサービス・レジストリ2へ論理的に伝搬可能であることを表し、一方、例えばサービス・レジストリ2と3との間の点線は、サービス・インデックスがサービス・レジストリ2からサービス・レジストリ3へ論理的に伝搬可能でないことを表す。図5Bにおいて、サービス・プロバイダ9のサービスは、サービス・レジストリ5に登録され、リモート・サービス・レジストリ1〜4へ伝搬可能である。一例として、サービス・レジストリ5、3、1による伝搬のプロセスを挙げると、サービス・レジストリ3は、最終ホップ・アドレスがサービス・レジストリ5であると示すインデックスを受信し、一方、サービス・レジストリ1は、最終ホップ・アドレスがサービス・レジストリ3であると示すインデックスを受信する。
サービス要求元によるサービス・メタデータ要求プロセス
引き続き図5Aを参照し、サービス・ドメイン1内のサービス要求元8が、特定のパラメータ(例えば最短サービス時間、最低サービス料など)を用いて、そのローカル・サービス・レジストリに、すべての利用可能なサービスについて照会すると仮定する。したがって、サービス要求元8は回線2.1で、サービス・レジストリ1へ照会要求を送信する。次に、サービス・レジストリ1は回線2.2で、インデックス表(および場合により所定の基本接続ルール)に基づき、要求を次ホップのサービス・レジストリに転送する。このステップが、関係のあるサービス・レジストリにおいて繰り返される。
図5Cは、回線2.2上の詳細な経路照会の例を示す。図5Cでは、図5Bのメタ・サービス・プレーンと同じメタ・サービス・プレーンが使用されている。照会要求を受信した後、サービス・レジストリ1は、要求を満たすサービス・インデックス内の最終ホップ・アドレスがサービス・レジストリ3である(つまり、サービス・インデックスがサービス・レジストリ3によって伝搬されている)ことを検出すると、次ホップにあるサービス・レジストリへ要求を転送することを決定する。その後、サービス・レジストリ3は、サービス・レジストリ1と同じ方法を使用して、次ホップにあるサービス・レジストリ5へ要求を転送することを決定する。サービス・レジストリ5が正に、要求を満たすサービス・インデックスが登録されているサービス・レジストリであると仮定する。その結果、動作は図5Aの回線2.3に入る。
図5A内の回線2.3でサービス・レジストリ5は、要求されたサービス・メタデータを、要求が転送される経路に沿ってサービス・レジストリ1へ送信する。最後に、応答を受信すると、サービス・レジストリは回線2.4で、応答をそのサービス要求元へ送信する。
本発明によるサービス呼び出し中のメッセージ伝送ルーティングおよび選択のプロセスについて、図6Aおよび図6Bを参照して以下で説明する。明瞭にするため、図6Bでは、サービス・レジストリ間の接続、図6Aに示されているプロセスに関係のあるエンドポイントと中継器との間の接続、およびそれらのサービス・レジストリとの接続は実線で表され、その他は点線で表される。さらに、二方向の矢印の左側にある参照番号は、中継器からサービス・レジストリへのアップリンク回線を表し、右側にある参照番号は、サービス・レジストリから中継器へのダウンリンク回線を表す。
図6Aおよび図6Bにおいて、サービス・ドメインD1内のサービス要求元Aが、サービス・ドメインD3内のサービス・プロバイダGのサービスを取得することを求めると仮定する。したがって、回線3.1において、サービス・ドメインD1内のサービス要求元Aがメッセージを中継器Bへ送信する。メッセージの目標アドレスは、サービス・ドメインD3内のサービス・プロバイダGである。次に、中継器Bは回線3.2で、そのサービス・レジストリ1へルーティング要求を送信する。その後、サービス・レジストリ1は回線3.3で、サービス・インデックスの照会を行うことによって、要求のあて先である次ホップ・アドレス中継器(例えば、中継器C)を判断する。次に、サービス・レジストリ1は、中継器Bに次ホップ・アドレスを通知する。結果として、回線3.4で、中継器Bは中継器Cへメッセージを送信する。
本発明によれば、回線3.4は、メッセージが目標サービス・ドメインD3内の中継器Fに届くまでの中継器とサービス・レジストリとの間の一連の動作を含むとよい。回線3.4での具体的な動作について、図6Bを参照して以下で説明する。
回線3.4‐0で、中継器Bは、サービス・レジストリ1により返されたアドレスに基づき、要求を中継器Cへさらに送信する。次に、中継器Cは、要求の次ホップ・アドレス(例えば、異なるサービス・ドメインD4内の中継器D)を判断するよう、アップリンク回線3.4‐1を介して引き続きローカル・サービス・レジストリ1に照会する。要求の次ホップ・アドレスが、ダウンリンク回線3.4‐2を介して中継器Cへ返される。その後、中継器Cは、回線3.4‐3を介して中継器Dへ要求をさらに送信する。この段階で、中継器Dは、そのローカル・サービス・レジストリ5にアップリンク回線3.4‐4を介して照会を行う。サービス・レジストリ5は、要求の次ホップ・アドレス(例えば中継器Eなど)を判断すると、それをダウンリンク回線3.4‐5を介して中継器Dへ返す。その後、中継器Dは、要求を中継器Eへ送信し(回線3.4‐6)、中継器Eは、要求をそのローカル・サービス・レジストリ4へ送信する(回線3.4‐7)。サービス・レジストリ4は、次ホップ・アドレス(例えば中継器Fなど)を判断すると、それをダウンリンク回線3.4‐8を介して中継器Eへ返す。次に、中継器Eは、回線3.4‐9を介して目標サービス・ドメインD3内の中継器Fへ要求を送信する。そこで回線3.4での動作が完了する。その後のプロセスについて、図6Aを参照して以下で引き続き説明する。
回線3.5が示すように、中継器Fはルーティング要求をサービス・レジストリ6へ送信し、その結果サービス・レジストリ6は、サービス・ドメインD3内の目標サービスを選択する。次に、中継器Fは、回線3.6で目標サービスのアドレスおよびメタデータを受信し、サービス・メッセージを適切な形式に変換する。さらに回線3.7で、中継器Fはサービス・プロバイダへメッセージを送信する。最後に、回線3.8が示すように、サービス・プロバイダGは、サービスをサービス要求元Aに提供する。
目標サービス・プロバイダGは、多様な方法でサービス要求元Aにサービスを提供する。例えば、サービス・プロバイダGは、要求が伝送された方向に対して厳密に逆の方向で(すなわち、関連したすべての中継器およびサービス・レジストリを介して)サービス要求元Aにサービスを提供することもできるであろうし、要求が伝送された方向に対し逆の方向であるが、サービス・プレーン内の中継器のみを介して(すなわち、サービス・レジストリを省略して)サービス要求元Aにサービスを提供することも同じくできるであろう。当業者には周知のとおり、サービス・プロバイダGは、他の方法を使用してサービスをサービス要求元Aへ伝送することもできるが、本発明ではそれらを1つずつ記載はしない。
図7は、本発明による、サービス・レジストリによるサービスの登録および伝搬の方法を示す流れ図である。
この方法はステップ600で開始し、次にステップ610へ進む。ステップ610において、サービス・プロバイダのサービス・メタデータが、そのローカル・サービス・レジストリに登録される。その後、ステップ620で、前記サービス・レジストリが、リモート・サービス・レジストリにサービス・インデックスを通知する。この方法は、ステップ630で終了する。
図8は、本発明による、サービス要求元によりローカル・サービス・レジストリに対してサービス・メタデータを照会する方法を示す。なお、本発明は主として、リモート・サービスの照会における改善に関係しており、結果的に、ローカル・サービス・メタデータを照会するケースは無視される。
この方法は、ステップ700で開始し、次にステップ710へ進む。ステップ710において、サービス要求元は、サービス・メタデータ照会要求をローカル・サービス・レジストリへ送信し、例えば、特定の要件を満たす(例えばサービスの位置が「北京」であるなど)サービスを要求する。ステップ720で、前記サービス・レジストリは、リモート・サービス情報管理器によって保持されているサービス・インデックス表に照会を行うことによって、要件を満たすサービス・インデックスを検索し、インデックスにしたがって、次ホップのリモート・サービス・レジストリへ要求を転送する。続いて、サービス・インデックス内のサービスが属するリモート・サービス・レジストリに要求が転送されるまで、ステップ720における動作が繰り返される。その後、ステップ730で目標リモート・サービス・レジストリは、要求が伝送された経路に沿って、要求されたサービスのメタデータを応答として前記ローカル・サービス・レジストリへ返送する。さらに、ステップ740で、ローカル・サービス・レジストリは前記応答を前記サービス要求元に送信する。最後に、この方法はステップ750で終了する。
図9Aは、本発明による、サービスのルーティングおよび選択の方法を示す。同じく、本発明は主として、リモート・サービス呼び出しにおける改善に関係するため、ローカル・サービスを呼び出すケースは無視される。
この方法は、ステップ800で開始し、次にステップ810へ進む。ステップ810で、サービス要求元は、目標サービス・ドメイン内のサービスに関係のあるメッセージを中継器へ送信し、中継器は、それをさらにローカル・サービス・レジストリへ送信する。その後、ステップ820でローカル・サービス・レジストリは、目標サービス・ドメインのリモート・サービス・インデックスを照会することによって、目標サービス・ドメインに要求を届ける。ステップ830で、目標サービス・ドメイン内の中継器が、それに関連するサービス・レジストリへ前記メッセージを送信する。その後、目標サービス・ドメインに関連するサービス・レジストリが適切なサービスを選択し、それを目標ドメイン内の中継器を介して目標サービス・プロバイダへ送信し、その結果、ステップ850で、サービスがサービス要求元に提供される。最後に、この方法はステップ860で終了する。
図8に示されているステップ820では、図6Aおよび図6Bに示されているように、複数のホップを介して目標サービス・ドメインに要求が転送される必要があることもある。
さらに、本発明の好適な実施形態によれば、レグレット部分を使用することによって、図9Aに示されているサービス呼び出しプロセスの機能拡張を実行することができる。例えば、外部システムとの対話によってサービス要求に対し請求を行うレグレットを使用することによって、サービス呼び出しに対して請求することができる。この場合、ステップ820は、図9Bに示されている動作をさらに含む。
ステップ821で、ローカル・サービス・レジストリのレグレット部分は、サービス要求元から要求を受信する。ステップ822で、レグレット・コンテナは、一方では基本接続ポリシー・リポジトリから接続ポリシーを探索し、他方では、対応する請求レグレット(charging reglet)を呼び出す。ステップ823で、請求レグレットは、例えば請求に使用される対応する外部システムに接続することによって、サービス呼び出し要求の請求プロセスを実行する。その後、ステップ824で、請求が行われ特定の接続ポリシーを有する呼び出し要求が、ローカルおよびリモートのサービス情報管理器へ送信される。その結果、ステップ825で、ローカルおよびリモートのサービス情報管理器が、ステップ824に基づきサービス・インデックスの照会を続けることが可能であり、したがって、次ホップ・アドレス中継器が取得され、ステップ826でレグレット・コンテナを介して中継器へ返される。続いて、図9Aに示されているその後のプロセスが、引き続き実行される。
上記の説明によれば、本発明は、サービス・レジストリ間でサービス・インデックスのみを(サービス・メタデータの代わりに)渡すことによって、UDDI標準の使用に由来する先行技術のSOAまたはウェブ・サービスの制限を改善する。
さらに、当業者であれば当然のことであるが、本発明の実施形態は、方法、システムまたはコンピュータ・プログラム製品の形で提供できる。したがって、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはハードウェアとソフトウェアとの組み合わせの実施形態の形を採用できる。ハードウェアとソフトウェアとの典型的な組み合わせは、プログラムが読み込まれ実行されると、コンピュータ・システムを制御することによって上記の方法を実行可能である、コンピュータ・プログラムを備えた汎用コンピュータ・システムとすることができる。
本発明は、説明された方法を実施できるようにするすべての機能を含むコンピュータ・プログラム製品中に組み込まれることが可能である。前記コンピュータ・プログラム製品は、1つ以上のコンピュータ可読記憶媒体(次に限定されないが、ディスク記憶装置、CD−ROM、光メモリなどを含む)に含まれ、前記コンピュータ可読記憶媒体内には、コンピュータ可読コードが含まれる。
上記では、本発明による方法、システムおよびコンピュータ・プログラム製品の流れ図またはブロック図、あるいはその両方を参照して本発明について説明している。当然のことながら、流れ図またはブロック図、あるいはその両方の中の各ブロック、およびその中の複数ブロックの組み合わせは、コンピュータ・プログラム・コマンドによって実現可能である。コマンドが(コンピュータのプロセッサまたは他のプログラマブル・データ処理デバイスによって)、流れ図またはブロック図、あるいはその両方で1つ以上のブロックに特定された機能を実現する装置をつくりだすように、これらのコンピュータ・プログラム・コマンドを、機械がつくり出されるよう汎用コンピュータのプロセッサ、専用コンピュータ、組み込みプロセッサ、またはその他のプログラマブル・データ処理デバイスに提供することが可能である。
これらのコンピュータ・プログラム・コマンドは、1つ以上のコンピュータの読み出し用メモリに記憶することもでき、各読み出し用メモリは、コンピュータまたはその他のプログラマブル・データ処理デバイスに、指定されたモードに従い機能するよう命令することができる。このようにして、コンピュータの読み出し用メモリに記憶されたコマンドは、流れ図またはブロック図、あるいはその両方の中の1つ以上のブロック内に特定された機能を実現する命令手段を含む工業製品をつくる。
コンピュータ・プログラム・コマンドは、前記コンピュータまたはその他のプログラマブル・データ処理デバイス上で一連の動作ステップを実行するように、1つ以上の前記コンピュータ、またはその他のプログラマブル・データ処理デバイスに読み込まれることも可能であり、そうすることで、コンピュータに実装されたプロセスをこれらデバイスのそれぞれにおいて実現できる。このようにして、これらのデバイス上で実行されるコマンドは、流れ図またはブロック図、あるいはその両方の中の1つ以上のブロック内に特定されたステップを提供する。
本発明を実施する好適な形態を参照しながら、本発明の原理について上記で説明した。しかし、これらの説明は具体例でしかなく、本発明に対するいかなる制限としても理解されてはならない。当業者であれば、同封の特許請求の範囲により定義される範囲から逸脱することなく、本発明を修正し、変形することができる。
先行技術のSOAフレームワークの概略図である。 本発明によるサービス・レジストリを中心としたシステムのトポロジの概略図である。 本発明によるサービス・レジストリの基本構造である。 図4Aは、本発明によるサービス・インデックスの例示的なデータ構造を示し、図4Bは、さらなる細部を含むサービス・レジストリの構造図を示す。 図5Aは、本発明による、登録、伝搬、サービスについての問い合わせの組み合わせプロセスを示し、図5Bは例示的な伝搬経路を示し、図5Cは例示的な照会経路を示す。 図6Aは、本発明による、サービス呼び出し中のメッセージ伝送ルーティングおよび選択のプロセスを示しており、図6Bは、図2のトポロジを基準にした図6A内のプロセスの実行を示す概略図である。 本発明による、サービス・レジストリがサービスを登録および伝搬する方法を示す流れ図である。 本発明による、サービス要求元がローカル・サービス・レジストリのサービス・メタデータを照会する方法を示す。 図9Aは、本発明による、サービスのルーティングおよび選択を実行する方法を示し、図9Bは、本発明の好適な実施形態による、サービスのルーティングおよび選択を実行する方法を示す。

Claims (13)

  1. ローカル・サービス・ドメインと、リモート・サービス・レジストリとに接続されたサービス・レジストリであって、
    前記ローカル・サービス・ドメイン内のローカル・サービスを登録するローカル・サービス情報管理器と、
    前記ローカル・サービス情報管理器に接続され、前記ローカル・サービスのサービス・メタデータを記憶するローカル・サービス情報リポジトリと、
    を備え、前記サービス・レジストリが、
    前記ローカル・サービス情報管理器と、前記リモート・サービス・レジストリとに接続され、前記リモート・サービス・レジストリからリモート・サービス・インデックスを受信するリモート・サービス情報管理器と、
    前記リモート・サービス情報管理器に接続され、前記リモート・サービス・レジストリから受信された前記リモート・サービス・インデックスを記憶するリモート・サービス情報リポジトリと、
    をさらに備えることを特徴とする、サービス・レジストリ。
  2. 前記ローカル・サービス情報管理器は、前記ローカル・サービスの実時間状態を動的に追跡し、前記ローカル・サービスにおける変化に応答して前記ローカル・サービス情報リポジトリを更新する手段をさらに備える、請求項1に記載のサービス・レジストリ。
  3. 前記ローカル・サービス情報管理器は、前記ローカル・サービスのサービス・メタデータ内のサービス・インデックスと、その更新とを、前記リモート・サービス情報管理器へ伝送する手段をさらに備え、前記リモート・サービス情報管理器は、前記ローカル・サービスの前記サービス・メタデータ内の前記サービス・インデックスと、その前記更新とを、前記リモート・サービス・レジストリへ伝搬する手段をさらに備える、請求項1または2に記載のサービス・レジストリ。
  4. 前記リモート・サービス情報管理器は、前記ローカル・サービス・ドメイン内の中継器にさらに接続されており、リモート・サービス・ドメイン内の特定のサービスを呼び出すためにサービス要求元によって実行された要求を前記中継器から受信し、前記要求が転送されるべき次ホップ中継器のアドレスを、前記特定のサービスのサービス・インデックスに従って取得し、前記要求を前記中継器へ返す手段を備える、請求項1に記載のサービス・レジストリ。
  5. 前記ローカル・サービス情報管理器または前記リモート・サービス情報管理器、あるいはその両方へ前記中継器からの前記要求が送信される前に、前記要求に対応するレグレット機能を実行するよう、前記ローカル・サービス情報管理器または前記リモート・サービス情報管理器、あるいはその両方に接続されたレグレット部分
    をさらに備える、請求項4に記載のサービス・レジストリ。
  6. 前記レグレット部分は、1つ以上のレグレットと、レグレット・コンテナとを備え、
    前記レグレット・コンテナは、前記レグレットに実行時環境情報および文脈情報を提供し、前記中継器から前記要求を受信し、基本ポリシーを照会して関係のあるすべてのレグレットを呼び出し、さらにサービス・インデックス情報を前記中継器へ返すために使用され、
    前記1つ以上のレグレットは、前記中継器から受信される前記サービス要求の前記対応するレグレット機能を実行し、続いて、前記ローカル・サービス情報管理器または前記リモート・サービス情報管理器、あるいはその両方に前記サービス要求を提供するよう、前記レグレット・コンテナに関連付けられている、
    請求項5に記載のサービス・レジストリ。
  7. 前記レグレット部分は、外部システムにさらに接続されており、前記外部システムにとっての前記サービス・レジストリへの入り口として使用され、前記外部システムは、グローバル・セキュリティ・ポリシー用のセキュリティ・システム、商業用サービスの課金システム、QoS用のネットワーク・トラフィック・システム、データ・マイニングおよび意思決定のための統計情報を必要とするBIシステム、サービス選択に基づくビジネス契約用のビジネス・ルール・システムのうち、少なくとも1つを備える、請求項6に記載のサービス・レジストリ。
  8. 前記リモート・サービス情報管理器に接続され、前記サービス・レジストリ間で確立された接続の基本ポリシーの記述を記憶する基本接続ポリシー・リポジトリ
    をさらに備える、請求項1に記載のサービス・レジストリ。
  9. 前記ローカル・サービス情報管理器またはリモート・サービス・インデックス管理器、あるいはその両方に接続され、前記サービス・レジストリに対するサービス情報照会要求を処理する照会処理器をさらに備える、請求項1に記載のサービス・レジストリ。
  10. 前記照会処理器は、以下の2つの動作モードを有し、
    第1のモードでは、ローカル・サービス・ドメインからの前記サービス情報照会要求が受信されると、前記ローカル・サービス情報管理器または前記リモート・サービス・インデックス管理器、あるいはその両方に、前記サービスを見つけるよう要求して、前記サービス要求元へ応答を送信し、
    第2のモードでは、前記リモート・サービス・レジストリからの要求が受信されると、前記ローカル・サービス情報管理器に要求し、前記ローカル・サービス情報を前記リモート・サービス・レジストリへ返す、
    請求項に記載のサービス・レジストリ。
  11. 前記ローカル・サービス情報管理器は、前記ローカル・サービスのサービス・メタデータからサービス・インデックスを抽出する手段をさらに備える、請求項10に記載のサービス・レジストリ。
  12. サービス・レジストリ間で情報を共有する方法において、
    ローカル・サービス・ドメインと、リモート・サービス・レジストリとに接続されたサービス・レジストリであって、(1)前記ローカル・サービス・ドメイン内のローカル・サービスを登録するローカル・サービス情報管理器と、(2)前記ローカル・サービス情報管理器に接続され、前記ローカル・サービスのサービス・メタデータを記憶するローカル・サービス情報リポジトリとを備える、前記サービス・レジストリにおいて、前記方法は、
    前記ローカル・サービス情報管理器と、前記リモート・サービス・レジストリとに接続された、リモート・サービス情報管理器が、前記リモート・サービス・レジストリからリモート・サービス・インデックスを受信するステップと、
    前記リモート・サービス情報管理器に接続された、リモート・サービス情報リポジトリが、前記リモート・サービス・レジストリから受信された前記リモート・サービス・インデックスを記憶するステップと、
    を含むことを特徴とする、前記方法。
  13. サービス・レジストリ間で情報を共有するためのコンピュータ・プログラムにおいて、前記コンピュータ・プログラムは、コンピュータを、
    ローカル・サービス・ドメインと、リモート・サービス・レジストリとに接続されたサービス・レジストリであって、
    前記ローカル・サービス・ドメイン内のローカル・サービスを登録するローカル・サービス情報管理器と、及び、
    前記ローカル・サービス情報管理器に接続され、前記ローカル・サービスのサービス・メタデータを記憶するローカル・サービス情報リポジトリと、
    を備える、前記サービス・レジストリ、
    前記ローカル・サービス情報管理器と、前記リモート・サービス・レジストリとに接続され、前記リモート・サービス・レジストリからリモート・サービス・インデックスを受信するリモート・サービス情報管理器、及び、
    前記リモート・サービス情報管理器に接続され、前記リモート・サービス・レジストリから受信された前記リモート・サービス・インデックスを記憶するリモート・サービス情報リポジトリ、としてそれぞれ動作させる、
    ことを特徴とする、前記コンピュータ・プログラム。
JP2009502065A 2006-03-31 2007-03-27 サービス・レジストリ、ならびに関連したシステムおよび方法 Active JP4897872B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNB2006100710383A CN100558038C (zh) 2006-03-31 2006-03-31 服务注册器以及相关系统和方法
CN200610071038.3 2006-03-31
PCT/EP2007/052894 WO2007113164A1 (en) 2006-03-31 2007-03-27 Service registry and relevant system and method

Publications (2)

Publication Number Publication Date
JP2009531760A JP2009531760A (ja) 2009-09-03
JP4897872B2 true JP4897872B2 (ja) 2012-03-14

Family

ID=38199776

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009502065A Active JP4897872B2 (ja) 2006-03-31 2007-03-27 サービス・レジストリ、ならびに関連したシステムおよび方法

Country Status (8)

Country Link
US (1) US8306979B2 (ja)
EP (1) EP2005709B1 (ja)
JP (1) JP4897872B2 (ja)
CN (1) CN100558038C (ja)
AT (1) ATE527801T1 (ja)
BR (1) BRPI0709905B1 (ja)
CA (1) CA2646529A1 (ja)
WO (1) WO2007113164A1 (ja)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8819080B2 (en) * 2007-06-13 2014-08-26 The Boeing Company System and method for collection, retrieval, and distribution of data
CN101441560B (zh) * 2007-11-23 2012-09-26 国际商业机器公司 执行基于上下文模型的面向服务架构的策略的方法和装置
CN101441561B (zh) * 2007-11-23 2012-05-23 国际商业机器公司 基于上下文模型生成面向服务架构的策略的方法和装置
US9721216B2 (en) 2007-11-26 2017-08-01 International Business Machines Corporation Solution that automatically recommends design assets when making architectural design decisions for information services
CN101471939B (zh) * 2007-12-28 2012-07-04 中国科学院声学研究所 Soa架构的融合业务系统中的多次用户认证鉴权方法
US8341155B2 (en) 2008-02-20 2012-12-25 International Business Machines Corporation Asset advisory intelligence engine for managing reusable software assets
US8762938B2 (en) 2008-04-28 2014-06-24 Salesforce.Com, Inc. Object-oriented system for creating and managing websites and their content
US8631094B1 (en) * 2008-08-08 2014-01-14 Google Inc. Distributed parallel determination of single and multiple source shortest paths in large directed graphs
CN101686247B (zh) * 2008-09-26 2013-01-09 华为技术有限公司 信息处理方法和系统
US8570905B2 (en) * 2008-09-26 2013-10-29 International Business Machines Corporation Adaptive enterprise service bus (ESB) runtime system and method
US8448185B2 (en) * 2009-03-23 2013-05-21 Siemens Aktiengesellschaft Method and system for dynamic discovery of services in a communication framework
MY164485A (en) * 2009-07-20 2017-12-29 Mimos Berhad A method and system for an intelligent framework of a service orientated architecture
US8607190B2 (en) 2009-10-23 2013-12-10 International Business Machines Corporation Automation of software application engineering using machine learning and reasoning
US9704130B2 (en) 2009-10-26 2017-07-11 International Business Machines Corporation Standard based mapping of industry vertical model to legacy environments
US8726236B2 (en) 2009-10-26 2014-05-13 International Business Machines Corporation Determining context specific content
US8645904B2 (en) 2009-10-26 2014-02-04 International Business Machines Corporation Cross repository impact analysis using topic maps
US8285672B2 (en) * 2009-10-29 2012-10-09 Oracle International Corporation Declarative federation of registries
US9026412B2 (en) 2009-12-17 2015-05-05 International Business Machines Corporation Managing and maintaining scope in a service oriented architecture industry model repository
US8775462B2 (en) 2009-12-17 2014-07-08 International Business Machines Corporation Service oriented architecture industry model repository meta-model component with a standard based index
US9111004B2 (en) 2009-12-17 2015-08-18 International Business Machines Corporation Temporal scope translation of meta-models using semantic web technologies
US8244768B2 (en) 2009-12-17 2012-08-14 International Business Machines Corporation Implementing service oriented architecture industry model repository using semantic web technologies
US8566358B2 (en) 2009-12-17 2013-10-22 International Business Machines Corporation Framework to populate and maintain a service oriented architecture industry model repository
US8631071B2 (en) 2009-12-17 2014-01-14 International Business Machines Corporation Recognition of and support for multiple versions of an enterprise canonical message model
CN101763428A (zh) * 2010-01-04 2010-06-30 山东浪潮齐鲁软件产业股份有限公司 一种SOA对web服务的注册存储管理应用系统
US8880586B2 (en) * 2010-04-08 2014-11-04 Microsoft Corporation Metadata subscription registry
CN102255935B (zh) * 2010-05-20 2016-06-15 中兴通讯股份有限公司 云服务消费方法、云服务中介及云系统
WO2012000553A1 (en) * 2010-07-01 2012-01-05 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for service sharing
US9483312B2 (en) 2010-08-16 2016-11-01 International Business Machines Corporation Locating service endpoints from a service registry
US9262474B2 (en) 2010-09-30 2016-02-16 Microsoft Technology Licensing, Llc Dynamic domain query and query translation
US9223892B2 (en) 2010-09-30 2015-12-29 Salesforce.Com, Inc. Device abstraction for page generation
US8935360B2 (en) 2010-12-03 2015-01-13 Salesforce.Com, Inc. Techniques for metadata-driven dynamic content serving
CN102546684A (zh) * 2010-12-13 2012-07-04 财团法人资讯工业策进会 云端服务系统及方法
KR101389140B1 (ko) * 2011-09-11 2014-04-28 한미아이티 주식회사 서비스 유알아이와 거점정보를 통한 메시지 중계 장치 및 그 방법
US8910186B2 (en) 2011-11-15 2014-12-09 International Business Machines Corporation Feed-based promotion of service registry objects
US8595251B2 (en) * 2011-11-16 2013-11-26 Verizon Patent And Licensing Inc. Flexible interface module
EP2629250A1 (en) * 2012-02-14 2013-08-21 Tata Consultancy Services Limited A system and method for providing enterprise information technology lifecycle tools synchronization platform
EP2860636A4 (en) * 2012-06-07 2016-04-06 Toshiba Kk PROGRAM AND DEVICE FOR CONNECTING BUS
US9519506B2 (en) 2012-06-29 2016-12-13 Nokia Technologies Oy Method and apparatus for enabling remote service task based access to functionality provided by one or more remote services
CN102833343A (zh) * 2012-09-03 2012-12-19 浙江财经学院 一种跨虚拟企业Web服务共享系统
GB2509723A (en) * 2013-01-10 2014-07-16 Ibm Invoking web services that are determined at the time of execution
US9858093B2 (en) * 2013-03-08 2018-01-02 Oracle International Corporation Model for configuration independent process templates and business catalog
CN105379313B (zh) * 2013-05-06 2020-06-09 康维达无线有限责任公司 M2m系统中的语义支持和管理
US9596295B2 (en) 2013-06-29 2017-03-14 Google Inc. Computing connected components in large graphs
US9852230B2 (en) 2013-06-29 2017-12-26 Google Llc Asynchronous message passing for large graph clustering
GB2516833A (en) * 2013-07-31 2015-02-11 Ibm Running software application with dynamic action delegation
CN105683984A (zh) 2013-09-28 2016-06-15 迈克菲股份有限公司 数据交换层上高效的请求-响应路由
US8793359B1 (en) * 2013-11-25 2014-07-29 Software Ag Systems and/or methods for intelligently detecting API key domains
US9407546B2 (en) 2014-02-24 2016-08-02 Red Hat, Inc. Routing a message using a routing table in a dynamic service mesh
US9984158B2 (en) * 2014-03-18 2018-05-29 Axis Ab Finding services in a service-oriented architecture (SOA) network
US9705995B2 (en) * 2014-03-18 2017-07-11 Axis Ab Capability monitoring in a service oriented architecture
CN103841183A (zh) * 2014-03-25 2014-06-04 浪潮电子信息产业股份有限公司 一种面向数据中心的SMI-S Provider注册请求方法
CN105450705B (zh) * 2014-08-29 2018-11-27 阿里巴巴集团控股有限公司 业务数据处理方法及设备
US10673852B2 (en) * 2014-12-23 2020-06-02 Mcafee, Llc Self-organizing trusted networks
CN104935485A (zh) * 2015-05-28 2015-09-23 北京海尔广科数字技术有限公司 家电服务调用方法、家电服务调用请求转发方法及装置
CN104935484A (zh) * 2015-05-28 2015-09-23 北京海尔广科数字技术有限公司 一种通过网关调用家电服务的方法及装置
CN106302596B (zh) * 2015-06-03 2019-09-20 北京京东尚科信息技术有限公司 一种服务发现的方法和装置
WO2017176178A1 (en) 2016-04-05 2017-10-12 Telefonaktiebolaget Lm Ericsson (Publ) Method and agent for sharing information about cloudlet properties in distributed cloud environments
CN108632299A (zh) * 2017-03-15 2018-10-09 北京京东尚科信息技术有限公司 增强注册中心可用性的方法、装置、电子设备和存储介质
US11467868B1 (en) * 2017-05-03 2022-10-11 Amazon Technologies, Inc. Service relationship orchestration service
US10742750B2 (en) * 2017-07-20 2020-08-11 Cisco Technology, Inc. Managing a distributed network of function execution environments
EP3655857A1 (en) * 2017-07-20 2020-05-27 Cisco Technology, Inc. Managing a distributed network of function execution environments
CN107580045A (zh) * 2017-08-31 2018-01-12 新华三大数据技术有限公司 服务的编目方法及装置
WO2019041206A1 (en) 2017-08-31 2019-03-07 Entit Software Llc CONTAINER MANAGEMENT USING PAIRS ATTRIBUTE / VALUE
US10469600B2 (en) * 2017-11-14 2019-11-05 Dell Products, L.P. Local Proxy for service discovery
CN110247944B (zh) * 2018-03-09 2022-06-24 阿里巴巴集团控股有限公司 跨区域的服务调用方法、装置、系统及电子设备
CN111045833B (zh) * 2018-10-15 2024-06-18 北京京东尚科信息技术有限公司 接口调用的方法和装置
EP3712768B1 (en) 2019-03-18 2024-05-01 Sony Group Corporation Management of services in an edge computing system
CN110334906A (zh) * 2019-05-30 2019-10-15 广东民航机场建设有限公司 业务数据处理方法、装置、计算机设备和存储介质
US10715484B1 (en) * 2019-12-11 2020-07-14 CallFire, Inc. Domain management and synchronization system
CN112153021B (zh) * 2020-09-10 2023-05-19 中国联合网络通信集团有限公司 一种业务数据的获取方法及装置
CN113839865B (zh) * 2021-11-30 2022-03-01 北京鲸鲮信息系统技术有限公司 一种跨域调用服务的管理方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001318942A (ja) * 2000-05-09 2001-11-16 Fujitsu Ltd 情報提供システムおよび仲介装置
JP2004227140A (ja) * 2003-01-21 2004-08-12 Toshiba Corp 検索連携プログラム及び検索システム並びに検索方法
JP2004246784A (ja) * 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> Webサービス利用時におけるネットワーク提供方法、システム及びサーバ
JP2004280447A (ja) * 2003-03-14 2004-10-07 Toshiba Corp データ整合プログラム及びシステム並びに方法
JP2005521956A (ja) * 2002-04-03 2005-07-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ イントラネット使用のための新形態のuddi

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
US6895444B1 (en) * 2000-09-15 2005-05-17 Motorola, Inc. Service framework with local proxy for representing remote services
US7194482B2 (en) * 2002-09-26 2007-03-20 International Business Machines Corporation Web services data aggregation system and method
US20050216600A1 (en) * 2004-03-23 2005-09-29 Jonathan Maron System and method for providing a service in a controlled run-time environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001318942A (ja) * 2000-05-09 2001-11-16 Fujitsu Ltd 情報提供システムおよび仲介装置
JP2005521956A (ja) * 2002-04-03 2005-07-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ イントラネット使用のための新形態のuddi
JP2004227140A (ja) * 2003-01-21 2004-08-12 Toshiba Corp 検索連携プログラム及び検索システム並びに検索方法
JP2004246784A (ja) * 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> Webサービス利用時におけるネットワーク提供方法、システム及びサーバ
JP2004280447A (ja) * 2003-03-14 2004-10-07 Toshiba Corp データ整合プログラム及びシステム並びに方法

Also Published As

Publication number Publication date
WO2007113164A1 (en) 2007-10-11
CN101047512A (zh) 2007-10-03
BRPI0709905A2 (pt) 2013-12-31
ATE527801T1 (de) 2011-10-15
US8306979B2 (en) 2012-11-06
EP2005709B1 (en) 2011-10-05
JP2009531760A (ja) 2009-09-03
EP2005709A1 (en) 2008-12-24
BRPI0709905B1 (pt) 2020-01-28
US20100017368A1 (en) 2010-01-21
CA2646529A1 (en) 2007-10-11
CN100558038C (zh) 2009-11-04

Similar Documents

Publication Publication Date Title
JP4897872B2 (ja) サービス・レジストリ、ならびに関連したシステムおよび方法
US8095670B2 (en) Protocol for enabling dynamic and scalable federation of enterprise service buses
US8214325B2 (en) Federating business event data within an enterprise network
Falazi et al. Smart contract invocation protocol (SCIP): A protocol for the uniform integration of heterogeneous blockchain smart contracts
US10091086B2 (en) System and method for providing an application programming interface manager for use with a service bus runtime
US20170262549A1 (en) Representation/invocation of actions/functions in a hypermedia-driven environment
US20090319686A1 (en) Communication route selecting method and apparatus
US8380787B2 (en) Federation of master data management systems
US7934218B2 (en) Interprocess communication management using a socket layer
Rompothong et al. A query federation of UDDI registries
CN113630310A (zh) 一种分布式高可用网关系统
CN102316154B (zh) 优化对基于联盟基础结构的资源的访问
CN102144373B (zh) 用于概率动态路由器-服务器网格路由的系统和方法
US11153388B2 (en) Workflow engine framework for cross-domain extension
Goniwada et al. Event-Driven Architecture
EP2189916B1 (en) Federating business event data within an enterprise network
US12086141B1 (en) Coordination of services using PartiQL queries
Stäber et al. Interoperability challenges and solutions in automotive collaborative product development
Zagarese et al. Efficient data-intensive event-driven interaction in SOA
CN117834729A (zh) 一种地理信息服务聚合与服务链构建方法及系统
Chiponga et al. A version-based transformation proxy for service evolution
Cong et al. IEIP: An inter-enterprise integration platform for e-Commerce based on Web service mediation
Lie Enabling the compatible evolution of services based on a cloud-enabled ESB solution
Silva-Lepe et al. Cross-domain service management for enabling domain autonomy in a federated SOA
Shah et al. Global SOA Architectural Style–SOA for End Users

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100128

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20110705

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20110722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111020

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4897872

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3