JP2006526189A - Web service broker - Google Patents

Web service broker Download PDF

Info

Publication number
JP2006526189A
JP2006526189A JP2005500291A JP2005500291A JP2006526189A JP 2006526189 A JP2006526189 A JP 2006526189A JP 2005500291 A JP2005500291 A JP 2005500291A JP 2005500291 A JP2005500291 A JP 2005500291A JP 2006526189 A JP2006526189 A JP 2006526189A
Authority
JP
Japan
Prior art keywords
service
web service
web
enterprise
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005500291A
Other languages
Japanese (ja)
Inventor
イゴール セドキーン,
Original Assignee
コンピュータ アソシエイツ シンク,インコーポレイテッド
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 コンピュータ アソシエイツ シンク,インコーポレイテッド filed Critical コンピュータ アソシエイツ シンク,インコーポレイテッド
Priority claimed from PCT/US2003/012272 external-priority patent/WO2004107197A1/en
Publication of JP2006526189A publication Critical patent/JP2006526189A/en
Pending legal-status Critical Current

Links

Abstract

ウエブサービスブローカー方法は、エンタプライズとサービスクライエント及びサービスプロバイダーのうちの少なくとも1つとの間にインターフェースを提供し、該サービスクライエントはサービスレジストリィ上でウエブサービスを発見し且つ該サービスプロバイダーからの対応するウエブサービスを使用し、該エンタプライズと該サービスクライエント及びサービスプロバイダーのうちの少なくとも1つとの間で通信を行い、且つ(a)該エンタプライズから又はそれへの情報を該サービスクライエント及びサービスプロバイダーのうちの少なくとも1つに対して適切なフォームへ変換し、且つ(b)該サービスクライエント及びサービスプロバイダーのうちの少なくとも1つから又はそれへの情報を該エンタプライズに対して適切なフォームへ変換する、のうちの少なくとも1つを実施する、ことを包含している。The web service broker method provides an interface between an enterprise and at least one of a service client and a service provider, the service client discovering a web service on a service registry and from the service provider. Using a corresponding web service to communicate between the enterprise and at least one of the service client and service provider, and (a) information from or to the enterprise to the service client And (b) information appropriate to or from at least one of the service client and service provider is converted to a form suitable for at least one of the service provider and service provider. Na Converted into Omu, performs at least one of, encompasses that.

Description

本発明はウエブサービスに関するものであって、更に詳細には、ウエブサービスブローカーに関するものである。   The present invention relates to web services, and more particularly to web service brokers.

次世代の電子ビジネスシステムに対する1つの要素はコラボレーションである。現在、コラボレーションは多数の電子ビジネスオートメーションアプリケーション、即ちビジネス対カスタマー(B2C)又はカスタマー対カスタマー(C2C)インタラクション、ビジネス対ビジネス(B2B)インテグレーション、ビジネス論理コンポーネント化、ビジネスプロセスオーケストレーション、レガシーシステムインテグレーション等によって狭く対処されている。これらのアプリケーションの全てはあるビジネスが行われるためのインフラストラクチャを形成するために電子的に協業するという点において何か共通のものを有している。然しながら、これの1つの制限は、これら全ての分散されているアプリケーション(サービス)が相互運用することが可能であり且つ互いに発見することが可能であるという共通のグローバルな枠組(誰もが使用することに同意するもの)を欠如しているということである。   One element for the next generation of electronic business systems is collaboration. Currently, collaboration is based on a number of electronic business automation applications: business-to-customer (B2C) or customer-to-customer (C2C) interaction, business-to-business (B2B) integration, business logic componentization, business process orchestration, legacy system integration, etc. Narrowly dealt with. All of these applications have something in common in that they collaborate electronically to form the infrastructure for doing a business. However, one limitation of this is that a common global framework (everyone uses) that all these distributed applications (services) can interoperate and discover each other. Lacks what agrees.

この制限は、適切な目的指向型コラボレーションソリューションを形成するためにかなりの投資と努力とを発生させており、それは、通常、密接に結合されており、プラットフォーム/技術/ベンダー/インプリメンテーション/言語−依存性であり、一様な態様で再使用することが困難であり、インターネットで使用するのに準備がされてない場合がある等である。新たなコラボレーションポイントを形成することは、通常、全体的なシステムの複雑性を増加させ、信頼性を減少させ且つこのようなシステムを維持し且つ拡張するために更なる資源を必要とする。   This limitation has generated considerable investment and effort to form a suitable goal-oriented collaboration solution, which is usually tightly coupled and is platform / technology / vendor / implementation / language -Is dependent, difficult to reuse in a uniform manner, may not be ready for use on the Internet, etc. Creating a new collaboration point typically increases the overall system complexity, reduces reliability, and requires additional resources to maintain and expand such a system.

ウエブサービスブローカー方法は、エンタプライズとサービスクライエント及びサービスプロバイダーのうちの少なくとも1つとの間にインターフェースを与え、該サービスクライエントはサービスレジストリ上のウエブサービスを発見し且つ該サービスプロバイダーからの対応するウエブサービスを使用し、該エンタプライズと該サービスクライエント及びサービスプロバイダーのうちの少なくとも1つとの間で通信を行う少なくとも1つとの間で通信を行い、且つ(a)該エンタプライズから又はそれへの情報を該サービスクライエント及びサービスプロバイダーのうちの少なくとも1つに対して適切なフォームへ変換し、且つ(b)該サービスクライエント及びサービスプロバイダーのうちの少なくとも1つから又はそれへの情報を該エンタプライズに対して適切なフォームへ変換する、のうちの少なくとも1つを実施する、ことを包含している。   The web service broker method provides an interface between an enterprise and at least one of a service client and a service provider, the service client discovering a web service on a service registry and corresponding from the service provider Using a web service to communicate between the enterprise and at least one communicating with at least one of the service client and service provider, and (a) to or from the enterprise Information into a form suitable for at least one of the service client and service provider, and (b) information from or to at least one of the service client and service provider The Converted to the appropriate form with respect Ntapuraizu, performs at least one of, encompasses that.

コンピュータ記録媒体が、ウエブサービスブローカーを実現するためのコンピュータによって実行可能なコードを包含している。該コンピュータ記録媒体は、エンタプライズとサービスクライエント及びサービスプロバイダーのうちの少なくとも1つとの間にインターフェースを与えるコードであって該サービスクライエントがサービスレジストリ上のウエブサービスを発見し且つ該サービスプロバイダーからの対応するウエブサービスを使用するコード、該エンタプライズと該サービスクライエント及びサービスプロバイダーのうちの少なくとも1つとの間で通信を行うためのコード、及び(a)該エンタプライズから又はそれへの情報を該サービスクライエント及びサービスプロバイダーのうちの少なくとも1つに対して適切なフォームへ変換し、且つ(b)該サービスクライエント及びサービスプロバイダーのうちの少なくとも1つから又はそれへの情報を該エンタプライズに対して適切なフォームへ変換する、のうちの少なくとも1つを実施するためのコード、を有している。   A computer recording medium includes code executable by a computer to implement a web service broker. The computer recording medium is a code that provides an interface between an enterprise and at least one of a service client and a service provider, wherein the service client discovers a web service on a service registry and from the service provider. A code for using the corresponding web service, a code for communicating between the enterprise and at least one of the service client and service provider, and (a) information from or to the enterprise To a form suitable for at least one of the service client and service provider, and (b) information from or to at least one of the service client and service provider. Converted to the appropriate form with respect to prize has the code, for performing at least one of.

ウエブサービスブローカー方法を実施するためのプログラムされているコンピュータシステムが、エンタプライズとサービスクライエント及びサービスプロバイダーのうちの少なくとも1つとの間にインターフェースを与え、該サービスクライエントがサービスレジストリ上のウエブサービスを発見し且つ該サービスプロバイダーからの対応するウエブサービスを使用し、該エンタプライズと該サービスクライエント及びサービスプロバイダーのうちの少なくとも1つとの間で通信を行い、且つ(a)該エンタプライズから又はそれへの情報を該サービスクライエント及びサービスプロバイダーのうちの少なくとも1つに対して適切なフォームへ変換し、且つ(b)該サービスクライエント及びサービスプロバイダーのうちの少なくとも1つから又はそれへの情報を該エンタプライズに対して適切なフォームへ変換する、のうちの少なくとも1つを実施する、ことを包含している。   A programmed computer system for implementing a web service broker method provides an interface between an enterprise and at least one of a service client and a service provider, wherein the service client is a web service on a service registry. And using a corresponding web service from the service provider to communicate between the enterprise and at least one of the service client and service provider, and (a) from the enterprise or Converting information to it into a form suitable for at least one of the service client and service provider, and (b) at least one of the service client and service provider. Converted to the appropriate form of La or information to it with respect to the enterprise, to perform at least one of, it encompasses that.

図面に例示した本発明実施例を説明するにあたり、説明の便宜上特定の用語を使用する。然しながら、本発明はそのように選択した特定の用語へ制限されることを意図しているものではなく、各要素は同様の態様で動作する全ての技術的均等物を包含することを理解すべきである。   In describing embodiments of the present invention illustrated in the drawings, specific terminology will be used for the sake of convenience. However, it is to be understood that the invention is not intended to be limited to the specific terms so selected, and that each element includes all technical equivalents that operate in a similar manner. It is.

図6は本発明の方法及びシステムを実現することが可能なコンピュータシステムの1例を示している。本発明のシステム及び方法は、例えば、メインフレーム、パソコン(PC)、ハンドヘルドコンピュータ、サーバー等のコンピュータシステム上で稼動するソフトウエアアプリケーションの形態で実現することが可能である。そのソフトウエアアプリケーションは、例えば、フロッピィディスク、コンパクトディスク、ハードディスク等のコンピュータシステムにより局所的にアクセス可能な記録媒体上に格納することが可能であり、又は、コンピュータシステムから離れており且つ、例えば、ローカルエリアネットワーク又はインターネット等のネットワークに対してハードワイヤード又はワイヤレス接続を介してアクセス可能なものとすることが可能である。   FIG. 6 shows an example of a computer system capable of implementing the method and system of the present invention. The system and method of the present invention can be implemented in the form of a software application running on a computer system such as a mainframe, personal computer (PC), handheld computer, server, etc., for example. The software application can be stored on a recording medium that is locally accessible by a computer system, such as a floppy disk, compact disk, hard disk, etc., or remote from the computer system and, for example, It can be accessible to a network such as a local area network or the Internet via a hardwired or wireless connection.

図6に示したように、大略システム100として参照するコンピュータシステムは、中央処理装置(CPU)102、例えばランダムアクセスメモリ(RAM)等のメモリ104、プリンタインターフェース106、ディスプレイユニット108、(LAN)ローカルエリアネットワークデータ伝送制御器110、LANインターフェース112、ネットワーク制御器114、内部バス116及び、例えば、キーボード、マウス等の1つ又はそれ以上の入力装置118を包含することが可能である。図示した如く、システム100は、リンク122を介して、例えば、ハードディスク120等のデータ格納装置へ接続することが可能である。   As shown in FIG. 6, a computer system generally referred to as a system 100 includes a central processing unit (CPU) 102, a memory 104 such as a random access memory (RAM), a printer interface 106, a display unit 108, and (LAN) local An area network data transmission controller 110, a LAN interface 112, a network controller 114, an internal bus 116, and one or more input devices 118 such as a keyboard, a mouse, etc. can be included. As shown, the system 100 can be connected to a data storage device, such as a hard disk 120, via a link 122.

