Trading Partner Integration の紹介
このサンプルでは、HTTPS プロトコルと相互認証を使用してトレーディング パートナ間で RosettaNet メッセージ交換を行うためのセキュリティ設定をコンフィグレーションする方法について説明します。このサンプルでは、両方のトレーディング パートナは、次の図に示すように WebLogic Integration 上にコンフィグレーションされています。
手順 1 : トレーディング パートナ 1 をローカル トレーディング パートナとして設定するためのコンフィグレーション
ここでは、デフォルトのトレーディング パートナ Test_TradingPartner_1 が開始者ビジネス プロセスのローカル トレーディング パートナになるようにコンフィグレーションします。その後、トレーディング パートナに証明書を追加し、トレーディング パートナのバインディングをコンフィグレーションします。最後に、トレーディング パートナ データを XML ファイルにエクスポートします。このファイルは、後でトレーディング パートナ 2 をリモート トレーディング パートナとして設定するときにインポートします。
手順 2 : トレーディング パートナ 2 をローカル トレーディング パートナとして設定するためのコンフィグレーション
ここでは、トレーディング パートナ 1 のマシンでコンフィグレーションを完了したすべてのトレーディング パートナ データを、トレーディング パートナ 2 のマシンでコンフィグレーションする方法について説明します。この手順を完了すると、リモート パートナが両方ともコンフィグレーションされます。
ローカル トレーディング パートナを設定するために実行したすべてのコンフィグレーション手順をリモート トレーディング パートナを設定するために再度実行する代わりに、前の手順でエクスポートしたトレーディング パートナ データを WebLogic Integration アプリケーションにインポートします。インポート手順を実行すると、リモート トレーディング パートナが自動的にコンフィグレーションされます。ここでは、トレーディング パートナ データ ファイルをインポートする方法について説明します。
すべてのトレーディング パートナのコンフィグレーションを完了した後、トレーディング パートナに提供されるサービスとサービス プロファイルを作成する必要があります。ここでは、その実行方法について説明します。
Trading Partner Integration のセキュリティ
チュートリアル : RosettaNet ソリューションの構築
このサンプルに示す手順では、WebLogic Integration のインストール時に組み込まれるデモ用キーストアを使用します。このキーストア ファイルは、テスト目的にのみ使用できます。この Java キーストア ファイルは、次の場所にあります。
BEA_HOME
\weblogic81\server\lib\DemoIdentity.jks
BEA_HOME
は製品をインストールしたディレクトリです。
これ以外のキーストアを使用してもサンプルを実行できますが、デモ用キーストアには、必要な証明書の一部がすでにロードされています。カスタム キーストアの作成と証明書のロード方法の詳細については、「サンプル : ebXML セキュリティ コンフィグレーション」の「手順 1 : テスト専用証明書の生成」と「手順 2 : WebLogic Integration 用のキーストアのコンフィグレーション」を参照してください。
注意 : WebLogic Integration では、リモート トレーディング パートナにはクライアント証明書とサーバ証明書の両方が必要であり、ローカル トレーディング パートナにはクライアント証明書だけが必要です。
このサンプルの説明は、WebLogic Server と WebLogic Integration の基本的なタスクと手順をすでに理解しているユーザを対象にしています。ここに示されているような WebLogic アプリケーションを初めて使用する場合は、このサンプルを使用する前に「チュートリアル : 初めてのビジネス プロセス構築」を完了することをお勧めします。さらに、前提として、RosettaNet の概念と WebLogic Integration での RosettaNet ビジネス プロセスのコンフィグレーション方法を理解している必要があります。RosettaNet ビジネス プロセスを初めて使用する場合は、先に進む前に「チュートリアル : RosettaNet ソリューションの構築」を完了することをお勧めします。
ここで説明するサンプル コンフィグレーションには、WebLogic Integration で作成してデプロイした参加者プロセスと開始者プロセスが必要です。これらのプロセスは、2 台のコンピュータ上に、または 1 台のコンピュータの異なるドメインに作成してデプロイできます。このサンプルのセキュリティ コンフィグレーションを開始する前に、次の操作を完了する必要があります。
ドメインの作成方法については、『コンフィグレーション ウィザードの使い方』の「コンフィグレーション ウィザードによるドメインの作成と拡張」を参照してください。
Configuration Wizard を使用して、新しい WebLogic Integration ドメインを作成すると、トレーディング パートナ管理 (TPM) リポジトリにデフォルトのトレーディング パートナとバインディングが自動的に入力されます。このサンプルでは、これらのデフォルトのトレーディング パートナを使用します。
ポイント ベースのデータベースを使用する場合は、2 番目のドメインが別のドメイン インスタンスをポイントする、つまり別のポート番号を使用するようにコンフィグレーションする必要があります。理由は、WebLogic Integration では、ローカル トレーディング パートナとリモート トレーディング パートナが同じデータベースを使用することはできないからです。これは、次のファイルに設定されているデフォルトのポート番号 9093 をたとえば 9090 に変更することによって実行します。
config.xml
(2 つのインスタンス)URLS.dat
startWeblogic.cmd
および stopWeblogic.cmd
startWeblogic.sh
および stopWeblogic.sh
これらのファイルは次の場所にあります。BEA_HOME
\user_projects\domains\
domainNameBEA_HOME
は WebLogic Integration をインストールしたディレクトリ ( c:\bea
など) であり、domainName は 2 番目のドメインの名前 (tptutorial2) です。
ビジネス プロセスの作成方法としては、「チュートリアル : 初めてのビジネス プロセス構築」を参照してください。RosettaNet プロセスの詳細については、「チュートリアル : RosettaNet ソリューションの構築」
両方のプロセスを 1 台のコンピュータの異なるドメインで実行する場合は、両方のドメインで同じキーストアが使用されます。トレーディング パートナ情報をコンフィグレーションするときは、現在のプロセスと対応するドメインだけを実行することが重要です。そうしないと、キーストアに対する同時更新が発生し、更新が上書きされる可能性があります。
ここでは、デフォルトのトレーディング パートナ Test_TradingPartner_1 が開始者ビジネス プロセスのローカル トレーディング パートナになるようにコンフィグレーションします。その後、トレーディング パートナに証明書を追加し、トレーディング パートナのバインディングをコンフィグレーションします。最後に、トレーディング パートナのデータを XML ファイルにエクスポートします。このファイルは、後で参加者を設定するためのリモート トレーディング パートナとしてインポートします。この節では、次の手順について説明します。
Test_TradingPartner_1 がローカル トレーディング パートナになるようにコンフィグレーションするには、次の手順を実行します。
次に、適切な証明書 (クライアント、暗号、およびデジタル署名) をローカル トレーディング パートナに追加する必要があります。
適切な証明書をローカル トレーディング パートナに追加するには
注意 : このサンプルで作成する証明書はデモ用なので、プロダクション モードでは決して使用しないでください。
[証明書の追加 (手順 2/2)] 画面が表示されます。この画面を使用して、キーストアに格納され、ローカル トレーディング パートナによって使用されるクライアント証明書を作成します。ただし、クライアント証明書を作成する前に、パスワード エリアスを作成する必要があります。
[タイプ] ドロップダウン リストから [CLIENT] を選択すると、証明書はクライアント証明書になります。手順 2 ~ 6 に従って、以下の証明書を作成します。
3 つの証明書が追加できました。次の手順では、Test_TradingPartner_1 トレーディング パートナのバインディングを編集します。
ローカル トレーディング パートナのデフォルト バインディングを編集するには
これで、バインディング情報の編集は完了しました。先に進む前に、コンフィグレーションしたトレーディング パートナ プロファイルが有効になっていることを確認します。
作成してコンフィグレーションしたトレーディング パートナ プロファイルを有効化するには、次の手順を実行します。
参加者ビジネス プロセスのコンピュータまたはドメインに Test_TradingPartner_1 のすべてのコンフィグレーション データを再入力するのではなく、開始者プロセスのコンピュータまたはドメインからデータをエクスポートし、参加者のリモート トレーディング パートナ コンフィグレーションとしてインポートします。
ローカル トレーディング パートナからトレーディング パートナ データをインポートするには
これで、開始者ローカル トレーディング パートナのコンフィグレーションが完了しました。次の節では、キーツール ユーティリティを使用して Test_TradingPartner_1 のサーバ証明書をエクスポートする方法について説明します。後で参加者のコンピュータまたはドメインのサービスとサーバ プロファイルを設定するときに、この証明書をインポートします。
BEA_HOME
\weblogic81\server\lib
にナビゲートします。BEA_HOME
は、WebLogic Integration をインストールしたディレクトリです。これで、Test_TradingPartner_1 のコンフィグレーションは完了しました。WebLogic Integration でのトレーディング パートナの作成、コンフィグレーション、および管理については、「トレーディング パートナ管理」を参照してください。
次の手順では、このサンプルの参加者側のローカル トレーディング パートナ情報をコンフィグレーションします。
サンプルの参加者側のトレーディング パートナ プロファイルをコンフィグレーションする方法は、開始者側の作成方法とほとんど同じです。「手順 1: トレーディング パートナ 1 をローカルトレーディング パートナとして設定するためのコンフィグレーション」の説明を参照して、次の手順を完了します。
注意 : この手順は「証明書の追加」に似ていますが、このコンフィグレーションでは 2 つ目のコンピュータまたはドメインのポート番号を使用する必要があります。
これで、Test_TradingPartner_2のコンフィグレーションは完了しました。次の手順では、2 つのトレーディング パートナのリモート トレーディング パートナ プロファイルをインポートします。
ローカル トレーディング パートナ用にすでに作成した情報を再度作成するのではなく、「手順 1 : トレーディング パートナ 1 をローカル トレーディング パートナとして設定するためのコンフィグレーション」と「手順 2 : トレーディング パートナ 2 をローカルトレーディング パートナとして設定するためのコンフィグレーション」でエクスポートした XML ファイルをインポートします。
次の手順は、トレーディング パートナ 1 でもトレーディング パートナ 2 でも同じです。トレーディング パートナ 1 をコンフィグレーションするために 1 回、トレーディング パートナ 2 をコンフィグレーションするために 1 回、計 2 回次の手順を実行してください。
トレーディング パートナ情報を正常にインポートした後、新しいトレーディング パートナ プロファイルを見直して、エンド ポイント URL が正しいことを必ず確認してください。変更する必要がある場合は、「トレーディング パートナ バインディングの編集」の説明に従ってバインディングを編集します。
ローカルとリモートのトレーディング パートナのコンフィグレーションが完了したら、これらのトレーディング パートナに提供されるサービスと対応するサービス プロファイルを作成する必要があります。WebLogic Integration で、「サービス」はローカル トレーディング パートナから提供されるビジネス プロセスか、リモート トレーディング パートナ上のコントロールを経由して呼び出されるビジネス プロセスを意味します。[サービス プロファイル] では、サービスの提供と呼び出しを行うローカル トレーディング パートナとリモート トレーディング パートナに、プロトコル バインディングと URL エンドポイントを指定します。
注意 : この手順を開始する前に、サービスとサービス プロファイルを作成するプロセスがデプロイされていることを確認してください。
次の手順は、どちらのトレーディング パートナのコンフィグレーションでも同じです。トレーディング パートナ 1 をコンフィグレーションするために 1 回、トレーディング パートナ 2 をコンフィグレーションするために 1 回、計 2 回次の手順を実行してください。
注意 : 両方のトレーディング パートナのコンフィグレーションを 1 台のマシンの異なるドメインで実行している場合は、現在コンフィグレーション中のサーバだけを実行していることが重要です。そうしないと、キーストアが同時に更新され、相互に上書きされることがあります。これは、両方のドメインが同じキーストアにアクセスするためです。
注意 : 強制ではありませんが、通常、ローカルおよびリモート トレーディング パートナには同じタイプの認証を選択します。
これで、サービスとサービス プロファイルが正常に作成されました。サービスおよびサービス プロファイルの詳細については、「トレーディング パートナ管理」の「サービスの追加」および「サービスへのサービス プロファイルの追加」を参照してください。
このサンプルの作業は以上で終了です。サンプルをテストするには、「始める前に」で作成した 2 つをプロセスを実行します。サンプルをテストする前に、「テストに関するヒント」を参照することをお勧めします。
サンプルをテストする前に、キーツール ユーティリティを使用してキーストアのエントリが正しくコンフィグレーションされていることを確認できます。暗号が正常に動作することをテストする場合は、[生メッセージのトレース] オプションを使用して、ファイル システムの特定の場所に生メッセージを送信して保存できます。
注意 : RosettaNet トレーディング パートナへの接続を初めて設定するときは、コンフィグレーションをテスト モードで実行して、このモードによって提供されるデバッグ機能を利用することをお勧めします。Web Logic Integration RosettaNet コンフィグレーションをテスト モードで実行するには、setProperties
メソッドの中に次の 2 つの注釈を指定します。
-Set global-usage-code
to Test
.
setProperties
メソッドの詳細については、「RosettaNet Control Interface」(http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/integration/java-class/com/bea/control/RosettaNetControl.html) を参照してください。
JDK キーツール ユーティリティを使用して、キーストアのエントリが正しくコンフィグレーションされていることを確認できます。このサンプルで使用しているキーストアは、製品のインストール時に自動的にインストールされるデモ用キーストア (DemoIdentity.jks
) です。
Keystore type: jks
Keystore provider: SUN
Your keystore contains 9 entries:
secdomain1-client, Sat Oct 18 15:12:15 PDT 2003, keyEntry,
Certificate fingerprint (MD5): 53:13:78:D4:D0:E1:0D:EA:F4:6F:A1:19:6F:BE:4B:AF
secdomain2-sig, Sat Oct 18 16:44:00 PDT 2003, trustedCertEntry,
Certificate fingerprint (MD5): 97:24:2D:B5:CC:F3:FF:E5:06:E0:BD:CC:B6:E2:EF:E6
secdomain1servcert, Sat Oct 18 17:07:30 PDT 2003, trustedCertEntry,
Certificate fingerprint (MD5): 0F:AB:D0:92:0E:28:20:2C:70:4B:54:3E:84:AC:7F:E7
secdomain1-sig, Sat Oct 18 15:10:11 PDT 2003, keyEntry,
Certificate fingerprint (MD5): AD:9F:BA:80:44:F2:7D:54:65:2C:7B:86:8B:2F:AA:D7
secdomain2-enc, Sat Oct 18 16:44:00 PDT 2003, trustedCertEntry,
Certificate fingerprint (MD5): 3E:6C:A9:E8:5E:03:51:80:AD:6A:76:41:44:76:37:7B
secdomain2servcert, Sat Oct 18 16:46:15 PDT 2003, trustedCertEntry,
Certificate fingerprint (MD5): 0F:AB:D0:92:0E:28:20:2C:70:4B:54:3E:84:AC:7F:E7
secdomain1-enc, Sat Oct 18 15:10:47 PDT 2003, keyEntry,
Certificate fingerprint (MD5): 51:AB:CD:71:A2:E9:26:C8:CC:B2:A8:4C:49:DB:F1:CA
secdomain2-client, Sat Oct 18 16:43:59 PDT 2003, trustedCertEntry,
Certificate fingerprint (MD5): F9:FA:43:6E:DE:00:FB:FB:D5:68:EF:F6:2A:77:FD:01
demoidentity, Sat Oct 18 13:25:12 PDT 2003, keyEntry,
Certificate fingerprint (MD5): 0F:AB:D0:92:0E:28:20:2C:70:4B:54:3E:84:AC:7F:E7
[生メッセージのトレース] オプションを使用すると、生メッセージを指定の場所に保存できます。保存したメッセージを後で開いて、暗号や署名などのセキュリティ設定を確認できます。