本文へジャンプ

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。プロフィールで選択した情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

  • 閉じる [x]

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


送信されたすべての情報は安全です。

  • 閉じる [x]

IBM CrossWorldsによるビジネス・プロセス統合 第3回: WebSphere Business Connectionを使用したWebサービスの自動的な外部化

Rob Cutlip, Software and Solutions Architect, IBM
Rob Cutlip氏は、IBM Software Groupのソフトウェアおよびソリューション設計者です。また、彼は、2003年に出版される2つの技術書『Web Services Infrastructures: New and Emerging Technologies』 (ISBN 0-13-101016-6) および 『Integrated Solution with DB2』 (ISBN: 0-201-75485-1) の共著者でもあります。

概要: シリーズの最後となる第3回目のこの記事では、Rob Cutlip氏がWebSphere Business Connectionオファリングを使用したIBM CrossWorlds環境でWebサービスを実現する方法について説明しています。この方法を利用すると、ビジネス間のプロセスの統合および取引先とのデータ共有が可能になります。

日付:  2003年 1月 01日
レベル:  初級 この記事の原文:  英語
アクティビティー: 1816 ビュー
お気軽にご意見・ご感想をお寄せください: 


概要

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) ファミリーを構成する、より大規模なビジネス・プロセスの統合オファリングのセットの一部です。


IBM CrossWorlds Webサービス環境の復習

ここでは、図1 に示されているアーキテクチャーおよびIBM CrossWorldsを使用したWebサービスを構築するメカニズムについて、詳しく説明します。


図1. IBM CrossWorldsとWebサービス
図1

図1 に示されているように、WebSphere Application ServerがCrossWorldsで生成されたプロキシー・クラスをホストしています。着信側のServer Access Interface (SAI) APIでは、外部プロセスがInterchange Server内でコラボレーションの実行を要求できるようになっています。SAIは呼び出しによって起動するフローをサポートします。このフローは、非永続で同期式の要求/応答データ交換をサポートします。SAIは、外部要求を処理します。また、Interchange Server (ICS) からの発信側では、Simple Object Access Protocol (SOAP) コネクターが、CrossWorldsコラボレーションが外部Webサービスを呼び出すための手段を提供します。


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ゲートウェイに必要な制御ポイント機能の抜粋
管理機能運用機能
  • Partner profile management
  • Partner agreement management
  • 否認防止
  • レポート作成
  • 使用状況モニター
  • セキュリティー機能
  • フロー制御

Webサービス・ベースのB2Bデータ交換は、ゲートウェイを利用するという点で、従来のB2Bプロトコルと同じくらいメリットがあります。しかし、Webサービスはかなりの疎結合が可能という点でより有利です。WebサービスをB2Bデータ交換で使用することは、企業内でプライベート・プロセスをカプセル化および抽象化し、これらのプロセスを選択してパブリックでアクセス可能にするための、理想的な選択であると言えます。また、Webサービスは、トランスポートおよびデータ交換を助ける他の従来のB2Bデータ交換プロトコルのラッパーとして使用することもできます。

プロセスの抽象化を行うには、Webサービスに固有のカプセル化 および抽象化 を行います。WebサービスのB2Bゲートウェイでは、これ以外に、表2 にリストされている、Webサービス・モデルに固有の考慮事項2点についても検討することが必要です。


表2. B2Bゲートウェイを実現するWebサービスに必要な追加機能
カプセル化および抽象化呼び出しからのデプロイメントの分離公開および検索
  • Webを介したプライベート・プロセスの選択的公開
  • 従来のB2Bプロトコルのラッパーとしての使用
  • 企業内の深いところにある Webサービスへの着信アクセス
  • インターネット内のどこの 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ゲートウェイ・チャネル
図2

図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ゲートウェイ
図3

WebSphere Business Connection Webサービス・ゲートウェイは、上記の図の中の番号で示されているように、以下のいくつかの主要なコンポーネントから成り立っています。

  1. Gateway Managerには、検証、許可、ロギング、経路指定、およびメッセージ適応サービスの機能があります。
  2. チャネルは、関連付けされているURLでサービスの要求を受け取ります。チャネルは、Channel Serviceを使用してメッセージのフォーマットおよびトランスポートを調整しています。
  3. Channel Serviceは、チャネルに対して認証などのサービスをサポートしています。
  4. フィルターには、チャネルとは独立した機能があり、コンテキストおよびチャネルに送られるメッセージのコンテキストへのアクセスを提供することができます。特定のフィルターに関連付けされたハンドラーでは、経路指定を有効にしたり、ロギングをサポートしたり、内容を監査するなど、他にも多くの重要なサービスを行うことができます。

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") とともに、関連付けされたゲートウェイ・サービス が生成されます。


要約

メッセージ形式について

ドキュメント形式のデータ交換
CrossWorldsの生成ユーティリティーで生成されたWebサービスは、ドキュメント形式です。要求メッセージのSOAPエンベロープには、1つのドキュメントが含まれています。ドキュメント形式は、CrossWorlds SOAPコネクターを含めたB2Bの実装内で、共通に使われます。

RPC形式のデータ交換
リモート・プロシージャー呼び出し (RPC) は、一般的にほとんどのWebサービス・ツールで生成されるものです。RPCは、受信者がメッセージ部分の特定の数、型、順序を予期しているところで、メッセージを呼び出しているように見せかけます。SOAPメッセージ内のメッセージ部分が、メソッドのパラメーターに対応します。WebSphere Business Connectionゲートウェイは、SOAPの RPCルーターに基づいて構築されており、RPC形式のデータ交換を予期しています。

CrossWorlds SOAPコネクター
このコネクターは、ビジネス・オブジェクトとSOAP間のメタ・オブジェクトのTypeInfoをTrue に設定すると、RPC形式のメッセージを送信可能なように構成できます。

この記事では、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月)

著者について

Rob Cutlip氏は、IBM Software Groupのソフトウェアおよびソリューション設計者です。また、彼は、2003年に出版される2つの技術書『Web Services Infrastructures: New and Emerging Technologies』 (ISBN 0-13-101016-6) および 『Integrated Solution with DB2』 (ISBN: 0-201-75485-1) の共著者でもあります。

不正使用の報告のヘルプ

不正使用の報告

ありがとうございます。 このエントリーは、モデレーターの注目フラグが設定されました。


不正使用の報告のヘルプ

不正使用の報告

不正使用の報告の送信に失敗しました。


developerWorks: サイン・イン


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。 プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。 お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

表示名をお選びください

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

(半角英数字で3文字以上31文字以下にする必要があります)


「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


この記事を評価する

コメント

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Sample IT projects
ArticleID=250122
ArticleTitle=IBM CrossWorldsによるビジネス・プロセス統合 第3回: WebSphere Business Connectionを使用したWebサービスの自動的な外部化
publish-date=01012003
author1-email=cutlip@us.ibm.com
author1-email-cc=