公平なグローバルな電子的コラボレーション環境に対する必要性を実現することとなり、新世代の電子ビジネスオートメーションシステム及び適宜のインフラストラクチャが開発されている。新たなアプローチは「ウエブサービス」として知られている。「ウエブ」は普通のネットワーキング(LANからワイヤレスまで)を意味しており且つ「サービス」は分散型アプリケーション内への電子的インターフェースのことを意味している。   A need for a fair global electronic collaboration environment will be realized, and a new generation of electronic business automation systems and appropriate infrastructure are being developed. The new approach is known as “web service”. “Web” means normal networking (from LAN to wireless) and “service” means an electronic interface into a distributed application.

ウエブサービスは、例えば、相互運用可能性を確保するXMLを基礎としたスタンダードを包含する種々の業界スタンダ−トに基づいて定義され且つ動作する電子的ビジネスシステムに対するプログラムによるインターフェースである。   A web service is a programmatic interface to an electronic business system that is defined and operates based on various industry standards, including, for example, XML-based standards that ensure interoperability.

各WSは技術的コントラクト及びビジネスコントラクトを包含するコントラクトを有している。技術的コントラクトは、オペレーション及びこれらのオペレーションを実施するために使用されるデータタイプを定義する。技術的コントラクトは、又、プロトコル及び適宜の通信モードを定義する。ビジネスコントラクトは、そのサービス周りのビジネス関連メタデータを定義する。例えば、カテゴリ即ち分類、サポート電話番号、サービスレベル合意、ライセンシングモデル等である。   Each WS has a contract that includes a technical contract and a business contract. A technical contract defines the operations and the data types used to perform these operations. The technical contract also defines the protocol and the appropriate communication mode. A business contract defines business related metadata around the service. For example, categories or classifications, support phone numbers, service level agreements, licensing models, etc.

ウエブサービス(WS)の例は、ユニバーサルリソースロケーター(URL)でアクセス可能なストッククォート(stock quote)、インターネット上で発行されるプロダクトカタログ、シンプルメールトランスファープロトコル(SMTP)メッセージチャンネル、シンプルオブジェクトアクセスプロトコル(SOAP)を基礎とした認証エージェント、CORBAオブジェクト等を包含することが可能である。これらの全てはある機能性を実現するネットワークによりアクセス可能なコンポーネントである。適切に記述され且つ整理される場合には、上のコンポーネントのいずれも発見し、使用し、且つ例えば、ダイナミックビジネスオートメーションシステム内に集めることが可能である。   Examples of web services (WS) include stock quotes accessible via a universal resource locator (URL), product catalogs published on the Internet, simple mail transfer protocol (SMTP) message channel, simple object access protocol ( (SOAP) based authentication agents, CORBA objects, etc. can be included. All of these are components accessible by a network that implements certain functionality. If properly described and organized, any of the above components can be discovered, used, and collected, for example, in a dynamic business automation system.

換言すると、情報技術(IT)業界はマシンコードからプログラミング言語へ、次いでクライエント・サーバープログラミングへ、次いでオブジェクト指向型コンポーネントモデルへ進化している。それは、今や、動的に発見し、使用し、互いにコントラクトを行う柔軟性があり、緩く結合されたサービスに基づく分散型アプリケーションへ進化している。即ち、これらのアプリケーションはある目標を達成するためにランタイムで分散されている(且つ概略独立的な)パーツ(サービス)から動的に(組立)られる。それらは定義された基準(例えば、「それを行うのに最も速い方法」)に従って組立てることが可能であり、且つそれらは、例えば、サービスのうちの1つが品質条件を満足するものでない場合には、ランタイムで動的に再構成することが可能である。   In other words, the information technology (IT) industry has evolved from machine code to programming languages, then to client-server programming, and then to object-oriented component models. It is now evolving into a distributed application based on loosely coupled services that are flexible to discover, use, and contract with each other dynamically. That is, these applications are dynamically (assembled) from parts (services) distributed at runtime (and generally independent) to achieve certain goals. They can be assembled according to defined criteria (eg “the fastest way to do it”) and they are, for example, when one of the services does not meet quality requirements It can be reconfigured dynamically at runtime.

この新たなトレンドでビジネスオートメーションシステムに対して発生する変化に加えて、ユーザインターフェース及びインタラクション装置も変化しつつある。ユーザインターフェースはユーザアクションに従ってサービスを発見し且つ喚起させることが可能であるように、ユーザインターフェースはWS環境における作業へ構築することが可能である。インタラクション装置は適宜のハードウエア、ソフトウエア、通信インフラストラクチャでサポートを提供することが可能である。   In addition to the changes that occur to business automation systems with this new trend, user interfaces and interaction devices are also changing. The user interface can be built into work in a WS environment so that the user interface can discover and invoke services according to user actions. The interaction device can provide support with appropriate hardware, software, and communication infrastructure.

図1はユーザの現在の位置に近い好ましいレストランのリストをワイヤレス装置1のスクリーン上に表示するために互いにインタラクトする独立したビジネスのコラボレーションの1つの例を示している。この例においては、各ビジネスはそれが最良であることを行う。例えば、ワイヤレス通信及び測位サービス2はワイヤレスユーザの地理的位置を決定することを包含するあるサービスを実施するために通信インフラストラクチャ会社により提供される。情報ポータル4はユーザプロファイル及びフォーマットの情報を好適な方法で維持する。地図データベースサービス6はワイヤレスユーザの地理的位置をアドレスへ変換し且つレストランへのユーザの近接性を包含する情報を提供する。レストランガイド8はレストランの記述及びランキングを包含する情報を提供する。ウエブサービス10は、静的なB2B関係又は密に結合した技術的インプリメンテーションを形成することなしに、この動的ビジネスプロセス及びユーザインタラクションが行われるための枠組みを提供する。   FIG. 1 shows one example of independent business collaborations that interact with each other to display a list of preferred restaurants close to the user's current location on the screen of the wireless device 1. In this example, each business does what it does best. For example, the wireless communication and positioning service 2 is provided by a communication infrastructure company to implement certain services that include determining the geographical location of wireless users. The information portal 4 maintains user profile and format information in a suitable manner. The map database service 6 converts the wireless user's geographic location into an address and provides information that includes the user's proximity to the restaurant. Restaurant guide 8 provides information including restaurant descriptions and rankings. The web service 10 provides a framework for this dynamic business process and user interaction to take place without creating a static B2B relationship or a tightly coupled technical implementation.

ウエブサービスは公共的なスタンダードに基づいたアプローチであり、それは電子ビジネスシステムをその範囲へグローバル化させることを開始することが可能となった。その目的のために、幾つかの公共的機関が形成され、幾つかの業界のリーダーの連携した努力がXML、UDDI、WSDL等(及び、HTTP、TCP/IP等のレガシースタンダード)等の1組のスタンダードが形成された。   Web services are an approach based on public standards, which have begun to globalize electronic business systems to that extent. To that end, several public institutions were formed, and a set of efforts such as XML, UDDI, WSDL, etc. (and legacy standards such as HTTP, TCP / IP, etc.) were made by several industry leaders working together. The standard was formed.

WSは複数の概して関係のないスタンダード、組織、ソフトウエア及びハードウエアインフラストラクチャビルダーを1つのグローバルな公平な枠組みへ結合させる。従って、意味のある態様で協業用の電子ビジネスシステムを形成することが可能となる。即ち、2つの当事者が電子的に協業するためのプロプライエトリーの合意及び緊密な統合を必要とするものではない。   WS combines multiple generally unrelated standards, organizations, software and hardware infrastructure builders into one global and equitable framework. Therefore, it is possible to form a collaborative electronic business system in a meaningful manner. That is, it does not require a proprietary agreement and close integration for the two parties to collaborate electronically.

WSは非常に一般的且つ記述的な態様でサービスを登録するための環境を形成するが、それは包括的であり且つITイネーブルド(IT−enabled)である。それは、又、サービスを使用可能なものとさせる(例えば、それをパブリッシュする)。それは、又、サービスを見つけることを可能とし(それが何処にあろうとも)、それを使用するのに必要な詳細について問い合わせを行い、且つサービスを資産とさせる(それを発見し/サブスクリプションを行う)。サブスクリプションは、又、時々、サービスに対する高速的なものと呼ばれる場合がある。WSは、又、サービスを使用することを許容する(サービスを喚起させる)。   WS forms an environment for registering services in a very general and descriptive manner, but it is comprehensive and IT-enabled. It also makes the service available (eg, publish it). It also makes it possible to find a service (wherever it is), query for the details necessary to use it, and make the service an asset (find / subscribe it) Do). Subscriptions are also sometimes referred to as fast for services. The WS also allows the service to be used (calls the service).

WSはプラットフォーム、プログラミング言語、ベンダー、技術、インプリメンテーションモデルを認知不能である。WSは動的に発見され、コントラクトが結ばれ、バインドされ、且つ喚起される。WSは緩く結合された普遍的に整理され且つ分散されている。WSは、又、粗粒度メッセージングを使用する普通のネットワーキングを介して相互作用することが可能である。このことは、通信インフラストラクチャの進化に依存するものでないことを意味する。更に、それはユビキタスである。1つのフラグメントにおいて交換される情報の量及びサービスの粒度に起因する顕著な性能上の懸念は存在しない。   WS is unaware of platforms, programming languages, vendors, technologies, and implementation models. WS is dynamically discovered, contracted, bound, and aroused. WS is a loosely coupled universally organized and distributed. WS can also interact through normal networking using coarse-grained messaging. This means that it does not depend on the evolution of the communication infrastructure. Furthermore, it is ubiquitous. There are no significant performance concerns due to the amount of information exchanged in one fragment and the granularity of the service.

次に、より詳細に、好結果のWS環境を与えるための要素(及び役割)の各々の間の関係を図2に示してある。これらの要素は、パブリックで、グローバルで、独立的なサービスレジストリ(SR)12、サービスプロバイダー(SP)14、サービスクライエント(SC)16を包含している。サービスプロバイダー14はそれらのサービスをサービスレジストリ12に登録する。サービスクライエント16はこれらのサービスを発見し且つ使用することが可能である。   Next, in more detail, the relationship between each of the elements (and roles) for providing a successful WS environment is shown in FIG. These elements include a public, global, independent service registry (SR) 12, service provider (SP) 14, and service client (SC) 16. The service provider 14 registers these services in the service registry 12. The service client 16 can discover and use these services.

