|
Sobha R. Warrier, SOA Architect, SOA Technology Practice, IBM
2008年1月16日, 原文はこちら(US)
WebSphere DataPower SOAアプライアンスは、XMLレベルのセキュリティーおよび インテグレーションに特化したハードウェア・アプライアンスです。SOA環境でDataPowerをWebSphere Process Serverと連携すると、SOAPリクエストの処理が高速化されます。この記事では、SCAコンポーネントからSOAPリクエストを処理する方法をご紹介します。
IBM® WebSphere® DataPower® SOAアプライアンス(以下、DataPower)には、SOAを実装するのに役立つ、XMLおよびWebサービスのデータ変換、セキュリティー、レガシーインテグレーション、メディエーションなどの機能が用意されています。また、DataPowerにはXSLT(Extensible Stylesheet Language Transformation)処理エンジンも用意されています。
この記事では、DataPowerを使用して、WebSphere Process Serverで実行されるSCAコンポーネントからSOAPリクエストを処理する方法が記載されています。また、WebSphere Process ServerにデプロイされているSCAコンポーネントから、DataPowerにより公開されるサービス・エンドポイントを呼び出す方法が記載されています。DataPowerは、リクエストに対してセキュリティー機能を付加するために使用することもできますが、この記事では XMLの処理について記載し、セキュリティー機能については言及しません。
このシナリオでは、各種メッセージのさまざまな処理を必要とするビジネス・プロセス(ビジネス・プロセスを完了するための、メッセージまたは文書の妥当性検証、強化、変換など)を扱います。図1に、妥当性検証、強化、ビジネス・ルールの適用、および送信を行うコンポーネントから構成される典型的なプロセスを示します。妥当性検証では、メッセージ受信時のフィルタリングと、不正フォーマットまたは特定の妥当性検証条件に合わないメッセージを回避するための検証を行います。このシナリオでは、フォーマット検証ではなく、ビジネス・プロセスによって指定される検証条件を使用します。
強化には、ダウンストリーム・プロセスの要件を満たす、既存の内容に対する変更または新規情報の追加があります。例えば、データをバックエンド・データベースから取得し、それをコンテキスト・データとして提供するとします。この強化されたメッセージまたは文書にビジネス・ルールが適用され、コンシューマーに送信されます。このサンプル・プロセスは、WebSphere Process Server上で実行されます。リクエストに大量のXMLが含まれる場合、DataPowerはXML処理でのソフトウェアのオーバーヘッドを最小限にすることで、パフォーマンスを改善します。DataPowerでイベント検証サービスをホスティングする方法を、以下の手順に示します。

図1 サンプル・ビジネス・プロセスおよび関連するSCAモジュール
DataPowerによって公開されたサービス・エンドポイントをSCAコンポーネントから呼び出すための手順の概要を以下に示します。
- パススルーXMLファイアウォール・サービスを作成します。
- ポリシーを定義し、トランスフォームアクションを構成します。
- DataPowerによって公開されたエンドポイントを呼び出すためのSCAコンポーネントを構成します。
1. XMLファイアウォールの作成
- DataPowerにログインします。
- 下の図2に示すXMLファイアウォールのアイコンを選択します。XMLファイアウォールが、ルーティング、セキュリティー、フィルター処理、およびモニターをXML/SOAPで提供するのに対し、Webサービス・プロキシーは、これらに加えてWebサービス環境での拡張機能を提供します。マルチプロトコル・ゲートウェイは、1つ以上のプロトコルを通じて送信されるクライアントリクエストを、同じプロトコルまたは異なるプロトコルを使用するバックエンド・サービスと接続します。Webアプリケーション・ファイアウォールには、Webベースのアプリケーションに対するセキュリティー、脅威の防御、およびコンテンツ処理サービスが用意されています。XSLアクセラレーターは、XSLTを使用する XMLの変換を行うために使用します。タスク中に「Help」をクリックすると、いつでもオンライン・ヘルプにアクセスできます。また、フィールド・ラベルをクリックすると、フィールド固有のヘルプが表示されます。

図2 XMLファイアウォールの作成
- 新規XMLファイアウォールを作成するための「Add wizard」をクリックして、「Firewall Wizard」画面を表示します。

図3 XMLファイアウォールの構成
- SOAPリクエストがDataPowerでパススルーするように、「Next」をクリックしてデフォルトの「Pass Thru」オプションを受け入れます。

図4 XMLファイアウォール・ウィザード
- 「Name」フィールドにSoapRequestProcessorと入力し、「Next」をクリックします。

図5 ファイアウォールの名前の入力
- ファイアウォール・タイプのリストから「loopback-proxy」を選択し、「Next」をクリックします。

図6 ファイアウォール・タイプの選択
- 「External_IP」(デバイスのアドレス)とポートを選択します。

図7 デバイスアドレスとポートの入力
- 確認ページが表示されます。「Commit」をクリックします。

図8 構成のコミット
- 確認ページが表示されます。「View Policy」をクリックすると、ポリシー・ウィンドウが開きます。

図9 構成のコミット
2. トランスフォームアクションの構成
- 新規ポリシー・ウィンドウで、「Transform」アイコンを2つの既存のアイコンの間にある処理パイプラインにドラッグします。

図10 ポリシーの構成
- 黄色い枠のある「Transform」アイコンをダブルクリックします。新規ウィンドウが開きます。
- トランスフォームの構成ページで、SoapRequest.xslファイルを次のようにアップロードします。「Upload」をクリックしてからファイルを選択すると、トランスフォームアクション画面に戻り、そこでは図11に示すように該当ファイルが選択されています。入力タイプと出力タイプを変更します。

図11 トランスフォームアクションの構成
- 「Done」をクリックすると、XSLがアップロードされます。この「XSLファイルをダウンロード」できます。
3. DataPowerによって公開されたエンドポイントを呼び出すためのSCAコンポーネントを構成する
- イベント検証コンポーネントのバインディング・アドレスが、DataPowerによって公開されたエンドポイント(DataPowerのアドレスとXMLファイアーウォールのポート)に変更します。

図12 DataPowerによって公開されたエンドポイントの呼び出し
この記事では、WebSphere DataPowerを使用して、WebSphere Process Serverで実行されているSCAコンポーネントからのSOAPリクエストを処理する方法について紹介しました。DataPowerを使用すると、SOAPリクエストをハイパフォーマンスで処理することができます。
| 内容 |
ファイル名 |
サイズ |
ダウンロード形式 |
| コード・サンプル |
SOAPResponse.zip |
1 KB |
HTTP(US) |
 |
Sobha R. Warrierは、インドのバンガロールにあるIBM India Software LabのSOA Technology PracticeのSOAアーキテクトです。8年間のソフトウェア開発経験があります。専門領域は、新製品および新規テクノロジーの製品化への取り組みです。現在は、イベント・ドリブン・アーキテクチャーに基づくソリューションの作成に携わっています。
|