WebSphere Business Connectionオファリングを使用すると、組織内で複雑なビジネス・プロセス・フローを実行可能になります。また、Webサービスだけでなく、RosettaNet、EDI、EDI-INT (AS1/AS2)、およびebXMLを含むさまざまな標準プロトコルを使用している取引先と接続することができます(参考文献のリストを参照してください)。企業で使用する場合、はじめはエントリー・レベルのBusiness Connection Expressの機能を利用して、シンプルで低コストなWebサービス接続を構築し、その後段階的にWebSphere Business Connectionスタンダード・エディションおよびエンタープライズ・エディションを使用して、他の取引先や、より複雑なビジネス・プロセスをサポートするように拡張することが可能です。また、すべてのWebSphere Business Connectionオファリングが提供するWebサービスのゲートウェイ機能だけではなく、取引先管理や、HTTPRを使用して確実に送達可能な「大容量ファイル転送」文書データ交換を含めた、主幹業務にかかわる多くの機能を備えています。HTTPRとはHTTPを拡張したもので、信頼性の高いメッセージ・データ交換をサポートします。また、WebSphere Business Connectionオファリングは、WebSphere Business Integration (WBI) ファミリーを構成する、より大規模なビジネス・プロセスの統合オファリングのセットの一部です。
ここでは、図1 に示されているアーキテクチャーおよびIBM CrossWorldsを使用したWebサービスを構築するメカニズムについて、詳しく説明します。
図1. IBM CrossWorldsとWebサービス
図1 に示されているように、WebSphere Application ServerがCrossWorldsで生成されたプロキシー・クラスをホストしています。着信側のServer Access Interface (SAI) APIでは、外部プロセスがInterchange Server内でコラボレーションの実行を要求できるようになっています。SAIは呼び出しによって起動するフローをサポートします。このフローは、非永続で同期式の要求/応答データ交換をサポートします。SAIは、外部要求を処理します。また、Interchange Server (ICS) からの発信側では、Simple Object Access Protocol (SOAP) コネクターが、CrossWorldsコラボレーションが外部Webサービスを呼び出すための手段を提供します。
IBM CrossWorlds Webサービスのインターフェースは、それだけでも充分シンプルで高機能なものです。しかし、複雑なB2Bビジネス・プロセスのデータ交換をサポートするには、多少インフラストラクチャーを追加する方が望ましいと言えます。Webサービス対応のB2Bゲートウェイは、より多くの機能や必須のインフラストラクチャーを備えています。過去30年間、B2Bゲートウェイの実装は、テクノロジーの進歩にともない改善され続けてきました。B2Bゲートウェイが現れ始めた当初から、B2Bゲートウェイには「制御ポイント」機能、すなわちパブリック・プロセスを分離したり、取引先がプライベート・プロセスからアクセスすることを可能にしたり、企業内からのみアクセスを許したりするような機能が備わっていました。
下記の表1 では、B2Bゲートウェイに一般的に見受けられる、キーとなる管理機能および運用機能をいくつかリストしています。管理機能には、登録、レポート作成、およびB2Bの取引先のトラッキングを行う、Partner profile management (PPM) 機能が含まれています。Partner agreement management (PAM) は、もう一つのキーとなる管理機能です。この機能を使用すると、どのようなプロトコル、メッセージ、およびサービス品質(QOS) で、取引先がお互い対話することを求めているかが分かります。取引先合意には、取引先が求める技術的な観点とビジネス的な観点の両方が記述されています。
運用機能の多くでは、管理機能をサポートしています。運用機能には、フロー制御、使用状況モニター、およびセキュリティーが含まれています。運用的には、B2Bゲートウェイは、質的観点と量的観点の両方から、メッセージのフロー制御ポイントとして機能します。システムが過剰なメッセージでいっぱいになるのも問題ですが、それより問題となることは、システムがもともと処理されるべきでなかったメッセージでいっぱいになることです。適切に設計されたゲートウェイであれは、メッセージを適切な処理チャネルへ切り分け、これらそれぞれのチャネルにおいて不正な形式もしくは不適切なメッセージをフィルターします。また、この方法は、取引先合意の中で制定されているQOS定義に基づき、いくつかのメッセージを優先するという点で、有益です。計量、監査、請求をサポートするための使用状況モニターでも、サービス品質コミットメントをサポートする必要があります。最後に、B2Bゲートウェイでは、許可および認証を含むセキュリティー機能要件もサポートしている必要があります。
表1. B2Bゲートウェイに必要な制御ポイント機能の抜粋
| 管理機能 | 運用機能 |
|---|---|
|
|
Webサービス・ベースのB2Bデータ交換は、ゲートウェイを利用するという点で、従来のB2Bプロトコルと同じくらいメリットがあります。しかし、Webサービスはかなりの疎結合が可能という点でより有利です。WebサービスをB2Bデータ交換で使用することは、企業内でプライベート・プロセスをカプセル化および抽象化し、これらのプロセスを選択してパブリックでアクセス可能にするための、理想的な選択であると言えます。また、Webサービスは、トランスポートおよびデータ交換を助ける他の従来のB2Bデータ交換プロトコルのラッパーとして使用することもできます。
プロセスの抽象化を行うには、Webサービスに固有のカプセル化 および抽象化 を行います。WebサービスのB2Bゲートウェイでは、これ以外に、表2 にリストされている、Webサービス・モデルに固有の考慮事項2点についても検討することが必要です。
表2. B2Bゲートウェイを実現するWebサービスに必要な追加機能
| カプセル化および抽象化 | 呼び出しからのデプロイメントの分離 | 公開および検索 |
|---|---|---|
|
|
|
Webサービスを生成する間に多くのファイルが作成されます。その中には、UDDIレジストリーをデプロイするWeb Services Description Language (WSDL) ファイルも含まれています。Webサービスのゲートウェイが適切に設計されていれば、UDDIレジストリーを管理して簡単に公開および検索できます。Webサービスを生成する間に作成されるもう1つのキーとなるファイルは、プロキシー・クラスです。プロキシー・クラスは、EARファイルを用いてアプリケーションWebサーバーにデプロイすることができます。Webサービスのゲートウェイを有効に設計すれば、制御ポイントとして呼び出すWebサービスのクリティカル・パスにゲートウェイを置くことで、その呼び出しからWebサービスのデプロイメントを分離することもできます。最終的な効果は、企業内のどこに、どのようにプロキシー・クラスをデプロイもしくは再デプロイするかは、アプリケーションの呼び出しには関係しなくなるということです。
この記事の以降で、上記の表で概説した機能を詳しく説明することにより、WebSphere Business ConnectionがどのようにIBM CrossWorlds Webサービスのアーキテクチャーを拡張するのかを説明します。
WebSphere Business Connectionでは、Web Services Invocation Framework (WSIF) APIを使用して、ゲートウェイ内でデプロイメントと呼び出しを分離することができます。Webサービスをデプロイする場所と方法は、アプリケーションの呼び出しには影響しなくなります。時間がたつと、Webサービスのターゲット・アプリケーションの位置や結合が変わる可能性がありますが、これらの詳細情報は、常にWebSphere Business Connectionのゲートウェイで処理されています。
IBM CrossWorlds、WebSphere Business Connection、およびWebサービス
WebSphere Business Connectionオファリングは、単にWebサービスのゲートウェイにおける対話を容易にするだけではなく、より優れた機能を備えています。WebSphere Business Connectionのスタンダード・エディションおよびエンタープライズ・エディションでは、EDIおよびRosettaNet、応答不要の文書データ交換、大容量ファイル転送、および登録やサービス提供を含めた多くの管理機能をサポートしています。セキュリティー機能には、許可および認証の機能があります。
WebSphere Business Connectionのゲートウェイ・レベル認証 は、WebSphere Application Serverの役割および領域のセキュリティー機能を使用することによって実行できます (セキュリティーに関する詳細は、参考文献を参照してください)。この機能を使用すると、ゲートウェイ・チャネル・アプリケーションを、適切なユーザーIDおよびパスワードを提供したWebサービスの要求者にのみアクセス権を与えるよう、変更することができます。また、操作レベル認証 でも、特定のWebサービス内の個々のメソッドにセキュリティーを適用することができます。この方法を使用すると、Webサービスの操作に対応したEnterprise JavaBeans (EJB) メソッドが作成されます。しかし、このメソッドは、セキュリティーのテンプレートとして働くためにのみ作成されたものです。ターゲットとなるWebサービスの操作が呼び出される前に、Webサービスのセキュリティーに代わるものとしてEJBメソッドに呼び出しが作成されます。ターゲットWebサービス自体は、それをEARファイルに「ラップ」し、役割ベース(role based)の認証をこのEARファイルに適用することにより、セキュリティーを保護しています。
WebSphere Business Connection Expressには、WebSphere Business Connectionオファリングのすべてで提供されるWebサービスのゲートウェイ機能と同じ機能があります。図2 では、WebSphere Business Connection Expressをインストールして起動した後のWebSphere Application Serverの管理コンソールのビューを示しています。WebSphere Business Connection Webサービス・ゲートウェイ (WSGW) の開始画面が、6つの関連するチャネルと共に表示されています。
WebSphere Business Connection Webサービス・ゲートウェイは、Webサービス・ゲートウェイの以前のバージョン (IBM alphaWorksから入手可能)とはいくつかの重要な点で違いがあります。たとえば、WebSphere Business Connection Webサービス・ゲートウェイは、WebSphere Application Server内でEJBコンテナーとして働きます。大容量ファイル転送機能をサポートするために、Apache AXISチャネルおよびLFTチャネルなどのチャネルが追加されました。また、WebSphere Business Connection Webサービス・ゲートウェイには、WebSphere Business Connectionを使用する各チャネル・タイプの2つの事前構成インスタンスが備わっています。2つのチャネルのうち、1つは発信フローに使用するプライベート・チャネルで、もう1つは着信フローに使用するパブリック・チャネルです。ゲートウェイ内のこれらのチャネルにより、パブリックおよびプライベート両方のビジネス・プロセスのオーケストレーション (バランスの良い統合)のための制御ポイントとして、それを機能させることができます。
図2. WebSphere Application ServerのWebSphere Business Connectionゲートウェイ・チャネル
図3 で示しているのは、WebSphere Application ServerにWebSphere Business Connection Webサービス・ゲートウェイを追加して、IBM CrossWorlds Webサービスのアーキテクチャー (図1 参照) を拡張したものです。また、パブリックおよびプライベート・チャネルを使用して着信および発信Webサービスのフローをデモンストレーションするために、2つの企業がインターネットで接続する環境を作成しました。企業Aの図では、CrossWorlds SOAPコネクター (1) を介して、WebSphere Business Connection Webサービス・ゲートウェイのプライベート・チャネルに呼び出しを発信したことを示しています。企業Bの図では、企業AからのWebサービスの呼び出し (2) が、インターネットを介して企業BのWebSphere Business Connection WebサービスのパブリックSOAPチャネルに着信したこと (3) を示しています。この呼び出しは、SOAPプロキシー・クラスによって、企業BのCrossWorlds SAIに向かうように設定されます (4)。
図3. CrossWorlds Webサービスのアーキテクチャーに適用したWebSphere Business Connectionゲートウェイ
WebSphere Business Connection Webサービス・ゲートウェイは、上記の図の中の番号で示されているように、以下のいくつかの主要なコンポーネントから成り立っています。
- Gateway Managerには、検証、許可、ロギング、経路指定、およびメッセージ適応サービスの機能があります。
- チャネルは、関連付けされているURLでサービスの要求を受け取ります。チャネルは、Channel Serviceを使用してメッセージのフォーマットおよびトランスポートを調整しています。
- Channel Serviceは、チャネルに対して認証などのサービスをサポートしています。
- フィルターには、チャネルとは独立した機能があり、コンテキストおよびチャネルに送られるメッセージのコンテキストへのアクセスを提供することができます。特定のフィルターに関連付けされたハンドラーでは、経路指定を有効にしたり、ロギングをサポートしたり、内容を監査するなど、他にも多くの重要なサービスを行うことができます。
WebSphere Business Connectionを使用してWebサービス・ゲートウェイの実装を行う場合、シンプルなUIを使用して、チャネル、フィルターおよびUDDIリファレンスが最初にゲートウェイにデプロイされます。それから、個々のWebサービスに関連付けられます。個々のWebサービスのターゲットWSDLを適切なチャネルに関連付けると、SOAPチャネルのURLを使用したゲートウェイ・サービスが生成されます。
Web (ターゲット) サービスを構成するには、サービスが利用可能なチャネル、適用可能なフィルター、およびデプロイするUDDIリファレンスをただ選択すればよいだけです。そうすれば、後はWebSphere Business Connection Webサービス・ゲートウェイが処理してくれます。たとえば、図3 の企業Bで示されているように、WebサービスWSDLおよび関連付けされているプロキシー・クラスは、IBM CrossWorlds Webサービス生成ユーティリティーを使用してターゲット・サービスに生成されます 。ターゲット・サービスに関連付けされたWSDLをゲートウェイ・チャネルに一度でもデプロイすると、新規のWebサービス記述ファイルであるWSDLプライム (WSDL') とともに、関連付けされたゲートウェイ・サービスが作成されます。WSDL' は、2つの部分から成っています。サービス記述 では、ゲートウェイ・サービスが検出可能なチャネルのエンドポイントURLを記述しています。また、これには、2つ目の構成要素であるインターフェース記述 が検出可能な場所について記述している、importステートメントも含まれています。
同様に、図3 の企業Aでは、WSDL' で記述されたWebサービスが使用またはデプロイされると、同じ方法でWSDLダブル・プライム (WSDL") とともに、関連付けされたゲートウェイ・サービス が生成されます。
この記事では、WSDL" を使用する企業AのSOAPコネクターから、プライベート・チャネルのエンドポイントURLを検出するまでの、Webサービスの一連の流れを順を追って説明してきました。企業AのWebSphere Business Connection Webサービス・ゲートウェイ内で、必要なWSIFベースの変換が行われます。
企業Aから、WSDL' を使用して企業Bのパブリック・チャネルを呼び出します。企業AのWebSphere Business Connection Webサービス・ゲートウェイ内で、必要なWSIFベースの変換が行われます。続いて、新しく生成されたWSDLを使用してSOAPプロキシー・クラスを呼び出します。これにより、今度はSAIを使用してCrossWorldsへの適切な呼び出しを作成します。
WebSphere Business ConnectionオファリングのWebサービス・ゲートウェイでは、サービスへの要求およびサービスからの要求を伝送するチャネルや、サービスに作用するフィルターを含む、Webサービスを管理します。また、サービスを公開および検索するUDDIレジストリーへのリファレンスも管理します。WebSphere Business ConnectionおよびそのWebサービス・ゲートウェイを実装すると、自動的にWebサービスを外部化することになり、IBM CrossWorlds Webサービスの範囲が拡大されます。
WebSphere Business Connectionオファリングには、スケーラブルなB2Bゲートウェイ機能があり、下記のような特徴を持っています。
- 幅広い接続および統合環境をサポート。
- オープン・スタンダードに基づいたWebサービスへのB2B接続であるEDI-INT、EDI-VAN、RosettaNet、およびebXMLが使用可能。
- 高度なスケーラビリティーを持つJ2EEベースのWebサーバー・テクノロジーでの設計。
- WSIF、AXIS、HTTPRを含む最先端のテクノロジーを活用。
- インターネット上で「信頼性の高いメッセージング」をサポート。つまり、完全な形式で送付先に一度だけ送達を行います。信頼性の高いメッセージングをサポートするために、メッセージング・エージェント、永続的なストレージ、およびHTTPRが提供されています。
- まず最初に、このシリーズの次の2つの記事をお読みください。
-
WebSphere Business Integration およびWebSphere Business Connection オファリングについて説明しているサイトも参考にしてください。
-
IBM WebSphere Business Connection の仕様を記述したシート (PDF) の4ページ目に、サポートされているプロトコルをリストしたテーブルが記載されています。
- この記事で記述されている多くのテクノロジーについての詳細は、developerWorksのWeb servicesゾーンを参照してください。はじめに、次の記事を参照してください。
A primer for HTTPR (developerWorks、2001年7月)
- Web services zoneを参照する際は、HTTPR Specification(developerWorks、2002年4月) も参照してみてください。
-
apache.orgのAXIS FAQ を参照してください。
- セキュリティーに関しては、次の2つの記事が良い参考資料となります。Securing Web services (IBM Systems Journal、2002年4月) およびIBM WebSphere V4.0 Advanced Edition Security (IBM Redbook、2002年3月)