WSは普通のネットワーキング環境におけるXML記述及びメッセージングに基づいている。XMLはインターネット時代の展開に対して情報を普遍的なものとさせる非常に一般的な方法である。WSは特別の意味を有しており且つあるエリアをアドレスするXMLを基礎としたスタンダードの枠組みである。これらのエリア及び各々に対するスタンダードの幾つかはサービスレジストレーション(SR12に登録するため):UDDI(ユニバーサルディスカバリーディスクリプションアンドインテグレーション)、サービス記述:WSDL(ウエブサービスディスクリプション言語)、サービスアドバタイズメント:ADS(アドバタイズメントアンドディスカバリーオブサービス)、サービスアドレッシング:URL(ユニバーサルリソースロケーター)、JNDI名、特定のLAN(ローカルエリアネットワーク)アドレス等、サービス呼び出し:SOAP(シンプルオブジェクトアクセスプロトコル)、パラメータを有するURL、WebDAV、等、サービスデータアブストラクションアンドデータマーシャリング:XML(拡張可能マークアップ言語)、XMLスキーマ等、プレゼンテーションアンドインタラクション:DHTML(ダイナミックハイパーテキストマークアップ言語)、WML(ワイヤレスマークアップ言語)、PDF、VRML等、ビジネス対ビジネスプロセスインテグレーション:RosettaNet、ebXML等、コモンコミュニケーションプロトコル:HTTB(ハイパーテキストトランスファプロトコル)、FTP(ファイルトランスファープロトコル)及びSMTP(シンプルメッセージトランスファープロトコル)、その他:MQSeries、WAP等、コモンセキュリティ:SSL(セキュアサービスレイヤー)、X.509(デジタル署名)、XSIG(XMLシグネチャ)等及びコモンネットワーキング:TCP/IP(トランスポートコミュニケーションプロトコル/インターネットプロトコル)、DNS(ドメインネームサービス)等である。   WS is based on XML description and messaging in a normal networking environment. XML is a very common way to make information universal for the development of the Internet age. WS is a standard framework based on XML that has a special meaning and addresses an area. Some of these areas and standards for each are service registration (to register with SR12): UDDI (Universal Discovery Description and Integration), service description: WSDL (Web Service Description Language), service advertisement: ADS ( Advertisement and discovery of service), service addressing: URL (universal resource locator), JNDI name, specific LAN (local area network) address, etc., service call: SOAP (simple object access protocol), URL with parameters, WebDAV, Etc., Service Data Abstraction and Data Marshalling: XML ), XML schema, etc. Presentation and interaction: DHTML (dynamic hypertext markup language), WML (wireless markup language), PDF, VRML, etc. Business-to-business process integration: RosettaNet, ebXML, etc. Common communication protocols: HTTB (Hypertext Transfer Protocol), FTP (File Transfer Protocol) and SMTP (Simple Message Transfer Protocol), others: MQSeries, WAP, etc. Common Security: SSL (Secure Service Layer), X. 509 (digital signature), XSIG (XML signature), etc. and common networking: TCP / IP (Transport Communication Protocol / Internet Protocol), DNS (Domain Name Service), etc.

UDDIは、複数のサービスに対するビジネスコントラクトを保持するSR12に対して通信を行うために使用される。SR12は会社/部門レベルでセットアップすることが可能であり及び/又はパブリックレジストリとすることが可能である。WSDLは1つのサービスに対する技術的コントラクトを表現するために使用される。WSDLはオペレーション即ち動作を定義し、データタイプ定義を参照し、且つサービスに対するプロトコル及び通信の詳細を特定する。XMLスキーマは、サービスオペレーションにおいて使用される階層的データタイプを定義するために使用される。XMLはクライエントとサービスとの間のSOAPメッセージにおける値を保持する。XMLコンテンツはXMLスキーマに従う。HTTP(及びTCP/IP)は、当事者間の間でメッセージを運ぶために使用される。HTTPはWSに対する主要なユビキタスな通信方法である。   UDDI is used to communicate to SR 12 that holds business contracts for multiple services. The SR 12 can be set up at the company / department level and / or can be a public registry. WSDL is used to represent a technical contract for a service. WSDL defines operations, references data type definitions, and specifies protocol and communication details for services. XML schema is used to define hierarchical data types used in service operations. XML holds the value in the SOAP message between the client and the service. XML content follows the XML schema. HTTP (and TCP / IP) is used to carry messages between parties. HTTP is the main ubiquitous communication method for WS.

WSはこれらを1つにまとめ且つ新たなスタンダード及び概念を付加して柔軟性があり分散されたアプリケーション及びサービスに対する枠組みを形成する。WSは、又、非常に柔軟性のある環境である。例えば、サービス及びそれらのアプリケーションを必要的に変化させることなしに新たな通信プロトコルを導入することが可能である。WSアプリケーションは特定のものから充分に分離されており、基礎となるインフラストラクチャを展開することを可能とさせる。更に、WSはどのサービスが何を行うか又は行うことが可能であるか及びどのように行うか又は行うことが可能であるかを標準化するものではない。その代わりにWSはサービスを記述し、公表し且つ使用する態様を提供する。   WS brings them together and adds new standards and concepts to form a framework for flexible and distributed applications and services. WS is also a very flexible environment. For example, new communication protocols can be introduced without the need to change services and their applications. WS applications are well separated from specific ones, making it possible to deploy the underlying infrastructure. Furthermore, WS does not standardize what services do or can do and how and how they can do. Instead, WS provides a way to describe, publish and use services.

WSアプリケーションはユーザサービスを提供するためにある態様で動作する。このオペレーション即ち動作はWS枠組みの一部である。このオペレーションは登録、パブリッシュ、発見/サブスクリプション及びサービスの呼び出しを包含している。   WS applications operate in some manner to provide user services. This operation is part of the WS framework. This operation includes registration, publishing, discovery / subscription and service invocation.

登録し且つ発見するために、WSはXMLメッセージングプロトコルであるシンプルオブジェクトアクセスプロトコル(SOAD)を使用してHTTP(SSLと共に又は無しで)を介して少なくとも1つのSR12と相互作用を行う。SOAPはクライエントとサービスとの間の要求及び回答を保持するエンベロープ(封筒)の定義である。ユニバーサルディスカバリーディスクリプションアンドインテグレーション(UDDI)スタンダードはSR12との通信のコンテントを定義する。   To register and discover, WS interacts with at least one SR 12 via HTTP (with or without SSL) using Simple Object Access Protocol (SOAD), an XML messaging protocol. SOAP is the definition of an envelope that holds requests and responses between clients and services. The Universal Discovery Description and Integration (UDDI) standard defines the content of communication with SR12.

UDDI文書はビジネス及びそれらのサービス(電子的なもの又はそうでないもの)を記述する。各ビジネスはUDDI文書階層からなるSR12とのレジストレーションエントリを維持することが可能である。この階層はビジネスのアイデンティティを定義するホワイトページ、ビジネスの側面(ビジネスの分類、サービス済パートD−U−N−S番号等のようなもの)をカテゴリに分けるイエローページ、WSの技術的詳細(サービスバインド用テンプレート)を記述するグリーンページを包含することが可能である。グリーンページは直接的にサービスを参照(パーツカタログのURLのように)するか、又はWSインターフェース、データタイプ、セキュリティ拘束条件等のより詳細な仕様を埋め込むか又は参照することが可能である。   UDDI documents describe businesses and their services (electronic or not). Each business can maintain a registration entry with SR 12 consisting of a UDDI document hierarchy. This hierarchy includes white pages that define business identities, yellow pages that categorize business aspects (such as business classification, serviced part D-U-N-S numbers, etc.), WS technical details ( A green page describing a service binding template) can be included. The green page can directly reference the service (like the URL of the parts catalog), or embed or reference more detailed specifications such as WS interface, data type, security constraints, etc.

SR12はグローバルなものであり、幾つかのレポジトリーにわたって複製することが可能である。グローバルSRの例はuddi.microsoft.com又はuddi.ibm.com等がある。SR12は、又、例えば、委任されたか又はプライベートのレポジトリーを介して1つの会社内又は幾つかの参加者の間で共用することが可能である。   SR12 is global and can be replicated across several repositories. An example of global SR is uddi. Microsoft. com or uddi. ibm. com etc. The SR 12 can also be shared within a company or among several participants, for example via a delegated or private repository.

登録する場合に、サービスプロバイダー(SP)14はSOAP UDDI APIを使用して適宜のUDDIエントリをSR12へ提出する。この提出は、又、WSDL情報及び/又は例えばURLの形態におけるWSDL情報への参照を包含することが可能である。レジストレーション即ち登録は情報が一度SR12へ提出されると、SR12はその情報を維持するという意味において静的ステップである。エントリが変化され、取り消され及び/又は再提出される場合があるが、例えばSC16がサービスを発見するためにクエリーを稼動している場合に、SR12は、通常、登録者からの変更、取消、再提出等を動的に要求することはない。   When registering, the service provider (SP) 14 submits the appropriate UDDI entry to the SR 12 using the SOAP UDDI API. This submission can also include WSDL information and / or references to WSDL information, for example in the form of a URL. Registration or registration is a static step in the sense that once information is submitted to SR 12, SR 12 maintains that information. The entry may be changed, canceled and / or resubmitted, but SR12 typically changes, cancels, or changes from the registrant, for example when the SC 16 is running a query to discover the service. There is no dynamic request for resubmission.

使用可能なサービスを発見する場合に、SC16はSR12から情報を要求するためにSOAP UDDI APIを使用することによりUDDI文書を検索する。SC16は所望のビジネス及びそれらのサービスに関する記録を検索するためにその要求内に選択基準を包含する場合がある。その要求がSC16から受取られると、SR12はそのレジストレーションレポジトリーに対して適宜のクエリーを稼動させて妥当な登録されているビジネス及びサービスを見つけ出す。発見は動的なプロセスである。   When finding an available service, the SC 16 retrieves the UDDI document by using the SOAP UDDI API to request information from the SR 12. SC 16 may include selection criteria in its request to retrieve records about the desired business and their services. When the request is received from the SC 16, the SR 12 runs appropriate queries against the registration repository to find valid registered businesses and services. Discovery is a dynamic process.

パブリッシュする場合に、SP14はそのインターフェースを接続又は通信するために使用可能なものとさせる。例えば、SP14はあるURLに関するSOAP要求に対するリスニング即ち聞き込みを開始する。この点において、SP14は、又、登録期間中に先にUDDIエントリにおいて参照されていた場合に、WSDL情報を使用可能なものとさせる場合がある。WSDLは、例えば使用することが必要な通信プロトコル等の現在のWSパラメータに依存して動的に発生することが可能である。これは動的プロセスである。サービスは任意の時間においてディスエーブルさせ、イネーブルさせ、再構成させることが可能である。SC16は異なる通信プロトコルを使用して例えば別の使用可能なサービスへスイッチングし、従ってデータを整理する等によりこれに対してインテリジェントに反応することが可能である。   When publishing, SP 14 makes the interface available for connection or communication. For example, the SP 14 begins listening for a SOAP request for a URL. In this regard, the SP 14 may also make the WSDL information available if it was previously referenced in the UDDI entry during the registration period. WSDL can be generated dynamically depending on the current WS parameters such as the communication protocol that needs to be used. This is a dynamic process. Services can be disabled, enabled, and reconfigured at any time. The SC 16 can respond to this intelligently, for example by switching to another available service using different communication protocols and thus organizing the data.

サブスクリプション(バインディング)を行う場合に、SC16はUDDI及び使用可能である場合にWSDL文書における情報を使用してWS記述を解釈する。SC16は必要なインターフェース表現、データ整理用スタック、通信パイプ、認証範囲等を形成し、それはサービス呼び出しのために使用することが可能である。サブスクリプションは、通常、動的で再構成可能なプロセスであるが、それは、又、例えば緻密な言語又は技術統合が必要とされる場合に静的なものとなる場合がある。   When making a subscription (binding), the SC 16 interprets the WS description using UDDI and the information in the WSDL document if available. SC16 forms the necessary interface representation, data organizing stack, communication pipe, authentication scope, etc., which can be used for service invocation. Subscription is usually a dynamic and reconfigurable process, but it can also be static if, for example, precise language or technology integration is required.

