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