w
Trading Partner Integration の紹介
![]() |
![]() |
![]() |
![]() |
ここでは、WebLogic Integration で ebXML ソリューションを実装する方法の概要を示します。内容は以下のとおりです。
ここでは、ebXML ソリューションにのみ関連する情報を提供します。あらかじめ、「はじめに」で説明されている、WebLogic Integration を使用するトレーディング パートナ統合の基本概念を把握しておいてください。また、Trading Partner Integration のチュートリアル (下記 URL から入手可能) の「チュートリアル : ebXML ソリューションの構築」では、サンプルの ebXML ソリューションを構築する手順を具体的に説明しています。
http://dev2dev.bea.com/code/wli.jsp
http://edocs.beasys.co.jp/e-docs/wli/docs81/tptutorial/ebxml.html
「ebXML ソリューション」は、ebXML ビジネス プロトコルを使用してトレーディング パートナとビジネス メッセージを交換する WebLogic Integration ソリューションです。ここでは、ebXML について説明し、さらに WebLogic Integration での ebXML のサポートについて説明します。内容は以下のとおりです。
ebXML ビジネス プロトコルは、UN/CEFACT および OASIS によって提唱されたプロトコルです。ebXML Web サイト (http://www.ebxml.org) によれば、ebXML は「あらゆる規模、あらゆる地域の企業がインターネットを通じてビジネスを展開することを可能にするモジュール形式の一連の仕様であり、ebXML を使用することにより、企業はビジネス メッセージの交換、商関係の管理、共通条件下でのデータ通信、およびビジネス プロセスの定義、登録を行う標準的な方法を獲得することになります」とのことです。
WebLogic Integration は、以下の ebXML 仕様をサポートしています。
これらの仕様では、HTTP などの通信プロトコルを使用して ebXML メッセージを転送する場合に使用するメッセージ エンベロープおよびヘッダ ドキュメント スキーマを定義しています。それらは、基本の SOAP (Simple Object Access Protocol) 仕様ならびに SOAP Messages with Attachments 仕様に対する、レイヤ構成の一連の拡張を提供します。ebXML メッセージ サービスは、SOAP 仕様および SOAP Messages with Attachments 仕様で提供されていないセキュリティ機能および信頼性機能を提供します。これらの仕様や他の ebXML 仕様の詳細については、ebXML Web サイトの http://www.ebxml.org/specs/index.html ページを参照してください。
SOAP に関する情報は、以下のドキュメントを含め、World Wide Web Consortium (W3C) Web サイト (http://www.w3c.org) にあります。
http://www.w3.org/TR/2000/NOTE-SOAP-20000508/
http://www.w3.org/TR/2000/NOTE-SOAP-attachments-20001211
ここでは、このリリースの WebLogic Integration でサポートされている ebXML 機能とサポートされていない ebXML 機能について説明します。
WebLogic Integration では、以下の ebXML 1.0 機能と ebXML 2.0 機能をサポートしています。
|
|
|
|
このリリースの WebLogic Integration では、以下のような ebXML 2.0 のオプション機能をサポートしていません。
このリリースでは、ebXML メッセージの各ペイロード レベルで XML DSIG を提供しません。
WebLogic Integration - Business Connect は、ebXML ビジネス プロトコルを実装する軽量クライアントです。WebLogic Workshop ビジネス プロセスは、WebLogic Integration - Business Connect を使用するトレーディング パートナと ebXML ビジネス メッセージを交換できます。WebLogic Integration - Business Connect の詳細については、下記 URL にある WebLogic Integration - Business Connect のドキュメントを参照してください。
http://edocs.bea.com/wlibc/docs81/index.html
注意 : WebLogic Integration - Business Connect を使用しているトレーディング パートナと ebXML メッセージを交換するときは、どちらか片方のバージョン (ebXML 1.0 または ebXML 2.0) しか使用できません。どちらのバージョンの場合でも、WebLogic Integration - Business Connect は 1 つのトレーディング パートナに対して 1 つのエンドポイントを使用します。同じ HTTP エンドポイントを使用する WebLogic Integration では、個々のパートナに対してコンフィグレーションできるプロトコル バインドは 1 つのみです。
さらに、ebXML MS 1.0 を使用して WLI Business Connect から ebXML メッセージを受信するときは、XML デジタル署名は使用できません。代わりに、ebXML MS 2.0 を使用してください。
ここでは、ebXML ビジネス プロセスを WebLogic Integration に実装する上で必要な ebXML の概念を説明します。内容は以下のとおりです。
ebXML プロトコル レイヤを使用すると、転送、メッセージのパッケージ化、およびセキュリティに関する ebXML メッセージ サービス仕様に従い、インターネット経由でメッセージを送受信することが可能になります。ebXML 1.0 および 2.0 メッセージ サービス仕様は、使用する通信プロトコルに依存しません。WebLogic Integration は、HTTP(S) 通信プロトコルをサポートしています。
ビジネス メッセージは、トレーディング パートナ間の通信の基本単位です。ビジネス メッセージは、会話の一部として交換されます。会話内のロールは、ビジネス プロセスによって実装されます。ビジネス プロセスはビジネス メッセージの交換を管理します。
次の図は、ebXML ビジネス プロトコルに基づいて会話内で交換されるビジネス メッセージの構造を表したものです。
1 つの ebXML ビジネス メッセージには、1 つの XML ビジネス ドキュメントと 1 つまたは複数の添付ファイルが含まれます。ebXML メッセージは、通信プロトコルに依存しない MIME/Multipart メッセージ エンベロープであり、メッセージ パッケージと呼ばれます。メッセージ パッケージは、必ず、SOAP Messages with Attachments 仕様に適合するように構造化されています。
上の図のメッセージ パッケージには、以下の論理 MIME パートが含まれています。
MessageHeader
要素は、発信元および発信先のビジネス ID、ビジネス プロセスに関連するサービス、ビジネス プロセス内のノードに関連するアクションなどの詳細を指定します。SOAP ヘッダは、SOAP メッセージに機能を追加するための汎用的なメカニズムです。WebLogic Integration では、ヘッダ コンテナ関連の ebXML メッセージ エンベロープを着信ビジネス メッセージから取得するメカニズムを、WebLogic Workshop ビジネス プロセスに用意しています。詳細については、 WebLogic Workshop ヘルプの「@jpd:ebxml-method 注釈」および「@jc:ebxml 注釈」を参照してください。
ebXML メッセージでは、複数のペイロードを任意に組み合わせることができます。ペイロードは、すべてバイナリ、すべて XML、またはバイナリと XML の混在にすることができます。ペイロードは、SOAP メッセージの MIME 添付ファイルとして送信されます。SOAP 本体は、ペイロードの搬送には使用されません。
WebLogic Integration で用意されている MessageAttachment[]
データ型をビジネス プロセスで使用すると、特にペイロードが複数のデータ型の混在で構成される場合や、ペイロードの数または順序が事前にわかっていない場合に、ebXML メッセージからペイロードを取得することができます。WebLogic Integration は、ペイロードの内容を調べるメソッド (isXmlObject
および isRawData
) と、ペイロードの内容を未タイプ XML データ (XmlObject
データ型) または非 XML データ (RawData
データ型) として取得するメソッド (getXmlObject
および getRawData
) を提供します。MessageAttachment
オブジェクトの操作方法については、WebLogic Workshop ヘルプの「メッセージ添付ファイルを使用する」を参照。
ebXML ビジネス プロトコルは、信頼性あるメッセージングをサポートします。この機能はオプションですが、配信サービスの品質をさまざまなレベルでコンフィグレーションできる重要な機能です。信頼性あるメッセージングでは、信頼性を高くするとパフォーマンスが低くなり、保証レベルを上げるほど、システム リソースに対する実行時の要求が厳しくなります。信頼性あるメッセージングのコンフィグレーションは、WebLogic Integration Administration Console で行います。これについては、『WebLogic Integration ソリューションの管理』の「トレーディング パートナ管理」にある「プロトコル バインディングの定義」の「ebXML 1.0 または 2.0 バインディングの定義」を参照してください。
ebXML 2.0 仕様で定義されている 8 つのサービス ポリシーのうち、WebLogic Integration では、以下の 4 つの (非マルチホップ) ポリシーをサポートしています。これらは、確認応答と重複メッセージの処理方法を指定するものです。
|
|
ここでは、ebXML 会話を実装する WebLogic Workshop ビジネス プロセスについて説明します。内容は以下のとおりです。
ebXML ソリューションのビジネス プロセスを設計する際には、以下のガイドラインを考慮してください。
eb:Action
要素で指定される値を決定します。この値は、同じ会話の中で複数のメッセージ交換が行われるときに重要になります。ebxml-action-mode
ビジネス プロセス プロパティでは、以下のいずれかの値を使用できます。default
—eb:Action
要素を SendMessage
(デフォルト名) に設定します。onMessage
は、コントロール コールバック メソッド名です。non-default
-eb:Action
要素を、開始者ビジネス プロセス内でメッセージを送信する (ebXML コントロール上の) メソッドの名前に設定します。開始者から参加者にメッセージを送信するためには、この名前が、対応する参加者ビジネス プロセスにある Client Request ノードのメソッド名と一致していなければなりません。参加者から開始者にメッセージを送信するためには、参加者ビジネス プロセス内のクライアント コールバック ノードのコールバック インタフェースにあるメソッド名が、開始者ビジネス プロセス内のコントロール コールバック インタフェースにある (ebXML コントロール上の) メソッド名と一致していなければなりません。確実に回復できるようにし、かつ、高可用性を実現するためには、non-default
の使用をお勧めします。特に指定しなければ、ebxml-action-mode
要素は non-default
に設定されます。
setProperties
メソッドを呼び出します (@jc:ebxml 注釈を使用する ebXML コントロールにのみ当てはまる)。注意 : ルーティングが正常に行われるためには、開始者ビジネス プロセスと参加者ビジネス プロセスとで指定されている ebXML サービス名が一致しなければなりません。さらに、non-default アクション モードの場合は、開始者ビジネス プロセスの ebXML コントロール インスタンスにあるメソッド名が、対応する参加者ビジネス プロセスにあるメソッド名と一致しなければなりません。
onAck
ノードと onError
ノードを使用できます。XMLObject
として送信メソッドの戻り値を指定し、以下の例のように、ビジネス プロセス内で明示的なキャストを行います。
public XmlObject send( messageAttachement[] msg )
XmlObject envelope = (XmlObject) control.send(msg)
public XmlObject send( messageAttachement[] msg )
XmlObject envelope = (XmlObject) callback.send(msg)
127.0.0.1:7001
が使用されます。配信のセマンティクスは「Once and Only Once」です。ebXML サービス名は、開始者ビジネス プロセスと参加者ビジネス プロセスとで同じであれば、どのような名前でも使用できます。詳細については、「デフォルトの TPM リポジトリ設定」を参照してください。WebLogic Integration では、開始者ビジネス プロセスで ebXML コントロールを使用することにより、WebLogic Workshop ビジネス プロセスがトレーディング パートナと ebXML 経由でビジネス メッセージおよびデータを交換できるようにしています。ebXML コントロールは、開始者ビジネス プロセスにおいて参加者との ebXML ビジネス メッセージの交換を管理する場合のみ使用します。ebXML コントロールは、ビジネス メッセージ、確認応答、およびエラーを送信するメソッドを提供し、また、参加者からの応答を処理するコールバック メソッドを提供します。
ビジネス プロセスでの ebXML コントロールの使用方法の詳細については、WebLogic Workshop ヘルプの「ebXML コントロール」にある以下のトピックを参照してください。
参加者ビジネス プロセスの概要については、「開始者と参加者のビジネス プロセス」を参照してください。
WebLogic Integration では、WebLogic Workshop テンプレートである ebXML 参加者ビジネス プロセス ファイルを使用して、新しい ebXML 参加者ビジネス プロセスを簡単に作成できます。このテンプレートは、ebXML 会話のパブリック参加者ビジネス プロセスを構築するための土台になります。このファイルは、ebXML 参加者ビジネス プロセスの構築に必須ではありませんが、ebXML 開始者ビジネス プロセスと簡単に統合するために必要となるノードおよびビジネス プロセス注釈を含んでいます。また、確認応答、タイムアウト、再試行、エラーなどの標準的なコレオグラフィ パターンも含んでいます。参加者ビジネス プロセスの使用方法については、WebLogic Workshop ヘルプの 「ebXML 参加者ビジネス プロセスを構築する」および「@jpd:ebxml 注釈」を参照してください。参加者ビジネス プロセスの概要については、「開始者と参加者のビジネス プロセス」を参照してください。
ここでは、ebXML ソリューションの実装に関連するタスク全般を大まかに説明します。内容は以下のとおりです。
注意 : ここでは、ebXML ソリューションの実装で通常行われるタスクについて、一般的に説明します。 ebXML ソリューションを実装する処理は、繰り返しが多く、またユーザごとのビジネス要件やビジネス環境によって、範囲および順序が異なる場合があります。
ebXML ソリューションの実装を始める前に、以下のドキュメントを読み直すことをお勧めします。
http://edocs.beasys.co.jp/e-docs/wli/docs81/tptutorial/ebxml.html
「フェーズ 1 : ソリューションのプランニング」での説明に従って、トレーディング パートナ統合のビジネス プロトコルとして ebXML を使用することを決定した後、実装に関連する次の要因を決定することにより、ソリューションのプランニングを行います。
『Trading Partner Integration のチュートリアル』に、さまざまな ebXML ソリューションの例が紹介されています。詳細については、「チュートリアル : ebXML ソリューションの構築」(http://edocs.beasys.co.jp/e-docs/wli/docs81/tptutorial/ebxml.html) を参照してください。
ebXML ソリューションのプランニングが完了したら、使用する設計パターンを実装するビジネス プロセスを構築します。設計時ツールの詳細については、「フェーズ 2 : ソリューションの設計、構築、テスト」を参照してください。ebXML ビジネス プロセスの概念については、「ebXML ビジネス プロセス」を参照してください。
『Trading Partner Integration のチュートリアル』(http://dev2dev.bea.com/code/wli.jsp から入手可能) の「チュートリアル : ebXML ソリューションの構築」では、ebXML ソリューションの構築に必要な主要タスクについて具体例を提供しています。
ebxml-service-name
属性 (および必要に応じて他の属性) を変更します。
http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/integration/javadoc-tag/jc/ebxml.html
ebxml-service-name
属性 (および必要に応じて他の属性) を変更します。
http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/integration/javadoc-tag/jpd/ebxml.html
http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/integration/controls/controlsebXML.html
http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/integration/wfguide/wfguideEbXML.html
ebXML ソリューションの構築およびテストが完了したら、そのソリューションをプロダクション環境にデプロイします。デプロイメント ツールの詳細については、「フェーズ 3 : ソリューションのデプロイ」を参照してください。WebLogic Integration ソリューションのデプロイ方法の詳細については、『WebLogic Integration ソリューションのデプロイメント』(下記 URL) を参照してください。
http://edocs.beasys.co.jp/e-docs/wli/docs81/deploy/index.html
注意 : トレーディング パートナ情報をすでに開発環境で定義している場合は、その情報を外部ファイルにエクスポートし、そのファイルをプロダクション環境にインポートすることができます。手順については、「トレーディング パートナ管理」の「管理データのエクスポート」と「管理データのインポート」を参照してください。.
http://edocs.beasys.co.jp/e-docs/wli/docs81/deploy/index.html
http://edocs.beasys.co.jp/e-docs/wli/docs81/deploy/index.html
ebXML ソリューションのデプロイが完了したら、通常は、実行時のパフォーマンス、メッセージ ボリューム、リソース使用率、その他の要素をモニタして、ソリューションが最適動作するようにします。モニタ ツールの詳細については、「フェーズ 4 : ソリューションの管理と調整」を参照してください。
トレーディング パートナ統合リソースのモニタ手順については、『WebLogic Integration ソリューションの管理』の「トレーディング パートナ管理」にある以下のトピックを参照してください。
![]() ![]() |
![]() |
![]() |