喚起する場合に、SC16はWSインターフェースを選択し、必要なパラメータを構築し、呼び出しを行い次いで結果を解釈する。これはOO(オブジェクト指向型)コンポーネントに関する方法を喚起するのに非常に類似している。緻密な言語対WSバインディング等のある場合においては、それはOOコンポーネント呼び出しとすることが可能である。然しながら、その差は柔軟性があり、ウエブの準備がされた通信であり、データ整理、認証等のプロセスにあり、その詳細は、通常、利用パターンから隠されている。   When calling, the SC 16 selects the WS interface, builds the necessary parameters, makes a call and then interprets the result. This is very similar to invoking methods for OO (object oriented) components. In some cases, such as fine language to WS binding, it can be an OO component call. However, the difference is flexible, web-ready communications, data organization, authentication and other processes, the details of which are usually hidden from usage patterns.

WSのタイプは色々あり且つ通常、そのオペレーションを定義する制御及びデータフローに依存して、3つの異なるタイプに分けることが可能である。通常、1つの電子ビジネスはそれが機能する目的に依存してWSの異なるタイプの混合を有している。   There are various types of WS and they can usually be divided into three different types depending on the control and data flow that define their operation. Typically, one electronic business has a mix of different types of WS depending on the purpose for which it functions.

1つのタイプのWSは情報供給源である。例えば、Aがあるアドレスにおいて情報をパブリッシュし且つそれに対して変更を行い、Bがその情報供給源に対してサブスクリプションを行い、コンテントを検索し且つ変更に対してプールを行う。この場合に、Aは受動的であり且つBは能動的である。データはAからBへ流れる。   One type of WS is an information source. For example, A publishes information at an address and makes changes to it, B subscribes to that information source, retrieves content, and pools the changes. In this case, A is passive and B is active. Data flows from A to B.

別のタイプのWSはメッセージングキューの場合がある。例えば、Aがあるアドレスにおいて入って来る通信チャンネルを確立し、Bは出て行く通信チャンネルを確立し且つその中に情報を押し込み、Aがそのチャンネルからの情報をリッスン即ち聞き込み且つ受付ける。この場合に、Aは受動的であり且つBは能動的であり、データはBからAへ流れる。   Another type of WS may be a messaging queue. For example, A establishes an incoming communication channel at an address, B establishes an outgoing communication channel and pushes information into it, and A listens and listens for information from that channel. In this case, A is passive and B is active, and data flows from B to A.

別のタイプのWSはコンポーネントサービスの場合がある。例えば、Aがあるアドレスにおいて1組のインターフェースを露呈させ且つこれらのインターフェースに対して行われる要求の処理を実行し、Bがインターフェースを喚起し、要求における情報をパスし且つ受取り且つ応答する。この場合に、Aは受動的でありBは能動的であり、データは双方向に流れる。   Another type of WS may be a component service. For example, A exposes a set of interfaces at an address and performs the processing of requests made to those interfaces, B invokes the interface, passes and receives and responds to information in the request. In this case, A is passive, B is active, and data flows in both directions.

ウエブ上でプロダクトカタログを入手可能とさせることは情報供給源タイプWSであると殆ど考えられる。B2B購入/請求処理はメッセージングキュータイプWSであると殆ど考えられる。あなたの正確な位置に対し測位サービスとコンタクトすることはコンポーネントサービスタイプWSであると殆ど考えられる。   Making the product catalog available on the web is almost considered to be the information source type WS. The B2B purchase / billing process is almost considered to be a messaging queue type WS. Contacting the positioning service for your exact location is almost considered a component service type WS.

どのような種類の協業電子ビジネスオートメーションシステムも上にリストした3つのタイプのWSを使用して構築することが可能である。どのようなタイプのウエブコラボレーション即ち協業をカバーするためにこれらのタイプのWSタイプを有することで充分である。   Any kind of collaborative electronic business automation system can be built using the three types of WS listed above. Having these types of WS types is sufficient to cover any type of web collaboration.

上のことから理解されるように、WS環境は全ての種類の電子的コラボレーションに対する効率的で且つ多様性のある枠組みである。然しながら、その力を完全に使用するためには、既存の技術、インフラストラクチャ、ビジネスプロセス等と関連すべきである。このことは、これらIT進化サイクルの始めであり、基礎を築き且つ技術的枠組みを整理するものであるということが可能であるので、特にそうである。これを行うために、システムは蓄積されている知識をテコにし、既存のシステムを再使用し且つ拡張してそれらを次のレベルの展開とさせるべきであり、そのことはそれらを一層普遍的なものとさせる。これらの懸念に対処するために、本明細書に記載するようなサービスブローカー(SB)を上述したWS概念に導入することが可能である。   As can be seen from the above, the WS environment is an efficient and diverse framework for all kinds of electronic collaboration. However, to fully use its power, it should be related to existing technologies, infrastructure, business processes, etc. This is especially true because it is the beginning of these IT evolution cycles and it is possible to build the foundation and organize the technical framework. To do this, the system should leverage the accumulated knowledge and reuse and extend existing systems to bring them to the next level of deployment, which makes them more universal Let it be. To address these concerns, a service broker (SB) as described herein can be introduced into the WS concept described above.

図3は図2に関して上述したWS概念へ適用したサービスブローカーを図示している。図3に示したように、サービスブローカー(SB)30はITイネーブルドエンタプライズ32に対するWSプラットフォームである。SB30はサービスインプリメンテーションモデルを解析し且つ上述したスタンダードに準拠する技術的及びビジネスコントラクトを自動的に形成する。SB30は選択したSR12へビジネスコントラクトを提出し、次いで、SOAP要求に対してリッスン即ち聞き込みを行い、SOAP要求を処理し且つ呼び出しを例えばJava又はC++における実際のインプリメンテーションへ中継する。   FIG. 3 illustrates a service broker applied to the WS concept described above with respect to FIG. As shown in FIG. 3, the service broker (SB) 30 is a WS platform for the IT enabled enterprise 32. The SB 30 analyzes the service implementation model and automatically forms technical and business contracts that conform to the standards described above. The SB 30 submits the business contract to the selected SR 12, then listens for the SOAP request, processes the SOAP request, and relays the call to the actual implementation, for example in Java or C ++.

SB30は多くの異なる機能及び役割を実施する場合がある。例えば、SB30はWS活動に対する技術的基礎を提供する場合がある。このことはウエブ通信レイヤー、XMLデータ整理、SOAP要求プロセッサ、UDDI通信API、WSDLバインディング等を包含する場合がある。SB30はエンタプライズ技術を統合して(1)データ及びロジックに対するOOモデルを統一し、(2)別々の技術の間を調整し、(3)サブインフラストラクチャ(EJB又はCORBA)を連係させる。SB30は、又、既存の(統合されている)システム、パーツ及びコンポーネントをWSとして展開させるツール及び設備を提供することが可能である。このことはWSの登録、それのパブリッシュ、呼び出し要求の受付け及びそれら全てをオリジナルのインプリメンテーション活動への変換を包含する場合がある。SB30は、又、SR12内のWSを発見し且つWSに対してサブスクリプションするために外部WSを統合することが可能である。このことは、適宜の用語でWSを使用するためにターゲットアプリケーションに対して自然のものであるようにWSを所要の技術、言語又はモデルとバインディングすることを意味する。WS統合設備機能は、又、ターゲットアプリケーションからデータ整理及び通信プロトコルのような動的に選択可能で且つ構成可能な詳細を分離するために設けることが可能である。SB30は、又、WS集合に対するツール及び設備を提供することが可能である。このことは、それらを一般的なプロセスコンポーネントモデルで表現するWSの統合、プロセスモデリングツール(例えば、UML)、強制されたプロセス実行ランタイム(ワークフローのようなもの)及び動的WS展開設備を包含することが可能である。SB30は、又、WS管理コンソール(WSMC)を提供することが可能である。WSMCはUDDIエントリを定義し且つ提出/変更し、局所的な登録レプリカ及び共通のビジネス情報を維持し、1つのSRレポジトリーから別のものへエントリを再展開(移動)させ、サービスを包含及び排除し、通信プロトコルを構成し、セキュリティを課す等を行うために必要な1組のツールを組み込む場合がある。SB30は、又、選択的ロギング及びサービス品質(QoS)解析を提供することが可能である。   The SB 30 may perform many different functions and roles. For example, the SB 30 may provide a technical basis for WS activities. This may include web communication layers, XML data reduction, SOAP request processors, UDDI communication APIs, WSDL bindings, and the like. The SB 30 integrates enterprise technologies (1) unifies the OO model for data and logic, (2) coordinates between different technologies, and (3) links sub-infrastructure (EJB or CORBA). The SB 30 can also provide tools and equipment for deploying existing (integrated) systems, parts and components as WS. This may include registering the WS, publishing it, accepting the call request and converting them all back to the original implementation activity. The SB 30 can also integrate an external WS to discover and subscribe to the WS in the SR 12. This means binding WS with the required technology, language or model to be natural to the target application in order to use WS in the appropriate terminology. WS integration facility functions can also be provided to separate dynamically selectable and configurable details such as data organization and communication protocols from the target application. The SB 30 can also provide tools and equipment for the WS set. This includes WS integration that represents them in a generic process component model, process modeling tools (eg, UML), forced process execution runtimes (such as workflows) and dynamic WS deployment facilities. It is possible. The SB 30 can also provide a WS management console (WSMC). WSMC defines and submits / modifies UDDI entries, maintains local registration replicas and common business information, redeploys (moves) entries from one SR repository to another, includes and excludes services In some cases, a set of tools necessary for configuring a communication protocol, imposing security, and the like are incorporated. The SB 30 can also provide selective logging and quality of service (QoS) analysis.

既存のシステムを有効にインターフェースさせ且つ基本技術において既に投資された努力を繰り返さないために、SB30は中間インフラストラクチャレイヤー及び統合サービスを利用する。このことは、例えば、ビジネスロジックをEJBとして実現させ且つ1組のWSとして展開させるべくスケーラブルなアプリケーションサーバーにおいてホストとさせることを可能とする。   In order to effectively interface existing systems and not to repeat the efforts already invested in the basic technology, the SB 30 utilizes intermediate infrastructure layers and integration services. This allows, for example, business logic to be implemented as an EJB and hosted in a scalable application server to deploy as a set of WSs.

WSを展開させるか又は使用するために、技術及びインプリメンテーションの詳細を隠すことが可能である。SB30はスタンダード、XMLデータ整理、共通ネットワーキング等に基づく分離及び抽象設備で「技術隔離」を提供する。これらのファシリティ即ち設備は協調し、実際のインプリメンテーションと抽象的WS表現との間のマップ及び変換を行う。例えば、SOAPメッセージはEJBオブジェクト上のメッソドコールへ変換することが可能であり、その結果はある合意されたスキーマに従って発生されるXMLとして表現し且つリターンさせることが可能である。SB30を読取可能に使用可能なものとさせるために、WSへの変換を滑らかで且つリニアなものとさせるために視覚的ツールを使用することが可能である。ツールはその遷移が発生する後においても尚且つ与えられる。何故ならば、それらは新たなWSの展開のために使用することが可能だからである。   Technology and implementation details can be hidden to deploy or use WS. SB30 provides “technology isolation” with separation and abstraction facilities based on standards, XML data reduction, common networking, and so on. These facilities work together to map and convert between the actual implementation and the abstract WS representation. For example, a SOAP message can be converted to a method call on an EJB object, and the result can be expressed and returned as XML generated according to some agreed upon schema. In order to make the SB 30 readable, a visual tool can be used to make the conversion to WS smooth and linear. Tools are still provided after the transition occurs. This is because they can be used for new WS deployments.

該ツールは使用することが容易であり且つ直感的であり、SB30により提供される自動化された展開及び統合ファシリティにかなり依存している。例えば、EJBオブジェクトをWSとして展開するために、そのオブジェクトの視覚的ウエブ表現(ページ)に対してブラウジングし且つその登録及びウエブページからのWS権利としてパブリッシュすることを要求する場合がある。そのプロセスの残部はEJBオブジェクト及びその属性のOOモデルに基づくSB展開ファシリティにより自動的に実行される。WSに対してサブスクリプションするために、ユーザは登録情報を視覚的にサーチ又はブラウズし、必要なサービスを選択し且つそれに対するサブスクリプションを選択することが可能である。その要求はSB統合ファシリティへパスされ、該ファシリティはUDDI、更にWSDLに質問をしてWSの適切なOOモデルを形成し且つそれをカタログ内に登録する。   The tool is easy to use and intuitive, and relies heavily on the automated deployment and integration facilities provided by SB30. For example, in order to develop an EJB object as a WS, it may be required to browse the visual web representation (page) of the object and publish it as a WS right from its registration and web page. The rest of the process is automatically performed by the SB deployment facility based on the OO model of the EJB object and its attributes. To subscribe to WS, the user can visually search or browse registration information, select the required service and select a subscription for it. The request is passed to the SB integration facility, which queries UDDI and then WSDL to form the appropriate OO model for WS and register it in the catalog.

本発明の1実施例に基づくWSブローカー(SB30)のコアの1つの例を図4に示してある。SB30は以下の主要なコンポーネントを包含することが可能であり、即ち統一・協調・連係レイヤー(統合)40、ウエブサービスレイヤー(普遍化)42、WS展開ツール44、WS統合ツール46、WS管理ツール48等である。各コンポーネントについてより詳細に説明する。   One example of a core of a WS broker (SB 30) according to one embodiment of the present invention is shown in FIG. The SB 30 can include the following main components: unification / cooperation / linkage layer (integration) 40, web service layer (universalization) 42, WS deployment tool 44, WS integration tool 46, WS management tool 48 mag. Each component will be described in more detail.

統一・協調・連係レイヤー40は、特定の技術及びインプリメンテーションの統一したOOモデルをホストし(例えば、リレーショナルDB又はメインフレームグリーンスクリーン又はEJBオブジェクト等)、統一したOOモデルと特定の技術又は言語との間のマッピング(バインディング)(C++、Javaのような言語又はODBCのような技術へ及び又はそれから)、特定の技術、インプリメンテーション及びプラットフォームにおける活動の間の実行及び環境コンテキストを協調させること(例えば、リレーショナルDBとCICSとを横断しての横断的制御の橋渡し、又はC++コードにおいてEJBコンテナから発生するイベントに対してのサブスクリプション)、サブインフラストラクチャ(EJB、COM又はCORBAのような)をアクセス及び制御の1つの点への連係を司る。   The unification / cooperation / linkage layer 40 hosts a unified OO model of a specific technology and implementation (for example, relational DB, mainframe green screen, EJB object, etc.), and the unified OO model and a specific technology or language. Mapping (binding) to and from (to and / or from languages like C ++, Java or technologies like ODBC), coordinating execution and environment context between activities in specific technologies, implementations and platforms (For example, cross-border control across relational DB and CICS, or subscription for events originating from EJB containers in C ++ code), sub-infrastructure (EJB, COM or CORB The such) as responsible for coordination to a single point of access and control.

ウエブサービスレイヤー42は、レイヤー40においてホストされる統一したOOモデルのWSとしての抽象化及びそれらをいずれの技術及びインプリメンテーション詳細から分離することを司る。レイヤー42は登録、パブリッシュ、発見、サブスクリプション及び使用等の全てのスタンダードのWSオペレーションを実行する。ウエブサービスレイヤー42は普遍化レイヤーを形成する種々のファシリティを包含している。普遍化レイヤーを形成するファシリティは登録/発見ファシリティ50、パブリッシュ/処理ファシリティ52、サブスクリプション/呼び出しファシリティ54、XMLデータ整理ファシリティ56、ウエブ通信ファシリティ58を包含している。   The web service layer 42 is responsible for abstracting the unified OO model hosted at layer 40 as a WS and separating them from any technology and implementation details. Layer 42 performs all standard WS operations such as registration, publishing, discovery, subscription and use. The web service layer 42 includes various facilities that form a generalization layer. The facilities that make up the generalization layer include a registration / discovery facility 50, a publish / process facility 52, a subscription / call facility 54, an XML data organization facility 56, and a web communication facility 58.

登録/発見ファシリティ50はユニバーサルなOOモデルにより表現されるコンポーネント(データ及びロジックの両方)をWSとして登録するための自動化した手順を実現し及び/又は供給された選択基準に従ってWSを見つけ出す。ファシリティ50はHTTPにわたりSOAPを使用してSR12とコンタクトし、適宜のUDDI文書を発生し且つ提出し又は選択クエリーを稼動させ且つWSを記述するUDDI文書に質問を行う。ファシリティ50は、又、登録情報を変更し、ビジネス関連エントリを維持し、登録エントリを取り消し、別のSRレポジトリーへ再提出するための手順を実現する。ファシリティ50は、又、全ての登録エントリ及び登録データベース(不図示)におけるコンポーネントのオリジナルのOOモデルに対する関係のレプリカ(カタログ)を維持する。   The registration / discovery facility 50 implements an automated procedure for registering a component (both data and logic) represented by a universal OO model as a WS and / or finds a WS according to supplied selection criteria. The facility 50 contacts the SR 12 using SOAP over HTTP, generates and submits an appropriate UDDI document or runs a select query and queries the UDDI document describing the WS. Facility 50 also implements procedures for changing registration information, maintaining business-related entries, canceling registration entries, and resubmitting to another SR repository. The facility 50 also maintains a replica (catalog) of all registration entries and relationships to the original OO model of the component in the registration database (not shown).

パブリッシュ/処理ファシリティ52はWS技術記述(例えばWSDL)を発生させ且つウエブ通信ファシリティ58を使用してWSインターフェースをアクセスのために使用可能なものとさせる。例えば、ファシリティ52はインターネットクライエントに対してWSを表わすためにあるURLに対してSOAPリスナーを登録させる。ファシリティ52は、又、要求を受付け且つ統合レイヤーにおいてホストされているWSのオリジナルのOOモデルにおいて必要な活動(要求の処理)を開始させることが可能である。ファシリティ52はXMLデータ整理ファシリティ56を使用して各側に対するデータを適切に表現する。   The publish / process facility 52 generates a WS technology description (eg, WSDL) and uses the web communication facility 58 to make the WS interface available for access. For example, the facility 52 allows an Internet client to register a SOAP listener for a URL to represent WS. Facility 52 is also capable of accepting requests and initiating necessary activities (request processing) in WS's original OO model hosted at the integration layer. Facility 52 uses XML data organization facility 56 to properly represent the data for each side.

サブスクリプション/呼び出しファシリティ54はWSについての技術的詳細(例えば、WSDL)を質問し、それに対する統一したOOモデルを形成し且つそれを統合レイヤー40に対して使用可能なアセット即ち資産のうちの1つとさせる。次いで、ファシリティ54はWS OOモデルに関連する活動をWSDL記述に従って実際の外部のWS呼び出しへ変換させる。ファシリティ54はXMLデータ整理ファシリティ56を使用してデータをXML及びOO表現へ及びそれから変換させ、それはウエブ通信ファシリティ58を使用して要求を外部WSへ伝播させ且つ応答を受取る。注意すべきことであるが、統合レイヤーは特定の技術又は言語に対して統合した(サブスクリプションした)WSの実際のバインディングを行う。ターゲットアプリケーションに依存して、統合レイヤー40はWSの統一したOOモデルに対する静的又は動的バインディングを形成することが可能である。   Subscription / call facility 54 queries technical details about WS (eg, WSDL), forms a unified OO model for it, and uses it as one of the assets available to integration layer 40. I will let you. The facility 54 then causes the activity associated with the WS OO model to be converted into an actual external WS call according to the WSDL description. Facility 54 uses XML data reduction facility 56 to convert the data to and from XML and OO representations, which uses web communication facility 58 to propagate the request to the external WS and receive the response. It should be noted that the integration layer performs the actual binding of the integrated (subscribed) WS for a particular technology or language. Depending on the target application, the integration layer 40 can form static or dynamic bindings to the WS unified OO model.

XMLデータ整理ファシリティ56は、OOデータモデル及びデータタイプをXMLで抽象化させるために使用される。ファシリティ56は統合レイヤーにより使用される統一したOOモデルと普遍的XMLデータ表現との間の双方向変換を与える。ファシリティ56は、又、データ要素関係を適切にコード変換する。例えば、ファシリティ56は別のオブジェクトを包含する1つのオブジェクトをXMLにおいて入れ子型要素として表現することが可能である。XMLデータ整理ファシリティ56はデータスキーマ及びデータタイプを表わす複数のスタンダードをサポートする。ファシリティ56は、又、XSL変換言語を使用してテンプレートに基づくデータ整理(マッピング)のためにも使用され、それはその目的のためにスタンダードとなっている。   The XML data organization facility 56 is used to abstract the OO data model and data types in XML. Facility 56 provides bi-directional conversion between the unified OO model used by the integration layer and the universal XML data representation. Facility 56 also transcodes data element relationships appropriately. For example, the facility 56 can represent one object containing another object as a nested element in XML. The XML data organization facility 56 supports multiple standards representing data schemas and data types. Facility 56 is also used for template-based data organization (mapping) using the XSL transformation language, which is the standard for that purpose.

ウエブ通信ファシリティ58は普通のネットワーキング(例えば、ウエブ)に対して適用可能な接続性及びメッセージング技術をカプセル化する。ファシリティ58はメッセージの保証された配達、ノンレピュータビリティ(non−reputability)等の通信チャンネルのセキュリティを確保する。組み込まれ且つサポートされる幾つかの公のスタンダードは、HTTP、FTP、SMTP、SSL、X.509、XSIGを包含している。MQシリーズ、MSMQ、WAP等の付加的な一般的に使用される通信メカニズムも提供することが可能である。   The web communication facility 58 encapsulates connectivity and messaging technologies applicable to ordinary networking (eg, web). The facility 58 ensures the security of the communication channel, such as guaranteed delivery of messages, non-reputability. Some public standards that are incorporated and supported are HTTP, FTP, SMTP, SSL, X. 509, including XSIG. Additional commonly used communication mechanisms such as MQ Series, MSMQ, WAP, etc. can also be provided.

該ツールはWS展開ツール44を包含することが可能であり、それは統合レイヤー内にホストされているコンポーネント(データ及びロジック)を観察し、ブラウズし、選択し且つそれらをWSとして使用可能とさせるための視覚的道具(ウエブに基づくGUI)である。デフォルトにより、ツール44は、最も適切なパラメータで自動的にWSを展開するが、又、パブリッシュされたインターフェースの選択、通信チャンネルに関するセキュリティ、呼び出しプロトコルのタイプ等を包含する特定の条件の適用を許容する。WS展開ツール44はパブリッシュ/処理ファシリティ52及び登録/発見ファシリティ50を使用する。WS展開ツール44は、又、ランタイムでWSパラメータを修正し且つWSを取り消すために使用することが可能である。   The tool can include a WS deployment tool 44 that observes, browses, selects and makes them available as WSs hosted in the integration layer (data and logic). Visual tool (web-based GUI). By default, the tool 44 automatically deploys WS with the most appropriate parameters, but also allows for the application of specific conditions including published interface selection, communication channel security, paging protocol type, etc. To do. The WS deployment tool 44 uses a publish / process facility 52 and a registration / discovery facility 50. The WS deployment tool 44 can also be used to modify WS parameters and cancel the WS at runtime.

別のツールであるWS統合ツール46は、ある基準に基づくWSの発見、選択したWSに対するサブスクリプションを可能とするウイザードのような視覚的プロセスインプリメンテーションである。ツール46は、WSを発見する場合に適切なサービスを選択するのに必要な詳細を表示し且つWSへサブスクリプションした後に統合レイヤー内にホストされる最後のアセット(OOモデル)を示す。WS統合ツール46は登録/発見ファシリティ50及びサブスクリプション/呼び出しファシリティ54を使用することが可能である。   Another tool, the WS integration tool 46, is a visual process implementation such as a wizard that allows WS discovery based on certain criteria, subscription to the selected WS. Tool 46 displays the details necessary to select the appropriate service when discovering WS and shows the last asset (OO model) hosted in the integration layer after subscribing to WS. The WS integration tool 46 can use a registration / discovery facility 50 and a subscription / call facility 54.

別のツールであるWS管理ツール48はWS管理コンソール(WSMC)である。このツールはパブリッシュ/処理ファシリティ52及びサブスクリプション/呼び出しファシリティ54とコンタクトして展開且つ統合されたWSについてのランタイムの詳細を質問する。ツール48はSR12をモニタするために登録/発見ファシリティ50を使用する。WS及びSR12についての概括的なランタイム情報はWSMCにより表示される。ツール48は、又、特定の展開されたか又は統合されたWS及びSRレポジトリーに対するQoS解析レポートを発生する。   Another tool, the WS management tool 48, is a WS management console (WSMC). The tool contacts the publish / process facility 52 and subscription / call facility 54 to query runtime details about the deployed and integrated WS. Tool 48 uses registration / discovery facility 50 to monitor SR 12. General runtime information about WS and SR12 is displayed by WSMC. The tool 48 also generates QoS analysis reports for specific deployed or integrated WS and SR repositories.

WSMCの別の責任は、ビジネスエントリを登録し、基本的ビジネスサービス及び情報を登録し、エントリを1つのSRレポジトリーから別のものへ移動させる等のために登録/発見ファシリティ50により維持される通常のビジネスエントリ及びWSテンプレート(UDDI関連)の登録データベースを表示し且つ編集することである。   Other responsibilities of WSMC are typically maintained by the registration / discovery facility 50 to register business entries, register basic business services and information, move entries from one SR repository to another, etc. Display and edit registration database of business entries and WS templates (UDDI related).

SB30が実施することのある別のサービスはウエブサービス集合及び組立である。WSを特定の技術又は言語で実現することが必要とされるものではない。普遍的にインターフェースされたネットワークに基づくサービスの新たなITパラダイムに対して遷移が発生すると、あるビジネスプロセスに対して必要とされるコンポーネントの殆どが既に容易に使用可能なものであることが判明し、且つ必要なことの全てはそれらの間の接続及び協調を行い且つ必要な場合に付加価値サービスを提供(実現)することである。このプロセスはWS集合及び組立と呼ぶことが可能である。これはハイレベルのプロセスであり、それは何か特定の技術又は言語の知識を必ずしも必要とするものではないが、ビジネスプロセス及びビジネスコンポーネント関係の知識に依存する。   Another service that SB 30 may perform is web service aggregation and assembly. It is not required to implement WS with a specific technology or language. When a transition occurs for a new IT paradigm for services based on universally interfaced networks, it turns out that most of the components required for a business process are already readily available. And all that is needed is to connect and coordinate between them and provide (realize) value-added services when necessary. This process can be referred to as WS aggregation and assembly. This is a high-level process that does not necessarily require knowledge of any particular technology or language, but relies on knowledge of business processes and business component relationships.

特定のインプリメンテーションと抽象的WS表現との間のブローカー動作即ち仲買に加えて、本WSブローカーは選択した既存のものから新たなWSの集合及び組立の機能を取ることが可能である。これを行うために、外部WSは容易に取り扱うことが可能な便利なOOモデルへ統合される。このことは、WS統合ツール46の助けを借りて行うことが可能である。集合させたWSOOモデルを定義し且つ統合させた外部WSコンポーネントのOOモデルが関与する実行シーケンスをレイアウトさせるためにモデリングツールを使用することが可能である。集合されたWS活動に関連して複数の実行シーケンスが存在する場合があり、各活動はワークフローであり且つ適宜の視覚的ツールを使用してワークフローの用語で定義される。統合レイヤー40は集合させたWSOOモデル及びワークフローシーケンスをホストすることが可能である。動的ウエブサービス展開ファシリティは集合させたWSを自動的に展開させるために使用することが可能である。集合させたWSが使用される場合には、プロセス実行ランタイムは適宜のワークフローシーケンスを実行し且つ必要である場合には統合した外部WSを喚起することが可能である(それらのOOモデルを介して)。   In addition to brokering or brokering between a particular implementation and an abstract WS representation, the WS broker can take on the functions of new WS aggregation and assembly from selected existing ones. To do this, the external WS is integrated into a convenient OO model that can be easily handled. This can be done with the help of the WS integration tool 46. A modeling tool can be used to define an aggregated WSOO model and lay out an execution sequence involving an integrated external WS component OO model. There may be multiple execution sequences associated with the aggregated WS activity, each activity being a workflow and defined in workflow terms using an appropriate visual tool. The integration layer 40 can host the aggregated WSOO model and workflow sequence. The dynamic web service deployment facility can be used to automatically deploy an aggregated WS. If aggregated WS is used, the process execution runtime can execute the appropriate workflow sequence and invoke an integrated external WS if necessary (via their OO model). ).

注意すべきことであるが、集合及び組立に関連して適用されるSBのコア機能において尚且つ前進することの必要性が存在する場合がある。例えば、ある者がハードウエアセキュリティトランスコーダーに基づいて新たな付加価値WSを提供し且つそれをその他の既存の外部WS(アカウントDB又は証明権限)と共にそれを新たな高速の認証WS内へ集合させる場合がある。   It should be noted that there may still be a need to move forward in the core functions of SB applied in connection with assembly and assembly. For example, a person provides a new value-added WS based on a hardware security transcoder and assembles it along with other existing external WS (account DB or certification authority) into a new fast authentication WS There is a case.

図5はウエブサービスブローカーアーキテクチャ(集合及び組立)のブロック図である。WS集合及び組立はSB30のコアへ3つのコンポーネントを導入する。これらのコンポーネントは、コンポーネント/プロセスモデリングツール(UML)60、プロセス実行ランタイム(ワークフロー状)62、動的ウエブサービス展開ファシリティ64を包含している。   FIG. 5 is a block diagram of the web service broker architecture (aggregation and assembly). WS assembly and assembly introduces three components into the core of SB30. These components include a component / process modeling tool (UML) 60, a process execution runtime (workflow-like) 62, and a dynamic web service deployment facility 64.

コンポーネント/プロセスモデリングツール(UML)60は、OOコンポーネントの図及び関係マップを描くことによりOOモデル及び処理シーケンスを定義するための視覚的道具である。それは、例えば、OOコンポーネントモデルを組込み且つ最終的な集合されたOOモデル及び処理シーケンスを展開させるために統合レイヤー40に対してインターフェースするUMLを基礎としたモデリングツールとすることが可能である。このツールは、又、集合させたOOモデルを逆インポートし、それを編集及び修正し、次いで統合レイヤー40に対して変化を反映させるために使用することが可能である。   The Component / Process Modeling Tool (UML) 60 is a visual tool for defining OO models and processing sequences by drawing OO component diagrams and relationship maps. It can be, for example, a UML based modeling tool that incorporates an OO component model and interfaces to the integration layer 40 to develop the final assembled OO model and processing sequence. This tool can also be used to deimport the assembled OO model, edit and modify it, and then reflect the changes to the integration layer 40.

処理実行ランタイム62は統合レイヤー40においてホストされている集合させたOOモデルから処理シーケンスを取り且つそれらを適切なコンテキスト及び順番で実行する。プロセス62はその実行を同期させ且つスケジュールしてコンポーネント/プロセスモデリングツール60において最初に設計された関係を実現する。   The process execution runtime 62 takes process sequences from the aggregated OO models hosted at the integration layer 40 and executes them in the appropriate context and order. Process 62 synchronizes and schedules its execution to implement the originally designed relationship in component / process modeling tool 60.

動的ウエブサービス展開ファシリティ64は新たなサービスコンポーネントからなる集合されたOOモデルをWSとして自動的に展開する。ファシリティ64はそうでなければWS展開ツール44(図4)がそのために使用されるであろうデフォルト展開プロセスを実現するが、この場合には、OOコンポーネントをWSとさせることに関する決定は、集合されたWSとして元々設計されるべきOOモデル(統合レイヤー40によりホストされる)の動的認識に基づいている。ファシリティ64は、関連するOOモデルが変化する場合(例えば、モデリングツールにより)、既に展開され集合されたWSを修正することが可能である。   The dynamic web service deployment facility 64 automatically deploys an aggregated OO model composed of new service components as a WS. Facility 64 implements a default deployment process for which WS deployment tool 44 (FIG. 4) would otherwise be used, but in this case decisions regarding having the OO component as WS are aggregated. It is based on dynamic recognition of an OO model (hosted by the integration layer 40) that is originally designed as a WS. The facility 64 can modify the WS that has already been deployed and aggregated if the associated OO model changes (eg, by a modeling tool).

図7は既存のプロダクト及び技術を普遍的に相互運用可能なビジネスコンポーネント即ちウエブサービスとさせることが可能な一般的に共通コンポーネントブローカー(CCB)200と呼ばれる共通コンポーネントとしてウエブサービスブローカー(WSB)を図示している。CCB200は、又、ウエブサービス(WS)のプラットフォーム及びインプリメンテーション中立モデル駆動型構造を提供する。   FIG. 7 illustrates a web service broker (WSB) as a common component, commonly referred to as a common component broker (CCB) 200, that allows existing products and technologies to be universally interoperable business components or web services. Show. CCB 200 also provides a web service (WS) platform and implementation-neutral model driven structure.

CCB200が適用可能なアプリケーションシナリオのうちの幾つかの例は、既存のプロダクトが外部WS(例えば、NETへールストームカレンダーサービス)と統合することから利点が得られる場合、新たなWSが所望のパブリックサービスコントラクトに従って構築されるべき場合等の場合に、例えば.NET又はJ2EE/JAXP環境のようなWSプラットフォームに対する既存のプロダクトをイネーブルさせることを包含している。一般的に、数年で、多くのビジネスオートメーションシステム、ユーザインターフェース装置、開発ツールがWSイネーブルドとされる蓋然性がある。然しながら、現在のところ、普遍的な相互運用性に対する既存の技術及び製品をWSとしてイネーブルさせることが所望されている。CCB200は特定のプラットフォームへ結合されておらず且つランするためにアプリケーションサーバーもその他のプロダクトも必要とすることのないパッケージ化したエンジン及びツールと共にこの必要性に対処している。   Some examples of application scenarios to which CCB 200 can be applied are where a new WS may be the desired public if the existing product benefits from integrating with an external WS (eg, NET Health Calendar Service). When it is to be constructed according to the service contract, for example: Includes enabling existing products for WS platforms such as NET or J2EE / JAXP environments. In general, over the years, there is a probability that many business automation systems, user interface devices, and development tools will be WS enabled. However, it is currently desirable to enable existing technologies and products for universal interoperability as WS. CCB 200 addresses this need with packaged engines and tools that are not tied to a particular platform and do not require application servers or other products to run.

CCB200はオープンソース技術を使用することが可能である。例えば、CCB200は共通のSOAPプロトコルスタックとしてApache Axisを利用することが可能であり、HTTP通信等を実施するためにApache Tomcatを使用する場合がある。   The CCB 200 can use open source technology. For example, the CCB 200 can use Apache Axis as a common SOAP protocol stack, and may use Apache Tomcat to implement HTTP communication or the like.

図7はCCB200のアーキテクチャの図を示している。ウエブサービスブローカーコア202はパブリッシュされ且つサブスクリプションされたWSのプールを維持する。パブリッシュされたWSは、直接的に(例えば、Javaクラス等の場合)、又は例えばアドバンテージIS統合(例えば、より広範なOOカプセル化のため及びC++インプリメンテーションのため)を介して実際のサービスインプリメンテーションへマップされるコールプロセッサによりランタイムで動的にイネーブルされる。サブスクリプションされたWSはランタイムで動作可能な動的プロキシ内へマップされ、そのクライエント側静的プロキシは、例えば、Java rmiを使用してコール即ち呼び出すことが可能である。   FIG. 7 shows a diagram of the CCB 200 architecture. The web service broker core 202 maintains a pool of published and subscribed WSs. The published WS can be used to implement the actual service implementation either directly (eg, in the case of Java classes, etc.) or via, for example, Advantage IS integration (eg, for broader OO encapsulation and C ++ implementations). Dynamically enabled at runtime by the call processor mapped to the The subscribed WS is mapped into a dynamic proxy that can run at runtime, and the client-side static proxy can be called using, for example, Java rmi.

以下のコンポーネントは、本発明の種々の側面を実現するためにCCB200内に包含させることが可能である。パブリッシュ用コア204はインターネットプロトコルにわたっての要求を処理し、実際のサービスインプリメンテーションを喚起し、WS記述を発生する。パブリッシュ用コア204は、又、1組の良好に定義されたAPI及びレポジトリィデータモデルを包含することが可能である。パブリッシュ用コア204はトランズアクション集合、データ接続、セキュリティ及びその他の詳細を取り扱うことが可能である。このパブリッシュ用コアはアドバンテージISオブジェクト、Javaクラス等のための呼び出しプラグインを実現することが可能である。   The following components can be included in the CCB 200 to implement various aspects of the present invention. The publishing core 204 processes requests across Internet protocols, invokes the actual service implementation, and generates a WS description. The publishing core 204 can also include a set of well-defined APIs and repository data models. The publishing core 204 can handle transaction sets, data connections, security, and other details. This publishing core can implement call plug-ins for Advantage IS objects, Java classes, and the like.

登録コア206はWSをパブリック/会社サービスレジストリィ内に登録することが可能であり且つ登録情報をレポジトリィ208において及びサービスレジストリィ12内において維持し且つ同期させることが可能である。   The registration core 206 can register the WS in the public / company service registry and maintain and synchronize the registration information in the repository 208 and in the service registry 12.

サブスクリプションコア210はパブリックサービスレジストリィにおいてWSを発見し、WS記述に質問し、サブスクライブされたWSを言語インプリメンテーション(例えば、Java)に対してバインドし、インターネットプロトコルを介して要求を発生し且つサブスクライブしたWSへ送信する。サブスクリプションコア210は、又、トランズアクション、セキュリティ及びその他の詳細を取り扱うために1組の良好に定義されたAPIを包含することが可能である。サブスクライブしたWSをバインディングすることは、Java又はアドバンテージISコネクタにおいてクライエントプロキシを発生する場合がある。   Subscription core 210 finds WS in public service registry, queries WS description, binds subscribed WS to language implementation (eg, Java) and generates request via Internet protocol To the subscribed WS. Subscription core 210 may also include a set of well-defined APIs to handle transactions, security, and other details. Binding a subscribed WS may generate a client proxy in a Java or Advantage IS connector.

セキュリティコア212は、例えば、パブリッシュ用コア204、サブスクリプションコア210、登録コア206と統合して認証/認可手順を実施するeTrust WACクライエントのようなセキュリティシステムとすることが可能である。   The security core 212 may be a security system such as an eTrust WAC client that integrates with the publishing core 204, the subscription core 210, and the registration core 206 to perform an authentication / authorization procedure.

レポジトリィ208はSQLデータベースとすることが可能であり且つ例えばアドバンテージISコネクタとして実現されるオブジェクト対リレーショナルマッパーを包含することが可能である。レポジトリィ208はパブリッシュされ且つサブスクライブされたサービス、トランズアクション及び通信ログ、システムコンフィギュレーションパラメータ等に関する情報を維持し且つ編成することが可能である。レポジトリィ208は、又、CCB200に対する主要な制御センターとして機能することが可能である。例えば、アプリケーションは、単に、新たなサービスインプリメンテーション記述子オブジェクトをレポジトリィ208内にドロップして展開させ且つWSを活性化させることが可能である。次いで、CCB200はレポジトリィ208からイベントをピックアップすることが可能である。   The repository 208 can be an SQL database and can include an object-to-relational mapper implemented, for example, as an Advantage IS connector. The repository 208 is capable of maintaining and organizing information about published and subscribed services, transactions and communication logs, system configuration parameters, and the like. The repository 208 can also function as the main control center for the CCB 200. For example, an application can simply drop a new service implementation descriptor object into the repository 208 for deployment and activate WS. CCB 200 can then pick up the event from repository 208.

ウエブアクセスコントロール(WAC)214は、集中させたポリシーに基づく認可及び認証サーバーを与えるためにeTrust等のセキュリティシステムとすることが可能である。WAC214はユーザ/グループアイデンティティのレポジトリィとしてLDAPディレクトリィを使用することが可能である。WAC214はセキュリティポリシー管理及びユーザ/グループの作成/削除等のための管理ツールを提供する。   Web Access Control (WAC) 214 can be a security system such as eTrust to provide an authorization and authentication server based on a centralized policy. The WAC 214 can use the LDAP directory as a repository of user / group identities. The WAC 214 provides a management tool for security policy management and user / group creation / deletion.

アドバンテージ統合サーバー等のエンタプライズアプリケーション統合レイヤー216を使用してデータソースを統一し且つトランズアクション/接続集合、イベント管理、オブジェクトキャッシング、ロードバランシング、メッセージング、ラップC++サービスインプリメンテーション等を提供することが可能である。   Use enterprise application integration layer 216 such as Advantage Integration Server to unify data sources and provide transaction / connection collection, event management, object caching, load balancing, messaging, wrap C ++ service implementation, etc. Is possible.

Java218はCCB200をラン即ち稼動させることが可能であり且つサブスクライブしたウエブサービス用のホストクライエントプロキシのみならずJavaにおけるウエブサービスインプリメンテーションへのアクセスを提供することが可能である。   Java 218 can run CCB 200 and can provide access to web service implementations in Java as well as host client proxies for subscribed web services.

外部プロダクト219はC++又はJavaスケルトンによりマップされるか又はラップされたサービスインプリメンテーションを提供することが可能である。外部プロダクト219は、又、サブスクライブしたウエブサービスに対して発生されるクライエントプロキシを消費(使用)することが可能である。   The external product 219 can provide a service implementation mapped or wrapped by a C ++ or Java skeleton. The external product 219 can also consume (use) the client proxy generated for the subscribed web service.

基本的なウエブGUI220はウエブに基づくユーザインターフェースとすることが可能であり、それはサービスインプリメンテーション(例えば、Java又はアドバンデージIS)をブラウジングし且つ選択したインプリメンテーション(例えば、パブリッシュ用GUI)を有するWSをパブリッシュすることを可能とする。GUI220は、又、現在パブリッシュされ且つサブスクライブされたサービスをリストし、それらの実行/登録パラメータをランタイムで修正し、現在のトランズアクションをモニタし、通信ログを解析し、性能グラフを表示する等(例えば、管理及びコンフィギュレーションGUI)を行うことを可能とする。グルーバルコンフィギュレーションは、サービスレジスト仕様、ビジネス/カテゴリ登録、ネットワークプロキシ情報等を包含することが可能である。   The basic web GUI 220 can be a web-based user interface, which browses service implementations (eg, Java or Advanced IS) and selects selected implementations (eg, publishing GUI). It is possible to publish the WS that it has. GUI 220 also lists currently published and subscribed services, modifies their execution / registration parameters at runtime, monitors current transactions, analyzes communication logs, displays performance graphs, etc. (E.g., management and configuration GUI). The global configuration can include service registration specifications, business / category registration, network proxy information, and the like.

サブスクリプション拡張GUI222は特定のWSに対してのパブリック/会社サービスレジストリィをクエリーすること即ち質問を発することを可能とするウイザードのようなユーザインターフェースプロセスとして提供することが可能である。本システムは、Javaクラス又はEJBプロキシを発生することが可能であり、それはクライエントの使用のためにWSをカプセル化する。本システムは、又、例えばC++又はVB又はその他の言語に対してバインディングするために例えばアドバンテージISオブジェクトとしてクライエントWSプロキシを使用可能なものとすることが可能である。   The subscription extension GUI 222 can be provided as a wizard-like user interface process that allows to query the public / company service registry for a particular WS. The system can generate Java classes or EJB proxies, which encapsulate WS for client use. The system may also allow the client WS proxy to be used, for example as an Advantage IS object, for binding to C ++ or VB or other languages, for example.

サービスコントラクトデザイナー224はサービスコントラクト(データ構造及びインターフェースで表現されている)のUML(又はUMLもどき)モデルを取り且つWS定義(例えば、WSDL)を作成することが可能である。このWSDL定義は任意の特定の主体エリアに対する垂直WSスタンダードとして使用することが可能である。WSDLはスタンダードのボディに対して提出することが可能である。デザイナーは、オリジナルのサービスコントラクトに適合するJava又はC++におけるインプリメンテーションスケルトンを発生することが可能である。   The service contract designer 224 can take a UML (or UML-like) model of a service contract (represented by a data structure and interface) and create a WS definition (eg, WSDL). This WSDL definition can be used as a vertical WS standard for any particular subject area. WSDL can be submitted against standard bodies. The designer can generate an implementation skeleton in Java or C ++ that matches the original service contract.

本発明は、本開示の教示に従ってプログラムされた1つ又はそれ以上の従来の汎用デジタルコンピュータ及び/又はサーバーを使用して便宜的に実現することが可能である。適宜のソフトウエアコーディングは、本開示の教示に基づいて熟練したプログラマーにより調整することが可能である。本発明は、又、応用特定集積回路を調整することにより又は従来のコンポーネント回路の適宜のネットワークを相互接続することにより実現することも可能である。   The invention can be conveniently implemented using one or more conventional general purpose digital computers and / or servers programmed in accordance with the teachings of the present disclosure. The appropriate software coding can be adjusted by skilled programmers based on the teachings of the present disclosure. The present invention can also be realized by adjusting application specific integrated circuits or by interconnecting appropriate networks of conventional component circuits.

本発明の多数の付加的な修正及び変形例はこれらの教示に鑑み可能なものである。   Numerous additional modifications and variations of the present invention are possible in light of these teachings.

独立したビジネスインタラクションの1例を示したブロック図。The block diagram which showed one example of the independent business interaction. ウエブサービス概念を示したブロック図。The block diagram which showed the web service concept. サービスブローカーを有するウエブサービス概念を示したブロック図。The block diagram which showed the web service concept which has a service broker. ウエブサービスブローカーアーキテクチャを示したブロック図。Block diagram showing the web service broker architecture. 集合及び組立用のウエブサービスブローカーアーキテクチャを示したブロック図。1 is a block diagram illustrating a web service broker architecture for aggregation and assembly. 本発明の実施例を実現することが可能なコンピュータシステムの1例を示したブロック図。1 is a block diagram showing an example of a computer system capable of realizing an embodiment of the present invention. ウエブサービスブローカーの別の実施例の1例を示したブロック図。The block diagram which showed an example of another Example of a web service broker.

Claims (12)

ウエブサービスブローカー方法において、
エンタプライズとサービスクライエント及びサービスプロバイダーのうちの少なくとも1つとの間にインターフェースを設け、前記サービスクライエントはサービスレジストリ上のウエブサービスを発見し且つ前記サービスプロバイダーからの対応するウエブサービスを使用し、
前記エンタプライズと前記サービスクライエント及びサービスプロバイダーのうちの少なくとも1つとの間で通信を行い、
(a)前記エンタプライズから又はそれへの情報を前記サービスクライエント及びサービスプロバイダーのうちの少なくとも1つに対して適切なフォームへ変換し、且つ(b)前記サービスクライエント及びサービスプロバイダーのうちの少なくとも1つから又はそれへの情報を前記エンタプライズにとって適切なフォームへ変換する、のうちの少なくとも1つを実施する、
ことを包含しているウエブサービスブローカー方法。
In the web service broker method,
Providing an interface between an enterprise and at least one of a service client and a service provider, wherein the service client discovers a web service on a service registry and uses a corresponding web service from the service provider;
Communicating between the enterprise and at least one of the service client and service provider;
(A) converting information from or to the enterprise into a form suitable for at least one of the service client and service provider; and (b) of the service client and service provider. Performing at least one of converting information from or to at least one into a form suitable for the enterprise;
A web service broker method that encompasses that.
請求項1において、前記エンタプライズがソフトウエアプロダクトを有しているウエブサービスブローカー。   2. The web service broker according to claim 1, wherein the enterprise includes a software product. 請求項2において、前記ウエブサービスブローカーが前記ソフトウエアプロダクトをウエブサービスプラットフォームに対してイネーブルさせるために設けられているウエブサービスブローカー。   3. The web service broker of claim 2, wherein the web service broker is provided to enable the software product to a web service platform. 請求項3において、前記ウエブサービスプラットフォームが.NET及びJ2EE/JAXPのうちの少なくとも1つを有しているウエブサービスブローカー。   4. The web service platform according to claim 3, wherein the web service platform is. A web service broker having at least one of NET and J2EE / JAXP. ウエブサービスブローカーを実現するためのコンピュータによって実行可能なコードを包含しているコンピュータ記録媒体において、
エンタプライズとサービスクライエント及びサービスプロバイダーのうちの少なくとも1つとの間においてインターフェースを与え、前記サービスクライエントがサービスレジストリ上のウエブサービスを発見し且つ前記サービスプロバイダーから対応するウエブサービスを使用するコード、
前記エンタプライズと前記サービスクライエント及びサービスプロバイダーのうちの少なくとも1つとの間で通信を行うためのコード、
(a)前記エンタプライズから又はそれへの情報を前記サービスクライエント及びサービスプロバイダーのうちの少なくとも1つに対して適切なフォームへ変換し、且つ(b)前記サービスクライエント及びサービスプロバイダーのうちの少なくとも1つから又はそれへの情報を前記エンタプライズに対して適切なフォームへ変換する、のうちの少なくとも1つを実施するためのコード、
を有しているコンピュータ記録媒体。
In a computer recording medium containing code executable by a computer for implementing a web service broker,
Code that provides an interface between an enterprise and at least one of a service client and a service provider, wherein the service client discovers a web service on a service registry and uses the corresponding web service from the service provider;
Code for communicating between the enterprise and at least one of the service client and service provider;
(A) converting information from or to the enterprise into a form suitable for at least one of the service client and service provider; and (b) of the service client and service provider. Code for performing at least one of converting information from or to at least one into a form suitable for said enterprise
A computer recording medium.
請求項5において、前記エンタプライズがソフトウエアプロダクトを有しているコンピュータ記録媒体。   6. The computer recording medium according to claim 5, wherein the enterprise has a software product. 請求項6において、前記ウエブサービスブローカーが前記ソフトウエアプロダクトをウエブサービスプラットフォームに対してイネーブルさせるために設けられているコンピュータ記録媒体。   7. The computer storage medium of claim 6, wherein the web service broker is provided for enabling the software product to a web service platform. 請求項7において、前記ウエブサービスプラットフォームが.NET及びJ2EE/JAXPのうちの少なくとも1つを有しているコンピュータ記録媒体。   8. The web service platform according to claim 7, wherein the web service platform is. A computer recording medium having at least one of NET and J2EE / JAXP. ウエブサービスブローカー方法を実施するためのプログラムされているコンピュータシステムにおいて、
エンタプライズとサービスクライエント及びサービスプロバイダーのうちの少なくとも1つとの間にインターフェースを与え、前記サービスクライエントがサービスレジストリ上のウエブサービスを発見し且つ前記サービスプロバイダーからの対応するウエブサービスを使用し、
前記エンタプライズとサービスクライエント及びサービスプロバイダーのうちの少なくとも1つとの間で通信を行い、
(a)前記エンタプライズから又はそれへの情報を前記サービスクライエント及びサービスプロバイダーのうちの少なくとも1つに対して適切なフォームへ変換し、且つ(b)前記サービスクライエント及びサービスプロバイダーのうちの少なくとも1つから又はそれへの情報を前記エンタプライズに対して適切なフォームへ変換する、のうちの少なくとも1つを実施する、
ことを包含しているプログラムされているコンピュータシステム。
In a programmed computer system for implementing a web service broker method,
Providing an interface between an enterprise and at least one of a service client and a service provider, wherein the service client discovers a web service on a service registry and uses a corresponding web service from the service provider;
Communicating between the enterprise and at least one of a service client and a service provider;
(A) converting information from or to the enterprise into a form suitable for at least one of the service client and service provider; and (b) of the service client and service provider. Performing at least one of converting information from or to at least one into a form suitable for the enterprise;
A programmed computer system that encompasses that.
請求項9において、前記エンタプライズがソフトウエアプロダクトを有しているプログラムされているコンピュータシステム。   10. A programmed computer system according to claim 9, wherein the enterprise comprises a software product. 請求項10において、前記ウエブサービスブローカーが前記ソフトウエアプロダクトをウエブサービスプラットフォームに対してイネーブルさせるために設けられているプログラムされているコンピュータシステム。   11. The programmed computer system of claim 10, wherein the web service broker is provided to enable the software product to a web service platform. 請求項11において、前記ウエブサービスプラットフォームが.NET及びJ2EE/JAXPのうちの少なくとも1つを有しているプログラムされているコンピュータシステム。   12. The web service platform according to claim 11, wherein the web service platform is. A programmed computer system having at least one of NET and J2EE / JAXP.
JP2005500291A 2003-05-19 2003-05-19 Web service broker Pending JP2006526189A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2003/012272 WO2004107197A1 (en) 2002-04-19 2003-05-19 Web services broker

Publications (1)

Publication Number Publication Date
JP2006526189A true JP2006526189A (en) 2006-11-16

Family

ID=37544705

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005500291A Pending JP2006526189A (en) 2003-05-19 2003-05-19 Web service broker

Country Status (1)

Country Link
JP (1) JP2006526189A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008140052A (en) * 2006-11-30 2008-06-19 Ricoh Co Ltd Application software and information processor
JP2012507087A (en) * 2008-10-24 2012-03-22 マイクロソフト コーポレーション Providing functions to client services by incorporating and binding contracts

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008140052A (en) * 2006-11-30 2008-06-19 Ricoh Co Ltd Application software and information processor
JP2012507087A (en) * 2008-10-24 2012-03-22 マイクロソフト コーポレーション Providing functions to client services by incorporating and binding contracts

Similar Documents

Publication Publication Date Title
US7725590B2 (en) Web services broker
US8589594B2 (en) Programmatic management of software resources in a content framework environment
US7937500B2 (en) Dynamic, real-time integration of software resources through services of a content framework
US6985939B2 (en) Building distributed software services as aggregations of other services
Tsalgatidou et al. An overview of standards and related technology in web services
JP4594621B2 (en) Supplying aggregate services in a distributed computing environment
Papazoglou et al. A survey of web service technologies
US20040015564A1 (en) Method of developing a web service and marketing products or services used in developing a web service
US20030163513A1 (en) Providing role-based views from business web portals
US20040221001A1 (en) Web service architecture and methods
EP1374047A2 (en) A method and a bridge for coupling a server and a client of different object types
JP2005506618A (en) Application view components for system integration
Pathak Pro WCF 4: practical Microsoft SOA implementation
Umar The emerging role of the Web for enterprise applications and ASPs
US20040006571A1 (en) Architecture and method for product catalog web service
JP2006526189A (en) Web service broker
Anane et al. Hybrid composition of web services and grid services
KR20050037990A (en) Web services broker
Sheng et al. Discovering e-services using UDDI in SELF-SERV
AU2003253597A1 (en) Web services broker
Low et al. Using web services and business process execution language for HLA-based distributed supply-chain simulation
Colan Evolution or Revolution?
Apshankar et al. Web Services Architectures
Zhang et al. Web Services Modeling
Sahni Developing Java Web Services to Expose the WorkTrak RMI Server to the Web and XML-Based Clients