Oracle® Fusion Middleware

Oracle B2Bユーザーズ・ガイド

11gリリース1 (11.1.1.7)

B61381-06(原本部品番号:E10229-13)

2013年10月

標準の交換およびトランスポート・プロトコル、ドキュメント、取引パートナ・アグリーメント、リスニング・チャネルおよびパッケージングを使用して、Oracle B2Bで取引パートナ・メッセージ交換を管理する方法について説明した開発者およびユーザー向けのドキュメントです。

Oracle Fusion Middleware Oracle B2Bユーザーズ・ガイド, 11g リリース1 (11.1.1.7)

B61381-06

Copyright © 2004, 2013, Oracle and/or its affiliates. All rights reserved.

原本著者: Oracle Corporation

原本協力著者: Oracle Corporation

原本協力者: Oracle B2Bの開発、製品管理および品質保証チーム

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

リリース11.1.1.7用のこのガイドでの新しい情報

第I部 Oracle B2Bの概要

1 Oracle B2Bの概要

- 1.1 Oracle B2BとBusiness-to-Business E-Commerce

- 1.2 Oracle B2Bでサポートされているプロトコル

- 1.3 Oracle B2Bメタデータ

- 1.4 Oracle B2Bのセキュリティ機能

- 1.4.1 ペイロードの不明瞭化

- 1.4.2 ドキュメント・タイプへのアクセス制限

- 1.5 SOA実装へのOracle B2Bの適合

- 1.6 発注書の送信: SOA実装の例

- 1.7 Oracle B2Bのサンプルと解説

- 1.8 Oracle Fusion Middleware環境でのOracle B2Bの管理

- 1.9 アクセシビリティ・オプション

- 1.9.1 Oracle B2Bでのアクセシビリティ機能の有効化

2 Oracle B2Bのスタート・ガイド

- 2.1 Oracle B2Bの開始に必要な事項

- 2.2 Oracle B2Bへのログイン

- 2.2.1 ポート情報の検索

- 2.2.2 シングル・サインオン(SSO)を介したOracle B2Bへのアクセス

- 2.2.3 Oracle B2Bにログインするためのweblogicユーザーの有効化

- 2.3 Oracle B2Bインタフェースの使用

- 2.3.1 管理

- 2.3.2 パートナ

- 2.3.3 レポート

- 2.3.4 メトリック

- 2.4 B2Bトランザクションの作成: プロセス・フローの概要

- 2.5 Oracle JDeveloper環境でのOracle B2Bの使用

- 2.5.1 SOAコンポジット・アプリケーションでのB2Bバインディング・コンポーネントの使用方法

- 2.5.2 B2B構成ウィザードでのJMS統合タイプの使用の概要

- 2.5.3 Fusion Order DemoのB2BX12OrderGatewayコンポジット

- 2.6 Oracle B2Bの使用に関する必知事項

- 2.6.1 実行時のデバッグ・モードの有効化

- 2.6.2 ログアウト: Oracle Access ManagerのSSOログアウト構成

第II部 Oracle B2Bプロセス・フロー

3 ガイドライン・ファイルの作成

- 3.1 Oracle B2Bドキュメント・エディタの概要

- 3.2 Oracle B2Bドキュメント・エディタのインストール

- 3.3 EDIFACT D98を例としたガイドライン・ファイルの作成

4 ドキュメント定義の作成

- 4.1 ドキュメント・プロトコルの概要

- 4.1.1 ドキュメント階層

- 4.1.2 確認を含むドキュメント・プロトコル

- 4.2 ドキュメント定義の作成

- 4.3 ドキュメント定義の削除

5 取引パートナの構成

- 5.1 取引パートナの概要

- 5.2 取引パートナ・プロファイルの作成

- 5.3 取引パートナ・ユーザーの追加

- 5.4 ドキュメント定義の追加

- 5.5 チャネルの構成

- 5.5.1 バイナリ転送

- 5.5.1.1 アウトバウンド転送

- 5.5.1.2 インバウンド転送

- 5.5.2 MLLPについて

- 5.5.2.1 接続モードのオーバーライド

- 5.5.2.2 TCPの一般的なサポート

- 5.5.2.3 動的エンドポイント

- 5.5.2.4 カスタム・ヘッダーを抽出するためのトランスポート・コールアウトの使用

- 5.5.3 ebMSの複数チャネルのサポート

- 5.5.4 メッセージの順序付け

- 5.5.4.1 アウトバウンド・メッセージの順序付け

- 5.5.4.2 インバウンド・メッセージの順序付け

- 5.5.4.3 ディスパッチなしの順序付け

- 5.5.4.4 メッセージの順序付けのトラブルシューティング

- 5.5.5 トランスポート同期コールバックの使用

- 5.5.6 JMSキューを使用したメッセージの相互関連付け

- 5.5.7 配信再試行オプションの構成

- 5.5.7.1 チャネル・レベルでの配信の再試行

- 5.5.7.2 ドキュメント・レベルでの配信の再試行

- 5.6 アグリーメントの自動作成機能の使用

- 5.7 取引パートナ参照用の識別子の使用

- 5.8 取引パートナの停止時間のスケジュール設定

- 5.9 複数の取引パートナへのメッセージのブロードキャスト

- 5.10 インバウンド・メッセージ処理中の証明書の検証

6 取引パートナ・アグリーメントの作成とデプロイ

- 6.1 アグリーメントの概要

- 6.2 アグリーメントの作成

- 6.3 アグリーメントのデプロイ

- 6.3.1 アグリーメントの再デプロイ

- 6.4 アグリーメントの削除とエクスポート

第III部 Oracle B2Bの管理

7 データのインポートおよびエクスポート

- 7.1 設計時リポジトリのインポートおよびエクスポート

- 7.2 「インポート/エクスポート」タブからインポートまたはエクスポートした場合のコピー内容

- 7.3 エクスポート済ファイルについて

- 7.3.1 マルチバイト・キャラクタ言語のアグリーメント名を含むエクスポートされたZIPファイル

8 ドキュメント・プロトコルの使用

- 8.1 カスタム・ドキュメント・プロトコルの使用

- 8.1.1 カスタムXMLドキュメントのXPath式の構成方法

- 8.1.1.1 オプション1: XPathおよび一致する値の指定

- 8.1.1.2 オプション2: ノードの存在のチェック

- 8.1.1.3 オプション3: 属性の値のチェック

- 8.2 EDI EDIFACTドキュメント・プロトコルの使用

- 8.3 EDI X12ドキュメント・プロトコルの使用

- 8.3.1 EDI X12ドキュメントの確認の生成

- 8.3.2 エンベロープ・パラメータのオーバーライド

- 8.4 HL7ドキュメント・プロトコルの使用

- 8.5 OAGドキュメント・プロトコルの使用

- 8.6 位置指定フラット・ファイル・ドキュメント・プロトコルの使用

- 8.7 RosettaNetドキュメント・プロトコルの使用

- 8.7.1 PIP

- 8.7.2 サービス・ヘッダーのpartnerDefinedPIPPayloadBindingIdパラメータとLocationIdパラメータの使用

- 8.7.3 RosettaNet検証

- 8.8 UCCNetドキュメント・プロトコルの使用

- 8.8.1 1Syncドキュメントの作成

- 8.9 ドキュメント詳細の変更

- 8.9.1 アグリーメントをデプロイした後のドキュメント定義の変更

- 8.9.2 メタデータをインポートした後のドキュメント定義の変更

- 8.10 ドキュメント・ルーティングIDの使用

9 デプロイメントの管理

- 9.1 アグリーメントのデプロイメント状態の概要

- 9.2 デプロイ済アグリーメントの管理

- 9.2.1 デプロイ済アグリーメントの検索

- 9.2.2 デプロイメント状態の変更

- 9.2.3 アクティブなアグリーメントのエクスポート

10 タイプの作成

- 10.1 カスタム識別子タイプの作成

- 10.2 カスタム連絡先情報タイプの作成

- 10.3 カスタム取引パートナ・パラメータ・タイプの作成

11 EDIメッセージのバッチ処理

- 11.1 バッチの設定

- 11.1.1 最大数と最大サイズに基づくバッチの作成

- 11.1.2 バッチ設定に基づくバッチ処理の理解

- 11.2 バッチ処理したメッセージの管理

- 11.3 インバウンド・バッチ処理メッセージの順序付けのサポート

12 取引パートナの停止時間のスケジュール設定

- 12.1 取引パートナの停止時間のスケジュール設定の概要

- 12.2 取引パートナの停止時間のスケジュール設定

- 12.3 スケジュール設定した停止時間の削除

- 12.4 取引パートナの停止時間の延長

- 12.4.1 スケジュールの重複

- 12.4.2 延長オプションの使用

13 コールアウトの管理

- 13.1 コールアウトの概要

- 13.1.1 トランスポート・コールアウト

- 13.1.2 コールアウト・ライブラリJARファイルの作成

- 13.2 コールアウトの作成

- 13.3 アグリーメントへのコールアウトのインクルード

- 13.4 コールアウトの実装

14 マップの使用

- 14.1 マッピングの概要

- 14.1.1 マップセットについて

- 14.1.2 定義済マップセットとカスタム・マップセット

- 14.2 Oracle B2Bコンソールでのマップセットの使用

- 14.2.1 Oracle B2Bコンソールでのマップセットの作成

- 14.2.2 マップセットと取引パートナ・アグリーメントの関連付け

- 14.2.3 Oracle B2Bコンソールでのマップセットの削除

- 14.3 Oracle MapBuilderを使用した構成済マップの作成

15 データのパージ

- 15.1 設計メタデータおよびインスタンス・データのパージ

- 15.2 データベース・パーティションに基づくデータのパージ

16 リスニング・チャネルの構成

- 16.1 リスニング・チャネルおよびプロトコルの追加

- 16.2 トランスポート・プロトコルの使用

- 16.3 リスニング・チャネルの詳細の追加

- 16.3.1 トランスポート・プロトコル・パラメータ

- 16.3.2 チャネル属性

- 16.3.3 交換プロトコル・パラメータ

- 16.3.4 セキュリティ・パラメータ

- 16.4 リスニング・チャネルの構成

- 16.5 ドキュメント順序付けの構成

- 16.6 デフォルト・リスニング・チャネルの使用

17 B2Bシステム・パラメータの構成

- 17.1 構成パラメータの設定

第IV部 レポートとメトリック

18 レポートの作成

- 18.1 レポートの概要

- 18.1.1 監視ユーザー・ロール

- 18.1.2 メッセージのパージ

- 18.1.3 Oracle B2Bからのメッセージの再発行

- 18.2 ビジネス・メッセージ・レポートの作成

- 18.3 ワイヤ・メッセージ・レポートの作成

- 18.4 アプリケーション・メッセージ・レポートの作成

- 18.5 エラー・レポートの作成

- 18.6 対話レポートの作成

19 B2Bメトリックの使用

- 19.1 B2Bメトリックの概要

- 19.2 B2Bシステム・メトリック

- 19.3 B2Bパートナ・メトリック

第V部 スクリプトとユーティリティ

20 B2Bコマンドライン・ツール

- 20.1 コマンドライン・ツール実行の前提条件

- 20.2 データのアーカイブ

- 20.3 データのパージ

- 20.4 データのインポート

- 20.5 データのエクスポート

- 20.6 バッチ処理操作

- 20.7 チャネル・パスワードのリセット

- 20.8 リスニング・チャネルのアクティブ化または非アクティブ化

- 20.9 アグリーメントのデプロイ

- 20.10 B2Bメタデータの検証

- 20.11 ebXML CPP/CPAユーティリティの使用

- 20.11.1 CPP/CPAプロパティ・テンプレートの作成

- 20.11.1.1 cpp_cpa.propertiesのプロパティ

- 20.11.2 CPP/CPAインポート

- 20.11.3 CPP/CPAエクスポート

- 20.12 アグリーメントの可用性の検証

- 20.13 selfservice.xsdに基づいたOracle B2Bメタデータの作成

- 20.13.1 セルフサービスを使用したドキュメント・プロトコル、取引パートナおよびアグリーメントのバッチ作成

- 20.13.2 セルフサービスのサンプルの使用

- 20.14 メッセージの再発行

- 20.14.1 プロトコル・メッセージIDに基づくメッセージの再発行

- 20.15 取引パートナの停止時間のスケジュール設定

- 20.16 キーストアの管理

- 20.17 キーストアの更新

- 20.18 インポート時のエラー

21 Oracle B2B Web サービスの使用

- 21.1 Oracle B2B Webサービスの概要

- 21.2 アウトバウンドWebサービスの使用

- 21.3 変換Webサービスの使用

- 21.3.1 XMLToNativeService

- 21.3.1.1 完全なエンベロープ

- 21.3.1.2 トランザクション・セットのみ

- 21.3.2 NativeToXMLService

- 21.3.2.1 完全なエンベロープ

- 21.3.2.2 トランザクション・セットのみ

- 21.3.3 変換Webサービスのパラメータ

- 21.4 問合せAPIの使用

- 21.4.1 Is Trading Partner Agreement Setupのパラメータ

- 21.4.2 Get Trading Partner Agreement Informationのパラメータ

- 21.5 Oracle B2B Webサービスの保護

22 Webサービスベースのメッセージ交換の有効化

- 22.1 Webサービスベースのメッセージ交換の概要

- 22.2 カスタムWSDLファイルによるSOAPベースのサービス・メッセージの交換

- 22.2.1 SOAPベースのアウトバウンド・メッセージの交換

- 22.2.2 SOAPベースのインバウンド・メッセージの交換

- 22.3 wsa.actionの構成

- 22.4 カスタムSOAPヘッダーの送信

- 22.5 Webサービスへのポリシーの添付

- 22.6 実行時の取引パートナの識別

- 22.7 リクエストとリプライのサンプル・シナリオ

- 22.7.1 アウトバウンド同期化: コンポジット

- 22.7.2 インバウンド同期化: コンポジット

- 22.7.3 アウトバウンド同期化: JMSキュー

- 22.7.4 インバウンド同期化: JMSキュー

23 データをアーカイブおよびリストアするためのスクリプト

- 23.1 B2Bビジネス・メッセージのアーカイブおよびリストアの概要

- 23.2 B2Bビジネス・メッセージのアーカイブ

- 23.3 B2Bビジネス・メッセージのリストア

24 エンキューおよびデキューのユーティリティ

- 24.1 AQエンキューおよびデキューのユーティリティ

- 24.1.1 AQエンキュー

- 24.1.2 AQデキュー

- 24.2 JMSエンキューおよびデキューのユーティリティ

- 24.2.1 JMSエンキュー

- 24.2.2 エンキュー: JMS JCAアダプタまたはカスタム・ユーティリティの使用

- 24.2.3 JMSデキュー

- 24.3 attachmentsDescriptor.xsdの使用

25 Oracle BAMでのインスタンス・メッセージ・データの監視

- 25.1 Oracle BAMでのOracle B2Bの監視の概要

- 25.2 Oracle WebLogic Serverでのデータ・ソースの作成

- 25.3 外部JMSサーバーの作成

- 25.4 Oracle BAMアーキテクトを使用したB2Bデータ・オブジェクトの作成

- 25.5 Oracle BAMエンタープライズ・メッセージ・ソースを使用したJMSメッセージ・ソースの定義

- 25.6 Oracle B2Bインスタンス・メッセージからOracle BAMデータ・オブジェクトへのマッピング

- 25.7 Oracle B2Bを監視するためのダッシュボードの作成

- 25.8 Oracle B2BでのOracle BAM統合の有効化

26 インスタンス・メッセージ・データへのプログラムでのアクセス

- 26.1 インスタンス・メッセージ・データへのプログラムでのアクセス

- 26.2 インスタンス・メッセージJava APIの例

- 26.3 インスタンス・メッセージJava APIのトラブルシューティング

- 26.3.1 多数のメッセージの処理

- 26.3.2 大きなペイロードの処理

- 26.3.3 Weblogic.jarを使用した問合せのリモート実行

第VI部 付録

A 大きなペイロードの処理

- A.1 大きなペイロードの処理

- A.1.1 大きなペイロードのサポートの概要

- A.1.2 大きなペイロードと32ビット版Windows PC

- A.1.3 大きなデータセットの設定シナリオ

B 電子メールの添付ファイルの処理

- B.1 ペイロードを電子メールの添付ファイルとして送信

- B.2 ペイロードを電子メールの本文として送信

- B.3 添付ファイルとともにペイロードを電子メールの本文として送信

- B.4 複数の添付ファイルとともにペイロードを電子メールの本文として送信

C 同期リクエスト/リプライのサポート

- C.1 概要

- C.2 送信者の構成

- C.2.1 Oracle JDeveloperの構成

- C.2.2 Oracle B2Bの構成

- C.3 受信者の構成

- C.3.1 Oracle JDeveloperの構成

- C.3.2 Oracle B2Bの構成

- C.4 メッセージの再発行

D Fusion Middleware ControlでのB2B構成プロパティの設定

- D.1 Fusion Middleware Controlで設定するプロパティ

- D.2 configmbeanutilユーティリティの使用

E バックエンド・アプリケーション・インタフェース

- E.1 SCAの正規化されたメッセージ・プロパティへのB2B IP_MESSAGE_TYPEのマッピング

- E.2 正規化されたメッセージのプロパティ

F 順序付けされたメッセージの管理

- F.1 順序付けされたメッセージを管理する必要がある理由

- F.2 ANTコマンドとパブリックAPI

G リモートJNDIキューを使用したB2B通信の設定

- G.1 外部JNDIを使用したB2B通信の構成

- G.1.1 ターゲットJMSサーバー、モジュールおよびキューの作成

- G.1.2 JMSキューに接続するための環境の設定

H 例外処理

- H.1 インバウンド・メッセージ

- H.1.1 リクエスト・メッセージまたはレスポンス・メッセージ

- H.1.1.1 インバウンドebMS、AS1およびAS2メッセージ

- H.1.2 確認メッセージ

- H.1.3 例外メッセージ

- H.2 アウトバウンド・メッセージ

- H.3 エラー・メッセージ配信でのJMSキューの使用

- H.4 エラー・メッセージ配信でのカスタム例外キューの使用

- H.5 インバウンド例外処理のシナリオ

- H.6 例外ペイロード定義

I データベース・パーティション化

- I.1 概要

- I.2 パーティション化要件

- I.3 表のパーティション化

J セルフサービス・ユーティリティのプロトコル、識別、セキュリティ仕様およびパラメータ

- J.1 プロトコル

- J.2 識別

- J.3 セキュリティ仕様

- J.4 交換プロトコルのパラメータ値

- J.5 トランスポート・プロトコルのパラメータ値

- J.6 ドキュメント・プロトコルのパラメータ値

K TA1確認

- K.1 概要

- K.2 TA1の構成

- K.2.1 インバウンド方向のTA1

- K.2.2 アウトバウンド方向のTA1

L IBM WebSphere MQによるメッセージの交換

- L.1 概要

- L.2 前提条件

- L.3 IBM MQへの接続

- L.3.1 資格証明を使用する接続の構成

- L.3.2 バインディングを使用する接続の構成

索引

はじめに

このマニュアルでは、Oracle B2Bの使用方法について説明します。

対象読者

Oracle Fusion Middleware Oracle B2Bユーザーズ・ガイドは、ビジネス・プロセスを取引パートナへと拡張する必要があり、ビジネス・プロセスの統合を設計、デプロイ、監視および管理するお客様を対象にしています。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

Oracleサポート・サービスでは、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info) か、聴覚に障害のあるお客様は (http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

関連ドキュメント

Oracle SOA Suite製品については、次を参照してください。

- Oracle Fusion Middleware Oracle SOA Suite開発者ガイド

- Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド

- Oracle Fusion Middleware Oracle SOA Suiteインストレーション・ガイド

- Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド

- Oracle Fusion Middlewareパフォーマンス・ガイド

Java APIドキュメント(Javadoc)については、次を参照してください。

- Oracle Fusion Middleware B2BコールアウトJava APIリファレンス

- Oracle Fusion Middleware B2Bのインスタンス・メッセージJava APIリファレンス

表記規則

このマニュアルでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック体

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

このガイドのリリース11.1.1.7に関する新しい内容

このガイドは、いくつかの点が更新されています。次の表に、追加または変更された部分をリストします。

既知の問題のリスト(リリース・ノート)は、"Known Issues for Oracle SOA Products and Oracle AIA Foundation Pack"(http://www.oracle.com/technetwork/middleware/docs/soa-aiafp-knownissuesindex-364630.html)を参照してください。

項

変更内容

2013年2月

2013年5月

2013年10月

第22章 Webサービスベースのメッセージ交換の有効化

新しい章

X

第22.5項 Webサービスへのポリシーの添付

項を追加

X

第15章 データのパージ

第15.2項 データベース・パーティションに基づくデータのパージ

データベース・パーティションに基づくデータのパージに関するコンテンツを記載するために追加された項です。

X

付録C Fusion Middleware ControlでのB2B構成プロパティの設定

第D.1項 Fusion Middleware Controlで設定するプロパティ

新しいプロパティを追加するように改訂された項です。

X

X

付録I データベース・パーティション化

新しい付録

X

付録K TA1確認

新しい付録

X

付録B 電子メールの添付ファイルの処理

新しい付録

X

第16章 リスニング・チャネルの構成

第16.6項 デフォルト・リスニング・チャネルの使用

デフォルト・リスニング・チャネルについて説明するために追加された項です。

X

第21章 Oracle B2B Webサービスの使用

表21-4 変換Webサービスのパラメータ

変換Webサービスのパラメータを示すために追加された表です。

X

第I部

Oracle B2Bの概要

この部には次の章が含まれます:

- 第1章 Oracle B2Bの概要

- 第2章 Oracle B2Bのスタート・ガイド

1 Oracle B2Bの概要

この章では、E-CommerceゲートウェイであるOracle B2Bが、企業と取引パートナ間における安全で信頼性の高いビジネス・ドキュメントの交信を、どのような方法で実現しているかについて説明します。また、Oracle B2BがBusiness-to-Businessのドキュメント標準、セキュリティ、トランスポート、メッセージング・サービス、および取引パートナ管理をどのようにサポートしているかについても説明します。

Oracle B2BをOracle SOA Suiteコンポジット・アプリケーション内でバインディング・コンポーネントとして使用すると、エンドツーエンドのビジネス・プロセスを実装できます。Oracle B2Bは、Health Level 7もサポートしているため、複数の医療システムによる相互通信を可能にします。

Oracle SOA Suiteの詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドを参照してください。

この章には次のトピックが含まれます:

- 第1.1項 Oracle B2BとBusiness-to-Business E-Commerce

- 第1.2項 Oracle B2Bでサポートされているプロトコル

- 第1.3項 Oracle B2Bメタデータ

- 第1.4項 Oracle B2Bのセキュリティ機能

- 第1.5項 SOA実装へのOracle B2Bの適合

- 第1.6項 発注書の送信: SOA実装の例

- 第1.7項 Oracle B2Bのサンプルと解説

- 第1.8項 Oracle Fusion Middleware環境でのOracle B2Bの管理

- 第1.9項 アクセシビリティ・オプション

1.1 Oracle B2BとBusiness-to-Business E-Commerce

E-Commerceは、Business-to-Business (B2B)などのインターネットを介した製品やサービスの売買です。B2B E-Commerceでは、企業は、インターネットを介してビジネス・プロセスを展開し、取引パートナに接触します。B2B E-commerceは、従来のビジネス・プロセス、完成されたビジネス・ドキュメント、および業界に定着しているメッセージング・サービスに対応しています。これには、統一されたビジネス・プロセスのプラットフォーム、エンドツーエンドのインスタンス追跡機能、可視化と監査、統合されたプロセスのインテリジェンス、プロセスとサービスの管理、および集中管理されたセキュリティが必要です。

ビジネス間のE-Commerceトランザクションは、手紙や宅急便の運送業者(出荷)のトランザクションと考えることができます。これら2種類のトランザクションの差出人は、アイテムのパッケージングと送信に必要な詳細、および受取人の要件を考慮する必要があります。表1-1に、この2種類のトランザクションを比較した例を示します。

表1-1 従来のトランザクションとE-Commerceトランザクションの比較

従来の出荷トランザクション

E-Commerceトランザクション

出荷アイテム(トランザクション・アイテム)

携帯電話

電子ドキュメント

ドキュメント・プロトコル: カスタム、EDI EDIFACT、EDI X12、HL7、OAG、位置指定フラット・ファイル、RosettaNet、UCCnetなど

アイテムのパッケージ方法

ボックス、気泡シート

パッケージング・プロトコル: MIME、SMIME、SOAP、XMLDSig、XMLEncrypt

アイテムの送受信方法

トラック、船、飛行機

トランスポート・プロトコル: HTTP、File、FTP、SFTP (SSH FTP)、TCP/IP、SMTP、MLLPなど

運送業者

DHL、FedEx、UPS、USPS

メッセージ交換プロトコル: RNIF、AS1、AS2、ebMSなど

運送業者サービスの要件

必須/オプション

- 署名済の受領書

- 翌日配達

- 再配達回数

必須/オプション

- 非拒否

- 確認/応答の所要時間

- 再試行回数

このガイドでは、Oracle B2Bを使用した取引パートナの構成、アグリーメントの作成とデプロイ、およびデプロイの監視に加えて、ドキュメント、パッケージングおよび配信の定義方法について説明します。

1.2 Oracle B2Bでサポートされているプロトコル

Oracle B2Bは、医療、小売業、IT、テレコム、エレクトロニクス、製造、食品など、複数の業界範囲に定義されている業界標準のE-Commerceプロトコルを多数サポートしています。表1-2に、Oracle B2Bでサポートされているプロトコルを示します。

表1-2 Oracle B2Bでサポートされているプロトコル

プロトコル・タイプ

プロトコル

ドキュメント・プロトコル

- カスタム(ユーザー定義)

- EDI EDIFACT (すべてのバージョン)

- EDI X12 (すべてのバージョン)

- HL7 (すべてのバージョン)

- RosettaNet PIPビジネス・ドキュメント

- OAG

- 位置指定フラット・ファイル(SAP iDocを含む)

- UCCnet

- カスタム(XML以外)

- NCPDP Telecom

- EDIEL

パッケージング・プロトコル

- MIME 1.0

- S/MIME 2.0、S/MIME 3.0

- SOAP

- XML Digital Signature (XMLDSig)

- XML Encryption (XMLEncrypt)

トランスポート・プロトコル

- AQ

- Email (SMTP 1.0、IMAP 1.0、POP3)

- File

- FTPとSFTP (SSH FTP)

- HTTP (HTTP 1.0、HTTP 1.1)とHTTPS (HTTPS 1.0、HTTPS 1.1)

- JMS

- TCP/IP

メッセージ交換プロトコル

- AS1-1.0、AS2-1.1

- MLLP-1.0

- ebMS-1.0、ebMS-2.0 (ebXML Messaging Service)

- RosettaNet-01.10、RosettaNet-V02.00

- Generic File-1.0

- Generic AQ-1.0

- Generic FTP-1.0

- Generic SFTP-1.0

- Generic JMS-1.0

- Generic HTTP-1.0

- Generic Email-1.0

- Generic TCP

ドキュメント・タイプについて:

カスタムおよび位置指定フラット・ファイルのドキュメント・プロトコルを使用すると、W3CXMLスキーマ(OAGIS、xCBL、UBL、ebXMLなど)を含む他の多数のドキュメント・タイプを使用できます。ガイドライン・ドキュメントを作成するには、Oracle Document Editorを使用します。

1.3 Oracle B2Bメタデータ

Oracle B2Bインスタンス・データは、データベースのSOAINFRAスキーマ内に格納されて管理されます。設計時および構成のOracle B2Bメタデータは、Oracle Fusion Middlewareで使用可能なメタデータ・サービス(MDS)を使用して格納および管理されます。MDSの詳細は、Oracle Fusion Middleware管理者ガイドを参照してください。

Oracle B2Bで作成されたドキュメントはメタデータ・リポジトリに格納されるため、データベースのトランザクション・ログがいっぱいになる可能性があります。この状況が頻繁に発生する場合は、データベース構成パラメータの値を上げて、より大きいログ・ファイルを許可します。大規模なログ・ファイルには、より大きい領域が必要ですが、アプリケーションによる操作の再試行の必要性は減少します。

この値を増やすには、次のコマンドを発行します:

db2 update database config for soainfra using LOGFILESIZ 8192

1.4 Oracle B2Bのセキュリティ機能

Oracle B2Bでは、包括的なセキュリティ・プラットフォーム・フレームワークであるOracle Platform Security Servicesのセキュリティ機能が利用されます。Oracle Platform Security Serviceは、次の機能をサポートしています。

- 認証

- アイデンティティ・アサーションとアイデンティティ管理

- 認可

- アプリケーション固有のポリシーの指定と管理

- 資格証明ストア・フレームワークを使用した資格証明とキー・ストアの管理

- 監査

- ロール管理およびロールと資格証明のマッピング

- ユーザーとロールのAPI

- シングル・サインオンのソリューション

- セキュリティの構成と管理

- 暗号化

Oracle SOA Suiteのインストール時に作成されたデフォルトの管理者ユーザーには、すべてのOracle B2B機能にアクセスできる管理者ロールが割り当てられます。デフォルトの管理者ユーザーは、追加のユーザーを作成して、次のロールを割り当てることができます。

- ホスト管理者: このロールには、すべてのOracle B2B機能に対するアクセス権があります。すべてのデータに対する管理者ロールを保持できるのは、ホスト取引パートナ・ユーザーのみです。

- ホスト監視: このロールは、すべての取引パートナのレポートにアクセスしたり、ランタイム・データを表示したりできます。

- リモート管理者: このロールには、「パートナ」ページへの制限されたアクセス権があります。このロールのユーザーが表示および編集できるのは、独自の設計データ(チャネルやドキュメントなど)のみです。つまり、表示できるのは、自分がパートナであるアグリーメントのみであり、アクセスできるのは、自分のランタイム・レポート・データのみです。

- リモート監視: このロールは、ホスト取引パートナとの独自の交信に関連したレポートにアクセスしたり、ランタイム・データを表示したりできます。

ロールの割当て方法は、第5.3項 取引パートナ・ユーザーの追加を参照してください。

Oracle B2Bユーザー・インタフェースを使用して設計、デプロイ、および管理するパートナ・データは、Metadata Service (MDS)リポジトリの集中管理されたストレージによって保護されます。

その他のセキュリティ機能は、次のとおりです。

- トランスポート・プロトコルベースのセキュリティ(HTTP、FTPおよびSMTP交換用)

- デジタル・エンベロープおよびデジタル証明書

- デジタル署名(ホストおよびリモート取引パートナ用)

- 資格証明ストア・フレームワーク(すべてのパスワードとセキュリティ資格証明の格納用)との統合

- SHTTP (Secure Sockets Layer (SSL)を使用)

- 暗号化キー・ストア・パスワード(ホスト取引パートナ用)

注意:

Oracle B2Bランタイムでは、CLIENT-CERT認証方法がサポートされません。したがって、B2Bが、OAM-SSOで保護されたURLにポストすることはできません。

セキュリティの詳細は、次を参照してください。

- Oracle Fusion Middlewareセキュリティ・ガイド

1.4.1 ペイロードの不明瞭化

Oracle B2Bは、インスタンス・リポジトリに格納する前のペイロードの不明瞭化をサポートしています。Oracle Fusion Middlewareのセキュリティ・インフラストラクチャは、ペイロードを不明瞭化して格納および取得し、承認されたユーザーのみにワイヤ・メッセージ、ビジネス・メッセージおよびアプリケーション・メッセージのペイロードを表示するために使用します。暗号化アルゴリズムは指定できません。キーは資格証明ストアに格納されます。

実行時に、ペイロードは、不明瞭化されてからインスタンス・リポジトリに格納されます。処理中にこのペイロードをインスタンス・ストアから取得すると、そのペイロードは、B2Bエンジンによる処理のために、自動的に明瞭化されます。

同様に、アウトバウンド方向でペイロードの不明瞭化が必要な場合、ペイロードは、不明瞭化されてからインスタンス・リポジトリに格納されます。交換レベルの暗号化が指定されている場合、ペイロードは、指定された暗号化スキームを使用して暗号化されてからワイヤに配置されます。

ペイロードの不明瞭化は、Oracle Enterprise Manager Fusion Middleware Controlで構成できます。詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』および付録D「Fusion Middleware ControlでのB2B構成プロパティの設定」を参照してください。

ペイロードの不明瞭化を有効にする場合は、次の点を考慮します。

- 大きなペイロード(「構成」タブの「大きなペイロード・サイズ」パラメータで定義)は不明瞭化されません。これは、大きなペイロードは、インスタンス・リポジトリではなく、ディレクトリ(ファイル・システム)に格納されるためです。ファイル・システムに大きなペイロードを格納すると、セキュリティ・リスクが発生します。

- 不明瞭化されたペイロードへのアクセスは、そのドキュメント・タイプへのアクセス権を持つユーザーがOracle B2Bインタフェースを介してのみ可能です。これらのユーザーに対しては、ペイロードは明瞭化された状態で表示されます。その他のユーザーはそのドキュメント・タイプに一切アクセスできません。ドキュメント・タイプへのアクセスが可能になるようにユーザーをプロビジョニングできます。ドキュメント・タイプのプロビジョニングについては、第1.4.2項 ドキュメント・タイプへのアクセス制限を参照してください。

不明瞭化は、マルチバイト・キャラクタを使用するペイロードおよびOracle以外のデータベースに対して使用できます。

不明瞭化されたペイロードが含まれているインスタンス・ストアを移行する場合は、資格証明ストア・フレームワーク(CSF)もエクスポートする必要があります。これは、CSFには、これらのペイロードを明瞭化するキー(不明瞭化と明瞭化では同じキーを使用)が含まれているためです。インスタンス・ストアが新規のストアの場合、移行は不要です。これは、初めてペイロードが不明瞭化されるときに、キーが作成されるためです(存在しない場合)。

デフォルトまたはJMSの統合タイプを使用している場合、Oracle B2Bで不明瞭化されて持続されているペイロードは、コンポジット・アプリケーション内の他のSOAコンポーネントに明瞭化された状態で渡されます。この明瞭化されたペイロードを他のSOAコンポーネントで表示するユーザーは、そのペイロードが不明瞭化されて持続されるようにセキュリティを確保し、そのペイロードを表示するユーザーに承認を課すようにする責任があります。

1.4.2 ドキュメント・タイプへのアクセス制限

Oracle B2Bでは、ドキュメント・タイプに基づいたアクセス制限によってペイロード・セキュリティをサポートしています。ドキュメント・タイプ・アクセスには、次のユーザー権限を使用できます。

- すべてのドキュメント・タイプに対する管理者権限
この権限によって、ユーザーはすべてのドキュメント・タイプを追加、アクセス、編集および削除できます。このユーザーには、インポート、エクスポート、パージなどの管理機能へのアクセス権もあります。

- 特定のドキュメント・タイプに対する管理者権限
この権限によって、ユーザーは、自分に権限がある特定のドキュメント・タイプをアクセス、編集および削除できます。このユーザーは、制限されているドキュメント・タイプをアクセス、編集、削除することはできません。また、新規のドキュメント・タイプを追加することも、インポート、エクスポート、パージなどの管理機能にアクセスすることもできません。

- すべてのドキュメント・タイプに対する監視権限
この権限によって、ユーザーはすべてのドキュメント・タイプにアクセスして表示できます(ただし、編集や削除はできません)。

- 特定のドキュメント・タイプに対する監視権限
この権限によって、ユーザーは特定のドキュメント・タイプにアクセスして表示できます(ただし、編集や削除はできません)。このユーザーは、制限されているドキュメント・タイプにアクセスして表示することはできません。

デフォルトの管理者ユーザーは、次のように、他のロールに対してドキュメント・タイプ・アクセスを制限できます。

- ホスト管理者には、すべてのドキュメント・タイプへのアクセス権を付与できます。その場合、このユーザーはドキュメント・タイプ・アクセスを他のホスト管理者またはリモート管理者に制限できます。

- ホスト管理者には、特定のドキュメント・タイプのみへのアクセス権を付与できます。その場合、このユーザーはドキュメント・タイプ・アクセスを他のホスト管理者またはリモート管理者に制限することはできません。

- リモート管理者には、リモート取引パートナに関連する特定のドキュメント・タイプのみ、またはすべてのドキュメント・タイプのアクセス権を付与できます。とぢらの場合も、リモート取引パートナ管理者は、システムにドキュメント・タイプを作成したり、特定のリモート取引パートナのユーザーをプロビジョニングすることはできません。ユーザーをプロビジョニングできるのは、ホスト取引パートナ管理者ユーザーのみです。

- ホスト監視には、すべてのドキュメント・タイプまたは特定のドキュメント・タイプに対する表示専用アクセス権を付与できます。ただし、他のユーザーに対してドキュメント・タイプ・アクセスを制限することはできません。

- リモート監視には、リモート取引パートナに関連するすべてのドキュメント・タイプ、またはリモート取引パートナに関連する特定のドキュメント・タイプに対する表示専用アクセス権を付与できます。ただし、他のユーザーに対してドキュメント・タイプ・アクセスを制限することはできません。

注意:

すべての「管理」タブ機能へのアクセス権がある管理者ユーザーは、任意またはすべてのドキュメント・タイプが割り当てられると、管理者権限が失われ、「管理」タブを使用できなくなります。

Oracle B2Bインタフェースでドキュメント・タイプ・アクセスを指定する方法の詳細は、第5.3項 取引パートナ・ユーザーの追加のタスク3 ユーザーがアクセス権限を持つドキュメント・タイプの追加を参照してください。

特定のドキュメント・タイプへのアクセスを制限する場合は、次の点を考慮します。

- 制限されたドキュメント・タイプには、新規のドキュメント定義を追加できません。

- ドキュメント・タイプはインポート、エクスポートまたはパージできません。

- 図1-1に示すように、ドキュメント・タイプは、「パートナ」→「ドキュメント」タブで変更できません。

図1-1 「ドキュメント」タブから制限されているドキュメント・タイプへのアクセス

- 次の各タブには、制限されているドキュメント・タイプがリストされますが、詳細の表示またはアクセスはできません。

- 「管理」→「ドキュメント」タブ

- 「レポート」タブ

- 「メトリック」タブ

- 制限されているドキュメント・タイプのドキュメント定義が含まれているアグリーメントは、変更またはエクスポートできません。

- B2Bバインディング・コンポーネントを含むSOAコンポジットでは、ドキュメント・タイプに関する制限が有効ではありません。Oracle JDeveloperのB2B構成ウィザードでは、任意のユーザーがすべてのドキュメント・タイプを使用できます。

1.5 SOA実装へのOracle B2Bの適合方法

Oracle B2Bは、ビジネス・プロセスを取引パートナに展開するためのBusiness-to-Businessゲートウェイとして使用されます。Oracle B2BをSOAコンポジット・アプリケーションで使用すると、エンドツーエンドのビジネス・プロセス統合をモデル化できます。

Oracle SOA Suiteには、コンポジット・アプリケーションを設計、デプロイおよび管理するためのサービス・インフラストラクチャ・コンポーネントの完全なセットが用意されています。コンポジット・アプリケーションに含まれる複数のテクノロジ・コンポーネントでは、単一のデプロイおよび管理モデルとツール、エンドツーエンドのセキュリティおよびユニファイド・メタデータ管理などの共通機能が共有されます。詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドを参照してください。

SOA実装で、Oracle B2Bは、バインディング・コンポーネントとして機能し、メッセージの送受信を可能にするネットワーク・プロトコルおよびサービスを使用します。

- SOAコンポジット・アプリケーションは、Oracle B2Bからのメッセージをサービス(インバウンド)として受信します。

- SOAコンポジット・アプリケーションは、Oracle B2Bへのメッセージを参照(アウトバウンド)として渡し、次に、Oracle B2Bがそのメッセージをパートナに送信します。

Oracle B2Bでは、メッセージの他に、SOA実装で添付ファイルおよび大きなペイロードを送信することもできます。大きなペイロードの処理の詳細は、付録A「大きなペイロードの処理」を参照してください。

注意:

Oracle SOA Suite内でのOracle B2B、メディエータおよびBPELコンポーネントの統合では、Oracle E-Business Suiteと通信するOracle B2B 11gにXMLゲートウェイの内部デリバリ・チャネルは不要です。通信は、Oracle SOA Suiteで使用可能なOracle Applicationアダプタを使用して実行できます。

1.6 発注書の送信: SOA実装の例

次の例では、SOAコンポジット・アプリケーションのコンポーネントを使用したOracle E-Business Suite起点の発注書の送信方法を説明します。図1-2を参照してください。

図1-2 SOAコンポジット・アプリケーションでのアウトバウンド発注書

アウトバウンド発注書(P.O.)はXMLドキュメントで、次のようなエンドツーエンドのビジネス・プロセスが関与しています。

1. Oracle E-Business SuiteなどのアプリケーションがP. O.プロセスを開始します。P. O.ドキュメントには、アプリケーション生成のXMLが使用されます。

2. Oracle Mediatorは、Oracle E-Business SuiteからP. O.を受信します。このP. O.は、XSLTマッパーを使用して正規XMLに変換され、コンポジット・アプリケーションの検証時に取得したスキーマを使用して検証されます。Oracle Mediatorは、メッセージをOracle BPEL Process Managerにルーティングします。

3. Oracle BPEL Process Managerは、Oracle MediatorからP. O.を受信します。ヒューマン・ワークフロー、ビジネス・ルール、エラー処理などのビジネス・プロセスは、Oracle BPEL Process ManagerがP. O.をOracle Mediatorに戻す前に適用できます。

4. Oracle Mediatorは、Oracle BPEL Process ManagerからP. O.を受信します。このP. O.は、XSLTマッパーを使用して正規XMLからターゲットXMLに変換され、Oracle B2Bにルーティングされます。

5. Oracle B2Bは、MediatorからP. O.を受信してEDIネイティブ・フォーマットなどに変換し、取引パートナとの相互作用を管理します。

6. Oracle Business Activity Monitoring (BAM)は、エンドツーエンド・プロセスを監視します。

詳細は、次を参照してください:

- B2Bバインディング・コンポーネントをSOAコンポジット・アプリケーションに組み込む方法は、第2.5項 Oracle JDeveloper環境でのOracle B2Bの使用

- Oracle SOA SuiteとSOAコンポジット・アプリケーションの情報については、Oracle Fusion Middleware Oracle SOA Suite開発者ガイド

1.7 Oracle B2Bのサンプルと解説

Oracle B2Bサンプルを使用して、ガイドライン・ファイルの作成、Oracle B2Bトランザクションの設計、取引パートナ・アグリーメントのデプロイと監視、SOAコンポジット・アプリケーションの作成とデプロイの各手順を実行できます。コンポジット・アプリケーションにはOracle B2Bバインディング・コンポーネントが含まれ、Oracle B2Bで作成したドキュメント定義が使用されます。

サンプルは、次のドキュメント・タイプに対して使用できます。

- 1Sync

- カスタムXML

- EDI EDIFACT

- EDI X12

- HL7

- RosettaNet

このエンドツーエンドのサンプルは、Acme社とGlobalChips社の2つの取引パートナがトランザクションに関与しているシナリオに基づいています。Acme社は起案者(発注書シナリオでは購入者)で、GlobalChips社は応答者(発注書シナリオでは販売者)です。HL7サンプルでは、Acme社(起案者)が患者の入院メッセージであるADT_A01を送信し、GlobalChips社から確認のACK_A01を受信します。

サンプルには、サンプルの実行に必要なすべてのドキュメント、アグリーメントおよびSOAコンポジットを作成するための指示とサンプル・ドキュメント定義ファイルが含まれています。サンプルごとに、完全なSOAコンポジット・アプリケーションも提供されます。

サンプルをダウンロードするには、Oracle SOA Suiteサンプル・サイト(http://java.net/projects/oraclesoasuite11g/pages/B2B)にアクセスします。

Oracle B2B解説には、Oracle B2BのebXML、EDI (EDIFACTやX12)およびHL7の実装に関する詳細が記載されています。この解説には、構成ステップ、パフォーマンスのベスト・プラクティス、典型的なエラーの説明およびFAQが含まれています。解説をダウンロードするには、次の場所にアクセスしてください

http://www.oracle.com/technetwork/middleware/b2b-integrations

サンプルと解説の使用に必要なコンポーネントについては、第2.1項 Oracle B2Bの開始に必要な事項を参照してください。

1.8 Oracle Fusion Middleware環境でのOracle B2Bの管理

次の各コンポーネントでは、Oracle B2Bの監視、構成およびパフォーマンス・チューニングの各機能が提供されます。

- SOAサーバー: B2Bパフォーマンスを最適化するには、メモリー引数を設定します。
詳細は、Oracle Fusion Middlewareパフォーマンス・ガイドのOracle B2Bパフォーマンス・チューニングを参照してください。

- Oracle Weblogic Server管理コンソール: パフォーマンスをチューニングするための管理者設定です。
詳細は、Oracle Fusion Middlewareパフォーマンス・ガイドのOracle B2Bパフォーマンス・チューニングを参照してください。

- Oracle Enterprise Manager Fusion Middleware Control: Enterprise Managerメトリックを有効にしてOracle B2Bインフラストラクチャを監視するには、Oracle B2Bサーバーのプロパティを設定します。
詳細は、次を参照してください:

- 第D.1項 Fusion Middleware Controlで設定するプロパティ

- Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイドのOracle B2Bの構成およびOracle B2Bの監視

Oracle B2Bインタフェース内では、監視と構成に次の設定を使用します。

- 「管理」→「構成」タブ
第17章 B2Bシステム・パラメータの構成を参照してください。

- 「管理」→「レポート」タブ
第18章 レポートの作成を参照してください。

- 「管理」→「メトリック」リンク
第19章 B2Bメトリックの使用を参照してください。

1.9 アクセシビリティ・オプション

この項では、Oracle B2Bで使用可能なアクセシビリティ・オプションについて説明します。

1.9.1 Oracle B2Bでのアクセシビリティ機能の有効化

Oracle B2Bには、スクリーン・リーダーがアプリケーションのすべてのコンポーネントにアクセスし、これらを読み取れるようにするスクリーン・リーダー・オプションがあります。

スクリーン・リーダーを有効にする手順は次のとおりです。

1. 右上隅の「スクリーン・リーダー・モードの有効化」リンクをクリックします。

2. 次の確認メッセージが表示されます。これにより、現行セッションのスクリーン・リーダー・モードが有効化されます。続行しますか?

3. 「はい」をクリックして確認します。

2 Oracle B2Bのスタート・ガイド

この章では、Oracle B2Bで提供されるB2Bトランザクションを作成するためのWebベースのインタフェースについて説明します。また、Oracle B2Bトランザクションを作成するためのプロセス・フローと、Oracle JDeveloper環境でOracle B2Bを使用する方法についても説明します。

この章には次のトピックが含まれます:

- 第2.1項 Oracle B2Bの開始に必要な事項

- 第2.2項 Oracle B2Bへのログイン

- 第2.3項 Oracle B2Bインタフェースの使用

- 第2.4項 B2Bトランザクションの作成: プロセス・フローの概要

- 第2.5項 Oracle JDeveloper環境でのOracle B2Bの使用

- 第2.6項 Oracle B2Bの使用に関する必知事項

2.1 Oracle B2Bの開始に必要な事項

Oracle SOA Suite (Oracle B2Bも含めて)のインストールに加え、次の機能もインストールする必要があります。

- Oracle Document Editor

- Oracle JDeveloper

Oracle Document Editorの規格に基づいたテンプレートを使用して、ガイドライン・ファイルを作成します。次に、Oracle B2Bを使用して、トランザクションをB2Bアグリーメントの一環として作成し、デプロイします。SOAコンポジット・アプリケーションにB2Bトランザクションを組み込むには、図2-1に示すOracle JDeveloperを使用します。

図2-1 Oracle JDeveloper: SOAコンポジット・アプリケーションとB2Bバインディング・コンポーネント

詳細は、次を参照してください:

- Oracle Fusion Middleware Oracle SOA Suiteインストレーション・ガイド。Oracle SOA Suiteの一部としてのOracle B2Bのインストールに関する情報が記載されています。

- 第3章 ガイドライン・ファイルの作成

- Oracle B2Bドキュメント・エディタの「ヘルプ」メニュー

- Oracle JDeveloperの「ヘルプ」メニュー

2.2 Oracle B2Bへのログイン

この手順では、Oracle B2Bを含むOracle SOA Suiteがすでにインストールされていることを前提にしています。詳細は、Oracle Fusion Middleware Oracle SOA Suiteインストレーション・ガイドを参照してください。

サポートされている次のWebブラウザを使用できます。

- Microsoft Internet Explorer 7.xおよび8.x

- Mozilla Firefox 2.xおよび3.x

- Apple Safari 4.x

Oracle B2Bへのログイン手順

1. サポートされているWebブラウザを開き、次の場所にアクセスします。

http://host_name:port_number/b2bconsole

ここで:

- host_nameは、Oracle SOA Suiteがインストールされているホストの名前です。(クラスタ環境では、host_nameがフロントエンドのロード・バランサである場合があります)

- port_numberは、管理対象サーバーによる通常のHTTP(非SSL)接続のリスニングに使用されるポート番号です。(クラスタ環境では、port_numberはルーター・ポートになります。)
詳細は、第2.2.1項 ポート情報の検索を参照してください。

- /b2bconsole(または/b2b)によってB2Bインタフェースにアクセスします(/b2bは/b2bconsoleにリダイレクトされます)。
/b2bconsoleおよび/b2b設定をOracle HTTP Serverのmod_wl_ohs.confファイルに追加してOracle B2Bユーザー・インタフェース・ページを保護する方法については、第2.2.2項 シングル・サインオン(SSO)を使用したOracle B2Bへのアクセスを参照してください。

注意:

SAMLが有効な場合またはWindowsのネイティブ認証環境でOracle B2Bにアクセスする場合は、次のいずれかの保護サーブレットURLを使用して自動認証します。

http://host_name:port_number/b2b/ssologin
http://host_name:port_number/b2bconsole/ssologin

2. ログイン・ページで、次の情報を入力します。

フィールド名

指定する情報

ユーザー名

デフォルトの管理者ユーザー名を入力します。

パスワード

Oracle Fusion Middleware 11gインストールの管理者パスワードを使用します。

3. 「ログイン」をクリックします。

2.2.1 ポート情報の検索

ポート番号は次の方法で確認できます。

- Oracle Weblogic Server管理コンソールから

1. コンソールにログインします。

2. 「ドメイン構造」ペインで、図2-2に示すように、「環境」を開いて「サーバー」をクリックします。

図2-2 Oracle WebLogic Server管理コンソールのドメイン構造ノード

3. サーバーの「リスニング・ポート」列を書き留めます。

- MW_HOME/user_projects/domains/your_domain_name/config/config.xmlから

<server>
<name>soa_server1</name>
<ssl>
<name>soa_server1</name>
<listen-port>8002</listen-port>
</ssl>
<machine>LocalMachine</machine>
<listen-port>8001</listen-port>
<listen-address/>
</server>

2.2.2 シングル・サインオン(SSO)を介したOracle B2Bへのアクセス

Oracle Identity ManagementのSSOを使用して、Oracle B2Bにログイン、ログアウトおよび再ログインする場合は、/b2bconsoleの場所をOracle HTTP Serverのmod_wl_ohs.confファイルに追加する必要があります。次に例を示します。

<Location /b2bconsole>
SetHandler weblogic-handler
#     PathTrim /weblogic
ErrorPage  http:/WEBLOGIC_HOME:WEBLOGIC_PORT/
</Location>

さらに、/b2bの場所に必要な設定は次のとおりです。

<Location /b2b>
SetHandler weblogic-handler
#     PathTrim /weblogic
ErrorPage  http:/WEBLOGIC_HOME:WEBLOGIC_PORT/
</Location>

2.2.3 Oracle B2Bにログインするためのweblogicユーザーの有効化

Oracle Internet Directory (OID)のweblogicユーザーがOracle B2Bに管理者としてログインしてユーザーを検索するためには、OIDオーセンティケータに管理者グループを割り当て、weblogicユーザーをそのグループのメンバーにする必要があります。

weblogicユーザーを有効にするには:

1. LDAPブラウザを使用して、OIDにweblogicユーザーを作成します。次に、OIDへのusers.ldifファイルのインポート方法を示します。

dn: cn=weblogic,cn=Users,dc=us,dc=oracle,dc=com
objectclass: inetorgperson
objectclass: organizationalPerson
objectclass: person
objectclass: orcluser
objectclass: orcluserV2
objectclass: top
sn: weblogic
userpassword: welcome1
uid: weblogic

2. OIDに管理者グループを作成し、そのグループにweblogicユーザーを割り当てます。次に、OIDへのgroups.ldifファイルのインポート方法を示します。

dn: cn=Administrators,cn=Groups,dc=us,dc=oracle,dc=com
objectclass: groupOfUniqueNames
objectclass: orclGroup
objectclass: top
owner: cn=orcladmin,cn=Users,dc=us,dc=oracle,dc=com
uniquemember: cn=weblogic,cn=Users,dc=us,dc=oracle,dc=com

2.3 Oracle B2Bインタフェースの使用

B2Bアクティビティは次のようにグループ化されています。

- 管理

- パートナ

- レポート

- メトリック

2.3.1 管理

図2-3に示す「管理」ページのタブを使用して、インポートとエクスポート、ドキュメント・プロトコル、デプロイメント、タイプ、バッチ処理、コールアウト、パージ、リスニング・チャネルおよびB2B構成を管理します。

図2-3 管理アクティビティ

詳細は、第III部「Oracle B2Bの管理」を参照してください。

2.3.2 パートナ

図2-4に示すように、「パートナ」ページのタブを使用して、取引パートナ情報の作成と更新、アグリーメント情報の作成と更新、ユーザー情報の追加、取引パートナへのドキュメントの関連付け、チャネルの設定、およびキー・ストアの構成を実行します。

図2-4 パートナ・アクティビティ

詳細は、第II部「Oracle B2Bプロセス・フロー」を参照してください。

2.3.3 レポート

図2-5に示すように、「レポート」ページのタブを使用して、インスタンス(ランタイム)データに関するレポートの作成と表示を実行します。

図2-5 レポート

詳細は、第18章 レポートの作成を参照してください。

2.3.4 メトリック

図2-6に示すように、「メトリック」ページのタブを使用して、デプロイされたアグリーメント(アクティブなドキュメント・タイプや取引パートナのリストなど)および実行時の状況(エラー・メッセージやメッセージ件数など)に関する情報を表示します。

図2-6 メトリック

詳細は、第19章 B2Bメトリックの使用を参照してください。

2.4 B2Bトランザクションの作成: プロセス・フローの概要

図2-7にB2Bプロセス・フローを示します。このフローは、Oracle Document EditorでのB2Bガイドライン・ファイルの作成で始まり、次にOracle B2Bインタフェースを使用したドキュメント定義の作成、取引パートナの構成、アグリーメントの作成とデプロイが続きます。

図2-7 Oracle B2Bプロセス・フロー

手順1: Oracle Document Editorでのガイドライン・ファイル(ECSファイルおよび(必要な場合は) XSDファイル)の作成

図2-8に示すように、Oracle B2Bドキュメント・エディタでは、業界標準の何百ものプロトコルのテンプレートに基づいてトランザクション・ドキュメントを作成します。Oracle Document Editorは、変換が必要な場合にのみ必要です。このエディタはXMLドキュメントでは使用されません。

図2-8 Oracle B2Bドキュメント・エディタでのドキュメントの作成

Oracle Document Editorの詳細は、次の情報を参照してください。

- 第3章 ガイドライン・ファイルの作成

- Oracle Document Editorの「ヘルプ」メニュー(図2-9を参照)。

図2-9 Oracle Document Editorのヘルプ

手順2: ドキュメント定義の作成

Oracle B2Bの「管理」→「ドキュメント」タブを使用して、図2-10に示すように、ドキュメント・プロトコルのリストからプロトコルを選択し、ドキュメント・プロトコル・バージョン名、ドキュメント・タイプ名およびドキュメント定義名を指定します。(カスタム・ドキュメントの場合は、ドキュメント・プロトコルのリストから選択するのではなく、「ドキュメント・プロトコル」フォルダのリストにカスタム・プロトコル名を追加します。)

図2-10 ドキュメント定義の作成

手順1で作成したECSファイルとXSDファイル(必要な場合)を選択した後、ドキュメント定義が作成されています。

詳細は、第4章 ドキュメント定義の作成を参照してください。

手順3: 取引パートナの構成

図2-11に示すように、Oracle B2Bの「パートナ」ページのタブを使用して、取引パートナ名の追加と更新、識別子や連絡先情報(必要な場合)の追加、パラメータの表示、ドキュメントやデリバリ・チャネルの追加、およびキー・ストア情報の追加を実行します。

図2-11 取引パートナの構成

詳細は、第5章 取引パートナの構成を参照してください。

手順4: アグリーメントの作成

図2-12に示すように、Oracle B2Bの「パートナ」→「アグリーメント」タブを使用して、必要な取引パートナを指定するアグリーメントを作成し、そのアグリーメントにドキュメント定義、チャネルおよび識別子を関連付けます。

図2-12 取引パートナ・アグリーメントの作成

詳細は、第6章 取引パートナ・アグリーメントの作成とデプロイを参照してください。

手順5: アグリーメントのデプロイ

図2-13に示すように、Oracle B2Bの「管理」→「デプロイ」タブを使用して、アグリーメントの検索とデプロイを実行します。

図2-13 アグリーメントの検索とデプロイ

2.5 Oracle JDeveloper環境でのOracle B2Bの使用

SOAコンポジット・アプリケーションでOracle B2Bバインディング・コンポーネントを使用すると、バックエンド・アプリケーションで生成された発注書を取引パートナに送信するプロセスなど、エンドツーエンドのビジネス・プロセスを作成できます。バインディング・コンポーネントは、SOAコンポジット・アプリケーションと外部との接続を確立します。

Oracle JDeveloperのB2B構成ウィザードを使用すると、次のように、B2Bバインディング・コンポーネントをSOAコンポジット・アプリケーションに追加できます。

- B2Bは、取引パートナからのメッセージを受信してSOAコンポジット・アプリケーションに送信するためのサービス(インバウンド)として使用されます。Oracle B2Bは、SOAコンポジット・アプリケーションへのエントリ・ポイントです。

- B2Bは、SOAコンポジット・アプリケーションからのメッセージをパートナに送信するための参照(アウトバウンド)として使用されます。

B2B構成ウィザードの手順に従うと、Oracle B2Bで作成したドキュメント定義を選択するためのプロンプトが表示されます。または、このウィザードからOracle B2Bを起動してドキュメント定義を作成することもできます。ドキュメント定義は、取引パートナとの間で送受信するペイロードまたはメッセージです。

注意:

B2B構成ウィザードで、ミドルウェア(B2B Webサービス)のSSLが有効になっている場合は、SSLポートがウィザードで検出され、SSL接続を使用してドキュメント定義が取得されます。

2.5.1 SOAコンポジット・アプリケーションでのB2Bバインディング・コンポーネントの使用方法

B2Bバインディング・コンポーネントを使用してSOAコンポジット・アプリケーションを作成するには、次を行います:

- タスク1   SOAアプリケーションおよびプロジェクトの作成

- タスク2   サービス・コンポーネントの追加

- タスク3   B2Bバインディング・コンポーネントの追加

SOAコンポジット・アプリケーションの作成の詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドの次に関する項を参照してください:

- ワイヤの追加

- セキュリティの追加

- SOAコンポジット・アプリケーションのデプロイ

- SOAコンポジット・アプリケーションの管理とテスト

タスク1   SOAアプリケーションおよびプロジェクトの作成

1. Oracle JDeveloper Studio Editionバージョン11.1.1.2.0を起動します。

2. Oracle JDeveloperを初めて起動している場合は、Java JDKの場所を指定します。

3. 表2-1の説明に従って、SOAコンポジット・アプリケーションを作成します。

表2-1 SOAコンポジット・アプリケーションの作成

Oracle JDeveloperの状態

操作

アプリケーションがない

例: Oracle JDeveloperを初めて開いている場合。

左上部のアプリケーション・ナビゲータで、「新規アプリケーション」をクリックします。

既存のアプリケーションがある

「ファイル」メイン・メニューまたは「アプリケーション」メニューを使用します。

1. 「新規」→「アプリケーション」を選択します。
別のアプリケーション・コンポジットの作成を選択できる「新規ギャラリ」が開きます。

2. 「カテゴリ」ツリーの「一般」ノードで「アプリケーション」を選択します。「アイテム」ペインで「SOAアプリケーション」を選択し、「OK」をクリックします。

SOAアプリケーションの作成ウィザードが起動します。

4. アプリケーション・ページの「名前」では、必要に応じてWebプロジェクトの名前および場所を変更できます。このアプリケーションが最初のアプリケーションである場合は、「アプリケーション・テンプレート」から「SOAアプリケーション」を選択します。パッケージ接頭辞のデフォルトをそのまま使用して、「次」をクリックします。

注意:

- 空白を使用したアプリケーション名は作成できません。

- 空白があるディレクトリ・パスにアプリケーションおよびプロジェクトを作成することはできません(例: c:\Program Files)。

- UNIXオペレーティング・システムでは、環境変数LANGおよびLC_AllをUTF-8文字セットを備えたロケールに設定して、Unicodeサポートを有効にすることをお薦めします。この設定により、オペレーティング・システムではあらゆる文字をUnicodeで処理できるようになります。SOAテクノロジはUnicodeに基づいています。オペレーティング・システムがUTF-8以外のエンコーディングを使用するように構成されている場合は、SOAコンポーネントが想定とは異なって機能する可能性があります。たとえば、ファイル名がASCIIでない場合は、ファイルにアクセスできず、エラーが発生する可能性があります。オペレーティング・システムの制約によって発生する問題はサポート対象外となります。
設計時環境でOracle JDeveloperを使用している場合は、「ツール」→「プリファレンス」→「環境」→「エンコーディング」→「UTF-8」の順に選択して、Unicodeのサポートを有効にします。この設定は、ランタイム環境にも適用できます。

5. プロジェクト・ページの「名前」では、必要に応じてSOAプロジェクトの名前および場所を変更できます。デフォルトでは、SOAプロジェクト・テクノロジ、生成されるcomposite.xmlおよび必要なライブラリは、モデル・プロジェクトに追加されます。「次」をクリックします。

注意:

コンポジット名およびコンポーネント名は、500文字以下にする必要があります。

同じインフラストラクチャにデプロイされるプロジェクトは、SOAコンポジット・アプリケーション全体で一意の名前である必要があります。コンポジットの一意性はプロジェクト名で判断されます。たとえば、表2-2で説明する操作は実行しないでください。デプロイ時に、2番目にデプロイされたプロジェクト(コンポジット)で最初にデプロイされたプロジェクト(コンポジット)が上書きされます。

表2-2 SOAプロジェクト名の指定に関する制約(注意: 実行すると最初にデプロイされたプロジェクトが上書きされます)

作成するアプリケーション名

作成するSOAプロジェクト名

Application1

Project1

Application2

Project1

SOAアプリケーションの作成ウィザードのプロジェクトSOA設定ページが表示されます。

6. SOA設定の構成ページで、「空のコンポジット」をクリックし、「終了」をクリックします。

7. 「ファイル」メイン・メニューから「すべて保存」を選択します。

SOAアプリケーションとプロジェクトの作成の詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドを参照してください。

タスク2   サービス・コンポーネントの追加

サービス・コンポーネントは、ビジネス・ロジックやアプリケーションの処理ルールを実装します。

1. コンポーネント・パレットで、「SOA」を選択します。

2. 「サービス・コンポーネント」リストから、コンポーネントをデザイナにドラッグします。
図2-14に、デザイナに追加されるBPELプロセスを示します。

図2-14 コンポジットへのBPELプロセスの追加

選択したサービス・コンポーネントに固有のダイアログが表示されます。表2-3に、使用可能なエディタを示します。

表2-3 サービス・コンポーネント・エディタの開始

ドラッグするサービス・コンポーネント

起動されるダイアログ

BPELプロセス

「BPELプロセスの作成」ダイアログが開きます。このダイアログで、一連のビジネス・アクティビティおよびサービスをエンドツーエンドのプロセス・フローに統合するBPELプロセスを作成します。

ビジネス・ルール

「ビジネス・ルールの作成」ダイアログが開きます。このダイアログで、ルールに基づいてビジネス・デシジョンを作成します。

ヒューマン・タスク

「ヒューマン・タスクの作成」ダイアログが開きます。このダイアログで、ユーザーまたはグループがエンドツーエンドのプロセス・フローの一環として実行するタスクを記述するワークフローを作成します。

メディエータ

「メディエータの作成」ダイアログが開きます。このダイアログで、メッセージやイベントのルーティング、フィルタおよびトランスフォーメーションを実行するサービスを定義します。

3. サービス・コンポーネントの設定を構成します。サービス・コンポーネントのダイアログに関するヘルプは、「ヘルプ」をクリックするか、[F1]を押します。「終了」をクリックします。

4. 「OK」をクリックします。

5. 「ファイル」メイン・メニューから「すべて保存」を選択します。

サービス・コンポーネントの追加の詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドを参照してください。

タスク3   B2Bバインディング・コンポーネントの追加

サービスまたは参照バインディング・コンポーネントを追加します。

1. コンポーネント・パレットで、「SOA」を選択します。

2. 「B2B」を「公開されたサービス」または「外部参照」スイムレーンにドラッグします。

- インバウンド・メッセージを受信するには「公開されたサービス」を選択します。

- アウトバウンド・メッセージを送信するには「外部参照」を選択します。

3. B2B構成ウィザードの「ようこそ」ページで、「次」をクリックします。

4. 「サービス名」ページで、B2Bサービスの名前を指定して「次」をクリックします。

5. 「B2B統合タイプ」ページで、表2-4の説明に従って統合タイプを選択します。

2-4 統合タイプの選択

タイプ

説明

デフォルト

SOAコンポジットがOracle B2Bと直接通信するように、B2B WSDLが生成されます。

AQ

SOAコンポジットがOracle B2BとAQキュー経由で通信するように、AQアダプタWSDLおよびJCAファイルが生成されます。

JMS

SOAコンポジットがOracle B2BとJMSキュー経由で通信するように、JMSアダプタWSDLおよびJCAファイルが生成されます。

- 「デフォルト」を選択した場合は、手順6から10を完了します。

- 「AQ」を選択した場合は、手順6から9、および11から14を完了します。

- 「JMS」を選択した場合は、手順6から9、および15から18を完了します。

6. 「アプリケーション・サーバー接続」ページで、次のいずれかを実行します。

- 「アプリケーション・サーバー接続」リストからアプリケーション・サーバー接続を選択し、「次」をクリックします。

- または、「新規」をクリックし、アプリケーション・サーバー接続を作成します。「アプリケーション・サーバー接続の作成」ウィザードに従ってください。

アプリケーション・サーバー接続が確立されると、アプリケーション・サーバー接続用に作成されたユーザー名、サーバー・インスタンスのホスト名、およびSOAサーバー名が表示されます。アプリケーション・サーバー接続を選択すると、Weblogicで実行されている構成済のSOAサーバーが表示されます。SOAサーバーを選択すると、SSLまたはHTTPポートが取得され、ドキュメント定義を取得するためのB2B WebサービスURLが生成されます。

また、「B2Bテスト」をクリックすると、Oracle B2Bインストールに接続できることを検証できます。

7. 「操作」ページで、表2-5の説明に従って、「送信」または「受信」を選択します。

表2-5 送信または受信操作の選択

操作

説明

送信

アウトバウンド・メッセージ用

受信

インバウンド・メッセージ用

8. 「ドキュメント定義の処理」ページで、表2-6の説明に従って、「標準」タブのオプションまたは「詳細」タブのいずれかのオプションを選択します。

表2-6 ドキュメント定義の処理オプションの選択

オプション

説明

「標準」タブ

-

B2Bからのスキーマのインポート

Oracle B2Bからスキーマをインポートします(「詳細」タブにあるオプションと同じ)。

「詳細」タブ

-

B2Bからのスキーマのインポート

Oracle B2Bからスキーマをインポートします(「標準」タブにあるオプションと同じ)。

B2Bリポジトリでスキーマを参照します

メタデータ・サービス(MDS)接続を選択します。または、このオプションを使用して、新しい接続を作成します。新しいMDS接続を作成する場合は、MDS接続ウィザードを使用して接続を作成します。この接続は、B2Bリポジトリのアクセスに必要です。ドキュメント定義を選択すると、MDSにリンクするURLが生成されます。

選択したアプリケーション・サーバー接続は、特定のB2Bインスタンスを参照します。特定のB2Bインスタンスによって使用されるMDS接続は、ドキュメント定義が矛盾しないように、選択したMDS接続と一致している必要があります。

B2Bリポジトリ内のスキーマを参照するとき、MDS接続はリモートMDS内のスキーマを参照する場合にのみ必要であり、ローカル共有MDSリポジトリ内でスキーマを参照する場合は必要ありません。

ローカル共有MDS内のB2Bスキーマb2bExceptionおよびb2bAckを参照する場合は、MDS接続を選択する必要はありません。MDSオプションを選択し、「次」をクリックして「ドキュメント定義」ページに移動し、そこでb2bExceptionまたはb2bAckを選択するか、ローカル共有MDSに存在する他のB2Bスキーマを選択できます。

リソース・スキーマの参照

SOAリソース・ブラウザを使用してスキーマを参照します。このオプションを選択すると、「タイプ・チューザ」が開きます。タイプを選択し、「ドキュメント定義の処理」ページに戻ります。

不透明

コンテンツがbase-64エンコーディングで渡される場合に、あらゆるタイプのデータ(例: 位置指定フラット・ファイル)を処理します。スキーマは指定されません。

anyType

あらゆるタイプのXMLデータを処理します。スキーマは指定されません。これは「デフォルト」の統合タイプに対してのみ有効および使用可能であり、AQやJMSでは無効です。

添付ファイルのメッセージ部分をB2B WSDLファイルに挿入できるように、「デフォルト」統合タイプに対して「添付サポート」を選択することもできます。

9. 「ドキュメント定義」ページで、ツリーを展開してドキュメント定義を選択します。複数のルート要素があるドキュメント定義を選択した場合は、使用するルート要素を選択して「OK」をクリックします。

表2-7に、ページに属するその他のオプションを示します。

表2-7 ドキュメント定義ページのオプション

オプション

説明

検索

定義名を入力します。定義名の先頭部分を入力すると、部分的な文字列が照合されます。部分的な文字列にはワイルドカードを使用できません。

リフレッシュ

B2Bサーバーからドキュメント定義リストを取得します。検索終了後は、すべてのドキュメント定義が表示されるようにリフレッシュします。

B2B構成

「アプリケーション・サーバー接続」ページで指定した接続を使用して、Oracle B2Bにブラウザを開きます。Oracle B2Bでは、ドキュメント定義を作成してアグリーメントに挿入し、そのアグリーメントをデプロイできます。次に、このダイアログに戻って「リフレッシュ」をクリックし、新しいドキュメント定義を選択します。

ルーティングIDの使用

ドキュメント・ルーティングIDを使用するドキュメント定義をすべて選択します。詳細は、第8.10項 ドキュメント・ルーティングIDの使用を参照してください。

選択したタイプに応じて手順が異なります。

- 「デフォルト」統合タイプの場合は、手順10に進みます。

- 「AQ」統合タイプの場合は、手順11に進みます。

- 「JMS」統合タイプの場合は、手順15に進みます。

10. 「終了」ページで、「終了」をクリックします。

11. 「サービス接続」ページで、次のいずれかを実行します。

- 「接続」リストからデータベース接続を選択し、「次」をクリックします。

- または、「新規」をクリックし、アプリケーション・サーバー接続を作成します。「アプリケーション・サーバー接続の作成」ウィザードに従ってください。

表2-8に、データベース接続が確立されたときに表示される情報を示します。

表2-8 サービス接続

パラメータ

説明

ユーザー名

データベース接続用に作成されたユーザー名です。

ドライバ

JDBCドライバが指定されます。

接続文字列

JDBC接続文字列が指定されます。

JNDI名

デフォルトのJava Naming and Directory Interface (JNDI)名を使用するか、カスタム名を指定します。この接続を使用して、設計時にアダプタを構成し、実行時にデータベース・サーバーに接続できます。

データソース

data-sources.xml内のデータソースの検索に使用するJNDI名を入力します。data-sources.xmlを使用して接続を取得する場合、この名前は必須です。

XAデータ・ソース

データソース名がXAデータソースの場合に、このオプションを選択します。XAデータソースは、複数のリソースにまたがることのできるXAグローバル・トランザクションに参加できます。このトランザクションで、アプリケーション・サーバーは、それぞれが1つのトランザクションに関係する複数のデータベース(またはJMSのような他のリソース)とのトランザクション調整マネージャとして機能します。このオプションを選択すると、アダプタはXAトランザクションの一部になります。それ以外の場合は、ローカル・トランザクションになります。

12. 「キュー名」ページで、データベース・スキーマとキュー名を選択します。
B2Bに使用できるのは、IP_MESSAGE_TYPEタイプのキューのみです。

13. 「キュー・パラメータ」ページで、次の手順を実行します。

- エンキュー操作には、受信者名またはカンマ区切りの受信者リストを入力します。受信者を未入力にすると、メッセージは該当するキューのすべてのサブスクライバに送信されます。このフィールドは、アウトバウンド・ヘッダーのRecipientListフィールドを設定することで、メッセージ別にオーバーライドできます。デフォルト値はb2buserです。

- デキュー操作には、次の情報を入力します。

- コンシューマ: キューをサブスクラブするエージェントの名前。このフィールドは必須で、30文字まで入力可能です。デフォルト値はb2buserです。

- メッセージ・セレクタ・ルール: (オプション)メッセージ・プロパティまたはメッセージ・コンテンツに基づいてデキューするためのメッセージのフィルタ処理ロジック(たとえば、priority < 5またはtab.user_data.amount > 10000)。ルールを指定すると、コンシューマ名とメッセージ・セレクタ・ルールを使用するエージェントがキュー内に作成されます。アダプタでは、以前に作成したエージェントのメッセージ・セレクタ・ルールは変更されないため、コンシューマ名は新しいエージェント名にする必要があります。入力したロジックに関して検証処理は実行されません。

- デキュー条件: SQL問合せのWHERE句に似たブール式。この式には、メッセージ・プロパティ、ユーザー・データ・プロパティ(オブジェクト・ペイロードのみ)およびPL/SQLまたはSQL関数に関する条件を含めることができます。複数のメッセージがデキュー条件を満たす場合、デキュー順序は不定になり、キューのソート順は考慮されません。

14. 「終了」をクリックします。

15. 「JMSプロバイダ」ページで、次のいずれかを選択します。

- Oracle Enterprise Messaging Service (OEMS): Oracle WebLogic JMSまたはOracle Advanced Queuing
OEMSはJMSおよびJ2EE Connector Architecture (JCA)で作成されます。これにより、サービス指向アーキテクチャ環境で分散アプリケーションを開発して統合できます。このメッセージング・プラットフォームは、メッセージの保持とリカバリのためのサービスを提供します。

- サード・パーティ: メッセージをTibco JMSやIBM WebSphere MQ JMSのようなサード・パーティのJMSプロバイダに保持します。

16. 「Oracle WebLogic JMS」または「Oracle Advanced Queuing」を選択した場合は、「サービス接続」ページが表示されます。「サービス接続」ページで、次のいずれかを実行します。

- 「アプリケーション・サーバー接続」リストから既存のアプリケーション・サーバー接続を選択し、「次」をクリックします。

- または、「新規」をクリックし、アプリケーション・サーバー接続を作成します。「アプリケーション・サーバー接続の作成」ウィザードに従ってください。

サード・パーティを選択した場合は、「JMS接続」ページが表示されます。「JMS接続」ページで、JMS接続のJNDI名を指定し、「次」をクリックします。

17. 手順7で「送信」を選択した場合は、「発行操作のパラメータ」ページが表示されます。手順7で「受信」を選択した場合は、「消費操作のパラメータ」ページが表示されます。
「発行操作のパラメータ」ページでは、次の情報を指定し、「次」をクリックします。

- 接続先名: メッセージを発行するキューまたはトピックのJNDI名を入力するか、「参照」をクリックして名前を選択します。通常、このフィールドの値はJNDI名になります。

- メッセージ本文のタイプ: メッセージ本文(ペイロード)のタイプを選択します。

- テキスト・メッセージ: ペイロードが文字列の場合は、このオプションを使用します。

- バイト・メッセージ: ペイロードがプリミティブ・バイトの配列の場合は、このオプションを使用します。

- 配信モード: メッセージの配信モードを選択します(WebLogic JMSを選択した場合のみ)。

- 永続: メッセージがファイル・システムまたはデータベースに永続的に保持されるようにするには、このオプションを使用します。

- 非永続: メッセージが永続的でなく、通常はプロセス・メモリーにのみ保持されるようにするには、このオプションを使用します。

- 優先度: 優先度の値を選択します。9は最上位の優先度、0は最下位の優先度を表します。

- 存続時間: メッセージの存続時間を示す値を入力します。指定した時間内でメッセージを消費するサブスクライバがない場合、メッセージは配信されません。指定する値には制限がありません。値を0に指定した場合、有効期限はありません。

- JNDI名: 「接続先名」フィールドでの選択内容に基づいてJNDI名が表示されます(WebLogic JMSまたはAdvanced Queuingを選択した場合のみ)。

「消費操作のパラメータ」ページでは、次の情報を指定し、「次」をクリックします。

- 接続先名: メッセージを消費するキューまたはトピックのJNDI名を入力するか、「参照」をクリックして名前を選択します。

- メッセージ本文のタイプ: メッセージ本文(ペイロード)のタイプを選択します。

- テキスト・メッセージ: ペイロードが文字列の場合は、このオプションを使用します。

- バイト・メッセージ: ペイロードがプリミティブ・バイトの配列の場合は、このオプションを使用します。

- メッセージ・セレクタ: 特定の基準と一致するメッセージを受信可能にするフィルタ・ロジックを指定します。1文字から255文字の範囲内で式を入力します。このフィールドではSQL92構文を使用します。JMSサーバーは、この基準を使用して、このコンシューマが受信したメッセージをフィルタします。メッセージ・セレクタは、標準JMSヘッダーとユーザー定義プロパティに定義されている変数を操作します。メッセージのペイロードにある変数や要素は使用できません。

- MessageListenerを使用: 「JMSプロバイダ」ページで「Oracle Weblogic JMS」を選択した場合、このオプションはデフォルトで「false」に設定されます。オプションは変更できません。「JMSプロバイダ」ページで「Oracle Advanced Queueing」を選択した場合は、「true」または「false」を選択します(「Oracle Advanced Queueing」またはサード・パーティを選択した場合のみ)。

- 永続サブスクライバID: JMSトピックからメッセージを受信するためのIDを入力します。IDを指定しないと、メッセージを受信するのにアクティブ・サブスクリプション・セッションが必要になります。このトピックにIDを指定すると、現時点でアクティブ・サブスクリプション・セッションがない場合もメッセージが届きます。永続サブスクライバがJMSサーバーから切断されている場合、メッセージはサーバーで保管されます。永続サブスクライバが再接続すると、期限の切れていない累積したメッセージがサーバーによって送信されます(サード・パーティを選択した場合のみ)。

- JNDI名: 「接続先名」フィールドでの選択内容に基づいてJNDI名が表示されます(WebLogic JMSまたはAdvanced Queuingを選択した場合のみ)。

- ストリーミングの有効化: この機能を有効にすると、ペイロードはデータベースにストリーミングされます。この機能は大きなペイロードに使用します。ストリーミングを有効にすると、対応するBooleanプロパティStreamPayloadが、各.jcaファイルに定義されているActivationSpecプロパティに追加されます。StreamPayloadプロパティがない場合は、デフォルト値のfalseに判断されます。このプロパティは、Rawメッセージ、XMLTypeメッセージ、およびペイロードがADT属性経由で指定されるADTタイプのメッセージを処理する場合に適用できます。

18. 「終了」をクリックします。

バインディング・コンポーネントの詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドの次に関する項を参照してください:

- サービス・バインディング・コンポーネントの追加

- 参照バインディング・コンポーネントの追加

- バインディング・コンポーネントのスタート・ガイド

2.5.2 B2B構成ウィザードでのJMS統合タイプの使用の概要

JMS統合タイプを選択した場合は、jca.jms.JMSProperty接頭辞が付いたJMSプロパティ(jca.jms.JMSProperty.property_nameなど)を使用する必要があります(一方、B2B構成ウィザードでデフォルトまたはAQ統合タイプを選択した場合は、MSG_ID、INREPLYTO_MSG_ID、FROM_PARTY、TO_PARTY、ACTION_NAME、MSG_TYPE、DOCTYPE_NAME、DOCTYPE_REVISIONなどのメッセージ・プロパティをそのままSOAコンポジット・アプリケーションで使用できます)。

表2-9に、Oracle JCAアダプタでJMSに対して使用できるJMSプロパティを示します。

表2-9 JMSアダプタのプロパティ

プロパティ名

Oracle JCAアダプタでJMSに対して使用する場合のプロパティ名

MSG_ID

jca.jms.JMSProperty.MSG_ID

INREPLYTO_MSG_ID

jca.jms.JMSProperty.INREPLYTO_MSG_ID

FROM_PARTY

jca.jms.JMSProperty.FROM_PARTY

TO_PARTY

jca.jms.JMSProperty.TO_PARTY

ACTION_NAME

jca.jms.JMSProperty.ACTION_NAME

MSG_TYPE

jca.jms.JMSProperty.MSG_TYPE

DOCTYPE_NAME

jca.jms.JMSProperty.DOCTYPE_NAME

DOCTYPE_REVISION

jca.jms.JMSProperty.DOCTYPE_REVISION

ATTACHMENT

jca.jms.JMSProperty.ATTACHMENT

A2A

jca.jms.JMSProperty.A2A

JMSメッセージ相関の場合は、プロパティA2A=trueを設定します。バックエンド・アプリケーションからMSG_IDが提供される場合、そのMSG_IDがB2B出力のJMS相関IDとして設定されます。

たとえば、これらの送信者プロパティと値は、図2-15に示すように、アウトバウンド・コンポジットに対するメディエータ・コンポーネントの「値の割当て」ダイアログで追加されます。

図2-15 「値の割当て」ダイアログでのJCA JMSプロパティの追加

2.5.3 Fusion Order DemoのB2BX12OrderGatewayコンポジット

SOAサンプル・アプリケーションFusion Order Demoには、B2BX12OrderGatewayというB2Bコンポジットが含まれています。このデモでは、取引パートナがEDI発注リクエスト(850)をB2Bに送信します。取引パートナは、B2Bがリスニング・チャネルを介してリスニングしているディレクトリにファイルをドロップすることで、このリクエストを送信します。B2Bは、標準のEDI 850を取得し、正規の形式に変換します。これは、Store Front Service(顧客、注文および製品のデータを更新するためにストアフロント・データ・トランザクション・サポートへのアクセスを提供するコンポジット)を起動するための一般的なデータ表現です。

発注額が(ビジネス・ルールの判断に従って)$2,000を超える場合は、手作業での承認を受けるために発注はHuman Workflowにルーティングされます。$2,000以下の注文は承認不要です。注文が承認されると、発注レスポンス(855)が生成され、取引パートナに送られます。

図2-16に、Oracle JDeveloperで表示したB2BX12OrderGatewayコンポジットを示します。

図2-16 Fusion Order DemoのB2Bコンポジット

Fusion Order DemoアプリケーションのZIPファイル(FusionOrderDemo_R1PS3.zip)を次の場所からダウンロードします。

http://www.oracle.com/technetwork/developer-tools/jdev/index-095536.html

SOAサンプル・アプリケーションの説明は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドを参照してください。

2.6 Oracle B2Bの使用に関する必知事項

この項には、トラブルシューティングに役立つトピックが含まれています。

2.6.1 実行時のデバッグ・モードの有効化

ロギングを有効にするには、Oracle Enterprise Manager Fusion Middleware Controlを使用します(「SOAインフラストラクチャ」→「ログ」→「ログ構成」)。詳細は、Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイドを参照してください。

あるいは、次の場所にあるlogging.xmlファイルを編集します。

DOMAIN_HOME/config/fmwconfig/server/managed_server

2.6.2 ログアウト: Oracle Access ManagerのSSOログアウト構成

URLに確実にアクセスでき、404エラーが発生しないように、web.xmlで、oracle.adf.share.security.authentication.AuthenticationServletのsuccess_urlパラメータをSSOログアウトURL (../access/oblix/lang/en-us/logout.htmlなど)に含める必要があります。

Oracle Single Sign-OnおよびOracle Access Managerの詳細は、Oracle Fusion Middlewareセキュリティ・ガイドを参照してください。

第II部

Oracle B2Bプロセス・フロー

この部では、Oracle B2Bのプロセス・フローについて説明します。

この部には次の章が含まれます:

- 第3章 ガイドライン・ファイルの作成

- 第4章 ドキュメント定義の作成

- 第5章 取引パートナの構成

- 第6章 取引パートナ・アグリーメントの作成およびデプロイ

3 ガイドライン・ファイルの作成

この章では、Oracle B2B Document Editorを使用してドキュメント・ガイドライン・ファイルを作成するためのプロセスについて説明します。

図3-1に示すように、Oracle B2Bプロセス・フローの最初の手順は、ドキュメント・ガイドライン・ファイルの作成です。

図3-1 Oracle B2Bプロセス・フロー

Oracle B2Bドキュメント・エディタは、Oracle B2Bトランザクションのカスタム・ドキュメント定義を定義および管理する、ガイドライン作成および実装アプリケーションです。

この章には次のトピックが含まれます:

- 第3.1項 Oracle B2Bドキュメント・エディタの概要

- 第3.2項 Oracle B2Bドキュメント・エディタのインストール

- 第3.3項 EDIFACT D98を例としたガイドライン・ファイルの作成

ドキュメント・エディタに関する完全なドキュメントは、Oracle B2Bドキュメント・エディタの「ヘルプ」メニューを参照してください。

3.1 Oracle B2Bドキュメント・エディタの概要

Oracle B2Bドキュメント・エディタは、Business-to-Business (B2B)電子商取引(E-Commerce)用のガイドライン作成および実装アプリケーションです。ドキュメント・エディタを使用すると、電子ビジネス(E-Business)のガイドライン・ドキュメントを簡単に開発、移行、テスト、配布および印刷できます。新しいガイドライン・ドキュメントを作成するか、ドキュメント・エディタの広範囲にわたる標準ライブラリをテンプレートとして使用できます。

既存の標準をテンプレートとして使用して、元になるセグメント、要素およびコードの属性を変更すると新しいガイドラインを作成できます。ガイドライン・ファイルはデータ・ファイルからも作成できます。

使用可能なドキュメント・ガイドラインのタイプを図3-2に示します。デリミタ付きフラット・ファイル、EDI、HL7 2.x、HL7v3、NCPDP、ParserSchema、位置指定フラット・ファイル(SAP iDocsを含む)、RosettaNetおよびXMLSchemaを使用できます。

図3-2 Oracle B2Bドキュメント・エディタで使用可能なドキュメント・ガイドライン

ドキュメント・エディタでは、RosettaNetドキュメント・ガイドラインを使用できるのみでなく、標準DTDファイルをRosettaNetのWebサイトからダウンロードすることもできます。

カスタム・ガイドライン・ファイルの作成後は、図3-3に示すように、Oracle B2Bインタフェースを使用してドキュメントをドキュメント定義に含めます。この手順の詳細は、第4.2項 ドキュメント定義の作成を参照してください。

図3-3 Oracle B2Bドキュメント・エディタでの作成済XSDおよびECSファイルのインポート

図3-3では、ドキュメント定義を作成するためのEDIFACT_D98A_ORDERS.xsdおよびEDIFACT_D98A_ORDERS.ecsがインポートされます。ECSファイルは、ドキュメントを変換および検証するためにB2Bで必要です。XSDはB2Bではオプションですが、XSDを使用すると、ドキュメント送受信用のSOAコンポジットをモデル化する際に、ドキュメント・スキーマを簡単に参照できます。

注意:

Oracle Document EditorのMapBuilderコンポーネントは、認証またはサポートされていません。

3.2 Oracle B2Bドキュメント・エディタのインストール

Oracle B2Bドキュメント・エディタは、製品CDから入手するか、またはOracle Technology Networkのソフトウェア・ダウンロード・ページ([Oracle SOA Suite 11g Installations]→[Prerequisites & Recommended Install Process]→[Recommended Components])からダウンロードできます。

http://www.oracle.com/technetwork/middleware/soasuite/downloads/downloads-085394.html

Oracle Document Editorをインストールするには、ダウンロードしたファイルをディスク・ドライブに抽出し、Install.exeを実行します。複数のインストール・スクリプトが実行されて、Oracle Document Editorの各コンポーネントのインストール・プロセスが進行します。

Oracle B2Bドキュメント・エディタは、Microsoft Windows (Win 2000、WinXP、Vista脚注1 32ビット版と64ビット版、Windows Server 2003およびWindows 7 32ビット版と64ビット版)でのみ動作し、W3C XMLスキーマのガイドラインを完全にサポートするにはMicrosoft .NETフレームワーク(CDから自動的にインストールされます)が必要です。

注意:

Windows 7 (64ビット版)にドキュメント・エディタをインストールする場合、Oracle B2B標準をインストールできなくなる可能性がある潜在的な既知の問題が存在します。その結果、ドキュメント・エディタはインストールされますが、各標準はインストールされません。

この既知の問題の修正は、次のサイトを参照してください。

http://support.microsoft.com/kb/910816

使用方法の完全な説明は、Oracle B2Bドキュメント・エディタの「ヘルプ」メニューでインストールについて検索し、準備に関するトピックを参照してください。このリリースのドキュメント・エディタの新機能リストも用意されています。

3.3 EDIFACT D98を例としたガイドライン・ファイルの作成

次の例では、EDIFACT D98A発注の送信に必要なガイドライン・ファイル(ECSファイルおよびXSDファイル)の作成方法、およびD98A–ORDERSガイドラインに基づいたテスト・データ・ファイルの生成および検証方法について説明します。

このシナリオでEDIFACTトランザクション・ドキュメントを作成するには、次を行います:

- タスク1: 「ECSファイルの作成」

- タスク2: 「XSDファイルの作成」

- タスク3: 「ECSファイルを使用したデータの生成」

- タスク4: 「データの分析」

タスク1   ECSファイルの作成

既存のEDIFACTガイドライン(標準)をテンプレートとして使用し、発注ガイドライン・ファイルorders.ecsを作成します。

1. Oracle B2Bドキュメント・エディタを開きます。

2. 図3-4に示すように、「新規ドキュメント」をクリックし、次に「EDI」をクリックします。

図3-4 Oracle Document Editorでの新規ドキュメントの作成

3. 「EDIFACT」および「D98A」を開きます。

4. 図3-5に示すように、「ORDERS - Purchase order message」を選択し、「次」をクリックします。

図3-5 新規ドキュメントの作成: ガイドラインの選択

5. 図3-6に示すように、エンベロープ・セグメントを挿入が選択されていないことを確認し、「終了」をクリックします。

図3-6 新規ドキュメントの作成: エンベロープ・セグメント

Oracle B2Bドキュメント・エディタには、すべてのバージョンの交換(エンベロープ)があらかじめシードされています。Oracle B2Bでは、設定に基づいてエンベロープが処理されます。

あらかじめシードされているデフォルトのエンベロープ情報をオーバーライドするには、必要なエンベロープ情報のみを含む(トランザクションの詳細を含まない)別のECSファイルを作成し、ドキュメント・バージョンで使用可能なエンベロープ・オーバーライド・オプションを使用してそのファイルをアップロードします。

6. セグメント・レベルの詳細を編集します(オプション)。
図3-7に示すように、このシナリオでは編集は必要ありません。

図3-7 新規ドキュメントの作成: セグメント・レベルの詳細

7. 「ファイル」から「保存」を選択します。

8. デフォルトのディレクトリは変更せず、ファイル名にorders.ecsを入力します。
デフォルトでは、ECSファイルはMy Documents\Oracle\Oracle B2B\ Guidelinesに保存されます。

タスク2   XSDファイルの作成

内部フォーマットのガイドライン・ファイル(ECSファイル)を使用して、Oracle B2Bで使用するXMLスキーマ定義ファイル(XSDフォーマット)を作成します。

1. 「ファイル」から「開く」を選択します。

2. orders.ecsを選択し、「開く」をクリックします。

3. 「ファイル」から「エクスポート」を選択します。

4. エクスポート・ウィザードで、図3-8に示すように、エクスポート・タイプのリストから「Oracle 2.0」を選択し、「次」をクリックします。
Oracle 2.0エクスポート・タイプを使用すると、この例のurn:oracle:b2b:EDIFACT/D98A/ORDERSのように、任意のネームスペースを指定できます。(「Oracle B2B」オプションを使用すると、固定されたネームスペースが指定されます。)

図3-8 Oracle 2.0エクスポート・タイプの選択

5. エクスポート先ダイアログで、次の操作を実行して「次」をクリックします。

- デフォルトのディレクトリの使用

- エクスポート前にガイドラインを保存の選択

- 「拡張オプションの表示」の選択

XSDファイルは、ECSファイルとともにMy Documents\Oracle\Oracle B2B\Guidelinesに保存されます。

6. XSDネームスペースの「オプション」ダイアログで、次の操作を実行して「次」をクリックします。

- カスタム・ネームスペースの選択

- ネームスペースの指定(この例ではurn:oracle:b2b:EDIFACT/D98A/ORDERS)

7. テンプレート構成ダイアログで、「次」をクリックします。
このシナリオではテンプレートの要素の編集は必要ありません。

8. 図3-9に示すように、変換の「オプション」ダイアログで、次の操作を実行して「次」をクリックします。

図3-9 変換オプションの選択

- XSDでの列挙を抑止オプションの選択。コード・リストがECSファイル内にあるため、このオプションを選択することをお薦めします。列挙を抑制すると、XSDのサイズが大幅に縮小されます。

- XData生成時にデフォルトのかわりにこのエクスポート・モジュールを使用オプションの選択。

9. ドキュメント変換の「オプション」ダイアログで、デフォルトのSegmentCountの使用を許可マクロを使用して、「次」をクリックします。
SegmentCountマクロにより、セグメント数がカウントされます。カウントを可能にするため、XSD要素のデータ型はnumericからstringに変更されています。

10. Oracle B2Bを開始オプションが選択されていないことを確認し(このシナリオでは必要ありません)、「次」をクリックします。
Oracle B2Bを起動する場合は、B2BインタフェースのURL (http://host_name:port/b2b)を入力します。

11. マクロ・ノード・ダイアログで、「次」をクリックします。
このシナリオではノードに対して必要なマクロはありません。

「XSD名の一部の文字が使用できないため置換されました」というメッセージが表示された場合は、「OK」をクリックします。

12. 「終了」をクリックします。
orders.xsdファイルがOracle B2B 2.0フォーマットで作成されます。

タスク3   ECSファイルを使用したデータの生成

データ・ジェネレータを使用して、ガイドラインに基づいたテスト・データ・ファイルを作成します。

1. データ・ジェネレータをクリックします。

2. 新規テスト・ケースを選択し、「次」をクリックします。

3. 「生成」をクリックし、「次」をクリックします。
このステップでは、指定されたデータ・ディクショナリを使用して新規データを生成します。

4. ガイドライン・ファイルからを選択し、ORDERS.ecsを選択して「次」をクリックします。

5. 標準データベースからエンベロープ・セグメントを選択を選択し、「次」をクリックします。

6. 図3-10に示すように、構文3エンベロープ・セグメントを選択し、「次」をクリックします。

図3-10 データベースからのエンベロープ・セグメントの選択

7. 標準データベースから直接使用を選択し、「次」をクリックします。
エンベロープ・セグメントはガイドライン・ファイルには組み入れられません。

8. 必須+オプション・データの割合を選択し、スライダを動かして割合を示します。

9. ユーザー・オプションを選択し、「次」をクリックします。

10. 任意のサイズを選択し、「次」をクリックします。

11. リセットしないを選択し、「次」をクリックします。

12. 生成するメッセージ数に応じて、繰返し回数オプションを設定します。

13. 使用するデータ・ディクショナリを選択します。

14. デフォルトのデリミタをそのまま使用し、「次」をクリックします。

15. 出力データ・ファイル名をクリックしてC:\D98A_ORDERS.datと入力し、「次」をクリックします。
図3-11に示すように、DATファイルが開きます。

図3-11 DATファイル

16. ファイルを保存して閉じます。

タスク4   データの分析

アナライザを使用して、データ・ファイルをorders.ecsガイドライン・ファイルと照合して検証し、データ・ファイルを標準と照合してテストし、不足している必要なセグメントまたは要素がないかをチェックします。

1. 図3-12に示すように、アナライザをクリックします。

図3-12 「アナライザ」ボタン

2. D98A_orders.datを参照し、「次」をクリックします。

3. 図3-13に示すように、「拡張オプションの表示」が選択されていることを確認し、「次」をクリックします。

図3-13 「拡張オプションの表示」の選択

4. データ・ファイルのクリーン・アップ・ダイアログで、「次」をクリックします。
このシナリオでは事前処理は必要ありません。

5. データ構造ダイアログで、「次」をクリックします。
デフォルトではドキュメント全体が検証されます。

6. 図3-14に示すように、データの照合対象となるガイドライン・ファイル(ECSファイル)を選択します。次の操作を実行して「次」をクリックします。

- ガイドライン・ファイルからの選択。

- orders.ecsの選択。

図3-14 ガイドライン(ECS)ファイルの選択

7. 標準データベースからエンベロープ・セグメントを選択を選択し、「次」をクリックします。
選択したガイドライン・ファイル(ECSファイル)はエンベロープ・セグメントを含みません。

8. 図3-15に示すように、構文3エンベロープ・セグメントを選択し、「次」をクリックします。

図3-15 エンベロープ・セグメントの選択

9. 標準データベースから直接使用を選択し、「次」をクリックします。
エンベロープ・セグメントはガイドライン・ファイルには組み入れられません。

10. 「アナライザ・モードおよび出力」ダイアログで、デフォルト設定を使用し、XData (XML)の生成を「常に」に設定して、「次」をクリックします。
図3-16に示すように、結果が表示されます。エラー・メッセージがある場合はここで同時に表示されます。

図3-16 アナライザの結果

データをXMLフォーマットで表示するには、図3-17に示すように、右上の「XML」ボタンをクリックします。

図3-17 XMLフォーマットでのデータの表示

XMLとして表示(図3-18を参照)およびHTMLとして表示のオプションを使用してデータを表示します。「データに名前を付けて保存」ボタンをクリックし、XMLレポートをXMLファイルとしてエクスポートします。

図3-18 アナライザ・データ

脚注の説明

脚注1: Microsoft Vistaを使用する場合は、Oracle Document Editorをプログラム・フォルダにインストールしないでください。インストールするには、管理者権限が必要です。

4 ドキュメント定義の作成

この章では、ドキュメント定義を作成および削除するプロセスについて説明します。また、ドキュメント・プロトコルの概念についても説明します。

図4-1に示すように、Oracle B2Bプロセス・フローの2番目の手順は、ドキュメント定義の作成です。

図4-1 Oracle B2Bプロセス・フロー

ドキュメント定義では、メッセージの検証に使用されるドキュメント・プロトコル(ドキュメント・プロトコル・バージョンおよびドキュメント・タイプ)が指定されます。ドキュメント定義には、EDIおよびHL7メッセージの場合はECSファイル、XMLメッセージの場合はXSD/DTDを使用できます。

トランザクションのホスト取引パートナとリモート取引パートナの両方で、同じドキュメント定義を使用します。ドキュメント定義は、ドキュメント・プロトコル、プロトコル・バージョンおよびドキュメント・タイプの標準に準拠する必要があります。これは、Oracle B2Bドキュメント・エディタでドキュメント・ガイドライン・ファイルを作成し(図4-1の手順1)、Oracle B2Bインタフェースでこれらのファイルをインポートしてドキュメント定義を作成(図4-1の手順2)すれば難しいことではありません。

この章には次のトピックが含まれます:

- 第4.1項 ドキュメント・プロトコルの概要

- 第4.2項 ドキュメント定義の作成

- 第4.3項 ドキュメント定義の削除

ドキュメント・プロトコルの詳細は、第8章 ドキュメント・プロトコルの使用を参照してください。

4.1 ドキュメント・プロトコルの概要

図4-2に、Oracle B2Bでサポートされているドキュメント・プロトコルを示します。Oracle B2Bドキュメント・エディタで、カスタム・プロトコルおよび様々なガイドライン・ドキュメントを使用して、ほとんどのプロトコルを定義できます。新規ドキュメント・プロトコルを追加する場合は、常にカスタム・ドキュメントです。

図4-2 Oracle B2Bのドキュメント・プロトコル

ドキュメント定義の一部として、ドキュメント・ガイドライン・ファイルを指定します。このファイルは通常、Oracle B2Bドキュメント・エディタで作成されます(カスタム・ドキュメント用には、Oracle B2Bドキュメント・エディタは使用できません)。検証が有効な場合、実行時のペイロードは、使用するドキュメント定義ファイルのタイプに準拠している必要があります。

4.1.1 ドキュメント階層

図4-3に示すように、ドキュメント・プロトコルは階層とみなすことができます。

図4-3 ドキュメント階層

ドキュメント・プロトコルは、複数のドキュメント・プロトコル・バージョンで構成できます。ドキュメント・プロトコル・バージョンは、複数のドキュメント・タイプで構成できます。ドキュメント・タイプは、複数のドキュメント定義で構成できます。通常、1つのドキュメント定義で作業を開始し、そのドキュメント定義を様々な取引パートナ向けにカスタマイズします。

図4-4に、EDI X12に適用されるドキュメント・プロトコル階層を示します。

図4-4 EDI X12ドキュメント階層

Oracle B2Bインタフェースでは、ドキュメント定義を作成する際、そのドキュメント定義の名前にドキュメント・プロトコル階層が反映されます。

DocumentProtocol—Version—DocumentType—DocumentDefinitionName

例4-1に、EDI EDIFACTドキュメントに対する定義に反映される階層を示します。

例4-1 EDI EDIFACTドキュメントに対するドキュメント定義名

ドキュメント・プロトコル: EDI_EDIFACT

ドキュメント・プロトコル・バージョン: D98A

ドキュメント・タイプ: ORDERS

ドキュメント定義: ORDERS_def

結果のドキュメント定義:

EDI_EDIFACT-D98A-ORDERS-ORDERS-def

例4-2に、Health Care 7受付/面会通知、およびX12バージョン4010発注に対するドキュメント定義の例を順番に示します。

例4-2 HL7ドキュメントとX12ドキュメントに対するドキュメント定義名

HL7-2.3.1-ACK_A01-ACK_A01_Doc_Def

EDI_X12-4010-850-850def

4.1.2 確認を含むドキュメント・プロトコル

確認を含むメッセージ・フローの場合、Oracle B2Bで確認が送信されるのは後のみです。メッセージがすでに確認されている場合、再発行時に別の確認は生成されません。メッセージの状態に関する詳細情報が必要な場合、他の方法(電子メールなど)で取引パートナに通知する必要があります。

4.2 ドキュメント定義の作成

Oracle B2Bドキュメント・エディタを使用してトランザクション・セット・ファイルを作成した後は、Oracle B2Bインタフェースを使用してドキュメント定義を作成し、トランザクション・セット・ファイルをインポートします。

注意:

ドキュメント・バージョン、ドキュメント・タイプおよびドキュメント定義は、作成後は編集できません。特定のドキュメント要素(バージョン、タイプまたは定義)を削除して、新しく作成する必要があります。作成後にドキュメント要素を更新すると、メタデータの不整合、メタデータ検証の問題、実行時エラーが発生する原因となる場合があります。

ドキュメント定義を作成するには:

1. 「管理」タブをクリックします。

2. 「ドキュメント」タブをクリックします。

3. 図4-5に示すように、いずれかのドキュメント・プロトコルを選択します。

図4-5 ドキュメント・プロトコルの選択

注意:

名前を指定して新規カスタム・ドキュメントを作成するには、「ドキュメント・プロトコル」フォルダをクリックし、「追加」をクリックします。

次に、プロトコル名を入力します(例: MyXML_Document)。既存のドキュメント・プロトコル名は使用しないでください。

4. 「新規バージョン」をクリックします。
図4-6に、「新規バージョン」ボタンを示します。

図4-6 ドキュメント・バージョンの作成

5. バージョン名を入力し、ドキュメント・バージョン・パラメータを必要に応じて指定して、「保存」をクリックします。
バージョンはドキュメントの識別に使用され、プロトコルに応じて、大/小文字が区別され、固定構文が使用される場合があります。

図4-7に、EDI EDIFACT D98Aドキュメントのドキュメント・プロトコル・バージョンのページを示します。

図4-7 ドキュメント・プロトコル・パラメータの情報の入力

パラメータの説明については、次を参照してください:

- 表8-4 EDI EDIFACTドキュメントのドキュメント・バージョン・パラメータ

- 表8-8 EDI X12ドキュメントのドキュメント・バージョン・パラメータ

- 表8-11 HL7ドキュメントのドキュメント・バージョン・パラメータ

6. 新しいバージョン名を選択し、「新規タイプ」をクリックします。

7. ドキュメント・タイプ名を入力し、ドキュメント・タイプ・パラメータを必要に応じて指定して、「保存」をクリックします。
図4-8に、EDI EDIFACT D98Aドキュメントのドキュメント・タイプ・パラメータのページを示します。

図4-8 ドキュメント・タイプ・パラメータの情報の入力

パラメータの説明については、次を参照してください:

- 表8-1 カスタム・ドキュメントのドキュメント・タイプ・パラメータ

- 表8-5 EDI EDIFACTドキュメントのドキュメント・タイプ・パラメータ。

- 表8-9 EDI X12ドキュメントのドキュメント・タイプ・パラメータ

- 表8-12 HL7ドキュメントのドキュメント・タイプ・パラメータ

- 表8-18 RosettaNetドキュメントのドキュメント・タイプ・パラメータ

8. 新しいドキュメント・タイプ名を選択し、「新規定義」をクリックします。

9. ドキュメント定義名を入力して、次を行います:

- 任意のドキュメント・プロトコルに対して、オプションの定義ファイル(XSDファイル)を参照します。

- EDI EDIFACT、EDI X12、HL7および位置指定フラット・ファイルの各プロトコルの場合は、必要なトランザクション・セットECSファイルを参照します。

- 適用可能な場合は、ドキュメント定義パラメータを指定します。

図4-9に、EDI EDIFACT D98Aドキュメントのドキュメント定義パラメータのページを示します。

図4-9 ドキュメント定義パラメータの情報の入力

パラメータの説明については、次を参照してください:

- 表8-2 カスタム・ドキュメントのドキュメント定義パラメータ

- 表8-6 EDI EDIFACTドキュメントのドキュメント定義パラメータ

- 表8-10 EDI X12ドキュメントのドキュメント定義パラメータ

- 表8-13 HL7ドキュメントのドキュメント定義パラメータ

- 表8-15 OAGドキュメントのドキュメント定義パラメータ

- 表8-16 位置指定フラット・ファイルのドキュメント定義パラメータ

- 表8-19 RosettaNetドキュメントのドキュメント定義パラメータ

- 表8-21 UCCnetドキュメントのドキュメント定義パラメータ

10. 「保存」をクリックします。

4.3 ドキュメント定義の削除

ドキュメント定義を削除するには、最初に、そのドキュメント定義を使用しているすべてのアグリーメントを削除し、その後で、ホスト、およびその定義を参照しているすべてのリモート取引パートナから、サポートされているドキュメント定義を削除します。

5 取引パートナの構成

この章では、取引パートナの構成方法について説明します。取引パートナの構成には、取引パートナ・プロファイルの作成(識別子、連絡先情報、取引パートナ・パラメータおよびキー・ストア情報の値の指定)、取引パートナ・ユーザーの追加、ドキュメント定義の追加および送信者ロールと受信者ロールの割当て、およびセキュリティなどのチャネル詳細の構成が含まれます。

図5-1に示すように、Oracle B2Bプロセス・フローの第3手順は、取引パートナの構成です。

図5-1 Oracle B2Bプロセス・フロー

この章には次のトピックが含まれます:

- 第5.1項 取引パートナの概要

- 第5.2項 取引パートナ・プロファイルの作成

- 第5.3項 取引パートナ・ユーザーの追加

- 第5.4項 ドキュメント定義の追加

- 第5.5項 チャネルの構成

- 第5.6項 アグリーメントの自動作成機能の使用

- 第5.7項 取引パートナ参照に対する識別子の使用

- 第5.8項 取引パートナの停止時間のスケジュール設定

- 第5.9項 複数の取引パートナへのメッセージのブロードキャスト

- 第5.10項 インバウンド・メッセージ処理中の証明書の検証

5.1 取引パートナの概要

Oracle B2Bでは、ホスト取引パートナとリモート取引パートナという2つの取引パートナがトランザクションに関与します。通常、ホスト取引パートナとは、Oracle B2Bがインストールされている組織です。リモート取引パートナとは、ホスト取引パートナがE-Businessトランザクションを実行する相手の組織です。取引パートナは、ホスト(バックエンド)アプリケーション、データベースまたは顧客をトランザクションに含めることができます。トランザクションの起案者または応答者のいずれかが、ホスト取引パートナまたはリモート取引パートナになることができます。

すべての取引パートナ(ホストおよびリモート)は、ホスト取引パートナ組織によって構成されます。リモート・パートナは、ホスト取引パートナがリモート取引パートナごとに作成した取引パートナ・ユーザーを使用して、Oracle B2Bの独自のデータにアクセスできます。図5-2に、取引パートナを構成する手順を示します。

図5-2 取引パートナの構成

5.2 取引パートナ・プロファイルの作成

Oracle B2Bでは、デフォルトのホスト取引パートナ名がMyCompanyに設定されますが、この名前は企業にあわせて更新できます。1つ以上のリモート取引パートナを作成した後は、クローニング機能を使用して、類似のトランザクションに参加する新規の取引パートナを作成します。取引パートナのドキュメント定義とデリバリ・チャネル(MLLPチャネルを除く)は、クローニングによってコピーされますが、識別子、連絡先およびユーザーはコピーされません。新規に作成した取引パートナのデリバリ・チャネルは、名前を変更することをお薦めします。

取引パートナを作成して構成した後、その情報は取引パートナ・プロファイルとしてOracleメタデータ・リポジトリに保存されます。パートナ・データは、「プロファイル」タブの「エクスポート」ボタンを使用して、ZIPファイルにエクスポートできます。

取引パートナ・プロファイルを作成するには、次を行います:

- タスク1、「デフォルトのホスト取引パートナ名の更新」

- タスク2、「リモート取引パートナの追加」

- タスク3、「識別子タイプと値の追加」

- タスク4、「連絡先情報の追加」

- タスク5、「取引パートナのパラメータと値の追加」

- タスク6、「ホスト取引パートナのキー・ストア情報の指定」

タスク1   デフォルトのホスト取引パートナ名の更新

このタスクは、初めてOracle B2Bを設定するときに実行します。

1. 「パートナ」リンクをクリックします。

2. MyCompanyをクリックします。

3. 図5-3に示すように、「編集」をクリックします。

図5-3 ホスト取引パートナ・プロファイルの編集

4. ホスト取引パートナ名およびボタン・ファイル(オプション)を指定して、「OK」をクリックします。
オプションのボタン・ファイルは、16 x 16ピクセルのPNGファイルである必要があります。

ホスト取引パートナ名が「パートナ」リストに表示されます。

タスク2   リモート取引パートナの追加

このタスクは、各リモート取引パートナに対して実行します。

1. 「パートナ」リンクをクリックします。

2. 図5-4に示すように、「追加」をクリックします。

図5-4 リモート取引パートナの追加

3. パートナ名を指定し、「OK」をクリックします。
リモート取引パートナ名が「パートナ」リストに表示されます。

4. (オプション)図5-5に示すように、「編集」をクリックして、16 x 16ピクセルのPNGファイルをリモート取引パートナのボタンとして追加し、「OK」をクリックします。

図5-5 リモート取引パートナ・プロファイルの編集

このタスクでは、別の方法としてクローニング機能を使用できます。作成する取引パートナと類似する取引パートナをすでに作成している場合は、図5-6に示すように「クローン」ボタンをクリックし、クローニングされない取引パートナ情報(識別子、連絡先およびユーザー)を指定します。

図5-6 リモート取引パートナのクローニング

注意:

リモート取引パートナを削除する場合は、「削除」ボタンを使用します。ただし、デプロイ済の取引パートナ・アグリーメントに含まれているリモート取引パートナは削除できません。削除するには、最初にアグリーメントを削除する必要があります。

タスク3   識別子タイプと値の追加

Oracle B2Bでは、識別子タイプを使用して取引パートナを実行時に識別します。通常の識別プロセスでは、パートナ、ドキュメントの順に識別し、そのパートナ/ドキュメント・ペアによってアグリーメントを識別します。Oracle B2Bでは、各取引パートナに、デフォルトの識別子タイプである「名前」が指定されます。その値は取引パートナの名前です。

ホスト取引パートナおよびリモート取引パートナの識別子タイプと値を追加します。ここで追加するタイプの作成方法は、第10章 タイプの作成を参照してください。

1. 「パートナ」リンクをクリックします。

2. 「プロファイル」タブをクリックします。

3. 取引パートナを選択します。

4. 図5-7に示すように、「識別子」領域で「追加」をクリックします。

図5-7 識別子タイプの追加

5. 「タイプ」リストから、識別子タイプを選択します。
識別子タイプについては、表10-1 Oracle B2Bで定義されている識別子タイプを参照してください。

6. 値を指定します。

7. 必要に応じて、手順4から6を繰り返します。

8. 「保存」をクリックします。

タスク4   連絡先情報の追加

取引パートナの連絡先情報を必要に応じて追加するには、事前にシードされているタイプ(連絡先名、電子メール、Fax、電話番号)を使用します。または、「管理」→「タイプ」ページで連絡先タイプを作成できます。詳細は、第10.2項 カスタム連絡先情報タイプの作成を参照してください。

1. 「パートナ」リンクをクリックします。

2. 「プロファイル」タブをクリックします。

3. 「連絡先情報」領域で、「追加」をクリックします。

4. 図5-8に示すように、「タイプ」の下にあるリストからタイプを選択し、値を入力します。

図5-8 連絡先情報の追加

5. 「保存」をクリックします。

タスク5   取引パートナのパラメータと値の追加

取引パートナに対して取引パートナのパラメータと値を必要に応じて追加するには、「管理」→「タイプ」ページでパラメータを作成する必要があります(パラメータがまだ作成されていない場合、「追加」ボタンは表示されません。)詳細は、第10章 タイプの作成を参照してください。

1. 「パートナ」リンクをクリックします。

2. 「プロファイル」タブをクリックします。

3. 図5-9に示すように、「パラメータ」領域で、「追加」をクリックします。

図5-9 取引パートナのパラメータと値の追加

4. 図5-10に示すようにパラメータを選択し、「OK」をクリックします。

図5-10 取引パートナのパラメータの選択

5. 「保存」をクリックします。

このページでは、特定の取引パートナの値を更新することもできます。

タスク6   ホスト取引パートナのキー・ストア情報の指定

ホスト取引パートナのセキュリティのために、必要に応じてキー・ストアのパスワードと場所を追加します。デジタル署名、暗号化またはSSLが有効な場合は、キー・ストアの場所を指定する必要があります。デジタル署名および暗号化を指定する場所については、タスク5 セキュリティの構成を参照してください。セキュリティ・パラメータについては、表5-6を参照してください。

Oracle B2Bに対して任意のキー・ストアを選択できます。SSLを使用する場合は、取引パートナとのメッセージ交換時にSSL関連の問題が発生するのを防ぐために、B2BおよびOracle WebLogic Serverの両方のSSL構成で同じキー・ストアを使用することをお薦めします。

1. 「パートナ」リンクをクリックします。

2. 「プロファイル」タブをクリックします。

3. ホスト取引パートナを選択します。

4. 図5-11に示すように、「キー・ストア」セクションで、パスワードと場所を指定します。

図5-11 キー・ストア情報の入力

5. 「保存」をクリックします。

注意:

前回誤って入力したキー・ストア・パスワードを再入力した場合は(キー・ストアへの接続の試行時にエラーが発生するため)、正しいパスワードを入力した後にサーバーを再起動する必要があります。

5.3 取引パートナ・ユーザーの追加

ホスト取引パートナの管理者(デフォルトのログイン・ユーザー名とパスワードの組合せ)は、ホストおよびリモートの取引パートナ・ユーザーを追加できます。これらのユーザーは、Oracle B2Bにログインして、ユーザー自身の取引パートナ・データにのみアクセスできます。

次のロールを使用できます。

- 管理者ロール: Oracle B2Bのすべての機能にアクセスできます。

- 監視ロール: レポートおよびメトリック機能にのみアクセスできます(「レポート」および 「メトリック」リンクを使用)。

管理者ロールのユーザーは、ユーザー自身の取引パートナ・データについてのみ、すべてのB2B機能にアクセスできます。他の取引パートナのデータは表示されません。監視ロールのユーザーは、ユーザー自身の取引パートナ・データについてのみ、レポート機能にアクセスできます。他のリンク、および他の取引パートナのデータは表示されません。また、Oracle B2Bでは、ドキュメント・タイプに基づいたアクセス制限がサポートされます。詳細は、第1.4.2項 ドキュメント・タイプへのアクセス制限を参照してください。

ユーザーを追加するには、次を行います:

- タスク1、「アイデンティティ・ストアでの新規ユーザーの作成」

- タスク2、「Oracle B2Bインタフェースでのユーザーの追加」

- タスク3、「ユーザーがアクセス権限を持つドキュメント・タイプの追加」

タスク1   アイデンティティ・ストアでの新規ユーザーの作成

ユーザーをOracle B2Bに設定するには、そのユーザーがアイデンティティ・ストアにすでに存在している必要があります。ユーザーの作成に使用できるツールはいくつかありますが、図5-12に示すように、Oracle WebLogic Server管理コンソールのセキュリティ・レルム機能を使用する方法もあります。

図5-12 Oracle WebLogic Server管理コンソール: セキュリティ・レルム

注意:

Oracle B2Bを管理対象サーバーで実行している場合は、デフォルトのファイルベースのポリシー・ストアがサポートされないため、LDAPベースのポリシー・ストアを使用することをお薦めします。

myrealm設定に進むと、「ユーザーおよびグループ」タブにレルム内のすべてのユーザーが表に表示されます。「新規」をクリックし、図5-13に示すページで、ユーザーおよびユーザー・パスワードを追加します。

図5-13 Oracle WebLogic Server管理コンソール: 新しいユーザーの追加

タスク2   Oracle B2Bインタフェースでのユーザーの追加

デフォルト管理者は、ユーザーを追加できます。ホスト管理者およびリモート管理者は、デフォルト管理者によって権限を付与されている場合、ユーザーを追加できます(リモート管理者は各自のデータについてのみ)。

1. 「パートナ」リンクをクリックします。

2. 「ユーザー」タブをクリックします。

3. 取引パートナを選択します。

4. 「追加」をクリックします。

5. タスク1で作成したユーザー名を入力し、「検索」をクリックします。
ユーザー名は作成したとおりに正確に入力してください。

6. 図5-14に示すように、「監視」または「管理者」ロールを選択し、「OK」をクリックします。

図5-14 監視または管理者ロールの割当て

タスク3   ユーザーがアクセス権限を持つドキュメント・タイプの追加

デフォルト管理者は、ユーザーのドキュメント・タイプを追加できます。ホスト管理者およびリモート管理者は、デフォルト管理者によって権限を付与されている場合、ユーザーのドキュメント・タイプを追加できます(リモート管理者は各自のデータについてのみ)。ここでドキュメント・タイプを追加しない場合、ユーザーはすべてのドキュメント・タイプにアクセスできます。

1. 図5-15の最下部付近に表示されている「サポートされているドキュメント・タイプ」領域で、「追加」をクリックします。

図5-15 ドキュメント・タイプの追加

2. 図5-16に示すように、ドキュメント・タイプを選択し、「追加」をクリックします。

図5-16 ドキュメント・タイプの選択

3. 必要に応じて、手順1から2を繰り返します。
ユーザーがアクセス権限を持つドキュメント・タイプが「ドキュメント・タイプ名」列に表示されます。

「ドキュメント・タイプ名」列のドキュメント・タイプは、削除することもできます。リスト内のタイプをすべて削除すると、ユーザーはすべてのドキュメント・タイプにアクセスできるようになります。

5.4 ドキュメント定義の追加

Oracle B2Bホスト管理者はすべてのドキュメント定義を作成します。作成したドキュメント定義はホスト取引パートナに自動的に割り当てられます。また、ホスト管理者は任意のドキュメント定義をリモート取引パートナに割り当てることができます。ホスト取引パートナおよびリモート取引パートナの両方について、各ドキュメントの送信者と受信者が識別されている必要があります。

追加した後でドキュメント定義を更新する方法は、第8.9項 ドキュメント詳細の変更を参照してください。

注意:

「管理」→「ドキュメント」を使用してドキュメント定義を削除するには、その前に、ホスト取引パートナに自動的に割り当てられたドキュメント定義をホスト取引パートナ・プロファイル(およびリモート取引パートナ・プロファイル)から削除する必要があります。

Acme社(購入者)が発注をGlobalChips社に送信するシナリオを考えてみます。このトランザクションの中で、Acme社は、GlobalChips社(販売者)が発注を受信した旨の確認を受信します。したがって、このEDIFACTトランザクションでは、発注用と機能確認用の2つのドキュメント定義が使用されます。GlobalChips社は発注を受信し、次に確認を送信します。

取引パートナ・プロファイルに追加するために必要となるドキュメント定義の作成の詳細は、第4章 ドキュメント定義の作成を参照してください。

ドキュメント定義を追加するには、次を行います:

- タスク1、「ドキュメント定義の追加」

タスク1   ドキュメント定義の追加

ホストおよびリモートの両方の取引パートナ・プロファイルにドキュメント定義を追加します。このページでは、リモート取引パートナのドキュメント・タイプ・パラメータおよびドキュメント・バージョン・パラメータを変更することもできます。詳細は、第8章 ドキュメント・プロトコルの使用を参照してください。

1. 「パートナ」リンクをクリックします。

2. 「ドキュメント」タブをクリックします。

3. 取引パートナを選択します。

4. 「追加」をクリックします。

5. 図5-17に示すように、ノードを展開し、ドキュメント定義を選択して、「追加」をクリックします。

図5-17 ドキュメント定義の選択

6. 図5-18に示すように、リストされているドキュメントごとに、選択したパートナが送信者か受信者か、またはその両方かを指定します。

図5-18 送信者と受信者の選択

7. 「保存」をクリックします。

リモート取引パートナのドキュメント・プロトコル・バージョンおよびドキュメント・タイプ・パラメータを変更する方法は(「バージョン・パラメータのオーバーライド」および「DocTypeパラメータのオーバーライド」パラメータの使用など)、第8.9項 ドキュメント詳細の変更を参照してください。

5.5 チャネルの構成

メッセージの配信方法は、チャネルによって定義されます。それは、取引パートナのセキュリティ特性、トランスポート・プロトコル、交換プロトコルおよび交換プロトコルのオーバーライド要素を指定します。さらに、定義してある場合は、デジタル・エンベロープ、暗号化資格証明、デジタル署名、署名資格証明および検証に対するサポートを指定します。

ホスト取引パートナに対して外部デリバリ・チャネルを構成した場合、そのチャネルは、アグリーメントの作成時にすべてのリモート取引パートナに対して使用できます。これによって、デリバリ・チャネルを複数回(各リモート取引パートナの後に)作成する必要がなくなります。リモート取引パートナに対して外部デリバリ・チャネルを構成した場合、そのチャネルは、アグリーメントの作成時にそのリモート取引パートナに対してのみ使用できます。ホスト取引パートナに対して内部デリバリ・チャネルを構成した場合(AQ、ファイルまたはJMSトランスポートを使用するOracle B2Bへのインバウンド・メッセージ用)、そのチャネルは、インバウンド・アグリーメントの作成時にホスト取引パートナに対してのみ使用できます。

ホスト取引パートナに対するJMS内部デリバリ・チャネルを構成することで、カスタムJMS例外キューを作成することもできます。詳細は、次を参照してください:

- 表17-1 構成設定

- 第H.4項 エラー・メッセージ配信でのカスタム例外キューの使用

表5-1に、Oracle B2Bで使用可能なチャネル/交換プロトコルを示します。

表5-1 Oracle B2Bで使用可能なチャネル/交換プロトコル

プロトコル

説明

通信チャネル

AS2-1.1

Applicability Statement 2、バージョン1.1: EDI over the Internetを使用するための仕様。AS2は、HTTPまたはHTTPSを使用したS/MIMEをサポートしています。また、AS2は、.xml、.txt、.docおよび.xlsなどの非EDIドキュメント・タイプを処理します。AS2は、EDI over the InternetまたはEDIINT AS2とも呼ばれます。

外部

MLLP-1.0

(リモート取引パートナのみ)

Minimum Lower Layer Protocol (MLLP)は、最小のOSIセッション層フレーム化プロトコルです。

MLLP (およびTCPトランスポート・プロトコル)は、リモート取引パートナでのみ使用できます。また、HL7またはカスタムのドキュメントで使用されます。MLLPを使用すると、同じチャネルを使用してメッセージを送受信でき、チャネルをサーバーまたはクライアントとして構成できます。

MLLP接続は、永続接続または一時接続の場合があります。

永続接続の特徴は次のとおりです。

- エンドポイントに基づいてソケットをキャッシュします。

- エンドポイントごとに1つのソケットのみ作成されます。

- ソケットは将来のメッセージで再利用されます。

一時接続の特徴は次のとおりです。

- メッセージごとに新規のソケットが作成されます。

- メッセージが送信されると、リスナーは確認を待機します。

- 確認を受信すると、ソケットはクローズされます。

詳細は、第5.5.2項 MLLPについてを参照してください。

外部

ebMS-2.0

ebMS-1.0

Electronic business Extensible Markup Language (ebXML) Messaging Service (ebMS): XMLドキュメントを交換するために使用する仕様。ebMSは、SOAP Webサービス・メッセージ書式で構築されています。Oracle B2Bでは、ebMS 1.0および2.0がサポートされ、HTTP、HTTPS、電子メール・トランスポート・プロトコルおよびSOAPパッケージング・プロトコルが使用されます。ebMSプロトコルでは、ドキュメント間の相関がサポートされています。Oracle B2Bでは、XMLDSig、XML暗号化および大きなドキュメントに対するgZipベースの圧縮もサポートされています。

外部

RosettaNet-V02.00

RosettaNet 2.0には、RosettaNet 1.1固有の特徴は含まれておらず、複数の転送プロトコル、ハブベースのルーティング、添付ファイル、ペイロード暗号化などのサポートが追加されています。

外部

RosettaNet-01.10

ソフトウェア・アプリケーションを作成するための実装ガイドライン。取引パートナ間で交わされるXML書式のビジネス・ドキュメントにおいて信頼性の高いPIPのトランスポートを実現します。トランスポート、ルーティング、パッケージング、セキュリティ、シグナルおよび取引パートナ・アグリーメントに対するガイドラインが提供されます。

RosettaNetで指定されるエンベロープまたはコンテナ書式は、ビジネス・ドキュメント(ペイロード)の交換時に変わりませんが、ドキュメント交換方法やXMLスキーマは、使用されるPIPおよびドキュメント・タイプによって変わります。RosettaNetのエンベロープ書式は、使用する特定の転送プロトコルにも関係ありません。

外部

AS1-1.0

Applicability Statement 1: EDI over SMTPを使用するための仕様。AS1は、XML、TXTファイルなどの非EDIドキュメント・タイプも処理します。

外部

Generic File-1.0

ローカル・ファイル・システム内のファイルとの間でメッセージを送受信するトランスポート。

内部/外部

Generic AQ-1.0

Oracle AQのシングル・コンシューマ・キューまたはマルチ・コンシューマ・キューとの間でメッセージを送受信するトランスポート。

内部/外部

Generic FTP-1.0

リモートFTPサーバーでファイルとの間でメッセージを送受信するトランスポート。

内部/外部

Generic SFTP-1.0

リモートSFTPサーバーでファイルとの間でメッセージを送受信するトランスポート。

外部

Generic JMS-1.0

JMSキューまたはトピックとの間でメッセージを送受信するトランスポート。ユーザー名とパスワードを指定しない場合は、接続先が分散されていると、クラスタ環境も含めてローカルJNDIが使用されます。

Oracle B2Bでは、javax.jms.ObjectMessageはサポートされていません。

内部/外部

Generic HTTP-1.0

Webサーバーとの間でメッセージを送受信するトランスポート。

外部

Generic Email-1.0

電子メール・サーバーとの間でメッセージを送受信するトランスポート。

外部

Generic TCP

開始ブロック、終了ブロック、ヘッダー長、メッセージ長索引およびヘッダーの保持など、カスタマイズされた交換プロトコル・パラメータをサポートするトランスポート。

外部

Generic MFT-1.0

リモートMFTサーバーにあるファイルとの間でメッセージを送受信するトランスポート。

外部

図5-19に示すように、選択したチャネル/トランスポート・プロトコルに応じて、トランスポート・プロトコル・パラメータ、チャネル属性、交換プロトコル・パラメータなどのチャネルの詳細を指定します。

図5-19「チャネルの詳細」タブ

トランスポート・プロトコル・パラメータでは、プロトコル・エンドポイントの所定の使用方法に固有のプロパティが定義されます。トランスポートの役割は、選択されているトランスポート・プロトコル、モード(同期または非同期)、サーバーおよびプロトコル・エンドポイント・アドレス(URIなどの取引パートナのアドレス)を使用して、メッセージを配信することです。表5-3では、トランスポート・プロトコル・パラメータについて説明します。

チャネル属性は、ホスト取引パートナのホスト・アプリケーションとそのインストール間の通信インタフェースを定義します。表5-4では、チャネル属性について説明します。

交換プロトコル・パラメータでは、ヘッダー、確認、およびヘッダーとペイロードをまとめるパッケージング(メッセージ交換メカニズム)が定義されます。表5-5では、交換プロトコル・パラメータについて説明します。

セキュリティ・パラメータでは、署名、暗号化、デジタル署名などの機能を定義します。可能な場合は、AES設定を使用するメッセージ暗号化を使用します。表5-6では、セキュリティ・パラメータについて説明します。

次の事項に注意してください。

- 汎用プロトコル(Generic File-1.0、Generic AQ-1.0、Generic FTP-1.0、Generic SFTP-1.0、Generic JMS-1.0、Generic HTTP-1.0およびGeneric Email-1.0)に対して指定するセキュリティ・パラメータはありません。

- セキュリティ・パラメータはMLLPチャネルには適用されません。

取引パートナのチャネルを構成するには、次を行います:

- タスク1、「チャネルの追加」

- タスク2、「トランスポート・プロトコル・パラメータの指定」

- タスク3、「チャネル属性の指定」

- タスク4、「交換プロトコル・パラメータの指定」

- タスク5、「セキュリティの構成」

タスク1   チャネルの追加

B2Bトランザクションの応答者用にチャネルを追加します。

1. 「パートナ」リンクをクリックします。

2. 取引パートナを選択します。

3. 「チャネル」タブをクリックします。

4. 「追加」をクリックします。

5. チャネル名を入力します。

6. 表5-1の説明に従って、プロトコルを選択します。

図5-20に、プロトコルのリストを示します。

図5-20 プロトコルの選択

7. 「保存」をクリックします。
表5-2に示すように、手順6で選択したデリバリ・チャネル・プロトコルに基づいて、適用可能なプロトコルが「トランスポート・プロトコル」フィールドに表示されます。

表5-2 デリバリ・チャネルおよびトランスポート・プロトコル

選択したチャネル・プロトコル

表示されるトランスポート・プロトコル

AS2 - 1.1

ebMS-2.0、ebMS-1.0

RosettaNet-V02.00、RosettaNet-01.00

Generic HTTP-1.0

HTTP

AS1-1.0

Generic Email-1.0

電子メール

MLLP - 1.0

TCP

Generic File-1.0

ファイル

Generic AQ-1.0

AQ

Generic FTP-1.0

FTP

Generic SFTP-1.0

SFTP

Generic JMS-1.0

JMS

タスク2   トランスポート・プロトコル・パラメータの指定

1. 「トランスポート・プロトコル・パラメータ」タブをクリックします。

2. 表5-3に示すように、タスク1で選択したチャネル/トランスポート・プロトコルに応じて、トランスポート・プロトコル・パラメータを指定します。
表5-3では、トランスポート・プロトコル・パラメータ(アルファベット順に表示されています)およびパラメータが適用されるプロトコルについて説明します。

表5-3 トランスポート・プロトコル・パラメータ

パラメータ

説明

使用するプロトコル

追加トランスポート・ヘッダー

メッセージを取引パートナに送信するために使用するカスタムHTTPヘッダー。

同期レスポンス処理の場合は、追加トランスポート・ヘッダーを設定する必要があります。送信者がレスポンスをインバウンド・メッセージとして処理するため、追加トランスポート・ヘッダーの一部としてsyncresponse=trueを追加します。

AS2 (オプション)

ebMS-2.0 (オプション)

ebMS-1.0 (オプション)

汎用HTTP (オプション)

RosettaNet-V02.00 (オプション)

RosettaNet-01.10 (オプション)

アーカイブ・ディレクトリ

B2Bチャネルにより、処理済ファイルはこのディレクトリに移動されます。デフォルトでは、この処理は破壊的読取りです(処理済ファイルはエンドポイントから削除されます)。この場合、ファイルは指定されたパスに移動されます。

Generic File-1.0 (オプション)

Generic FTP-1.0 (オプション)

Generic SFTP-1.0 (オプション)

キャッシュ接続

有効にすると、ファイルの一覧表示や処理は同じセッションで実行されます(これに対して、デフォルトでは、一覧表示や処理は異なるセッションで実行されます)。

Generic FTP-1.0 (オプション)

チャネル・マスク

FTPに対してSSLを有効にするには、次のいずれかを入力します。

- Control: 制御チャネルを暗号化します。

- Data: データ・チャネルを暗号化します。

- Both: データ・チャネルおよび制御チャネルの両方を暗号化します。

デフォルトは「なし」(SSLなし)です。

汎用FTP (オプション)

暗号スイート

暗号化に優先暗号化を指定します。

汎用FTP (オプション)

接続ファクトリ

接続ファクトリのJNDIロケーションまたはJavaクラス名をjms/b2b/B2BQueueConnectionFactoryのように指定します。

汎用JMS (オプション)

接続モード

「クライアント」または「サーバー」から選択します。

MLLP-1.0 (必須、リモート取引パートナの場合のみ)

Generic TCP (必須)

コンシューマ

メッセージを受信するクライアント。

汎用AQ (オプション)

コンテンツ・タイプ

電子メールで送信されるペイロードのコンテンツ・タイプ。デフォルトのコンテンツ・タイプはtext/plainで、他の例には、application/xmlやapplication/ediなどがあります。この値はデリバリ・チャネル(電子メール送信用)でのみ使用され、リスニング・チャネルでは使用されません。リスニング・チャネル側では、インテリジェンスがトランスポート・アダプタに組み込まれて様々なコンテンツ・タイプを処理するため、構成は必要ありません。

AS1 (オプション)

汎用電子メール(オプション)

制御ポート

FTPはデフォルト・ポート21で稼働します。このポート番号は表示されません。値を指定して、デフォルトのFTPポート値(21)を変更します。

汎用FTP (オプション)

データ・ポート

有効なFTP接続では、このオプションを使用してFTPサーバーの静的/固定データ・ポートを構成します。

汎用FTP (オプション)

データソース

AQキューにアクセスするためのJDBCデータソースのJNDI名。

汎用AQ (オプション)

接続先名

JMS接続先名。

汎用JMS (オプション)

接続先プロバイダ

B2Bが、リモート・サーバーで使用可能なJMSキューまたはJMSトピックに接続できるようにします。値には、ターゲット・サーバーへの接続に必要なJNDIプロパティを指定します。キー/値の各ペアのセパレータには、;(セミコロン)を使用します。

Generic JMS-1.0 (オプション)

ディレクトリ名フォーマット

受信するディレクトリ名フォーマット

汎用FTP (オプション)

電子メールID

メッセージ配信先の電子メール・アドレス(AQまたはJMSでのファイル・チャネルやキューのパスの指定と同じ)。

AS1 (必須)

汎用電子メール(必須)

電子メール・サーバー

「IMAP」または「POP3」を選択します。

AS1 (必須)

汎用電子メール(必須)

CCCの有効化

SSLセッションでの認証をB2Bで有効にし、プレーン・ソケット上で残りのファイル転送コマンドを実行します。

Generic FTP-1.0 (オプション)

マーカーの有効化

有効にすると、読取りまたは書込みの完了を示す、ソースと同じ名前の0バイトのファイルが作成されます。このファイルはソースと同じ名前ですが、拡張子はmarkerになります。

Generic File-1.0 (オプション)

Generic FTP-1.0 (オプション)

Generic SFTP-1.0 (オプション)

エンコーディング

インバウンド・ファイルのコンテンツの変換のためにB2Bで使用するエンコーディング。

汎用FTP (オプション)

ファイル名フォーマット脚注1

次のファイル名フォーマットを使用できます。

%FROM_PARTY%
%TO_PARTY%
%DOCTYPE_NAME%
%DOCTYPE_REVISION%
%MSG_ID%
%TIMESTAMP%

次のファイル名フォーマットはebMSドキュメントでのみ使用できます。

%ACTIONNAME%

これらのファイル名フォーマットは、次の例に示すように、組み合せて使用できます。

%TO_PARTY%_%DOCTYPE_NAME%_%DOCTYPE_REVISION%.dat

これによって、Acme_4010_850.datのように指定されます。任意のファイル拡張子を使用できます。

後述の脚注を参照してください。

汎用ファイル(オプション)

汎用FTP (オプション)

汎用SFTP (オプション)

ファイル名セパレータ

キーを分割するファイル名フォーマット・セパレータ。_ (下線)以外の文字を使用する場合は、ファイル名セパレータ・フィールドに値を指定します。

「ファイル名セパレータ」パラメータは「ファイル名フォーマット」パラメータと連携するため、「ファイル名フォーマット」パラメータと「ファイル名セパレータ」パラメータで同じセパレータ値を使用する必要があります。

たとえば、「ファイル名フォーマット」に%TO_PARTY%_%DOCTYPE_NAME%_%DOCTYPE_REVISION%.datを指定した場合、ファイル名セパレータは_ (下線)に設定する必要があります。

文字$および^は、ファイル名セパレータとして使用することはできません。

デフォルト値は_ (下線)です

汎用ファイル(オプション)

汎用FTP (オプション)

汎用SFTP (オプション)

フォルダ

絶対ディレクトリ・パスをお薦めします。

AS1 (オプション)

汎用電子メール(オプション)

フォルダ名

絶対ディレクトリ・パスをお薦めします。

汎用ファイル(必須)

汎用FTP (必須)

ホスト名

メッセージを交換する、取引パートナのトランスポートまたは電子メール・サーバー。

MLLP 1.0プロトコルでは、接続モードが「サーバー」に設定されている場合は、ホスト名をB2Bサーバーにする必要があります。接続モードが「クライアント」に設定されている場合は、ホスト名をリモートB2Bサーバー(MLLPサーバー)にする必要があります。

AS1 (必須)

汎用AQ (オプション)

汎用FTP (必須)

MLLP-1.0 (必須、リモート取引パートナの場合のみ)

汎用SFTP (必須)

汎用電子メール(必須)

Generic TCP (必須)

ペイロードのみマップ

JMSマップ・メッセージにペイロードのみ含めることを示します。

汎用JMS (オプション)

トピック

JMSがトピック(キューではなく)と通信することを示す場合に選択します。

汎用JMS (オプション)

VANメールボックス

有効にすると、B2BではエンドポイントをVANメールボックスとして処理し、それに応じた処理を行います。

Generic FTP-1.0 (オプション)

メッセージ・タイプ

JMSメッセージ・タイプとして、BYTES、TEXTまたはMAPを選択します。

汎用JMS (オプション)

最小経過時間

エンドポイントに送信されるファイルは、入力された時間(ミリ秒単位)の経過後に処理されます。

Generic File-1.0 (オプション)

Generic FTP-1.0 (オプション)

Generic SFTP-1.0 (オプション)

パスフレーズおよびパスフレーズの確認

秘密鍵ファイルの場所を入力し、その秘密鍵ファイルをパスフレーズで保護する場合は、パスフレーズを入力します。

汎用SFTP (オプション)

パスワードおよびパスワードの確認

パスワード認証を使用するには、HTTP基本認証で使用するキー・ストアのパスワードを指定します。

AS1 (オプション)

AS2 (オプション)

汎用AQ (オプション)

ebMS-2.0 (オプション)

ebMS-1.0 (オプション)

汎用FTP (オプション)

汎用HTTP (オプション)

汎用SFTP (オプション)

汎用JMS (オプション)

汎用電子メール(オプション)

RosettaNet-V02.00 (オプション)

RosettaNet-01.10 (オプション)

パス

メッセージを送受信する絶対ディレクトリ・パス。

汎用SFTP (必須)

永続接続

「false」(デフォルト値)に設定すると、メッセージは新規接続で送信され、確認を受信すると接続がクローズします。メッセージの受信者側では、確認が取引パートナに返信されると接続がクローズします。「true」に設定すると、キャッシュされた接続を使用してすべてのメッセージが交換されます。

MLLP-1.0 (オプション、リモート取引パートナの場合のみ)

Generic TCP (オプション)

ポーリング間隔

Oracle B2Bがインバウンド・メッセージについてサーバーをポーリングする間隔(秒単位)。

AS1 (オプション)

汎用ファイル(使用不可)

汎用AQ (オプション)

汎用FTP (使用不可)

MLLP-1.0 (オプション、リモート取引パートナの場合のみ)

汎用SFTP (使用不可)

汎用JMS (オプション)

汎用電子メール(使用不可)

Generic TCP (オプション)

ポート番号(またはポート)

AQはデフォルト・ポート1521で稼働します。

SFTPはデフォルト・ポート22で稼働しますが、別のポートに変更することもできます。

MLLP 1.0プロトコルでは、接続モードが「サーバー」に設定されている場合、ポート番号は有効なTCPポート番号である必要があります。接続モードが「クライアント」に設定されている場合、ポート番号はMLLPサーバーで使用するポートと同じである必要があります。

汎用AQ (オプション)

MLLP-1.0 (必須、リモート取引パートナの場合のみ)

汎用SFTP (必須)

Generic TCP (必須)

ファイル名の保持

ファイル名が保持されます。

Generic File-1.0 (オプション)

Generic FTP-1.0 (オプション)

Generic SFTP-1.0 (オプション)

秘密鍵

公開鍵認証を使用するには、秘密鍵ファイルの場所を指定します。秘密鍵ファイルがパスフレーズで保護されている場合は、パスフレーズも指定する必要があります。

汎用SFTP (オプション)

キュー名

AQキュー名。

汎用AQ (オプション)

受信者

AQキューへのメッセージの配信時に使用する値。たとえば、受信者をtestuserに設定した場合は、testuserという名前のコンシューマ(送信側では受信者ですが、リスニング側ではコンシューマになります)のみがメッセージを使用できます。

汎用AQ (オプション)

添付ファイルとして送信

有効にすると、ペイロードがメッセージ本文である通常の配信ではなく、メッセージ(ペイロード)が電子メール添付ファイルとして送信されます。

AS1 (オプション)

汎用電子メール(オプション)

シーケンス (順序付け)

着信のEDI、HL7またはカスタム・メッセージをバックエンド・アプリケーションに順番に配信する必要がある場合に、このプロパティを有効にします。

詳細は、第5.5.4項 メッセージの順序付けを参照してください。

MLLP-1.0 (オプション、リモート取引パートナの場合のみ)

Generic File-1.0 (オプション)

Generic FTP-1.0 (オプション)

汎用SFTP (オプション)

Generic TCP (オプション)

SID

Oracleデータベースを識別するためのシステムID。

汎用AQ (オプション)

件名

電子メール・メッセージの件名ヘッダー。

AS1 (オプション)

汎用電子メール(オプション)

サブスクライバID

JMSサブスクライバIDは、JMSがトピックと通信する場合に必要です。

汎用JMS

タイムアウト

確認メッセージ用に一時MLLP接続がソケットをオープンしている時間を定義します。デフォルトのタイムアウト値は300秒です。このパラメータは一時MLLP接続にのみ適用され、永続接続には適用されません。

タイムアウトは、HTTPデリバリ・チャネルで追加のトランスポート・ヘッダーとして構成できます。

値の例: timeout=30(タイムアウトの値は秒単位です)

MLLP-1.0 (オプション、リモート取引パートナの場合のみ)

Generic TCP (オプション)

タイムスタンプ・フォーマット

タイムスタンプ・フォーマット、タイムスタンプ・オフセットおよびタイムスタンプ・ソースのパラメータについて

パラメータ・レシーバ・ファイルの最小経過時間に0より大きい値が設定されている場合、B2Bでは、このファイルが処理のために取得されるまで、ファイルは変更されません。つまり、FTPサーバーのシステム・タイムスタンプがB2Bサーバーのシステム・タイムスタンプと異なる場合があります。タイムスタンプ・フォーマット、タイムスタンプ・オフセットおよびタイムスタンプ・ソースのパラメータは、レシーバ・ファイルの最終更新時間を取得する場合に使用します。(この表の「最小経過時間」パラメータも参照してください。)

レシーバの読取り順のタイムスタンプ・フォーマットでは、FTPコマンドによって取得されたレスポンス文字列からタイムスタンプを解析する方法を指定します。また、インデックス情報も含まれます。たとえば、

[43,55,'MMM dd HH:mm',ucy] - FTPコマンドからのレスポンス文字列では、タイムスタンプはインデックス43から55の間にあります。

[4,+14,'yyyyMMddHHmmss'] - FTPコマンドからのレスポンス文字列では、タイムスタンプはインデックス4からインデックス(4+14=18)の間にあります。

複数の書式マスクを指定できます。各書式マスクは、次のように大カッコで囲みます:

format-mask = start "," end "," "'" time-pattern "'" ["," current-year]

ここで

start = integer
end   = integer
time-pattern = java.text.SimpleDateFormat | "N"
current-year   = "CY"
TimestampFormats = {"[" format-mask "]" }+

例: [41,53,'MMM dd HH:mm',CY][41,53,'MMM dd yyyy']

年が存在しない時間パターンには、CYを追加する必要があります。その結果、アダプタによって内部でyyyy書式がユーザーによって指定された書式マスクに追加され、解析前に現在の年が実際のタイムスタンプ文字列に追加されます。

startおよびendインデックスは、FTPのLISTコマンドまたは実際のファイル名のいずれかに由来する文字列からタイムスタンプ文字列を区別します。任意のFTPサーバーの場合、サーバーでどの書式マスクを使用するかを決定するため、手動で試行する必要があります。

time-patternにNが指定されている場合、部分文字列は標準の整数として扱われます。時間(t)の場合、数値(N)は次のように解釈されます。

t = "12:00 am, January 1, 1970 UTC" + N milliseconds

Generic FTP-1.0 (オプション)

タイムスタンプ・オフセット

レシーバの読取り順のタイムスタンプ・オフセットは、ファイルのタイムスタンプを、B2Bサーバーが稼働しているマシンのシステム時間を基準とするタイムスタンプに変換する場合に使用します。

たとえば-25200000の場合、FTPコマンドから取得したタイムスタンプから2520ミリ秒を引くと、B2Bのシステム時間に準拠したタイムスタンプになります。

注意:

- B2BとFTPが同じマシンで稼働していても、FTPコマンドからのタイムスタンプが異なるタイムゾーンのものである場合は、オフセットが必要になることがあります。

- トランスポート・ログを有効にして、FTPコマンドでどのようなタイムスタンプが返されるかを確認し、適切な値を設定してください。

Generic FTP-1.0 (オプション)

タイムスタンプ・ソース

レシーバの読取り順のタイムスタンプ・ソースでは、タイムスタンプの取得に使用する書式を次のように指定します。

LISTTIME - 書式'MMM dd HH:mm', ucyの最終更新時間。

TIMESTAMP - 書式'yyyyMMddHHmmss'の最終更新時間

Generic FTP-1.0 (オプション)

転送タイプ

「バイナリ」または「ASCII」のファイル転送モードを選択します。

Generic FTP-1.0 (オプション)

URL

取引パートナのHTTPまたはHTTPSエンドポイントURL。

AS2 (必須)

ebMS-2.0 (必須)

ebMS-1.0 (必須)

汎用HTTP (必須)

RosettaNet-V02.00 (必須)

RosettaNet-01.10 (必須)

JMS IDの使用

B2BメッセージIDにJMSメッセージIDを使用します。その結果、JMSレベルで相関が容易になります。

Generic JMS-1.0 (オプション)

ユーザー名

ターゲット・サーバーに接続するときに使用するユーザー名(ログイン名)。HTTP基本認証で使用されます。B2Bは構成済のJNDIデータソースを使用してキューに接続できるため、AQとJMSの場合、この値はオプションです。

AS1 (オプション)

AS2 (オプション)

汎用AQ (オプション)

ebMS-2.0 (オプション)

ebMS-1.0 (オプション)

汎用FTP (必須)

汎用HTTP (オプション)

汎用SFTP (必須)

汎用JMS (オプション)

汎用電子メール(オプション)

RosettaNet-V02.00 (オプション)

RosettaNet-01.10 (オプション)

プロキシの使用

プロキシ・サーバーを選択します(使用する場合)。

AS2 (オプション)

ebMS-2.0 (オプション)

ebMS-1.0 (オプション)

汎用FTP (オプション)

汎用HTTP (オプション)

汎用SFTP (オプション)

RosettaNet-V02.00 (オプション)

RosettaNet-01.10 (オプション)

脚注1ファイル・チャネルまたはFTPチャネルでは、filename formatが設定されている場合、directory name formatは無視されます。

3. 「保存」をクリックします。

タスク3   チャネル属性の指定

1. 「チャネル属性」タブをクリックします。

2. 表5-4に示すように、タスク1で選択したチャネル/トランスポート・プロトコルに応じて、チャネル属性を指定します。

表5-4 チャネル属性

パラメータ

説明

使用するプロトコル

確認モード

取引パートナがメッセージを受信するモードとして、SYNC、ASYNCまたは「NONE」を選択します。すべての汎用交換に対して「なし」を選択します。

MLLP交換の場合、一時接続にはSYNCまたはASYNCを選択します。永続接続には「NONE」を選択します。

AS1 (オプション)

AS2 (オプション)

ebMS-2.0 (オプション)

ebMS-1.0 (オプション)

MLLP-1.0 (必須、リモート取引パートナの場合のみ)

RosettaNet-V02.00 (オプション)

RosettaNet-01.10 (オプション)

圧縮済

メッセージの圧縮を選択します。

AS1 (オプション)

AS2 (オプション)

このパラメータは、その他のプロトコルのB2Bインタフェースで表示されることもありますが、AS1およびAS2でのみ使用できます。

説明

説明(オプション)を入力します。

AS1 (オプション)

AS2 (オプション)

ebMS-2.0 (オプション)

ebMS-1.0 (オプション)

MLLP-1.0 (オプション、リモート取引パートナの場合のみ)

汎用ファイル(オプション)

汎用AQ (オプション)

汎用FTP (オプション)

汎用HTTP (オプション)

RosettaNet-V02.00 (オプション)

RosettaNet-01.10 (オプション)

汎用SFTP (オプション)

汎用JMS (オプション)

汎用電子メール(オプション)

Generic TCP (オプション)

チャネルの有効化/チャネルの無効化

チャネルとは、ホスト取引パートナのホスト・アプリケーションとそのインストール間の通信インタフェースです。

MLLP-1.0 (必須、リモート取引パートナの場合のみ)

Generic TCP (必須)

内部

注意: 「内部」を選択した場合、B2Bインタフェースでは無効なプロトコルでも選択可能になりますが、汎用プロトコル以外は選択しないでください。

このオプションは、ホスト取引パートナの企業に対してチャネルが内部の場合に選択します。

このオプションを選択した場合は、汎用プロトコルのみが有効になります。

汎用ファイル(オプション)

汎用AQ (オプション)

汎用FTP (オプション)

汎用HTTP (オプション)

汎用SFTP (オプション)

汎用JMS (オプション)

汎用電子メール(オプション)

このオプションを選択しない場合は、すべてのプロトコルが有効になります。

AS1 (オプション)

AS2 (オプション)

ebMS-2.0 (オプション)

ebMS-1.0 (オプション)

汎用ファイル(オプション)

汎用AQ (オプション)

汎用FTP (オプション)

汎用HTTP (オプション)

RosettaNet-V02.00 (オプション)

RosettaNet-01.10 (オプション)

汎用SFTP (オプション)

汎用JMS (オプション)

汎用電子メール(オプション)

再試行数

Oracle B2Bがメッセージの送信を再試行する回数。

詳細は、第5.5.7項 配信再試行オプションの構成を参照してください。

AS1 (オプション)

AS2 (オプション)

ebMS-2.0 (オプション)

ebMS-1.0 (オプション)

汎用ファイル(オプション)

汎用AQ (オプション)

汎用FTP (オプション)

汎用HTTP (オプション)

MLLP-1.0 (オプション、リモート取引パートナの場合のみ)

RosettaNet-V02.00 (オプション)

RosettaNet-01.10 (オプション)

汎用SFTP (オプション)

汎用JMS (オプション)

汎用電子メール(オプション)

Generic TCP (オプション)

再試行間隔

B2Bでメッセージを再送信するときの間隔(分で指定)。メッセージのステータスが「完了」でない場合、B2Bはメッセージの再送信を試みます。

確認のプロトコルの場合、B2Bは確認を待ちます(以前は確認所要時間パラメータと呼ばれていました)。確認を受信しなかった場合、B2Bでは、再試行間隔の設定によって再試行が実行されます。

詳細は、第5.5.7項 配信再試行オプションの構成を参照してください。

AS1 (オプション)

AS2 (オプション)

ebMS-2.0 (オプション)

ebMS-1.0 (オプション)

汎用ファイル(オプション)

汎用AQ (オプション)

汎用FTP (オプション)

汎用HTTP (オプション)

MLLP-1.0 (オプション、リモート取引パートナの場合のみ)

RosettaNet-V02.00 (オプション)

RosettaNet-01.10 (オプション)

汎用SFTP (オプション)

汎用JMS (オプション)

汎用電子メール(オプション)

Generic TCP (オプション)

トランスポート・コールアウト

インバウンド・メッセージの場合、B2Bは、トランスポートからメッセージを受信した直後にトランスポート・コールアウトを呼び出します。アウトバウンド・メッセージの場合、B2Bは、トランスポートにメッセージを送信する直前にトランスポート・コールアウトを呼び出します。

AS1 (オプション)

AS2 (オプション)

ebMS-2.0 (オプション)

ebMS-1.0 (オプション)

汎用ファイル(オプション)

汎用AQ (オプション)

汎用FTP (オプション)

汎用HTTP (オプション)

MLLP-1.0 (オプション、リモート取引パートナの場合のみ)

RosettaNet-V02.00 (オプション)

RosettaNet-01.10 (オプション)

汎用SFTP (オプション)

汎用JMS (オプション)

汎用電子メール(オプション)

Generic TCP (オプション)

3. 「保存」をクリックします。

タスク4   交換プロトコル・パラメータの指定

1. 「交換プロトコル・パラメータ」タブをクリックします。

2. 表5-5に示すように、タスク1で選択したチャネル/トランスポート・プロトコルに応じて、交換プロトコル・パラメータを指定します。

表5-5 交換プロトコル・パラメータ

パラメータ

説明

使用するプロトコル

改行文字

この値は1文字のみです。改行文字はワイヤ・メッセージ・ペイロードには表示されません。デフォルト値は0x0D (16進数)です。

MLLP-1.0 (オプション、リモート取引パートナの場合のみ)

即時確認カスタム・ファイル

カスタマイズされた確認を含むファイルを参照します。

MLLP-1.0 (オプション、リモート取引パートナの場合のみ)

HL7確認の破棄

FAをトランスポート・レベルで相関付けできるようにするには、プロパティを有効にします。これにより、取引パートナのアグリーメント識別、変換などを含む従来のメッセージの相関が回避され、パフォーマンスが向上します。確認は相関付け後にトランスポート・レイヤーで停止されるため、ワイヤ・メッセージ・レポートには表示されますが、ビジネス・メッセージ・レポートには表示されません。

プロパティを有効にするには、次のいずれかのコードを選択します。選択したコードがMSA.2セグメントにある場合、確認はトランスポート・レイヤーで停止されます。

AA—アプリケーション確認: 承認
AE—アプリケーション確認: エラー
AR—アプリケーション確認: 拒否
CA—アプリケーション確認: コミット承認
CE—アプリケーション確認: コミット・エラー
CR—アプリケーション確認: コミット拒否
「なし」を選択すると、このプロパティは有効化されません。

MSA.2は、MSAセグメントの2番目の要素です。

MLLP-1.0 (オプション、リモート取引パートナの場合のみ)

重複削除

有効にすると、重複削除ヘッダーがアウトバウンド・メッセージに追加されます。このフラグはインバウンド・メッセージ・フローには適用されません。

ebMS-2.0 (オプション)

ebMS-1.0 (オプション)

終了ブロック

このプロパティの値には文字列を指定できます。このプロパティは、メッセージの終了を示すために使用されます。通常、終了ブロックは取引パートナにメッセージが送信された後で送信されます。

Generic TCP (オプション)

終了ブロック文字

この値は1文字のみです。終了ブロック文字はワイヤ・メッセージ・ペイロードには表示されません。デフォルト値は0x1C (16進数)です。

MLLP-1.0 (オプション、リモート取引パートナの場合のみ)

ヘッダー長

このプロパティは、ヘッダー・サイズを定義します。実際のデータの前に付けられます(これには、開始ブロック、メッセージ長、埋め込まれたヘッダーが含まれます)。

Generic TCP (オプション)

TPをデリバリ・チャネルにより識別

デリバリ・チャネルを使用して取引パートナが識別されます。

リモート取引パートナ用に構成されたデリバリ・チャネルによって(MLLP IDの使用によってではなく)着信メッセージを識別するには、このパラメータを有効にします。送信者の識別が重要でない場合、この機能は匿名取引パートナとしての役割を果たします。このパラメータがチェックされない場合、MLLP交換にMLLP ID (または、アグリーメントを識別するためのHL7メッセージ・アプリケーションIDやHL7メッセージ機能IDなどの一部のドキュメント・レベルの識別子)が必要となります。

MLLP-1.0 (オプション、リモート取引パートナの場合のみ)

即時確認

注意: 着信ビジネス・メッセージ(たとえば、管理番号1017)のMLLP即時確認では、A1017のように管理番号の前にAが付けられます。これは、それがACK管理番号であることを取引パートナに示します。前に付けられる文字列が許容される長さを超える場合は(たとえば、受信側で検証ルールに違反する場合など)、「確認制御IDのマップ」パラメータを使用します。

即時確認は、ドキュメント・レイヤーではなくTCPトランスポート・レイヤーで生成されて伝送されます。即時確認は機能確認の代替方法です。即時確認は、機能確認で変換エラーや検証エラーが検出されたため機能確認の応答時間が長くなる場合に使用できます(たとえば、ビジネスに不可欠なヘルス・ケア・アプリケーションの場合)。

Oracle B2Bでは、即時確認を次のモードで送信できます。

- デフォルト: B2Bでは、着信HL7メッセージが解析され、その解析から確認が生成されます。このモードでは、確認とともに相関の詳細(着信メッセージからの管理番号、送信アプリケーションなど)を送信アプリケーションに送信できます。これにより、取引パートナ・アプリケーションでは着信確認メッセージの相関付けができます。着信ビジネス・メッセージのMSH.10による確認のMSH.10のマッピングが必要な場合は、「確認制御IDのマップ」プロパティを有効にします。デフォルトでは、即時確認が一般的な確認です。トリガー・イベントによる確認の生成が必要な場合は、「トリガー・イベントのマップ」プロパティを有効にします。

- 単純: B2Bでは、事前定義された確認メッセージが送信者に送信され、メッセージは解析されません。

- カスタム: B2Bでは、構成可能なファイル・コンテンツに基づいて、カスタムHL7確認メッセージが送信されます。このモードを選択した場合、「即時確認カスタム・ファイル」プロパティでファイルを指定する必要があります。

- ネガティブ: このオプションを選択すると、例外が発生した場合にのみ即時確認が送信されます。

MLLP-1.0 (オプション、リモート取引パートナの場合のみ)

確認制御IDのマップ

ビジネス・メッセージのMSH.10メッセージ・ヘッダーから即時確認のMSH.10メッセージ・ヘッダーへのマッピングを有効にする場合に選択します。

MLLP-1.0 (オプション、リモート取引パートナの場合のみ)

トリガー・イベントのマップ

トリガー・イベントとともに即時確認を送信します。

MLLP-1.0 (オプション、リモート取引パートナの場合のみ)

メッセージ順序セマンティック

CPP/CPAのプレースホルダ。実行時は対象外です。

ebMS-2.0 (オプション)

メッセージ長索引

このプロパティは、ヘッダーで使用可能なデータ・サイズを示します。開始索引から終了索引まで、メッセージ・サイズを定義します。

Generic TCP (オプション)

期間の保持

CPP/CPAのプレースホルダ。実行時は対象外です。

ebMS-2.0 (オプション)

HL7確認の永続化

ACKペイロードが永続化されているかどうかを示します。これは、即時確認および確認の破棄の場合にのみ適用されます。

MLLP 1.0 (オプション)

受信配信オプション

このパラメータは、非同期モードの場合にMDNが返信するURLを構成するために使用します。

AS2 (オプション)

ヘッダーの保持

取引パートナ(アウトバウンド・メッセージの場合)またはOracle B2B (インバウンド・メッセージの場合)にメッセージを送信する間にヘッダーを保持するには、このプロパティを選択します。

ヘッダーを保持すると、B2Bはカスタム・ヘッダーを処理しません。カスタム・ヘッダーはトランスポート・コールアウトを使用して処理します。

Generic TCP (オプション)

パーティタイプと値の送信

有効にすると、メッセージ・ヘッダーのパーティ・タイプと値がバックエンド・アプリケーションに送信されます。

ebMS-2.0 (オプション)

ebMS-1.0 (オプション)

署名および圧縮済

選択した場合、メッセージは最初に署名され、その後、圧縮されます。選択しない場合には、メッセージは最初に圧縮され、その後、署名されます。

AS1 (オプション)

AS2 (オプション)

開始ブロック

この値には文字列を指定できます。

Generic TCP (オプション)

開始ブロック文字

この値は1文字のみです。開始ブロック文字はワイヤ・メッセージ・ペイロードには表示されません。デフォルト値は0X08 (16進数)です。

MLLP-1.0 (オプション、リモート取引パートナの場合のみ)

3. 「保存」をクリックします。

タスク5   セキュリティの構成

1. 「セキュリティ」タブをクリックします。

2. 表5-6に示すように、タスク1で選択したチャネル/トランスポート・プロトコルに応じて、セキュリティ・パラメータを指定します。

注意:

ホスト取引パートナ用のキー・ストアの場所が指定されている場合は、「デジタル署名」および「暗号化」リストに使用可能な証明書が移入されます。詳細は、タスク6、「ホスト取引パートナのキー・ストア情報の指定」を参照してください。

表5-6 セキュリティ・パラメータ

パラメータ

説明

使用するプロトコル

確認署名済

応答者が必ずメッセージの受信を確認するようにするには、このオプションを選択します。何も指定する必要はありません。

AS1 (オプション)

AS2 (オプション)

ebMS-2.0 (オプション)

ebMS-1.0 (オプション)

RosettaNet-V02.00 (オプション)

RosettaNet-01.10 (オプション)

デジタル署名

デジタル署名証明書を使用するには、キー・ストアに対応する秘密鍵が必要です。

「メッセージ署名済」を選択した場合は、AS1に対して次を選択します。

SMIME 3.0 with SHA1 - RSA

「メッセージ署名済」を選択した場合は、AS2に対して次のいずれかを選択します。

SMIME 3.0 with MD5 - RSA

SMIME 3.0 with SHA1 - RSA

「メッセージ署名済」を選択した場合は、ebMS-2.0およびebMS-1.0に対して次のいずれかを選択します。

XMLDSIG with SHA1 - RSA

XMLDSIG with SHA1 - DSA

「メッセージ署名済」を選択した場合は、RosettaNet-V02.00に対して次のいずれかを選択します。

SMIME 3.0 with MD5 - RSA

SMIME 3.0 with SHA1 - RSA

SMIME 2.0 with MD5 - RSA

SMIME 2.0 with SHA1 - RSA

XMLDSIG with SHA1 - RSA

XMLDSIG with SHA1 - DSA

「メッセージ署名済」を選択した場合は、RosettaNet-01.10に対して次のいずれかを選択します。

SMIME 3.0 with MD5 - RSA

SMIME 3.0 with SHA1 - RSA

SMIME 2.0 with MD5 - RSA

SMIME 2.0 with SHA1 - RSA

AS1

AS2

ebMS - 2.0

ebMS-1.0

RosettaNet-V02.00

RosettaNet-01.10

暗号化

暗号化証明書を使用する場合、秘密鍵の入力は必要ありません。

「メッセージ暗号化済」を選択した場合は、AS1およびAS2に対して次のいずれかを選択します。

SMIME 3.0 with DES

SMIME 3.0 with 3DES

SMIME 3.0 with RC2-40

SMIME 3.0 with RC2-64

SMIME 3.0 with RC2-128

「メッセージ暗号化済」を選択した場合は、ebMS-2.0およびebMS-1.0に対して次のいずれかを選択します。

XMLENC with 3DES-RSA-v1.5

XMLENC with AES-128 RSA-OAEP

XMLENC with AES-192 RSA-OAEP

XMLENC with AES-256 RSA-OAEP

AS1

AS2

ebMS - 2.0

ebMS-1.0

RosettaNet-V02.00 (オプション)

メッセージ暗号化済

メッセージの暗号化を有効にするには、このオプションを選択します。このオプションは、「暗号化」フィールドで暗号化スキーマを選択することを要求します。

AS1 (オプション)

AS2 (オプション)

ebMS-2.0 (オプション)

ebMS-1.0 (オプション)

RosettaNet-V02.00 (オプション)

メッセージ署名済

「デジタル署名」フィールドでデジタル署名を指定する場合は、このオプションを選択します。

AS1 (オプション)

AS2 (オプション)

ebMS-2.0 (オプション)

ebMS-1.0 (オプション)

RosettaNet-V02.00 (オプション)

RosettaNet-01.10 (オプション)

3. 「保存」をクリックします。

注意:

AS1の場合、B2Bでは署名にSHA1のみがサポートされます。AS1の署名にMD5はサポートされません。

5.5.1 バイナリ転送

場合によっては、通常のXML/テキスト・ファイルではなく、バイナリ・コンテンツを転送できます。ビジネス・ニーズに応じて、PDF、XLS、ZIPおよびGIFなどのバイナリ・ファイルもOracle B2Bを使用して転送できます。

バイナリ・コンテンツは、インバウンドまたはアウトバウンドに転送できます。

5.5.1.1 アウトバウンド転送

Oracle B2Bのアウトバウンド・バイナリ・ファイル転送は、Generic/AS2交換プロトコルでカスタム・ドキュメントに対して使用されます。バイナリ・ファイル転送には、File、FTP、SFTPまたはJMSの各内部リスニング・チャネルを使用できます。File、FTPまたはSFTPの各チャネルの場合、ファイル名フォーマットまたはディレクトリ名フォーマットで、ドキュメント・タイプとドキュメント・バージョンおよびFrom PartyとTo Partyの情報が指定されている必要があります。

JMS内部リスニング・チャネルの場合、イベント名でBINARYPAYLOADプロパティにtrueが設定されている必要があります。

eventName=BINARYPAYLOAD:true

前述のプロパティを設定した後、JMSメッセージ本文でバイナリ・ペイロードを(バイト・メッセージの形式で)指定する必要があります。

message.setBody(binarypayload);

Oracle B2Bは、構成されている送信元、宛先、ドキュメント・タイプおよびリビジョンに基づいてアグリーメントを識別し、取引パートナに送信します。

注意:

アウトバウンド・バイナリ転送の場合、アグリーメント・レベルでドキュメントの検証を無効にする必要があります。

5.5.1.2 インバウンド転送

Oracle B2Bのインバウンド・バイナリ・ファイル転送は、Generic/AS2交換プロトコルでカスタム・ドキュメントに対して使用されます。File、FTPまたはSFTPの各取引パートナ・リスニング・チャネルの場合、送信元、宛先、ドキュメント・タイプおよびドキュメント・リビジョンの情報でファイル名フォーマットを構成する必要があります。Oracle B2Bは、ファイル名フォーマットに基づいてアグリーメントを識別し、バックエンド・アプリケーションに送信します。

Generic HTTP/AS2の場合、Oracle B2Bは、DOCTYPE_NAMEおよびDOCTYPE_REVISIONなどのHTTPヘッダーに基づいてアグリーメントを識別し、バックエンド・アプリケーションに送信します。

次に、インバウンド・リスニング・チャネルのファイル名フォーマットのサンプルを示します。

%FROM_PARTY%_%DOCTYPE_NAME%_%DOCTYPE_REVISION%_%TIMESTAMP%.dat

このフォーマットに従ったファイル名のサンプルを次に示します。

GlobalChips_ORDERS_1.0.123333333.dat

5.5.2 MLLPについて

MLLPデリバリ・チャネルは、サーバーとクライアント間の双方向ハンドシェイクによって確立されます。その他のトランスポートとは異なり常に双方向であるため、メッセージの送信と受信の両方に使用されます。MLLPデリバリ・チャネルはリモート取引パートナに対してのみ構成され、サーバー・ソケットまたはクライアント・ソケットとして構成されます。サーバー・ソケットとしては、このチャネルでは指定したポートでの接続が承認されます。クライアント・ソケットとしては、このチャネルでは指定したIPアドレスおよびポートでの接続が確立されます。いずれのソケット・タイプの場合も、永続または一時の接続タイプを指定します。確立後の永続接続はキャッシュされ、エンドポイントのライフサイクル全体を通して、メッセージ交換のチャネルとして機能します。一時接続は、ビジネス・メッセージとその確認で構成される1セットのメッセージを交換するためだけのチャネルとして機能します。第5.5.2.1項 接続モードのオーバーライドを参照してください。

送信者にはMLLPクライアント・デリバリ・チャネルを構成し、受信者にはMLLPサーバー・チャネルを構成することをお薦めします。たとえば、Acme社からGlobalChips社にHL7メッセージ、カスタム・メッセージまたは位置指定フラット・ファイル・メッセージを送信する場合、Acme社にはクライアントMLLP永続チャネルを構成し、GlobalChips社にはサーバーMLLP永続チャネルを構成できます。サーバーとクライアントのMLLP接続タイプ(永続および一時)は一致している(両方とも永続または両方とも一時)必要があります。ただし、接続が事前に確立されているときは、送信者にサーバー・チャネルを構成し、受信者にクライアント・チャネルを構成できる場合があります。

MLLPは双方向チャネルであるため、リスニング・チャネルとはみなされず、メッセージの送信と受信に同じMLLPデリバリ・チャネルを使用できます。

MLLPは、デフォルトで単一デリバリ・チャネル・モードで動作するため、アグリーメントの作成時にリモート取引パートナのデリバリ・チャネルで選択します。非単一MLLPデリバリ・チャネル・モードで動作させる必要がある場合は、他のアグリーメントで異なるMLLPデリバリ・チャネルを選択します。

5.5.2.1 接続モードのオーバーライド

構成を手動で変更せずにメッセージの接続モードをオーバーライドするには、次のプロパティを設定します。一時接続から永続接続に変更する場合:

CONNMODE:Permanent

デフォルト・インテグレーションの場合:

b2b.connMode:Permanent

永続接続から一時接続に変更することもできます。

5.5.2.2 TCPの一般的なサポート

MLLPは、SB (開始バイト)、EB (終了バイト)およびCRを使用して、メッセージを解釈します。SBとEBのかわりに、データの長さまたは開始文字列と終了文字列を使用してメッセージを解釈するために、Oracle B2BではTCP用の汎用ソリューションが提供されています。

TCPの一般的なサポート用には、「交換プロトコル・パラメータ」タブ(図5-21を参照)にある「開始ブロック」、「終了ブロック」、「ヘッダー長」、「メッセージ長索引」および「ヘッダーの保持」の各パラメータを使用します。

図5-21 汎用TCPのパラメータ

注意:

MLLPプロトコルを使用して汎用TCPチャネルを作成すると、「交換プロトコル・パラメータ」タブのパラメータは、図5-21のように表示されます。チャネルを作成した後は、MLLP固有パラメータと汎用TCP固有パラメータがグループ化された2つのサブタブが表示されます。

これらのパラメータの説明については、表5-5を参照してください。

表5-7では、汎用TCPをサポートするパラメータを使用してデータが送受信される際に、Oracle B2BがMLLPを使用してメッセージを処理する方法を示します。

図5-7 汎用TCPソリューション

汎用TCPソリューション

説明

開始ブロックと終了ブロックを指定することでデータを送受信する

リモート取引パートナに対してMLLP-1.0を選択する場合は、「交換プロトコル・パラメータ」タブの「開始ブロック」および「終了ブロック」パラメータを使用します。「開始ブロック」および「終了ブロック」パラメータについては、表5-5を参照してください。

例: <start block>Data<end block>

開始ブロック、終了ブロック、データ長を指定することでデータを送受信する

リモート取引パートナに対してMLLP-1.0を選択するときは、「交換プロトコル・パラメータ」タブの「開始ブロック」、「終了ブロック」、「メッセージ長索引、「ヘッダー長」の各パラメータを使用します。パラメータの説明については、表5-5を参照してください。

例: <start block><length>Data<end block>

データ長を指定してデータを送受信する

リモート取引パートナに対してMLLP-1.0を選択するときは、「交換プロトコル・パラメータ」タブの「メッセージ長索引」および「ヘッダー長」パラメータを使用します。「メッセージ長索引」および「ヘッダー長」パラメータについては、表5-5を参照してください。

例: <length>Data

例: <length+header>Data

つまり、15HDRDATADATADATAの場合は次のように構成します。

メッセージ長索引=1-2
ヘッダー長=5
15はメッセージ長索引の終了索引の後で開始する長さです。HDRはヘッダーです。

開始ブロックとデータ・サイズを指定することでデータを送受信する

リモート取引パートナに対してMLLP-1.0を選択するときは、「交換プロトコル・パラメータ」タブの「開始ブロック」、「メッセージ長索引」および「ヘッダー長」パラメータを使用します。「開始ブロック」、「メッセージ長索引」、「ヘッダー長」パラメータについては、表5-5を参照してください。注意: この場合、開始ブロックはヘッダーの一部であり、最小メッセージ長索引は開始ブロックのサイズより大きい必要があります。

例: <start block><length>Data

バックエンド・アプリケーションのヘッダーを保持し、B2Bは開始ブロック、データ・サイズおよび終了ブロックを追加しない

ヘッダーを追加せずに取引パートナにデータを送信し、バックエンド・アプリケーションのヘッダーを保持するには、「ヘッダーの保持」プロパティを選択します。「ヘッダーの保持」パラメータについては、表5-5を参照してください。

5.5.2.3 動的エンドポイント

MLLPの動的IP機能は、デリバリ・チャネルと関連付けられたエンドポイントを動的に変更できる柔軟性を提供します。これは、デリバリ・チャネルのIPアドレスをメッセージ・エンキュー・ヘッダーのactionName/eventName属性でオーバーライドすることで行われます。

例:

eventName=DynamicIP:GlobalChips:IP_address:port_number

または

actionName=DynamicIP:GlobalChips:IP_address:port_number

この機能は、次の構文を使用して、B2Bコンポジットでも(SOAサービス・コンポーネント・アーキテクチャ(SCA)アセンブリ・モデルの一部として)使用できます。

b2b.toDynamicIP=GlobalChips:IP_address:port_number

b2b.toDynamicIPプロパティは、B2Bに送信される標準化されたメッセージ・プロパティで設定されます。

Oracle B2Bは、メッセージごとに一意の管理番号を生成します。同じ取引パートナに対応する複数の動的エンドポイントを含むブロードキャストの場合、バックエンド・アプリケーションは管理番号を提供する必要があります。Oracle B2Bは、確認の相関のために動的エンドポイントの詳細を保存して使用します。追加の構成は必要ありません。

5.5.2.4 カスタム・ヘッダーを抽出するためのトランスポート・コールアウトの使用

アウトバウンド・メッセージのカスタム・ヘッダーを抽出するには、バックエンド・アプリケーションからのactionNameプロパティにCUSTOM_HEADERプロパティを追加します。このプロパティは、CalloutMessageのCUSTOM_HEADERパラメータとしてコールアウトで使用できます。コールアウトでプロパティを取得して使用できます。

例:

eventName= CUSTOM_HEADER:your_value

デフォルト・インテグレーションの場合:

b2b.customHeader= your_value

インバウンド・メッセージのカスタム・ヘッダーを抽出するには、コールアウトでCalloutMessageパラメータとしてCUSTOM_HEADERプロパティを設定します。このプロパティは、actionNameプロパティの一部としてバックエンド・アプリケーションで使用できます。詳細は、例13-1 CUSTOM_HEADERプロパティの設定と取得を参照してください。

5.5.3 ebMSの複数チャネルのサポート

ebMSの場合、Oracle B2Bは、アクション、サービスおよびサービス・タイプの複数チャネルを提供します。Oracle B2Bは、複数チャネルから特定のアクション、サービスおよびサービス・タイプに関連付けられているアウトバウンド・チャネルを識別し、そのチャネルを使用して取引パートナと通信します。

この機能を使用して、ebMSチャネルの次のパラメータをオーバーライドできます。

- URL

- 再試行数

- 再試行間隔

- 重複削除

- 確認署名済

- 確認要

アクション、サービスおよびサービス・タイプ、およびオプションの開始ロールおよび終了ロールの各パラメータに応じて、該当するデリバリ・チャネルが、取引パートナとの通信および関連する確認に使用されます。

5.5.4 メッセージの順序付け

マルチスレッド・システムでは、最初に作成されたメッセージが必ずしも最初に接続先に到着するわけではないため、メッセージを順序どおりに交換することが困難な場合があります。このビジネス要件がある企業では、Oracle B2Bのシーケンサおよびディスパッチャを利用できます。シーケンサでは、到着時刻に基づいてメッセージに順序が付けられます。ディスパッチャでは、順序が付けられたメッセージが送信されます。メッセージの順序付けは、アウトバウンドおよびインバウンドの方向に使用できます。

メッセージの順序付けでは、MLLP交換(TCPトランスポート)や一般交換(FILE、FTP、SFTP、JMS、AQおよびHTTPトランスポート)などのプロトコルがサポートされています。

注意:

メッセージの順序付けはすべてのドキュメントで使用できますが、認定されているのは、EDI、HL7およびカスタムのドキュメント・プロトコルのみです。

一時モードのMLLP接続では、順序付けはサポートされません。

EDIバッチ処理では、メッセージの順序付けはサポートされません。メッセージの順序付けがバッチの一部として有効になっている場合、エラーが発生して一部のメッセージが処理されない可能性があります。順序付けされたメッセージではEDIバッチ処理を使用しないでください。

FunctionalAck (FA)および確認(ACK/MDN)は順序付けされません。

順序付けはデリバリ・チャネルの再試行機能をサポートしていません。配信に失敗したドキュメントの配信を再試行する場合は、デリバリ・チャネルの再試行設定を使用するのではなく、「順序付け」機能の「自動スタック・ハンドラ」を使用します。ドキュメントに順序が付けられた場合は、そのドキュメントで使用されるデリバリ・チャネルで再試行設定の使用を回避する必要があります。

5.5.4.1 アウトバウンド・メッセージの順序付け

AQおよびJMSデリバリ・チャネルに対するアウトバウンド・メッセージの順序付け

アウトバウンド・メッセージの順序付けを有効にするには、例5-1に示すように、AQまたはJMSデリバリ・チャネルの場合、ACTION_NAMEプロパティをTARGET:sequence_target_nameに設定し、メッセージをエンキューします。

b2b.jarのENQUEUEユーティリティを使用する場合は、ACTION_NAMEではなく、eventNameを、TARGET:sequence_target_nameに設定します。たとえば、eventName=TARGET:sequence1のように設定します。

デフォルト・チャネル使用時に順序付けを有効にする場合は、b2b.sequencingTarget = sequence_target_nameを使用します。

自分で作成したAQエンキュー・ユーティリティを使用する場合、使用するAQヘッダーはACTION_NAMEです。eventNameは、B2Bのb2b.jarで提供されるエンキュー・ユーティリティを使用する場合に使用します。

例5-1 AQおよびJMSデリバリ・チャネルに対するアウトバウンド・メッセージの順序付け

ACTION_NAME = TARGET:sequence_target_name

FTPおよびSFTPデリバリ・チャネルに対するアウトバウンド・メッセージの順序付け

FTP/SFTPの順序付けを有効にするには、デリバリ・チャネルの構成で順序付けフラグを選択しただけでは動作しません。FTPリスニング・チャネルで次のパラメータも構成する必要があります:

順序付け

タイムスタンプ・フォーマット

タイムスタンプ・オフセット

タイムスタンプ・ソース

次に示すのはパラメータの値の例です。順序付け: true、タイムスタンプ・フォーマット: 43,55,'MMM d yyyy'、タイムスタンプ・オフセット: +0000、タイムスタンプ・ソース: MMM dd yyyy

順序付けを有効にした場合、ファイルがフォルダにコピーされる順序は、ファイルが処理された順序になることに注意してください。大きいペイロードをコピーする場合、パートナは大きいペイロードのコピーが完了するまで待つ必要があります。順序付けはファイルの最終更新タイムスタンプに基づくため、送信者はその後で次のファイルを送信できます。

HTTPデリバリ・チャネルに対するアウトバウンド・メッセージの順序付け

メッセージをb2b/sequenceReceiverにポストし、HTTPヘッダーTARGET:sequence_target_nameを追加します。このヘッダーがない場合、順序付けのターゲットとしてIPアドレスが使用されます。

上記のヘッダーでエンキューされたメッセージは、FTP、SFTP、JMS、AQ、HTTP/HTTPSなどの各トランスポート・プロトコルの指定された順序付けターゲットに基づいて、順序が付けられます。このヘッダーでエンキューされたメッセージは、エンキュー時間に基づいてOracle B2Bで処理され、順番どおりに取引パートナに配信されます。

順序付けされたメッセージを送信するには、図5-22に示すように、「アウトバウンド・ディスパッチャ数」パラメータを構成します。

図5-22 ディスパッチャ構成: 「管理」→「構成」タブ

デフォルトでは、値は0です。この値は、ディスパッチ(スタック)なしの順序付けの場合の設定です。メッセージの負荷に応じて、アウトバウンド・ディスパッチャ数を適切な値に設定します。

バースト・モードでの順序付け

AQおよびJMSでの順序付けの場合、Oracle B2Bサーバーは、メッセージがキューに追加されている間にポーリングを行わない場合があります。Oracle B2Bがポーリングを開始すると、複数のメッセージがバースト・モードで送信できるようになり、Oracle B2Bは通常の状態での順序を維持できません。バースト・モードでの順序を保証するため、次のことをお薦めします:

AQの場合、TARGET:target_nameプロパティとともに、値としてタイムスタンプを指定したB2B_SEQUENCE_TIMESTAMPのフラグを追加します。

例:

TARGET:targetname;B2B_SEQUENCE_TIMESTAMP:1284371552121

この例では、1284371552121はミリ秒単位の時間です(Javaの場合)。

JMSの場合、値としてミリ秒単位の時間を指定したB2B_SEQUENCE_TIMESTAMPとして、新しいヘッダーを追加できます。

5.5.4.2 インバウンド・メッセージの順序付け

インバウンド・メッセージの順序付けはデリバリ・チャネルの構成の一部として有効化されます。デリバリ・チャネルで受信されるインバウンド・メッセージはOracle B2Bで処理され、到着時間に基づいて順番どおりに配信されます。

インバウンド・メッセージの順序付けを有効にするには、図5-23に示すように、デリバリ・チャネルの「シーケンス」プロパティを有効にします。

図5-23 シーケンサの構成

順序付けされたメッセージを送信するには、図5-22に示すように、「インバウンド・ディスパッチャ数」パラメータを構成します。

AQおよびJMSで、パートナからインバウンド・メッセージを受信したとき、ヘッダーTARGETがある場合は(アウトバウンド・メッセージの順序付けが有効になるのと同様に)、同じ値が使用されて、インバウンド・メッセージは特定のターゲットで順序付けされます。

HTTPインバウンド・メッセージの順序付けの場合、Oracle B2Bで/b2b/sequenceReceiverというURIが公開されます。このエンドポイントに到着したリクエストは順番に処理されます。複数の順序付けターゲットを使用する場合は、リクエストにHTTPヘッダーSEQUENCE_TARGETを追加します。

SEQUENCE_TARGETをヘッダーとしてアウトバウンドHTTPメッセージに追加するには、デリバリ・チャネルの「追加トランスポート・ヘッダー」パラメータを使用します。詳細は、表5-3を参照してください。

受信メッセージのHTTPヘッダーに、ヘッダーとしてSEQUENCE_TARGETが含まれている場合、この値が順序付けのターゲットして使用されます。SEQUENCE_TARGETがなく、FROMというHTTPヘッダーが含まれている場合、これが順序付けのターゲットとして使用されます。FROMがない場合B2Bでは、メッセージの送信元のIPアドレスが順序付けのターゲットとして使用されます。デフォルトでは、HTTPリクエストの送信元のIPアドレスが順序付けのターゲットとして使用されます。

5.5.4.3 ディスパッチなしの順序付け

取引パートナの停止時間は、通常、バックエンド・アプリケーションにメッセージをスタックして処理されます。この場合、停止時間後にメッセージ全体をB2Bで処理する必要があります。このため、B2Bアプリケーションが停止時間中に十分に活用されず、取引パートナの復旧時に過負荷になることがあります。これにより、メッセージ処理が急増するため、通常のメッセージ・フローに悪影響を与えます。

自動スタック・ハンドラの使用時は、Oracle B2Bはエラーが発生したアウトバウンド・メッセージを順番に再試行します。エンドポイントで配信準備が完了すると、順序内のすべてのメッセージが配信可能になるので、エンドポイントでメッセージ配信のオーバーロードが発生する可能性があります。アウトフローを減らすには、メッセージのディスパッチ間の間隔をミリ秒単位で設定するb2b.OutboundDispatchIntervalプロパティを設定します。

取引パートナへの送信が失敗すると、ディスパッチャによって取得されないよう、対応するメッセージにマークが付けられ、メッセージはバックエンド・アプリケーションではなくB2Bにスタックされます。メッセージを処理するには、次のプロパティを設定します。

Auto Stack Handler = true
Auto Stack Handler Interval = interval (in seconds)

図5-22に、「自動スタック・ハンドラ」および「自動スタック・ハンドラ間隔」パラメータを示します。「true」に設定した場合、スタックされたメッセージは、適切な間隔の間、ディスパッチャによって配信されます。可変の間隔をカンマ区切りの値で自動スタック・ハンドラ間隔に指定することもできます。

5.5.4.4 メッセージの順序付けのトラブルシューティング

B2Bが応答しない

順序付けされたアウトバウンド・メッセージの中から数千件のメッセージを処理した後に、B2Bが応答しなくなる場合は、ディスパッチャの数を確認してください。推奨されるディスパッチャの最大数は5です。

順序付けされたメッセージのエラー

次が原因でメッセージでエラーが発生したとします。

- アグリーメントが見つからない

- ECSファイルの更新で修正可能な検証エラー。

次の方法で、エラーが発生したメッセージを回復できます。

1. インバウンドの場合: ワイヤ・メッセージの再発行

2. アウトバウンドの場合: アプリケーション・メッセージの再発行

または、エラーが発生したメッセージは処理せずに、ブロックされたメッセージ(エラーが発生したメッセージよりも順序が後のメッセージ)が配信されるようにする場合、対象の行を順序付けマネージャの表から手動で削除します。

5.5.5 トランスポート同期コールバックの使用

コールアウトを使用して、同期サポートが提供されます。これにより、着信リクエストに同期方式で応答するプラットフォームが提供されます。

企業がビジネス・レスポンスを同期的に送信するために、いくつかの要件が発生することがあります。たとえば、インバウンド・ドキュメントが270で、同期的にドキュメント・レスポンスが271想定される場合があります。また、企業が、HTTPプロトコルで任意の単純なカスタム・ドキュメントの同期サポートを設定する場合なども考えられます。

コールアウトは、同期レスポンスを実現するための重要な要素です。このモデルでは、コールアウトは、着信リクエスト・メッセージをバックエンド・アプリケーションに送信する処理を担当し、対応するビジネス・レスポンスをバックエンド・アプリケーションから取得します。企業におけるバックエンド・アプリケーションの機能は多種多様であることが考えられるため、コールアウトの実装者は、バックエンド・アプリケーションに対してメッセージを送受信するために独自のアプローチを選択できます。

B2Bエンジンは、構成済のコールアウトへの入力としてインバウンド・メッセージを提供するとともに、バックエンド・アプリケーションから受信したレスポンスがコールアウトから出力として渡されるものとみなします。コールアウトの出力は、アウトバウンド・メッセージとしてB2Bで処理され、同じものがインバウンド・メッセージのレスポンスとして同じHTTP接続で返されます。

同期レスポンスを構成する方法

1. インバウンドおよびアウトバウンド・アグリーメントを設定します。

2. インバウンド・リクエストの送信機能とバックエンド・アプリケーションからのビジネス・レスポンスの受信機能を持つコールアウトを作成します。
コード・サンプルについては、例13-3 同期コールバック・コールアウトのコード例を参照してください。

コールアウトの出力には、Oracle B2Bがアウトバウンド・メッセージとして処理するために必要なすべての値が含まれている必要があります。特に、TO_PARTY、DOCTYPE_NAME、DOCTYPE_REVISIONおよびpayloadなどが考えられます。

TO_PARTY、DOCTYPE_NAME、DOCTYPE_REVISIONなどのコールアウトの出力パラメータでは大文字と小文字が区別されます。Oracle B2B JMSアダプタでサポートされているパラメータは、有効な出力パラメータとして出力できます。

3. インバウンド・アグリーメントにコールアウトを関連付けます。
すべての同期リクエストを次のURLに送信する必要があります。

http://host:port_number/b2b/syncreceiver

4. 同期フローをテストします。

注意:

アウトバウンド・アグリーメントを応答側にデプロイするために、1つのダミー・アウトバウンド・チャネルが必要です。ただし、このダミー・チャネルはOracle B2Bでは使用されず、同期レスポンスは、インバウンド・リクエストが受信されたときと同じ接続で返されます。

注意:

タイムアウトは、HTTPデリバリ・チャネルの追加トランスポート・ヘッダーとして構成できます。例: timeout=123

同期フローのイニシエータは、次の問題に注意する必要があります。

同期フローのイニシエータは、汎用HTTP、AS2またはebmsチャネルの追加トランスポート・ヘッダーの一部としてsyncresponse=trueを追加する必要があります。

同期フローのイニシエータは、AS2またはebmsチャネルでack mode none/Asyncを設定する必要があります。

5.5.6 JMSキューを使用したメッセージの相互関連付け

JMSヘッダーにA2A=trueを設定すると、インバウンドとアウトバウンドのメッセージをJMSキューを使用して相互に関連付けすることができます。

バックエンド・アプリケーションからメッセージID (MSG_ID)が提供される場合、B2B出力のJMS相関IDにそのMSG_IDが設定されます。提供されない場合は、B2B出力のJMS相関IDにJMSメッセージIDが設定されます。

5.5.7 配信再試行オプションの構成

B2Bのクリティカルな状況では、メッセージが失敗しないで送信先に配信され、遅れずに交換レベル確認応答または機能確認応答を受信することが重要です。

Oracle B2Bでは、チャネル・レベルとドキュメント・レベルでメッセージの配信を再試行できます。

5.5.7.1 チャネル・レベルでの配信の再試行

チャネルの再試行はデリバリ・チャネルと関連付けられており、配信を確実に成功させるために使用されます。「再試行数」パラメータと「再試行間隔」パラメータで、再試行の回数と各再試行の間の間隔を構成できます。Oracle B2Bは、設定されている再試行回数に達するまでメッセージの正常な配信を再試行した後、エラーを書き込みます。チャネル再試行パラメータの詳細は、表5-4を参照してください。

確認応答のある交換プロトコル(AS2でのMDNや、ebMSでの確認など)の場合、チャネル再試行を使用してビジネス・メッセージが再試行され、メッセージはCOMPLETE状態になるか、または構成されている再試行回数に達するとERROR状態になります。一般交換の場合は、チャネル・レベルの再試行はトランスポート・エラーの場合にのみ使用されます。

特定のメッセージの再試行回数の残数および再試行間隔は、ビジネス・メッセージ・レポートで確認できます。

5.5.7.2 ドキュメント・レベルでの配信の再試行

ドキュメント再試行はアグリーメントと関連付けられており、メッセージと受信側取引パートナの正常な統合を保証するために使用されます。この機能はタイムアウト値の設定で構成されており、この時間内にアウトバウンド・ビジネス・メッセージの機能確認を受信する必要があります。

この機能を有効にするには、次の図で示すように「ドキュメント再試行数」パラメータと「ドキュメント再試行間隔」パラメータを設定します。

ビジネス・メッセージが正常に送信された後、B2Bは指定されている時間だけ機能確認を待つ必要があります。再試行回数に達してもFAを受信しない場合、B2BはB2Bインバウンド・キューに対して例外メッセージを生成します。

特定のメッセージの再試行残数および間隔は、ビジネス・メッセージ・レポートで確認できます。

一般交換のシナリオ

一般交換の場合、ドキュメントの再試行はトランスポート確認を正常に受信したときにのみトリガーされ、標準ベースの交換(AS1/AS2など)の場合は、肯定確認を受信したときのみです。つまり、一般交換の場合はドキュメント再試行は送信の後でのみトリガーされますが、標準確認の場合の再試行は肯定確認を受信したときにのみトリガーされます。否定確認の場合、ドキュメントの再試行はトリガーされません。

チャネル・レベル再試行の相互運用性

チャネル・レベルの再試行は、ドキュメント・レベルの再試行によってはトリガーされません。

チャネル再試行パラメータが設定されていない場合、ドキュメント再試行間隔が経過するとドキュメント・レベルの再試行がトリガーされます。

5.6 アグリーメントの自動作成機能の使用

図5-24に示す「パートナ」領域では、「アグリーメントの自動作成」ボタンを使用して、リモート取引パートナのアグリーメントを作成できます。

図5-24 アグリーメントの自動作成機能

この機能により、選択したリモート取引パートナに関連付けられたドキュメント定義ごとに1つのアグリーメントを作成できます。アグリーメントは、「アグリーメント」タブでさらにカスタマイズできます。「アグリーメント」タブの詳細は、第6章 取引パートナ・アグリーメントの作成とデプロイを参照してください。

5.7取引パートナ参照用の識別子の使用

設計時データで使用可能な識別子は、取引パートナを参照するために使用されます。識別子は、デプロイ済のアクティブなアグリーメントに含める必要はありません。参照には、該当するドキュメントおよび交換識別子が使用されます。次に例を示します。

- AS2-1.1交換プロトコルの場合は、AS2識別子が使用されます。

- EDI X12ドキュメント・プロトコルの場合は、送信者グループIDおよび送信者交換IDが使用されます。

5.8 取引パートナの停止時間のスケジュール設定

あらかじめ予定されているメンテナンスによって、取引パートナがオフラインになることがあります。停止時間を構成することで、取引相手のパートナに停止時間を徹底通知し、メッセージをキューに入れ、停止時間の終了後に配信することができます。

取引パートナの停止時間のスケジュール設定と管理の詳細は、第12章 取引パートナの停止時間のスケジュール設定を参照してください。

5.9 複数の取引パートナへのメッセージのブロードキャスト

Oracle B2Bでは、複数の取引パートナに同じメッセージを送信できます。これにより、特定のビジネス・ニーズに固有の取引パートナの独自グループを柔軟に作成できます。バックエンド・アプリケーション・インタフェースがグループにメッセージを送信すると、Oracle B2Bはグループのすべてのメンバーにそのメッセージを送信します。

この機能の特徴は次のとおりです:

1. BPELは複数のファイルを送信しないため、BPEL-B2B上およびB2B内のトラフィックが減少します。

2. B2Bに取引パートナ・グループの概念を導入し、ブロードキャストに使用します。グループはB2B固有のメタデータのため、BPELユーザーには取引パートナの詳細やグループのことはわかりません。

3. 様々な取引パートナに対する複数のメッセージを処理するためのイベント駆動アプローチが提供されます。

ブロードキャストを使用するには、actionName属性の一部としてグループ名を指定します。actionName属性は次のようになります:

actionName = Grouping:name_of_the_group

ブロードキャストを使用するには、パートナが割り当てられているグループを示す追加の識別子を取引パートナの構成に追加する必要があります。そのためには、新しいカスタム識別子を作成し、必要な取引パートナの名前を関連付けます。詳細は、第10.3項 カスタム取引パートナ・パラメータ・タイプの作成を参照してください。

5.10 インバウンド・メッセージ処理中の証明書の検証

この機能を使用すると、署名付きインバウンド・メッセージの処理で証明書検証が実行されます。

インバウンド・メッセージ処理で証明書を検証するには次の構成が必要になります。

- CertificateAliasという名前の新しい識別子を追加します。

- 必要なエイリアスを取引パートナ・プロファイルにCertificateAliasという名前で設定します。

- Enterprise Managerコンソールでb2b.validateMessageCertificateプロパティをtrueに設定し、この機能を有効にします。このプロパティを有効にすると、すべてのメッセージで証明書に対する検証が実行されます。

6 取引パートナ・アグリーメントの作成とデプロイ

この章では、起案者および応答者の2つの取引パートナがビジネス・ドキュメントを交換できるようにするための条件が定義される取引パートナ・アグリーメントについて説明します。また、取引パートナ・アグリーメントを使用して、取引パートナ、取引パートナ識別子、ドキュメント定義およびチャネルを識別する方法についても説明します。

図6-1に示すように、Oracle B2Bプロセス・フローの最後の手順は、アグリーメントの作成およびデプロイです。

図6-1 Oracle B2Bプロセス・フロー

この章には次のトピックが含まれます:

- 第6.1項 アグリーメントの概要

- 第6.2項 アグリーメントの作成

- 第6.3項 アグリーメントのデプロイ

- 第6.4項 アグリーメントの削除とエクスポート

詳細は、次を参照してください:

- アグリーメントをエクスポートし、デプロイメントの状態を管理する方法は第9章 デプロイメントの管理

- アグリーメントをエクスポートする方法は第7章 データのインポートおよびエクスポート

6.1 アグリーメントの概要

アグリーメントは、ホスト取引パートナおよび1つのリモート取引パートナの2つの取引パートナで構成され、これらのパートナ間におけるビジネス・トランザクションのタイプを表します。たとえば、Acme社とGlobalChips社がEDIFACTとRosettaNetの相互の交換に参加している場合は、各交換についてアグリーメントを作成します。交換が双方向の場合は、各方向についてアグリーメントが必要です。

たとえば、汎用ファイル・プロトコルを使用して送信するカスタム・ドキュメントを使用して、Acme社が販売オーダーをGlobalChips社に送信する場合は、Acme社がオーダーを送信するアウトバウンド方向のアグリーメント、およびAcme社が受信者になるインバウンド方向のアグリーメントを作成します。アグリーメントのコンポーネントに対する変更(ドキュメント定義の変更など)は、そのアグリーメントで自動的に有効になります。

アグリーメントの作成は、B2Bトランザクションの設計の最終ステップです。アグリーメントを作成する前に、ドキュメント定義の作成と取引パートナの構成を完了しておく必要があります。詳細は、第4章 ドキュメント定義の作成、および第5章 取引パートナの構成を参照してください。

6.2 アグリーメントの作成

図6-2に、アグリーメントを使用するためのOracle B2Bインタフェースを示します。リモート取引パートナのアグリーメントをホスト取引パートナとともに確認するには、リモート取引パートナ名をクリックします。

図6-2 アグリーメントの作成

図6-3に、アグリーメントを作成する手順を示します。

図6-3 アグリーメントの作成手順(ワークフローの概要)

手順1: リモート取引パートナの識別

ホスト取引パートナはアグリーメントに自動的に含まれるため、リモート取引パートナのみを識別する必要があります。これを行うには、次の2つの方法があります。1つは、「パートナ」リージョンからパートナを選択してアグリーメントを追加する方法です。もう1つは、ホスト取引パートナを選択して、「アグリーメント」リージョンの「追加」をクリックし、「新規アグリーメント」リージョンの「パートナの選択」ボタンをクリックする方法です。

手順2: ドキュメント定義の選択

ドキュメント定義はホスト取引パートナに対して選択します。図6-4に示すように、選択内容は「ドキュメント定義の選択」ダイアログに反映されます。

図6-4 ドキュメント定義の選択

アウトバウンドとインバウンドの両方のアグリーメントが必要になる交換の場合は、次の手順を実行します。

- アウトバウンドのアグリーメントの場合は、ホスト取引パートナが送信者(図6-4に示す「Acme --> Globalchips」)になるドキュメント定義を選択します

- インバウンドのアグリーメントの場合は、ホスト取引パートナが受信者(図6-4に示す「Acme <-- GlobalChips」)になるドキュメント定義を選択します

手順3: アグリーメントのIDと名前の指定

アグリーメント識別子とアグリーメント名を指定します。これらのフィールドには同じ値を指定できます(追跡するために同じ値にする必要がある場合)。

手順4: 検証、変換および機能確認のオプションの選択

表6-1では、アグリーメントの作成時に設定可能な検証、変換および機能確認のオプションについて説明します。

表6-1 アグリーメントのオプション

オプション

説明

検証

構成済のECSファイルに対してドキュメントの検証を有効にする場合に選択します。

変換

XMLからネイティブ・フォーマットへの変換、またはその逆の変換(例: EDIとHL7の間の変換)を有効にする場合に選択します。「トランスレーション」が選択されていない場合(トランスレーションなし)は、「B2BでFAを処理」プロパティの値に関係なく、B2Bで機能確認を含むビジネス・メッセージを相関付けることはできません。プロパティの詳細は、付録D.1「Fusion Middleware Controlで設定するプロパティ」を参照してください。

機能確認

成功またはエラーの条件に対して機能確認を有効にする場合に選択します。

B2Bによって処理されるFA

trueに設定すると、B2BでインバウンドEDIおよびHL7メッセージの機能確認(FA)メッセージが自動生成されます。インバウンドFAメッセージが使用されるのは、このオプションがtrueの場合です。このオプションをfalseに設定すると、B2BでFAドキュメントは自動生成されません。バックエンド・アプリケーション(ミドルウェア)がFAを生成し、アウトバウンド・メッセージとしてB2Bに提供する必要があります。このオプションを「false」に設定すると、インバウンドFAドキュメントはバックエンド・アプリケーションに戻されます。

(アグリーメント・レベルの設定が示すとおり)ドキュメントにFAが必要ない場合、このオプションは無視されます。このプロパティのデフォルト値はtrueです。

詳細は、付録D.1「Fusion Middleware Controlで設定するプロパティ」を参照してください。

「B2Bによって処理される機能確認」をfalseに設定する場合は、バックエンド・アプリケーションに送信するインバウンドFAに対する「インバウンド機能確認の通知」もfalseに設定する必要があります。(「B2Bによって処理される機能確認」がfalseに設定されているときに)「インバウンド機能確認の通知」をtrueに設定すると、着信997 (FAドキュメント)によって通知のみが生成され、着信997自体はバックエンド・アプリケーションに戻されません。

ドキュメント再試行間隔

ドキュメント再試行間隔の時間を分単位で入力します。再試行の構成の詳細は、第5.5.7項 配信再試行オプションの構成を参照してください。

ドキュメント再試行数

メッセージを再試行する回数を入力します。再試行の構成の詳細は、第5.5.7項 配信再試行オプションの構成を参照してください。

手順5: リモート取引パートナのチャネルの選択

リモート取引パートナの設定時に作成したチャネルのリストが表示されます(リスニング・チャネルはアグリーメントに含まれません)。

手順6: 識別子の追加

ホスト取引パートナおよびリモート取引パートナの識別子タイプがリストされます。このアグリーメントに適用する識別子を選択します。複数の識別子を選択するには、[Shift]キーを押しながら識別子をクリックします。

アウトバウンド・アグリーメントについては、表6-2にリストされている識別子タイプを交換プロトコルとともに使用します。

表6-2 交換プロトコルとともに使用する識別子タイプ

交換プロトコル

識別子タイプ

Generic File-1.0

名前

Generic FTP-1.0

名前

Generic SFTP-1.0

名前

Generic AQ-1.0

名前

Generic JMS-1.0

名前

AS2 - 1.1

名前、AS2識別子

AS1-1.0

名前、AS1識別子

ebMS-1.0、ebMS-2.0

名前、ebMS識別子

RosettaNet-V02.00、RosettaNet-01.10

名前、DUNS

MLLP exchange

名前、MLLP ID

Generic HTTP-1.0

名前、一般識別子

Generic Email-1.0

名前、一般識別子

識別子タイプの詳細は、第10章 タイプの作成を参照してください。

手順7: アグリーメントの保存と検証

「保存」をクリックすると、アグリーメントが保存されて検証されます。

アグリーメントを作成するには:

1. 「パートナ」タブをクリックします。

2. 「アグリーメント」リージョンで、「追加」をクリックします。

3. 「パートナの選択」をクリックします。

4. リモート取引パートナを選択します。

5. 「ドキュメント定義の選択」をクリックします。

6. 起案者のドキュメント定義を選択します。

7. アグリーメントのIDと名前を指定します。

8. 表6-1の説明に従って、検証、変換および機能確認のオプションを選択します。

9. 必要に応じて、説明、コールアウト(すでに作成済の場合)、開始日と終了日を指定します。
コールアウトを使用して、ホスト取引パートナとリモート取引パートナの間で交換するメッセージの書式を変換します。第13章 コールアウトの管理を参照してください。

ここで入力した終了日を経過すると、アグリーメントは期限切れになるためデプロイできません。

10. ホスト取引パートナに対して、「追加」をクリックして識別子を選択します。

11. リモート取引パートナに対して、チャネルを選択します。

12. リモート取引パートナに対して、「追加」をクリックして識別子を選択します。

13. 「保存」をクリックします。

アグリーメントの作成が完了すると、デプロイの準備が整います。アグリーメントは、「管理」→「デプロイ」ページにリストされます。第6.3項 アグリーメントのデプロイを参照してデプロイを続行します。

6.3 アグリーメントのデプロイ

デプロイメントは、アグリーメントを設計時リポジトリから実行時リポジトリにアクティブ化するプロセスです。

アグリーメントをデプロイした後に、「デプロイメントの管理」タブおよび「レポート」タブを使用します。詳細は、次を参照してください:

- 第9章 デプロイメントの管理

- 第18章 レポートの作成

アグリーメントの作成、保存および検証を行った後は、次の方法でアグリーメントをデプロイできます。

- 同じページ(「パートナ」→「アグリーメント」タブ)から、「デプロイ」ボタンを使用します(図6-2を参照)

- 図6-5に示すように、「管理」→「デプロイ」ページからデプロイします。複数のアグリーメントを選択して同時にデプロイする場合は、この方法でデプロイします。

図6-5 「デプロイ」タブ: 有効なアグリーメントのリスト

注意:

プロパティb2b.deploy.validation=falseを設定して、デプロイメント中は検証をオフにします。

このプロパティは、Oracle Enterprise Manager Fusion Middleware Controlで設定します。プロパティを変更する場合は、SOAサーバーを再起動する必要があります。詳細は、付録D.1「Fusion Middleware Controlで設定するプロパティ」を参照してください。

「デプロイ」タブからアグリーメントをデプロイするには:

1. 「管理」タブをクリックします。

2. 「デプロイ」タブをクリックします。

3. デプロイするアグリーメントを検索するには、検索パラメータを使用して「検索」をクリックします。

4. 1つ以上のアグリーメントを強調表示して、「デプロイ」をクリックします。

6.3.1 アグリーメントの再デプロイ

以前にデプロイしたアグリーメントをデプロイすると、最初のバージョンは非アクティブ状態になり、最後にデプロイされたアグリーメントがアクティブになります。

6.4アグリーメントの削除とエクスポート

削除できるのは、ドラフト状態のアグリーメントのみです。アグリーメントをパージすると、そのアグリーメントのステータスはドラフト状態に戻ります。アクティブ、非アクティブまたはリタイアした状態のデプロイ済バージョンがあるアグリーメントは削除できません。

アグリーメントをZIPファイルにエクスポートするには、「アグリーメント」タブの「エクスポート」ボタンを使用します。

第III部

Oracle B2Bの管理

この部では、Oracle B2Bの管理機能の使用方法について説明します。

この部には次の章が含まれます:

- 第7章 データのインポートとエクスポート

- 第8章 ドキュメント・プロトコルの使用

- 第9章 デプロイメントの管理

- 第10章 タイプの作成

- 第11章 EDIメッセージのバッチ処理

- 第13章 コールアウトの管理

- 第15章 データのパージ

- 第16章 リスニング・チャネルの構成

- 第17章 B2Bシステム・パラメータの構成

7 データのインポートおよびエクスポート

この章では、Oracle B2Bインタフェースを使用して、設計時データが格納されているB2Bリポジトリをインポートおよびエクスポートする方法について説明します。

この章では、次の項目について説明します。

- 第7.1項 設計時リポジトリのインポートおよびエクスポート

- 第7.2項 「インポート/エクスポート」タブからインポートまたはエクスポートした場合のコピー内容

- 第7.3項 エクスポート済ファイルについて

antを使用したデータのインポートおよびエクスポートの詳細は、第20章「B2Bコマンドライン・ツール」を参照してください。

7.1 設計時リポジトリのインポートおよびエクスポート

Oracle B2Bの設計時データは、ZIPファイルにエクスポートして保存できます。このZIPファイルは、その後、B2Bインタフェースでデータを使用できるようにOracle B2Bに再インポートできます。これは、テスト環境から本番環境にデータを移行する際に役立ちます。

注意:

エクスポートしたファイルは手動で編集しないでください。編集した場合、Oracle B2Bでは整合性が保証されません。

データは、Oracle B2Bインタフェースの次の領域からもエクスポートできます。

- 「パートナ」→「プロファイル」をクリックして、取引パートナのデータをエクスポートします。詳細は、第5.2項 取引パートナ・プロファイルの作成を参照してください。

- 「パートナ」をクリックしてから、アグリーメントを選択してエクスポートします。詳細は、第6.4項 アグリーメントの削除とエクスポートを参照してください。

- 「管理」→「デプロイメントの管理」をクリックして、デプロイされたアグリーメントをエクスポートします。詳細は、第9.2.3項 アクティブなアグリーメントのエクスポートを参照してください。

ドキュメント・タイプとしてカスタム、EDI EDIFACT、EDI X12、HL7およびRosettaNetを使用するサンプル・ファイルもインポートできます。ダウンロード場所、およびサンプルで紹介されているシナリオの詳細は、第1.7項 Oracle B2Bのサンプルと解説を参照してください。

図7-1に、設計時データをインポートおよびエクスポートする「インポート/エクスポート」タブを示します。

図7-1 データのインポートおよびエクスポート

メタデータのインポート時に、「既存のメタデータの置換」オプションを選択しないと、既存のB2Bに対する更新内容が累積されます。メタデータをインポートする前に既存のデータをすべて削除するには、「管理」リンクの下にある「パージ」タブを使用します。詳細は、第15章 データのパージを参照してください。

注意:

エクスポート操作は、中断やアイドル時間なしで完了してください。エクスポート操作中にブラウザを数分以上アイドル状態にすると、ファイルが破損する場合があります。

データをインポートするには:

1. 「管理」リンクをクリックします。

2. 「インポート/エクスポート」タブをクリックします。

3. 「参照」をクリックして、メタデータ・リポジトリのZIPファイルを検索します。
エクスポートするメタデータのデフォルト名はMDS_EXPORT_DD_MM_YEAR.zipです。

複数のZIPファイルが含まれているZIPファイルをインポートする場合は、そのZIPファイルを解凍し、中に含まれている各ZIPファイルを個別にインポートする必要があります。各ZIPファイルは、複数のアグリーメントを同時にエクスポートするときに作成されます。

4. 「既存のメタデータの置換」を選択すると、メタデータ・サービス(MDS)リポジトリ内の現行のメタデータが上書きされます。このオプションを選択しないと、新規データのみがMDSリポジトリにコピーされます。

5. 「インポート」をクリックします。
インポート処理は、設計時リポジトリの内容のサイズに応じて時間がかかる場合があります。

注意:

アクティブなアグリーメントをエクスポートし、そのリストに複数のアグリーメントが含まれている場合、all.zipを示すエクスポート・ファイルは、多数のzipファイル(a.zip、b.zipなど)で構成されており、それぞれが個別のアグリーメントで構成されています。a.zipやb.zipなどの基本となるZIPファイルは個別にインポートする必要があります。all.zipのインポートを試行すると、次のエラーが戻されます。

Import of file all.zip failed. Error -: B2B-52321: No meta data found to import

データをエクスポートするには:

注意:

エクスポートしたファイルは手動で編集しないでください。

1. 「管理」リンクをクリックします。

2. 「インポート/エクスポート」タブをクリックします。

3. 「リポジトリ全体」または「アクティブなアグリーメント」を選択します。
リポジトリ全体には、B2B設計時リポジトリ内のすべてのデータ(すべての状態のアグリーメント、すべての取引パートナ構成など)が含まれています。

アクティブなアグリーメントとは、非アクティブ、リタイア済またはパージ済以外のすべてのデプロイ済アグリーメントです。

4. (オプション)「検索」オプションを使用して、アグリーメントのリストを絞り込みます。

1. 「アグリーメント」または「ドキュメント・タイプ」を選択します。

2. アグリーメント名またはドキュメント・タイプ名の一部または全部を入力して、「検索」をクリックします。

3. 「検索」をクリックします。

4. 検索結果から1つ以上のアグリーメントを選択します。
複数のアグリーメントを選択した場合、各アグリーメントはそれぞれ独自のZIPファイルでエクスポートされ、それらのZIPファイルがすべてエクスポートZIPファイルに含まれます。

5. 「エクスポート」をクリックします。

6. 「開く」または「ディスクに保存」を選択します。
システムに用意されているファイル名はMDS_EXPORT_DD_MM_YYYY.zipです。図7-2に示すように、ファイルを開くか保存するかを選択できます。保存する場合は、ファイル名とダウンロード場所を指定できます。

図7-2 データのエクスポート

7.2 「インポート/エクスポート」タブからインポートまたはエクスポートした場合のコピー内容

「インポート」をクリックすると、エクスポート・ファイル(つまり、以前にエクスポートしたファイル)の内容がインポートされます。その中には、B2BUserおよびParameterValueオブジェクトが含まれている場合があります。ファイルに資格証明やポリシーに関連するデータが含まれている場合は、そのことを示す警告メッセージが表示されるため、資格証明ストアおよびポリシー・ストアもインポートする必要があります。

リポジトリをエクスポートするときに、ドキュメント・タイプ・アクセスのユーザー権限(第1.4.2項 ドキュメント・タイプへのアクセス制限を参照)を含むユーザー情報はコピーされません。

パスワードのParameterValueオブジェクトは、リポジトリをエクスポートするときにコピーされます。

B2Bのインポート/エクスポート機能は、資格証明ストアおよびポリシー・ストアのインポート/エクスポート機能と異なります。アイデンティティ・ストア、資格証明ストアおよびポリシー・ストアをインポート/エクスポートするには、Oracle WebLogic Serverツールを使用します。

リポジトリをインポートするときに、パスワードはコピーされません。パスワードは、インポート先のB2Bインスタンスで再作成する必要があります。また、設計時リポジトリをエクスポートするとき、パスワードはコピーされません。

インポートおよびエクスポート時に、コールアウト・ライブラリJARファイルはコピーされません。詳細は、表13-1 コールアウトの詳細を参照してください。

設計時リポジトリをエクスポートし、続いてそのリポジトリの内容をOracle B2Bインタフェースで変更した場合、およびエクスポートしたファイル(内容は古い)を後でインポートした場合は、次のように更新されます。

- インポート時に「既存のメタデータの置換」を選択していない場合、ファイルをエクスポートした後にOracle B2Bインタフェースで作成した新規データはそのままです。

- インポート時に「既存のメタデータの置換」が選択されている場合、既存のメタデータがzipファイルのメタデータに置き換えられます(このオプションは内部的にはパージおよびインポートとして機能します)。

インポートに失敗すると、変更内容がロール・バックされ、設計時リポジトリは変更前の状態に戻ります。インポートに失敗したことを示すメッセージが表示されます。

7.3 エクスポート済ファイルについて

ファイルにエクスポートされた設計時リポジトリの内容は、現行データのコピーを表します。このファイルは、Oracle B2Bに再インポートしないかぎり、Oracle B2Bユーザー・インタフェースからアクセスして変更することはできません。エクスポートしたファイルを手動で編集しないでください。

7.3.1 マルチバイト・キャラクタ言語のアグリーメント名を含むエクスポートされたZIPファイル

複数のアグリーメントをエクスポート対象に選択し、その中にマルチバイト・キャラクタ言語のアグリーメント名が含まれていた場合、エクスポートZIPファイルでは、アグリーメントごとに異なるZIPファイルが含まれますが、マルチバイト・キャラクタのアグリーメント名のZIPファイル名は文字化けします。これは、ZIPファイルをOracle B2Bにインポートして戻すときに影響を与えます。このタイプのファイルを処理するときは、次のいずれかの方法を使用してください。

- 1つ以上のアグリーメント名がマルチバイト・キャラクタ言語である複数のアグリーメントを含むZIPファイルをインポートするには、UTF-8ベースのunzipツール(WinZipバージョン11.2など)を使用して、エクスポート・ファイルを圧縮解除します。その後、個別のZIPファイルをB2Bにインポートします。

- または、マルチバイト・キャラクタ言語を使用するアグリーメント名を一度に1つずつ(ZIPファイルごとに1つ)エクスポートします。その後、個別のZIPファイルを通常の方法でインポートします。

8 ドキュメント・プロトコルの使用

この章では、EDI EDIFACT、EDI X12、HL7、RosettaNetなど、Oracle B2Bでサポートされる様々なドキュメント・プロトコルについて説明します。

メッセージ・ペイロードのドキュメント・タイプを定義するOracle B2Bドキュメント・プロトコルを、図8-1に示します。

図8-1 Oracle B2Bのドキュメント・プロトコル

ほとんどすべてのプロトコルは、Oracle B2Bドキュメント・エディタでカスタム・プロトコルと多数のガイドライン・ドキュメントを使用して定義できます。

この章には次のトピックが含まれます:

- 第8.1項 カスタム・ドキュメント・プロトコルの使用

- 第8.2項 EDI EDIFACTドキュメント・プロトコルの使用

- 第8.3項 EDI X12ドキュメント・プロトコルの使用

- 第8.4項 HL7ドキュメント・プロトコルの使用

- 第8.5項 OAGドキュメント・プロトコルの使用

- 第8.6項 位置指定フラット・ファイル・ドキュメント・プロトコルの使用

- 第8.7項 RosettaNetドキュメント・プロトコルの使用

- 第8.8項 UCCNetドキュメント・プロトコルの使用

- 第8.9項 ドキュメント詳細の変更

- 第8.10項 ドキュメント・ルーティングIDの使用

関連情報は、次を参照してください。

- 第3章 ガイドライン・ファイルの作成

- 第4章 ドキュメント定義の作成

8.1 カスタム・ドキュメント・プロトコルの使用

Oracle B2Bは、独自のトランザクションに必要なドキュメントを作成するためのカスタム・ドキュメント・プロトコルをサポートします。XMLメッセージでは、スキーマ適用(XSD)の利点があります。

非XMLメッセージでは、特定のメッセージ・タイプに対する取引パートナ・アグリーメントを作成できます。

カスタム・ドキュメントの作成時には、着信ドキュメントを識別するルールを指定します。XMLドキュメントでは、XPath式および式の予想される結果の値を指定します。

フラット・ファイルなどの非XMLドキュメントでは、開始位置と終了位置、またはドキュメント・ルーティングIDを指定できます。

ドキュメント・バージョン・パラメータ

カスタム・ドキュメントのドキュメント・バージョンを作成する場合、パラメータの設定は不要です。

ドキュメント・タイプ・パラメータ

カスタム・ドキュメント・タイプを作成する場合は、ebXMLドキュメントを識別するためのebXMLメッセージング・サービス(ebMS)を設定できます。図8-2に、カスタム・ドキュメントのドキュメント・タイプ・パラメータを示します。

図8-2 カスタム・ドキュメントのドキュメント・タイプ・パラメータ

表8-1に、カスタム・ドキュメントのドキュメント・タイプ・パラメータを示します。

表8-1 カスタム・ドキュメントのドキュメント・タイプ・パラメータ

パラメータ

説明

「ebMS」タブ

-

アクション名

ebXMLヘッダーのアクション名。インバウンド・メッセージとアウトバウンド・メッセージの識別基準でもあります。ebMSドキュメントには、実行時エラーを回避するためのアクション名が必要です。

サービス名

ebXMLヘッダーのサービス名。インバウンド・メッセージの識別基準でもあります。ebMSドキュメントには、実行時エラーを回避するためのサービス名が必要です。

サービス・タイプ

ebXMLヘッダーのサービス・タイプ。インバウンド・メッセージの識別基準でもあります。ebMSドキュメントには、実行時エラーを回避するためのサービス・タイプが必要です。

開始ロール

メッセージを送信する取引パートナ。ここで指定する値は、「プロファイル」タブで指定した「識別子」の値をオーバーライドします。

終了ロール

メッセージを受信する取引パートナ。ここで指定する値は、「プロファイル」タブで指定した「識別子」の値をオーバーライドします。

ebMSヘッダーの検証

選択すると、インバウンドebMSヘッダー(ロールから/ロールへ)の検証が実行されます。

CPAファイル

CPAファイル

ドキュメント定義パラメータ

カスタム・ドキュメント定義を作成する場合は、ファイル・タイプに「XML」または「フラット」を選択し、タブ領域でパラメータを設定します。図8-3に、XMLタイプ・カスタム・ドキュメントのドキュメント定義パラメータを示します。

図8-3 XMLタイプ・カスタム・ドキュメントのドキュメント定義パラメータ

図8-4に、フラット・ファイル・カスタム・ドキュメントのドキュメント定義パラメータを示します。

図8-4 フラット・ファイル・カスタム・ドキュメントのドキュメント定義パラメータ

表8-2に、カスタム・ドキュメントのドキュメント定義パラメータを示します。

表8-2 カスタム・ドキュメントのドキュメント定義パラメータ

パラメータ

説明

「XML」タブ

(「識別タイプ」から「XML」を選択した場合に使用可能)

識別式(XPath)

XMLペイロードのノードを特定します。

識別値

識別式で識別されたノードに照合する値を指定します。値が一致した場合、ドキュメントは正常に識別されます。値を空欄のままにした場合は、ノードの存在がチェックされ、ドキュメントが正常に識別されます。

DTD/XSDネームスペース変換

「なし」、「両方」、「インバウンド」、「アウトバウンド」の中から選択します。

「ルーティング」タブ

-

ドキュメント・ルーティングID

バックエンド・アプリケーションに対してコンシューマ名を設定します。

「XPath」タブ

詳細は、第8.1.1項 カスタムXMLドキュメントのXPath式の構成方法を参照してください

XPath名1

ペイロードから値を取得するためのXML XPath名。

XPath式1

ペイロードから値を取得するためのXML XPath式。(表の下の注意を参照)

XPath名2

ペイロードから値を取得するためのXML XPath名。

XPath式2

ペイロードから値を取得するためのXML XPath式。(表の下の注意を参照)

XPath名3

ペイロードから値を取得するためのXML XPath名。

XPath式3

ペイロードから値を取得するためのXML XPath式。(表の下の注意を参照)

「相関」タブ

-

XPath名からの相関

相関を開始するための相関プロパティの名前。

XPath式からの相関

相関を開始するためにペイロードから値を取得するためのXML XPath。(表の下の注意を参照)

XPath名への相関

相関のための相関プロパティの名前。

XPath式への相関

相関のためにペイロードから値を取得するためのXML XPath。(表の下の注意を参照)

「フラット」タブ

-

識別開始位置

終了位置と組み合せて使用し、開始位置と終了位置の間のペイロードから値を取得します。

識別終了位置

開始位置と組み合せて使用し、開始位置と終了位置の間のペイロードから値を取得します。

識別値

開始位置と終了位置の間の値。

「アプリケーション」タブ

-

ドキュメント

内部アプリケーション・ドキュメントの名前。

アクション

ドキュメント内のサブ分類。

XSLTファイル

XSLTファイルの名前。

注意:

デフォルトのネームスペースを持つEDIドキュメントを使用する場合

//*[local-name()='...']

は使用できますが、一般的な用法

//Segment-TH/Field-101-A1/text()

は使用できません。

8.1.1 カスタムXMLドキュメントのXPath式の構成方法

カスタムXMLドキュメントは、XPath式によって識別されます。XPath式は、ドキュメント・タイプ・パラメータを指定する際に構成します。

XPath式の構成時のオプションは、次のとおりです。

- オプション1: XPathおよび一致する値の指定

- オプション2: ノードの存在のチェック

- オプション3: 属性の値のチェック

8.1.1.1 オプション 1: XPathおよび一致する値の指定

トランザクションIDが12345だとします。パラメータを次のように設定します。

フィールド

値

識別値

12345

識別式

//*[local-name() = 'TransactionID']/text()

ペイロードの識別式の値と、「識別値」に指定した値が比較されます。値が一致するとドキュメントが正常に識別され、対応するドキュメント・タイプとドキュメント・プロトコル・バージョンを使用してアグリーメントが識別されます。例8-1に、このオプションのXMLペイロードの一部を示します。

例8-1 XPathおよび一致する値の指定

<?xml version="1.0" encoding="UTF-8" ?>
<Message xmlns:ns1="http://www.example1.org" xmlns:ns2="http://www.example2.org"
xmlns="http://www.example3.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns="http://www.example4.org">
<MessageHeader>
<Source>201944019</Source>
<Destination>205704856</Destination>
<TransactionID>123456</TransactionID>
<Version>1-0-0</Version>
</MessageHeader>
<Body>
<ns:Case xsi:schemaLocation="http://www.example4.org" ns1:caseCategoryID="1">
<ns1:OfficialProvisionNumber>String</ns1:OfficialProvisionNumber>
</ns:Case>
</Body>
</Message>

8.1.1.2 オプション 2: ノードの存在のチェック

たとえば、registerCommandというノードの存在をチェックする場合、各パラメータを次のように設定します。パラメータを次のように設定します。

フィールド

値

識別値

空白のままにします。

識別式

/*[local-name()='envelope']/body/transaction/command/*[local-name()='registerCommand']

「識別値」フィールドを空欄のままにした場合は、識別式で識別されたノードがチェックされます。ペイロードのノードが一致すると、ドキュメントが正常に識別されます。例8-2に、このオプションのXMLペイロードの一部を示します。

例8-2 ノードの存在のチェック

<uccnet:envelope xmins:eanucc="http://www.ean-ucc.org/schemas/1.3/eanucc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:uccnet="http://www.uccnet.org/schemas/2.2/uccnet"
communicationVersion="2.2"
xsi:schemaLocation="http://www.uccnet.org/schemas/2.2/uccnet
http://www.testregistry.net/xmlschema/uccnet/2.2/Envelope.xsd">
<messageHeader>
<messageIdentifier>
<value>791:1_EB3CDC749A1F2BABE03014906CC4605A</value>
</messageIdentifier>
<userId>oraclesupXSD</userId>
<representingParty>
<gin>0060974050142</gin>
</representingParty>
</messageHeader>
<body>
<transaction>
<entityIdentification>
<uniqueCreatorIdentification>856</uniqueCreatorIdentification>
<globalLocationNumber>
<gin>0060974050142</gin>
</globalLocationNumber>
</entityIdentification>
<command>
<uccnet:registerCommand>
<registerCommandHeader type="ADD" />
</uccnet:registerCommand>
</command>
</transaction>
</body>
</uccnet:envelope>

8.1.1.3 オプション 3: 属性の値のチェック

たとえば、国の値がUSの場合、各パラメータを次のように設定します。パラメータを次のように設定します。

フィールド

値

識別値

US

識別式

//*/@country

国属性の値と、「識別値」に設定した値が比較されます。値が一致するとドキュメントが正常に識別されます。例8-3に、このオプションのXMLペイロードの一部を示します。

例8-3 属性の値のチェック

<?xml version="1.0" encoding="windows-1252" ?>
<MyAddress country="US" xmlns="http://www.example.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="PO.xsd">
<name>B2B Buyer</name>
<street>100 Oracle Parkway</street>
<city>Redwood City</city>
<state>CA</state>
<zip>94065</zip>
</MyAddress>

8.2 EDI EDIFACTドキュメント・プロトコルの使用

Oracle B2Bは、UN/EDIFACT (United Nations Electronic Data Interchange for Administration, Commerce and Transport)を使用したメッセージ交換をサポートしています。これらの標準には、発注書や請求書に使用する形式、文字セットおよびデータ要素が規定されています。

Oracle B2Bは、EDI EDIFACTのすべてのバージョンとドキュメント・タイプをサポートしています。ただし、一部の新しいバージョンでは、ドキュメント・バージョンの作成時に交換とグループのガイドラインの追加が必要な場合があります。表8-3に、Oracle B2Bでサポートされているトランザクション・セットのいくつかを示します。

表8-3 Oracle B2BでサポートされているEDI EDIFACTトランザクション・セットの例

セット

説明

バージョン

ORDERS

発注メッセージ

D98A

ORDRSP

発注レスポンス・メッセージ

D98A

CONTRL

構文およびサービス・レポート・メッセージ

D3

注意:

UN/EDIFACT標準を作成および管理している組織の情報は、次を参照してください

http://www.unece.org

ドキュメント・バージョン・パラメータ

EDI EDIFACTドキュメント・バージョンを作成する場合は、様々なパラメータを設定できます。図8-5に、EDI EDIFACTドキュメントのドキュメント・バージョン・パラメータを示します。

図8-5 EDI EDIFACTドキュメントのドキュメント・バージョン・パラメータ

表8-4に、EDI EDIFACTドキュメントのドキュメント・バージョン・パラメータを示します。

表8-4 EDI EDIFACTドキュメントのドキュメント・バージョン・パラメータ

パラメータ

説明

「交換」タブ

-

UNAの作成

always、neverまたはdelimiter-basedの中から選択します。delimiter-basedを選択すると、指定したデリミタがEDIFACTのデフォルト値と異なる場合はUNAが作成されます。neverオプションでは、デフォルト以外のデリミタを使用している場合でも、アウトバウンドEDIFACTドキュメントのUNAは生成されません。インバウンド・メッセージに対するneverオプションは、デフォルト以外のデリミタを使用し、UNAなしでEDIFACTドキュメントを受信した場合、B2Bでは機能しません。

構文識別子

交換で使用される構文および構文レベルを管理するエージェンシのコード識別。EDI位置はUNB 010 010 S001 0001です。値「UNOB」が指定されます。

構文バージョン番号

構文識別子(0001)で識別される構文のバージョン番号。EDI位置はUNB 010 020 S001 0002です。値「1」が指定されます。

サービス・コード・リスト・ディレクトリ・バージョン番号

サービス・コード・リスト・ディレクトリのバージョン番号。EDI位置はUNB 010 030 S001 0030です。

文字エンコーディング

交換で使用される文字エンコーディングのコード識別。交換で使用される文字レパートリ・エンコーディング技術を識別する目的で、パートナの交換アグリーメントでの指定に従って使用されます(文字レパートリの関連文字セット仕様で定義されたデフォルト・エンコーディングが使用されていない場合)。EDI位置はUNB 010 040 S001 0133です。

交換日

交換またはグループが準備されたローカル日付。EDI位置はUNB 030 010 S004 0017です。値「#SystemDate(YYMMDD)#」が指定されます。

交換時刻

交換またはグループが準備されたローカル時刻。EDI位置はUNB 030 020 S004 0019です。値「#SystemTime(HHMM)#」が指定されます。

受信者の参照/パスワード

パートナの交換アグリーメントで指定された、受信者のシステムまたはサード・パーティ・ネットワークに対する参照またはパスワード。パートナの交換アグリーメントでの指定に従って使用されます。データ要素0025によって修飾される場合があります。EDI位置はUNB 060 010 S005 0022です。

受信者の参照/パスワード修飾子

受信者の参照またはパスワードの修飾子。パートナの交換アグリーメントでの指定に従って使用されます。EDI位置はUNB 060 020 S005 0025です。

アプリケーション参照

送信者によって割り当てられた、交換に含まれるメッセージが関連するアプリケーション領域の識別。たとえば、交換に含まれるすべてのメッセージが同じタイプである場合は、メッセージ・タイプとなります。アプリケーション領域(会計、購買など)またはメッセージ・タイプの識別が適宜使用されます。EDI位置はUNB 070です。

処理優先度コード

交換の処理優先度をリクエストする送信者によって決定されるコード。パートナの交換アグリーメントでの指定に従って使用されます。EDI位置はUNB 080です。

交換アグリーメント識別子

交換が実行されるアグリーメント・タイプの名前またはコードによる識別。パートナの交換アグリーメントで指定される名前またはコード。EDI位置はUNB 100です。

テスト・インジケータ

テスト・インジケータが含まれる構造的なレベルがテストであることを示します。EDI位置はUNB 110です。

交換ECSファイル

「参照」ボタンを使用して、標準ファイルをオーバーライドするECSファイルを検索します。指定しない場合、B2Bに用意されているデフォルト・ファイル(構文バージョン番号(UNB 010 020)の交換ECSファイル)が使用されます。

「グループ」タブ

-

機能グループの作成

機能グループ(UNG)の作成を示します。値「TRUE」が指定されます。

グループ準備の日付

交換またはグループが準備されたローカル日付。EDI位置はUNG 040 010です。システム日付スタンプが指定されます。

グループ準備の時刻

交換またはグループが準備されたローカル時刻。EDI位置はUNG 040 020です。システム・タイムスタンプが指定されます。

管理エージェンシ

管理エージェンシを識別するコード。EDI位置はUNG 070 010です。値「UN」が指定されます。

グループ・アソシエーション割当コード

対象のメッセージ・タイプの設計およびメンテナンスに関与するアソシエーションによって割り当てられたコード。このコードによってメッセージがより明確に識別されます。EDI位置はUNG 070 030です。

アプリケーション・パスワード

受信者の部門、部署または部門ごとのアプリケーション・システム/プロセスに対するパスワード。EDI位置はUNG 080です。

グループECSファイル

「参照」ボタンを使用して、標準ファイルをオーバーライドするECSファイルを検索します。指定しない場合、B2Bに用意されているデフォルト・ファイルが使用されます。

「デリミタ」タブ

デリミタは、送信者が割り当てた2レベルのセパレータと終了文字で記述されます。デリミタは、サービス文字、データ・デリミタまたはメッセージ・デリミタとも呼ばれます。これらは交換ヘッダーに指定され、交換内の他のデータ要素値では使用できません。EDIファイルでは、セグメント・デリミタ、要素デリミタおよびサブ要素デリミタが使用されます。

注意: デリミタ・フィールドの横にある「16進文字の選択」をクリックすると値が指定されます。

セグメント・デリミタ

EDIFACTセグメント・デリミタ。値「0x27」が指定されます。

要素デリミタ

EDIFACT要素デリミタ。値「0x2b」が指定されます。

サブ要素デリミタ

EDIFACTサブ要素デリミタ。値「0x3a」が指定されます。

小数点セパレータ

EDIFACT小数点セパレータ。値「0x2e」が指定されます。

リリース文字

EDIFACTリリース文字。値「0x3f」が指定されます。

置換文字

EDIFACT置換文字。値「0x7c」が指定されます。

繰返しセパレータ

EDIFACT繰返しセパレータ。値「0x2a」が指定されます。

「その他」タブ

-

重複する管理番号の確認

このプロパティを選択すると(trueに設定すると)、重複する交換管理番号のメッセージは拒否されます。つまり、着信メッセージの状態に「ERROR」が設定されます。

この場合、Oracle B2Bが重複するメッセージ(管理番号が重複するメッセージ)を受信すると、Actionコード(UCI 0083)が4に設定された負の値を持つCONTRLメッセージが戻されます。

エンベロープ・パラメータの無視

このオプションを使用して、参照検証時に無視するエンベロープ要素のリストをカンマ区切りで指定します。指定可能な値は、アグリーメントで使用されている識別子によって異なります。指定可能な値は、InterchangeSenderID、InterchangeReceiverID、GroupReceiverID、GroupSenderID、TransactionAssociationAssignedCode、InterchangeReceiverQual、InterchangeSenderQualおよびInterchangeControlVersionです。

ドキュメント・タイプ・パラメータ

EDI EDIFACTドキュメント・タイプを作成する場合は、様々なパラメータを設定できます。図8-6に、EDI EDIFACTドキュメントのドキュメント・タイプ・パラメータを示します。

図8-6 EDI EDIFACTドキュメントのドキュメント・タイプ・パラメータ

表8-5に、EDI EDIFACTドキュメントのドキュメント・タイプ・パラメータを示します。

表8-5 EDI EDIFACTドキュメントのドキュメント・タイプ・パラメータ

パラメータ

説明

「トランザクション」タブ

-

*機能グループ識別子コード

機能グループ内のメッセージ・タイプを識別するコード。EDI位置はUNG 010 0038です。必須。

管理エージェンシ

メッセージ・タイプの仕様、メンテナンスおよび公開を管理するエージェンシを識別するコード。EDI位置はUNH 020 040 S009 0051です。

トランザクション・アソシエーション割当コード

対象のメッセージ・タイプの設計およびメンテナンスに関与するアソシエーションによって割り当てられたコード。このコードによってメッセージがより明確に識別されます。EDI位置はUNH 020 050 S009 0057です。

共通アクセス参照

以降のすべてのデータ転送を同じビジネス・ケースまたはファイルに関連付けるキーとして機能する参照。EDI位置はUNH 030 0068です。

ドキュメント定義パラメータ

EDI EDIFACTドキュメント定義を作成する場合は、様々なパラメータを設定できます。図8-7に、EDI EDIFACTドキュメントのドキュメント定義パラメータを示します。

図8-7 EDI EDIFACTドキュメントのドキュメント定義パラメータ

表8-6に、EDI EDIFACTドキュメントのドキュメント定義パラメータを示します。

表8-6 EDI EDIFACTドキュメントのドキュメント定義パラメータ

パラメータ

説明

「トランザクション」タブ

-

*トランザクション・セットECSファイル

「参照」ボタンを使用して、ECSファイルを選択します。

「ルーティング」タブ

-

ドキュメント・ルーティングID

バックエンド・アプリケーションに対してコンシューマ名を設定します。

「XPath」タブ

詳細は、カスタムXMLドキュメントのXPath式の構成方法を参照してください。

XPath名1

ペイロードから値を取得するためのXML XPath名。

XPath式1

ペイロードから値を取得するためのXML XPath式。

XPath名2

ペイロードから値を取得するためのXML XPath名。

XPath式2

ペイロードから値を取得するためのXML XPath式。

XPath名3

ペイロードから値を取得するためのXML XPath名。

XPath式3

ペイロードから値を取得するためのXML XPath式。

「相関」タブ

-

XPath名からの相関

相関を開始するための相関プロパティの名前。

XPath式からの相関

相関を開始するためにペイロードから値を取得するためのXML XPath。

XPath名への相関

相関のための相関プロパティの名前。

XPath式への相関

相関のためにペイロードから値を取得するためのXML XPath。

「アプリケーション」タブ

-

ドキュメント

内部アプリケーション・ドキュメントの名前。

アクション

ドキュメント内のサブ分類。

XSLTファイル

XSLTファイルの名前。

「EDIEL」タブ

-

FAアソシエーション割当コード

機能確認のコード。

FAアクション・コード化

これを、CONTRLのUCI0083に対応する値1に設定して、肯定確認を示します。Oracle B2Bでは、この値はデフォルトで7に設定されます。

FAメッセージ・バージョン番号

機能確認のバージョン番号。

FAメッセージ・リリース番号

機能確認のリリース番号。

FAセグメントの削除

機能確認セグメントの削除。

アプリケーション参照のマップ

着信EDIELメッセージの交換エンベロープのApplication referenceフィールドを、対応するアウトバウンドCONTRL (FA)メッセージのApplication referenceフィールドにマップします。

8.3 EDI X12ドキュメント・プロトコルの使用

Oracle B2Bは、American National Standards Institute (ANSI) X12を使用したメッセージ交換をサポートしています。これらの標準には、発注書や請求書などのドキュメントに使用する形式、文字セットおよびデータ要素が規定されています。

Oracle B2Bは、EDI X12のすべてのバージョンとドキュメント・タイプをサポートしています。ただし、一部の新しいバージョンでは、ドキュメント・バージョンの作成時に交換ガイドラインとグループ・ガイドラインの追加が必要な場合があります。表8-7に、Oracle B2Bでサポートされているトランザクション・セットのいくつかを示します。

表8-7 Oracle B2BでサポートされているEDI X12トランザクション・セットの例

セット

説明

バージョン

850

発注

4010

855

発注確認

4010

997

機能確認

4010

999

機能確認

HIPAAバージョン

TA1

交換確認

X12とHIPAAのすべてのバージョン

ANSI X12標準を作成し、管理している組織の情報は、次を参照してください

http://www.ansi.org

ドキュメント・バージョン・パラメータ

EDI X12ドキュメント・バージョンを作成する場合は、様々なパラメータを設定できます。図8-8に、EDI X12ドキュメントのドキュメント・バージョン・パラメータを示します。

図8-8 EDI X12ドキュメントのドキュメント・バージョン・パラメータ

表8-8に、EDI X12ドキュメントのドキュメント・バージョン・パラメータを示します。

表8-8 EDI X12ドキュメントのドキュメント・バージョン・パラメータ

パラメータ

説明

「交換」タブ

-

認可情報修飾子

認可情報内の情報タイプを識別するコード。EDI位置はISA 01です。値「00」が指定されます。

認可情報

送信者または交換に含まれるデータの追加識別または認可に使用される情報。認可情報修飾子によって情報のタイプが設定されます。EDI位置はISA 02です。

セキュリティ情報修飾子

セキュリティ情報内の情報タイプを識別するコード。EDI位置はISA 03です。値「00」が指定されます。

セキュリティ情報

交換送信者または交換に含まれるデータに関するセキュリティ情報の識別に使用される情報。セキュリティ情報修飾子によって情報のタイプが設定されます。EDI位置はISA 04です。

交換日

交換の日付。EDI位置はISA 09です。システム日付スタンプが指定されます(#SystemDate(YYMMDD)#)。

交換時刻

交換の時刻。EDI位置はISA 10です。システム・タイムスタンプが指定されます(#SystemTime(HHMM)#)。

交換管理基準/反復セパレータ

交換ヘッダーおよびトレーラに囲まれたメッセージで使用される管理基準に関与するエージェンシを識別するコード。EDI位置はISA 11です。値「U」が指定されます。

*交換管理バージョン番号

交換管理セグメントのバージョン番号を指定するコード。EDI位置はISA 12です。値「00401」が指定されます。

*交換確認リクエスト済

取引パートナが交換確認をリクエストしたかどうかを示すコード。

TA1

Oracle B2Bが取引パートナからのTA1確認を予期する時期を指定します。

使用量インジケータ

この交換エンベロープで囲まれるデータがテストまたは本番であるかを示すコード。EDI位置はISA 15です。値「P」(本番)が指定されます。

交換ECSファイル

「参照」ボタンを使用して、標準ファイルをオーバーライドするECSファイルを検索します。指定しない場合は、B2Bに用意されているデフォルト・ファイル(交換管理バージョンISA 12の交換ECSファイル)が使用されます。

「グループ」タブ

-

機能グループ日

送信者がトランザクション・セットの機能グループを生成した日付。EDI位置はGS 04です。システム日付スタンプが指定されます(#SystemDate(CCYYMMDD)#)。

機能グループ時刻

送信者がトランザクション・セットの機能グループを生成した時刻(送信者の場所のローカル時刻)。EDI位置はGS 05です。システム・タイムスタンプが指定されます(#SystemTime(HHMM)#)。

担当エージェンシ・コード

基準の発行者を識別するためにデータ要素480と組み合せて使用されるコード。EDI位置はGS 06です。値「X」が指定されます。

バージョン/リリース/産業識別子コード

使用されるEDI標準のバージョン、リリース、サブリリースおよび産業識別子を識別するコード。GSおよびGEセグメントなどがあります。GSセグメント内のDE455のコードがXの場合、DE 480では、位置1から3はバージョン番号、位置4から6はリリースとサブリリース、バージョンのレベル、および位置7から12は産業または取引アソシエーション識別子(必要に応じてユーザーが割当て)です。GSセグメント内のDE455のコードがTの場合は、他のフォーマットを使用できます。

グループECSファイル

「参照」ボタンを使用して、標準ファイルをオーバーライドするECSファイルを検索します。指定しない場合は、B2Bに用意されているデフォルト・ファイル(EDI X12バージョンのグループECSファイル)が使用されます。

「デリミタ」タブ

デリミタ・フィールドの横にある「16進文字の選択」をクリックすると値が指定されます。デリミタの詳細は、表8-4を参照してください。

セグメント・デリミタ

値「0x7e」が指定されます。

要素デリミタ

値「0x2a」が指定されます。

サブ要素デリミタ

値「0x5c」が指定されます。

小数点セパレータ

値「0x2e」が指定されます。

置換文字

値「0x7c」が指定されます。

繰返しセパレータ

値「0x5e」が指定されます。

「その他」タブ

-

重複する管理番号の確認

このプロパティを選択すると(trueに設定すると)、重複する交換管理番号のメッセージは拒否されます。つまり、着信メッセージの状態に「ERROR」が設定されます。

エンベロープ・パラメータの無視

このオプションを使用して、参照検証時に無視するエンベロープ要素のリストをカンマ区切りで指定します。指定可能な値は、アグリーメントで使用されている識別子によって異なります。指定可能な値は、InterchangeSenderID、InterchangeReceiverID、GroupReceiverID、GroupSenderID、TransactionAssociationAssignedCode、InterchangeReceiverQual、InterchangeSenderQualおよびInterchangeControlVersionです。

ドキュメント・タイプ・パラメータ

EDI X12ドキュメント・タイプを作成する場合は、様々なパラメータを設定できます。図8-9に、EDI X12ドキュメントのドキュメント・タイプ・パラメータを示します。

図8-9 EDI X12ドキュメントのドキュメント・タイプ・パラメータ

表8-9に、EDI X12ドキュメントのドキュメント・タイプ・パラメータを示します。

表8-9 EDI X12ドキュメントのドキュメント・タイプ・パラメータ

パラメータ

説明

「トランザクション」タブ

-

*機能グループ識別子コード

トランザクション・セットGS 01を一意に識別します。必須。

実装規則参照

実装規則を識別するために割り当てられた参照。EDI位置はST 03です。

トランザクション目的コード

トランザクション・セットの目的を識別するコード。EDI位置はBEG/BGN 01です。

「重複トランザクション」タブ

この機能を使用すると、ペイロードの特定のコンテンツ(注文書や請求書の番号など)を考慮して重複するトランザクションを検出できます。これは、ペイロードの特定のタグのXPathを指定することで実現されます。XPathフィールドが3つあるため、ペイロードの値を複数使用して一意性条件を柔軟に作成できます。インバウンドの場合は、Oracle B2Bインバウンド・メッセージ処理中に、重複する管理番号のチェックも実行されます。XPathベースの重複チェックは管理番号チェックの後に実行されます。

注意: 最初のXPathを指定せずに、2番目と3番目のXPathを指定することはできません

ドキュメント定義パラメータ

EDI X12ドキュメント定義を作成する場合は、様々なパラメータを設定できます。図8-10に、EDI X12ドキュメントのドキュメント定義パラメータを示します。

図8-10 EDI X12ドキュメントのドキュメント定義パラメータ

表8-10に、EDI X12ドキュメントのドキュメント定義パラメータを示します。

表8-10 EDI X12ドキュメントのドキュメント定義パラメータ

パラメータ

説明

「トランザクション」タブ

-

トランザクション・セットECSファイル

「参照」ボタンを使用して、ECSファイルを選択します。

「ルーティング」タブ

-

ドキュメント・ルーティングID

バックエンド・アプリケーションに対してコンシューマ名を設定します。

「XPath」タブ

詳細は、第8.1.1項 カスタムXMLドキュメントのXPath式の構成方法を参照してください。

XPath名1

ペイロードから値を取得するためのXML XPath名。

XPath式1

ペイロードから値を取得するためのXML XPath式。

XPath名2

ペイロードから値を取得するためのXML XPath名。

XPath式2

ペイロードから値を取得するためのXML XPath式。

XPath名3

ペイロードから値を取得するためのXML XPath名。

XPath式3

ペイロードから値を取得するためのXML XPath式。

「相関」タブ

-

XPath名からの相関

相関を開始するための相関プロパティの名前。

XPath式からの相関

相関を開始するためにペイロードから値を取得するためのXML XPath。

XPath名への相関

相関のための相関プロパティの名前。

XPath式への相関

相関のためにペイロードから値を取得するためのXML XPath。

「アプリケーション」タブ

-

ドキュメント

内部アプリケーション・ドキュメントの名前。

アクション

ドキュメント内のサブ分類。

XSLTファイル

XSLTファイルの名前。

注意:

b2b.FAHandledByB2Bプロパティをfalseに設定したときの動作と制限の詳細は、付録D「Fusion Middleware ControlでのB2B構成プロパティの設定」を参照してください。

8.3.1 EDI X12ドキュメントの確認の生成

取引パートナから受信したEDI X12ドキュメントは、次の方法で確認できます。

- 997 (機能確認)を送信

- 999 (実装確認)を送信

どちらのドキュメントも使用方法は同じですが、997による確認を使用すると、ドキュメントの構文の正しさを検証できます。一方、999による確認は、コントロール構造の関係分析も行われることを意味します。

X12バージョン5010以降で997を生成する場合、次の追加要素(オプション)が生成されます。

<Element-480>005010</Element-480>
<Element-1705>Implementation Convention Reference</Element-1705>

Oracle B2Bはさらに、ネイティブへの変換時に、事前にシードされているデフォルトの997/999定義に対して997/999確認を検証します。したがって、Oracle B2Bを使用するソリューションを実装する際、バージョン5010以降では999を使用することをお薦めします。

8.3.2 エンベロープ・パラメータのオーバーライド

内部プロパティを使用するエンベロープ・パラメータをオーバーライドする必要がある場合、<Lookup>タグと<Property>タグの一部としてオーバーライド値を指定する必要があります。

例:

<Internal-Properties>
<Data-Structure Name="Interchange">
<Lookup Name="InterchangeReceiverID">GlobalOverride </Lookup>
<Property Name="InterchangeReceiverID">GlobalOverride </Property>

...

</Data-Structure>
</Internal-Properties>

8.4 HL7ドキュメント・プロトコルの使用

Oracle B2Bには、Generic交換またはMLLP交換を使用して医療情報を含むドキュメントを交換するためのHealth Level 7 (HL7)バージョン2.xおよびバージョン3標準が実装されています。HL7使用時には、標準のOracle B2Bの機能(検証、変換、アウトバウンド・エンベロープ・ヘッダーの自動生成および確認など)を使用できます。

注意:

このリリースでは、HL7 BATCHおよびFILEエンベロープはサポートされていますが、バッチ処理はサポートされていません。

HL7標準を作成し、管理している組織の情報は、次を参照してください

http://www.hl7.org

ドキュメント・バージョン・パラメータ

HL7ドキュメント・バージョンを作成する場合は、様々なパラメータを設定できます。図8-11に、HL7ドキュメントのドキュメント・バージョン・パラメータを示します。

図8-11 HL7ドキュメントのドキュメント・バージョン・パラメータ

表8-11に、HL7ドキュメントのドキュメント・バージョン・パラメータを示します。

表8-11 HL7ドキュメントのドキュメント・バージョン・パラメータ

パラメータ

説明

「メッセージ・ヘッダー」タブ

-

Security

HL7の一部のアプリケーションでは、このフィールドがセキュリティ機能の実装に使用されます。

処理ID

MSH.11。このフィールドは、HL7アプリケーション(レベル7)処理ルールの定義に従ってメッセージを処理するかどうかを決定するために使用されます。最初のコンポーネントでは、メッセージが本番、トレーニングまたはデバッグ・システムのいずれに属しているかを定義します(有効な値については、HL7表0103 - 処理IDを参照してください)。2番目のコンポーネントでは、メッセージがアーカイブ・プロセスまたは初期ロードのいずれに属しているかを定義します(有効な値については、HL7表0207 - 処理モードを参照してください)。この結果、異なる処理モードに異なる優先度を設定できます。

確認タイプの受入

メッセージに対する応答でアプリケーション確認の返信が必要となる条件を設定します。値「AL」(常時)が指定されます。

B2Bでは、確認を生成する必要があるかどうかを確認するために、着信メッセージのペイロード(MSH.15)がチェックされます。一部のHL7システムでは、ペイロードでMSH.15は送信されないため、確認の送信が必要です。

アプリケーション確認タイプ

MSH.16. 値「AL」(常時)が指定されます。

国コード

メッセージの作成国を設定します。値「US」が指定されます。

文字セット

メッセージ全体の文字セットを設定します。値「ASCII」が指定されます。

国際化コード識別子

MSH.19

国際化コード・テキスト

MSH.19

国際化コード体系名

MSH.19

国際化コード代替識別子

MSH.19

国際化コード代替テキスト

MSH.19

国際化コード代替コード体系名

MSH.19

国際バージョン識別子

MSH.12

国際バージョンIDテキスト

MSH.12

国際バージョンIDコード体系名

MSH.12

国際バージョンID代替識別子

MSH.12

国際バージョンID代替テキスト

MSH.12

国際バージョンID代替コード体系名

MSH.12

「バッチ・ヘッダー」タブ

-

バッチ・ヘッダーの作成

バッチ・ヘッダーを作成する場合は、ボックスを選択します。

バッチ・ヘッダーECSファイル

「参照」ボタンを使用して、標準ファイルをオーバーライドするECSファイルを検索します。指定しない場合、B2Bに用意されているデフォルト・ファイルが使用されます。

バッチ・セキュリティ

BHS.8

バッチ日付

BHS.7. システム日付タイムスタンプが指定されます(#SystemDateTime(CCYYMMDDHHMM)#)。

「ファイル・ヘッダー」タブ

-

ファイル・ヘッダーの作成

有効にする場合は、ボックスを選択します。

ファイル・ヘッダーECSファイル

「参照」ボタンを使用して、標準ファイルをオーバーライドするECSファイルを検索します。指定しない場合、B2Bに用意されているデフォルト・ファイルが使用されます。

ファイル・セキュリティ

FHS.8

ファイル日付

FHS.7. システム日付タイムスタンプが指定されます(#SystemDateTime(CCYYMMDDHHMM)#)。

「デリミタ」タブ

デリミタ・フィールドの横にある「16進文字の選択」をクリックすると値が指定されます。デリミタの詳細は、表8-4を参照してください。

要素デリミタ

セグメント識別子の後に続く1文字で、セグメント内の各データ要素(最後の要素を除く)を区切ります。値「0x7c」が指定されます。

エスケープ文字

値「0x5c」が指定されます。

繰返しセパレータ

繰返しデータ要素の隣接する出現を区切るため、またはフィールドの複数の出現を区切るために使用されるサービス文字。値「0x7e」が指定されます。

セグメント・デリミタ

メッセージ内のセグメント(データ・フィールドの論理的なグループ)の終了を示す構文文字。値「0x0d」が指定されます。

サブコンポーネント・デリミタ

値「0x26」が指定されます。

サブ要素デリミタ

値「0x5e」が指定されます。

「その他」タブ

-

エンベロープ・パラメータの無視

このオプションを使用して、参照検証時に無視するエンベロープ要素のリストをカンマ区切りで指定します。指定可能な値は、アグリーメントで使用されている識別子によって異なります。HL7アグリーメントの場合、指定可能な値は、MessageSendingApp、MessageReceivingApp、MessageSendingFacilityおよびMessageReceivingFacilityです。

ドキュメント・タイプ・パラメータ

HL7ドキュメント・タイプを作成する場合は、様々なパラメータを設定できます。図8-12に、HL7ドキュメントのドキュメント・タイプ・パラメータを示します。

図8-12 HL7ドキュメントのドキュメント・タイプ・パラメータ

表8-12に、HL7ドキュメントのドキュメント・タイプ・パラメータを示します。

表8-12 HL7ドキュメントのドキュメント・タイプ・パラメータ

パラメータ

説明

「トランザクション」タブ

-

HL7汎用確認

選択すると、Oracle B2BがHL7メッセージを受信したときにすぐに汎用確認が送信されます。

確認制御IDのマップ

ビジネス・メッセージのMSH.10から確認のMSH.10へのマッピングを有効にする場合に選択します。

注意: この「確認制御IDのマップ」パラメータは、機能確認用です。

確認の受入

機能確認は、MSH.15に値がない場合に生成されます。アクションを実行しない場合は「なし」を選択します。確認の生成は、ビジネス・メッセージのMSH.15内の値に依存します。どのような条件でも確認を生成する場合は、「AL」(常時)を選択します。メッセージ・エラーまたはメッセージが拒否されたときに確認を生成する場合は、「ER」(エラー/拒否)を選択します。メッセージが正常に処理されたときに確認を生成する場合は、「SU」(正常終了)を選択します。

ドキュメント定義パラメータ

HL7ドキュメント定義を作成する場合は、様々なパラメータを設定できます。図8-13に、HL7ドキュメントのドキュメント定義パラメータを示します。

図8-13 HL7ドキュメントのドキュメント定義パラメータ

表8-13に、HL7ドキュメントのドキュメント定義パラメータを示します。

表8-13 HL7ドキュメントのドキュメント定義パラメータ

パラメータ

説明

「トランザクション」タブ

-

*トランザクション・セットECSファイル

「参照」ボタンを使用して、ECSファイルを検索します。

「ルーティング」タブ

-

ドキュメント・ルーティングID

バックエンド・アプリケーションに対してコンシューマ名を設定します。

「XPath」タブ

詳細は、第8.1.1項 カスタムXMLドキュメントのXPath式の構成方法を参照してください。

XPath名1

ペイロードから値を取得するためのXML XPath名。

XPath式1

ペイロードから値を取得するためのXML XPath式。

XPath名2

ペイロードから値を取得するためのXML XPath名。

XPath式2

ペイロードから値を取得するためのXML XPath式。

XPath名3

ペイロードから値を取得するためのXML XPath名。

XPath式3

ペイロードから値を取得するためのXML XPath式。

「相関」タブ

-

XPath名からの相関

相関を開始するための相関プロパティの名前。

XPath式からの相関

相関を開始するためにペイロードから値を取得するためのXML XPath。

XPath名への相関

相関のための相関プロパティの名前。

XPath式への相関

相関のためにペイロードから値を取得するためのXML XPath。

「アプリケーション」タブ

-

ドキュメント

内部アプリケーション・ドキュメントの名前。

アクション

ドキュメント内のサブ分類。

XSLTファイル

XSLTファイルの名前。

HL7の使用について

- HL7即時確認(トランスポート・レベルの確認)の場合、ビジネス・メッセージは生成されません。AS2を使用している場合は、MDN (トランスポート・レベルの確認)に対して1つの確認ビジネス・メッセージが生成され、ebMSの場合は、ビジネス・メッセージ・レポート内に1つの確認ビジネス・メッセージが生成されます。つまり、即時確認はトランスポート・レベルで送信されるため、エントリを使用できるのはワイヤ・メッセージ・レポート内のみで、ビジネス・メッセージ・レポートでは使用できません。

- HL7交換のエラーを示す否定応答メッセージは、HL7バージョン2.1から2.5では、80文字長制限のために切り捨てられる場合があります。

8.5 OAGドキュメント・プロトコルの使用

Oracle B2Bには、多くの業界で使用されている堅牢なXML標準である、Open Applications Group (OAG)標準が実装されています。この標準では、メッセージがビジネス・オブジェクト・ドキュメント(BOD)として定義されます。

OAG標準を作成し、管理している組織の情報は、次を参照してください

http://www.oagi.org

ドキュメント・バージョン・パラメータ

OAGドキュメントのドキュメント・バージョンを作成する場合、パラメータの設定は不要です。

ドキュメント・タイプ・パラメータ

OAGドキュメント・タイプを作成する場合は、様々なパラメータを設定できます。図8-14に、OAGドキュメントのドキュメント・タイプ・パラメータを示します。

図8-14 OAGドキュメントのドキュメント・タイプ・パラメータ

表8-14に、OAGドキュメントのドキュメント・タイプ・パラメータを示します。

表8-14 OAGドキュメントのドキュメント・タイプ・パラメータ

パラメータ

説明

「制御領域」タブ

-

論理識別子

論理識別子

コンポーネント

コンポーネント

タスク

タスク

エラー発生時のFA

有効にすると、CONFIRMATIONフラグが1に設定されます。

言語

言語

コード・ページ

コード・ページ

認可識別子

認可識別子

日時修飾子

日時修飾子属性

ドキュメント定義パラメータ

OAGドキュメント定義を作成する場合は、様々なパラメータを設定できます。図8-15に、OAGドキュメントのドキュメント定義パラメータを示します。

図8-15 OAGドキュメントのドキュメント定義パラメータ

表8-15に、OAGドキュメントのドキュメント定義パラメータを示します。

表8-15 OAGドキュメントのドキュメント定義パラメータ

パラメータ

説明

「XML」タブ

-

識別式(XPath)

XMLペイロードのノードを特定します。

識別値

識別式で識別されたノードに照合する値を指定します。値が一致した場合、ドキュメントは正常に識別されます。値を空欄のままにした場合は、ノードの存在がチェックされ、ドキュメントが正常に識別されます。

DTD/XSDネームスペース変換

「なし」、「両方」、「インバウンド」、「アウトバウンド」の中から選択します。

「ルーティング」タブ

-

ドキュメント・ルーティングID

バックエンド・アプリケーションに対してコンシューマ名を設定します。

「XPath」タブ

詳細は、第8.1.1項 カスタムXMLドキュメントのXPath式の構成方法を参照してください。

XPath名1

ペイロードから値を取得するためのXML XPath名。

XPath式1

ペイロードから値を取得するためのXML XPath式。

XPath名2

ペイロードから値を取得するためのXML XPath名。

XPath式2

ペイロードから値を取得するためのXML XPath式。

XPath名3

ペイロードから値を取得するためのXML XPath名。

XPath式3

ペイロードから値を取得するためのXML XPath式。

「相関」タブ

-

XPath名からの相関

相関を開始するための相関プロパティの名前。

XPath式からの相関

相関を開始するためにペイロードから値を取得するためのXML XPath。

XPath名への相関

相関のための相関プロパティの名前。

XPath式への相関

相関のためにペイロードから値を取得するためのXML XPath。

「アプリケーション」タブ

-

ドキュメント

内部アプリケーション・ドキュメントの名前。

アクション

ドキュメント内のサブ分類。

XSLTファイル

XSLTファイルの名前。

8.6 位置指定フラット・ファイル・ドキュメント・プロトコルの使用

Oracle B2Bでは、位置指定フラット・ファイル(NCPDP Telecomドキュメントなど)およびSAP iDocs (SAPアプリケーションで使用される中間ドキュメント(テキスト・ファイル))に対するメッセージ交換がサポートされています。この結果、XMLファイルや従来のEDIファイルを様々なXMLおよびEDI標準に基づいて処理する以外に、いくつかの機能が追加されます。

注意:

位置指定フラット・ファイルは、10gから11gに手動でアップグレードする必要があります。

注意:

Oracle B2Bは、保険業界で使用されているNCPDPドキュメントをサポートしています。次の2つのNCPDPドキュメントが広く使用されています。

- 裁決後履歴ファイル: 大量の詳細レコードの場合に使用

- 裁決後使用ファイル: 少量の使用レコードの場合に使用

Oracle B2Bでは、位置指定フラット・ファイルを使用してNCPDPドキュメントが実装されています。

ドキュメント・バージョン・パラメータ

位置指定フラット・ファイルのドキュメント・バージョンを作成する場合、パラメータの設定は不要です。

ドキュメント・タイプ・パラメータ

位置指定フラット・ファイルのドキュメント・タイプを作成する場合、パラメータの設定は不要です。

ドキュメント定義パラメータ

位置指定フラット・ファイルのドキュメント定義を作成する場合は、様々なパラメータを設定できます。図8-16に、位置指定フラット・ファイルのドキュメント定義パラメータを示します。

図8-16 位置指定フラット・ファイル(SAP iDocsを含む)のドキュメント定義パラメータ

表8-16に、位置指定フラット・ファイルのドキュメント定義パラメータを示します。

表8-16 位置指定フラット・ファイルのドキュメント定義パラメータ

パラメータ

説明

「トランザクション」タブ

-

*トランザクション・セットECSファイル

「参照」ボタンを使用して、ECSファイルを検索します。

「識別」タブ

-

識別値

該当なし

識別開始位置

終了位置と組み合せて使用し、開始位置と終了位置の間のペイロードから値を取得します。

識別終了位置

開始位置と組み合せて使用し、開始位置と終了位置の間のペイロードから値を取得します。

「ルーティング」タブ

-

ドキュメント・ルーティングID

バックエンド・アプリケーションに対してコンシューマ名を設定します。

「XPath」タブ

詳細は、第8.1.1項 カスタムXMLドキュメントのXPath式の構成方法を参照してください。

XPath名1

ペイロードから値を取得するためのXML XPath名。

XPath式1

ペイロードから値を取得するためのXML XPath式。

XPath名2

ペイロードから値を取得するためのXML XPath名。

XPath式2

ペイロードから値を取得するためのXML XPath式。

XPath名3

ペイロードから値を取得するためのXML XPath名。

XPath式3

ペイロードから値を取得するためのXML XPath式。

「相関」タブ

-

XPath名からの相関

相関を開始するための相関プロパティの名前。

XPath式からの相関

相関を開始するためにペイロードから値を取得するためのXML XPath。

XPath名への相関

相関のための相関プロパティの名前。

XPath式への相関

相関のためにペイロードから値を取得するためのXML XPath。

「アプリケーション」タブ

-

ドキュメント

内部アプリケーション・ドキュメントの名前。

アクション

ドキュメント内のサブ分類。

XSLTファイル

XSLTファイルの名前。

8.7 RosettaNetドキュメント・プロトコルの使用

Oracle B2Bには、インターネットを使用してドキュメントを交換するためのXMLベースによる非独占的なRosettaNet標準が実装されています。RosettaNet標準には、情報を交換、確認または確定する時期、および交換メッセージをパッケージ化し、取引パートナ間で物理的に交換する方法が規定されています。Oracle B2Bドキュメント・エディタでRosettaNetドキュメント・ガイドライン・ファイルを使用する以外に、RosettaNet Webサイトから標準DTDファイルをダウンロードすることもできます。

RosettaNet DTDは、SOAコンポジット・アプリケーション内でOracle B2Bと併用する場合、XSDに変換する必要があります。コンポジット・アプリケーションに追加されたAQアダプタは、必要に応じてインバウンドDTDをXSDに変換し、データを操作できます。同様に、Oracle B2Bでメッセージを送信できるように、アウトバウンドXSDをDTDに変換できます。

RosettaNet標準は、RosettaNetパートナ・インタフェース・プロセス(PIP)、RosettaNetディクショナリおよびRNIFを使用して指定されます。Oracle B2BはすべてのPIPをサポートしています。(RosettaNetテクニカル・ディクショナリは、Oracle B2Bでサポートされていません。)

RosettaNetコンソーシアムとその歴史に関する情報、およびPIPクラスタとセグメントの完全なリストは、次を参照してください

http://www.rosettanet.org

8.7.1 PIP

PIPは、取引パートナ間のビジネス・プロセスを定義するXMLベースのダイアログです。それは、取引パートナ間で交換される各ビジネス・ドキュメント・メッセージの構造、手順、ロール(購入者と販売者)のアクティビティ、データ要素、値および値タイプを定義します。

図8-17に、PIP 3A4を例にあげてPIPで取引パートナ間のダイアログを定義する方法を示します。

図8-17 購入者と販売者の間のPIP 3A4メッセージ交換

PIP順序は、クラスタ、セグメントおよびタイプを結合したものです。たとえば、PIP順序3A4では、表8-17に示す情報がエンコードされます。

表8-17 PIP 3A4のブレークダウン

要素

説明

3

注文管理クラスタ。取引パートナは次のアクションを実行できます。

- カタログ製品の注文

- カスタム注文の作成

- 製品の配布およびデリバリの管理

- 返品と金融トランザクションのサポート

3A

見積りおよび注文エントリ・セグメント

3A4

特定のPIPタイプ。次の機能をサポートします。

- 購入者からの発注の送信

- 販売者からの発注受入れの送信

- 確認レスポンスに基づき、購入者が発注の取消しまたは変更を行う機能

ドキュメント・バージョン・パラメータ

RosettaNetドキュメントのドキュメント・バージョンを作成する場合、パラメータの設定は不要です。

ドキュメント・タイプ・パラメータ

RosettaNetドキュメント・タイプを作成する場合は、様々なパラメータを設定できます。図8-18に、RosettaNetドキュメントのドキュメント・タイプ・パラメータを示します。

図8-18 RosettaNetドキュメントのドキュメント・タイプ・パラメータ

表8-18に、RosettaNetドキュメントのドキュメント・タイプ・パラメータを示します。

表8-18 RosettaNetドキュメントのドキュメント・タイプ・パラメータ

パラメータ

説明

「サービス・ヘッダー」タブ

-

*開始ロール

メッセージを送信する取引パートナ(PIPのパートナ・ロールの説明に含まれます)。

*終了ロール

メッセージを受信する取引パートナ(メッセージを受信する取引パートナのPIPにおけるロール)。

*開始サービス

メッセージを送信するサービス。

*終了サービス

メッセージの送信先のサービス。

*ビジネス・トランザクション名

ビジネス・トランザクション名が必要です。

*ビジネス・アクション

ビジネス・アクション名が必要です。この値は、グローバル・ビジネス・アクション・コードと一致する必要があります。

*コラボレーションの実行時間

ビジネス・アクションの実行所要時間が必要です。

*コラボレーション名

RosettaNetコラボレーション名は、共通のトランザクションに応じて、取引パートナ間のビジネス・トランザクション(購入者および販売者としてのロール)を表します。必須。

*コラボレーション・コード

短縮されたコラボレーション名のテキスト形式。必須。

ドキュメント定義パラメータ

RosettaNetドキュメント定義を作成する場合は、様々なパラメータを設定できます。図8-19に、RosettaNetドキュメントのドキュメント定義パラメータを示します。

図8-19 RosettaNetドキュメントのドキュメント定義パラメータ

表8-19に、RosettaNetドキュメントのドキュメント定義パラメータを示します。

表8-19 RosettaNetドキュメントのドキュメント定義パラメータ

パラメータ

説明

「パラメータ」タブ

-

ドキュメント・ルーティングID

バックエンド・アプリケーションに対してコンシューマ名を設定します。

DTD/XSDネームスペース変換

元のRosettaNetドキュメントは、必要に応じて変換済ドキュメントに置き換えることができます。インバウンドとアウトバウンドの両方のメッセージについてRosettaNetドキュメントを変換済ドキュメントに置き換える場合は、「両方」を選択します。インバウンド・メッセージについてRosettaNetドキュメントを変換済ドキュメントに置き換える場合は、「インバウンド」を選択します。アウトバウンド・メッセージについてRosettaNetドキュメントを変換済ドキュメントに置き換える場合は、「アウトバウンド」を選択します。置換を実行しない場合は「なし」を選択します。「なし」の場合は、DTDインスタンスがそのまま渡されます。「インバウンド」の場合は、インスタンスDTDがXSDに変換されます。「アウトバウンド」の場合は、インスタンスXSDがDTDに変換されます。「両方」の場合は、インバウンドとアウトバウンドの両方の形式が変換されます。

「XPath」タブ

第8.1.1項 カスタムXMLドキュメントのXPath式の構成方法を参照してください。

XPath名1

ペイロードから値を取得するためのXML XPath名。

XPath式1

ペイロードから値を取得するためのXML XPath式。

XPath名2

ペイロードから値を取得するためのXML XPath名。

XPath式2

ペイロードから値を取得するためのXML XPath式。

XPath名3

ペイロードから値を取得するためのXML XPath名。

XPath式3

ペイロードから値を取得するためのXML XPath式。

「相関」タブ

2アクションのPIP (例: 3A4)の場合は相関が必要です。

XPath名からの相関

相関を開始するための相関プロパティの名前。例: Pip3A4PurchaseOrderRequest in /*[local-name()='Pip3A4PurchaseOrderRequest']/*[local-name()='thisDocumentIdentifier']/text()。

XPath式からの相関

相関を開始するためにペイロードから値を取得するためのXML XPath。

XPath名への相関

相関のための相関プロパティの名前。相関先は、相関に関係している他のメッセージを表します。例: Pip3A4PurchaseOrderConfirmation in/*[local-name()='Pip3A4PurchaseOrderConfirmation']/*[local-name()='requestingDocumentIdentifier']/text()。

XPath式への相関

相関のためにペイロードから値を取得するためのXML XPath。

「アプリケーション」タブ

-

ドキュメント

内部アプリケーション・ドキュメントの名前。

アクション

ドキュメント内のサブ分類。

XSLTファイル

XSLTファイルの名前。

8.7.2 サービス・ヘッダーのpartnerDefinedPIPPayloadBindingIdパラメータとLocationIdパラメータの使用

Oracle B2Bは、次のサービス・ヘッダー・パラメータに対するサポートを提供します。

- partnerDefinedPIPPayloadBindingID

- LocationID

partnerDefinedPIPPayloadBindingIDの構成

Oracle B2Bコンソールで、「ドキュメント・タイプ」の「サービス・ヘッダー」セクションを使用して、partnerDefinedPIPPayloadBindingIDパラメータを構成できます。

locationIDの構成

Oracle B2BコンソールでRosettanetの送信者と受信者のLocationIDを構成するには:

1. 取引パートナ識別タイプを作成し、値としてRN Location IDを設定します。

注意:

この値では大文字と小文字が区別されます。

2. 識別子タイプRN Location IDを使用して、ホスト取引パートナとリモート取引パートナの両方の取引パートナ識別子を作成します。

3. アグリーメントに(通常のDUNS識別子に加えて)、ホスト取引パートナとリモート取引パートナの新しい取引パートナ識別子を追加します。

4. アグリーメントをデプロイします。

8.7.3 RosettaNet検証

RosettaNet検証は、RosettaNet XML書式のビジネス・ドキュメントの要素を、RosettaNetメッセージのガイドライン仕様に指定されている要件と比較し、その有効性を判断します。この仕様には、要素のデータ型、長さ、値リスト、カーディナリティなどの詳細に関する要件が定義されています。ディクショナリが存在する場合は、RosettaNetディクショナリ検証を必要とするPIPも検証されます。RosettaNet XML書式のビジネス・ドキュメントのセクションに対する最低レベルの検証の要件は、次のようになります。これらの要件は、ドキュメントのプリアンブル、配信ヘッダー、サービス・ヘッダー、サービス・コンテンツ・セクションに適用されます。これらのすべての要件に従わないドキュメントは無効とされます。

1. XML書式のビジネス文書はDTDに従う必要があります。

2. RosettaNetメッセージのガイドライン仕様に指定されたデータ型、データ長またはその両方を持つ要素は、この仕様に照らして検証します。

3. 対応するRosettaNetメッセージ・ガイドライン仕様のエンティティ・インスタンス・リストに指定された要素の値リストも、この仕様に照らして検証します。

4. メッセージ・ガイドライン仕様に、対応するDTD仕様と異なる要素のカーディナリティ仕様が定義されている場合は、メッセージ・ガイドライン仕様が優先されます。

5. PIPで辞書検証が必要で、辞書が含まれる場合は、アクション・パフォーマンスの一部としてサービス・コンテンツを辞書に照らして検証します。

6. クロスタグ検証はメッセージ・ガイドラインに基づきます。

8.8 UCCNetドキュメント・プロトコルの使用

Oracle B2Bには、取引パートナ(通常は小売および消費財産業の小売業者およびサプライヤ)がUCCNetを使用してドキュメントを交換できるようにUCCNetが実装されています。表8-20に、Oracle B2BでサポートされているUCCNetドキュメント・タイプを示します。

表8-20 UCCNetドキュメント・タイプ

標準

registerCommand

confirmCommand

linkCommand

checkComplianceCommand

documentCommand

documentIdentificationCommand

notificationStateCommand

queryCommand

registerLinkCommand

publicationCommand

publishCommand

catalogueItemMaintenanceCommand

priceCommand

validateCommand

registerOwnershipCommand

subscriptionCommand

notifyCommand

response

UCCNet標準を作成し、管理している組織の情報は、次を参照してください

http://www.1sync.org

ドキュメント・バージョン・パラメータ

UCCNetドキュメントのドキュメント・バージョンを作成する場合、パラメータの設定は不要です。

ドキュメント・タイプ・パラメータ

UCCNetドキュメントのドキュメント・タイプを作成する場合、パラメータの設定は不要です。

ドキュメント定義パラメータ

UCCNetドキュメント定義を作成する場合は、様々なパラメータを設定できます。図8-20に、UCCNetドキュメントのドキュメント定義パラメータを示します。

図8-20 UCCNetドキュメントのドキュメント定義パラメータ

表8-21に、UCCNetドキュメントのドキュメント定義パラメータを示します。

表8-21 UCCnetドキュメントのドキュメント定義パラメータ

パラメータ

説明

「XML」タブ

-

識別式(XPath)

XMLペイロードのノードを特定します。

識別値

識別式で識別されたノードに照合する値を指定します。値が一致した場合、ドキュメントは正常に識別されます。値を空欄のままにした場合は、ノードの存在がチェックされ、ドキュメントが正常に識別されます。

「ルーティング」タブ

-

ドキュメント・ルーティングID

バックエンド・アプリケーションに対してコンシューマ名を設定します。

「XPath」タブ

第8.1.1項 カスタムXMLドキュメントのXPath式の構成方法を参照してください。

XPath名1

ペイロードから値を取得するためのXML XPath名。

XPath式1

ペイロードから値を取得するためのXML XPath式。

XPath名2

ペイロードから値を取得するためのXML XPath名。

XPath式2

ペイロードから値を取得するためのXML XPath式。

XPath名3

ペイロードから値を取得するためのXML XPath名。

XPath式3

ペイロードから値を取得するためのXML XPath式。

「相関」タブ

-

XPath名からの相関

相関を開始するための相関プロパティの名前。

XPath式からの相関

相関を開始するためにペイロードから値を取得するためのXML XPath。

XPath名への相関

相関のための相関プロパティの名前。

XPath式への相関

相関のためにペイロードから値を取得するためのXML XPath。

「アプリケーション」タブ

-

ドキュメント

内部アプリケーション・ドキュメントの名前。

アクション

ドキュメント内のサブ分類。

XSLTファイル

XSLTファイルの名前。

8.8.1 1Syncドキュメントの作成

1Syncドキュメント・プロトコルは、売主と買主の間でのデータの同期に役立ちます。これにより、継続的なデータの同期による製品と場所の情報の転送が可能になります。

1Sync XMLドキュメントを作成するには、カスタム・ドキュメント・プロトコルまたはUCCNetドキュメント・プロトコルを使用します。

注意:

GS-1の組織では、標準名をUCCNetから1Syncに変更しました。シードされたUCCNetドキュメント・プロトコルを使用するか、1Syncの新しいカスタム・ドキュメント・プロトコルを作成します(図を参照)。どちらも機能は同じです。

図8-21は、カスタム・ドキュメント・プロトコルを使用した1Syncドキュメントのドキュメント定義を示しています。

図8-21 1Syncドキュメント定義

次のように1Syncのリクエスト・メッセージとレスポンス・メッセージを関連付けることができます。

- 「ルーティング」タブのドキュメント・ルーティングIDを使用します。ルーティングID 1Sync_64_catalogueRequestを図8-22に示します。

図8-22 1Syncドキュメント定義の「ルーティング」タブ

- 「相関」タブの相関パラメータを使用します。図8-23に、次のパラメータと値を示します。

- XPath名からの相関: From_catalogueRequest_messageId

- XPath式からの相関: /*[local-name()='envelope']/*[local-name()='header']/*[local-name()='messageId']
この値は、ペイロードのcorrelationFrom値と一致します。

図8-23 1Syncドキュメント定義の「相関」タブ

詳細は、次を参照してください:

- 第8.1項 カスタム・ドキュメント・プロトコルの使用

- 第1.7項 Oracle B2Bのサンプルと解説。1SyncのB2Bサンプルが提供されています。

8.9 ドキュメント詳細の変更

リモート取引パートナに対するドキュメント詳細(ドキュメント・プロトコル・バージョンおよびドキュメント・タイプ・パラメータ)は、「パートナ」→「ドキュメント」タブから変更できます。ホスト管理者はリモート取引パートナのドキュメント詳細をここで変更でき(ホスト管理者は、自分のデータは「管理」→「ドキュメント」タブで変更する必要があります)、リモート管理者は、ドキュメント・タイプへのアクセスが許可されている場合、自分のデータのドキュメント詳細を変更できます。詳細は、第1.4.2項 ドキュメント・タイプへのアクセス制限を参照してください。

図8-24では、「ドキュメントの詳細」セクションの「バージョン」タブを示します。このタブでは、ドキュメント・プロトコルのバージョンのパラメータを変更できます。

図8-24 ドキュメント詳細の変更

デリミタ、および「交換管理バージョン番号」、「交換日」、「交換時刻」などのパラメータは、通常、異なるリモート取引パートナごとに変更されます。

図8-25では、「ドキュメント・タイプ」タブが示されています。このタブでは、ドキュメント・タイプのパラメータを変更できます。

図8-25 ドキュメント詳細の変更

オーバーライド値が提供されていることを示すには、「バージョン・パラメータのオーバーライド」および「DocTypeパラメータのオーバーライド」パラメータを使用します。リモート取引パートナに対して設定したドキュメント・タイプ・パラメータ値は、ドキュメントの作成時に「管理」→「ドキュメント」タブでドキュメント定義に設定した、デフォルトのドキュメント・タイプ・パラメータ値より優先されます。

ドキュメントの詳細をオーバーライドするには:

1. 「パートナ」タブをクリックします。

2. 「ドキュメント」タブをクリックします。

3. リモート取引パートナを選択します。

4. ドキュメント定義を選択します。

5. 適用するオーバーライド・タイプを選択します。

- バージョン・パラメータのオーバーライド

- DocTypeパラメータのオーバーライド

6. 「バージョン」タブまたは「ドキュメント・タイプ」タブ、あるいはその両方でオーバーライドの値に値を指定します。

7. 「保存」をクリックします。

8.9.1 アグリーメントをデプロイした後のドキュメント定義の変更

アグリーメントをデプロイした後のドキュメント定義の変更は、取引パートナのプロファイルに反映されません。「パートナ」→「ドキュメント」タブの「ドキュメントの詳細」領域を使用して、ドキュメント・プロトコル・バージョンとドキュメント・タイプ・パラメータを変更します。その後で、アグリーメントを再デプロイします。

8.9.2 メタデータをインポートした後のドキュメント定義の変更

B2Bメタデータをインポートし、次に「管理」→「ドキュメント」タブからドキュメントを変更した場合は、ホストおよびリモート取引パートナに対するサポート・ドキュメント定義にも、「パートナ」→「ドキュメント」タブから同じ変更を加える必要があります。変更を加えるには、「ドキュメントの詳細」の下にある「バージョン」、「ドキュメント・タイプ」および「定義」タブを使用します。

8.10 ドキュメント・ルーティングIDの使用

ドキュメント・ルーティングIDは、AQキューにエンキューする際、およびSOAコンポジット・アプリケーションでB2Bドキュメントを使用する際の2つの状況で役立ちます。AQキューにエンキューされたメッセージに対してドキュメント・ルーティングIDを設定する場合は(インバウンドのみ)、AQコンシューマ名がドキュメント・ルーティングIDに設定されます。SOAコンポジット・アプリケーション内では、B2Bバインディング・コンポーネントでドキュメント定義のかわりにドキュメント・ルーティングIDを使用すると、同じドキュメント・ルーティングIDのすべてのメッセージが、同じSOAコンポジットにルーティングされます。

これは、異なるドキュメント定義が多数あり、それらを同じ方法で処理する際に役立ちます。WSDLでは、ドキュメント定義のかわりにドキュメント・ルーティングIDが使用されます。SOAコンポジット・アプリケーションでは、図8-26に示すように、B2B構成ウィザードに、ドキュメント定義を選択するかわりにドキュメント・ルーティングIDを使用するオプションが用意されています。

図8-26 Oracle JDeveloperの「ドキュメント・ルーティングID」オプション

AQの使用時に、デフォルトのb2buserを使用するかわりにルーティングID値を設定する場合は、値を数値に設定しないでください。英字と数字の組合せを使用してください。

9 デプロイメントの管理

この章では、実行時トランザクションで使用されるランタイム・データのセットを検証およびアクティブ化するため、アグリーメントをデプロイする方法について説明します。

この章の内容は次のとおりです。

- 第9.1項 アグリーメントのデプロイメント状態の概要

- 第9.2項 デプロイ済アグリーメントの管理

アグリーメントをデプロイする方法の詳細は、第6章 取引パートナ・アグリーメントの作成とデプロイを参照してください。

9.1 アグリーメントのデプロイメント状態の概要

図9-1に示すように、デプロイメントの状態(アクティブ、非アクティブ、リタイアまたはパージ)を管理できます。実行時リポジトリにあるデプロイ済のアグリーメントを検索したり、アグリーメントをエクスポートすることもできます。

図9-1 デプロイ済アグリーメントの管理

9.2 デプロイ済アグリーメントの管理

デプロイ済アグリーメントは、最初はアクティブ状態です。表9-1では、デプロイメントの状態について説明します。

表9-1 デプロイ済アグリーメントの状態

状態

説明

使用する状況

アクティブ

アグリーメントは正常にデプロイされ、メッセージを処理する準備が整っています。

アクティブ状態のデプロイ済アグリーメントは、非アクティブ状態にのみ移動できます。

アグリーメントを使用してメッセージを送受信する準備が整っている状況。

非アクティブ

アグリーメントは「アクティブ」状態または「リタイア」状態に変更できます。アグリーメントは新しいメッセージを受け入れません。ただし、進行中のメッセージはすべて正常に処理されます。

非アクティブ状態のデプロイ済アグリーメントは、「リタイア」状態に移動するか、「アクティブ」状態に戻すことができます。

同じアグリーメントの新規バージョンがアクティブになると、前のバージョンは自動的に非アクティブ状態に変更されます。また、新しいメッセージは受信せずに、進行中のメッセージを引き続き受信する場合は、アグリーメントを非アクティブに変更できます。

リタイア

アグリーメントは再デプロイできません。メッセージは処理されません。

「リタイア」状態のデプロイ済アグリーメントはパージのみ可能です。

今後このアグリーメントを使用してメッセージを送受信する必要がない状況。

パージ済

アグリーメントはシステムから削除されます。

使用されていないアグリーメントのクリーン・アップが必要な状況。「リタイア」状態のアグリーメントとは異なります。リタイア状態のアグリーメントは情報を得るためにシステム内で参照できます。

表9-2では、デプロイ済アグリーメントで表示される情報について説明します。

表9-2 デプロイ済アグリーメント

フィールド

説明

アグリーメント

「パートナ」→「アグリーメント」ページで作成されたときのアグリーメントの名前。

ユーザー

ログイン・ユーザーの名前。

状態

状態は、アクティブ、非アクティブ、リタイアまたはパージ済のいずれかです。

最初のデプロイ済日付

アグリーメントが最初にデプロイされた日付。

最後のデプロイ済日付

アグリーメントが最後にデプロイされた日付。

9.2.1 デプロイ済アグリーメントの検索

デプロイ済アグリーメントを検索するには、表9-3に記載されている検索パラメータを使用します。

表9-3 デプロイ済アグリーメントの検索に使用する検索パラメータ

パラメータ

説明

名前

アグリーメント名に含まれている文字列、名前と一致する文字列、または名前の末尾部分の文字列を入力します。

応答パートナ

応答パートナ名に含まれている文字列、名前と一致する文字列、または名前の末尾部分の文字列を入力します。

開始パートナ

開始パートナ名に含まれている文字列、名前と一致する文字列、または名前の末尾部分の文字列を入力します。

*状態

「すべて」、「アクティブ」、「非アクティブ」、「リタイア」の中から選択します。

ドキュメント定義

以前に作成したドキュメント定義のいずれかを選択します。詳細は、第4章 ドキュメント定義の作成を参照してください。

- 表9-3に示した検索パラメータを以前の設定に戻す場合は、「リセット」をクリックします。

- 図9-2に示したその他の検索パラメータを選択する場合は、「詳細」をクリックします。

図9-2 拡張検索パラメータ

「フィールドの追加」リストから選択したドキュメント検索パラメータは、次のように使用します。最初に、ドキュメント・プロトコル名を選択して、ドキュメント・プロトコル・バージョンのリストを移入します。次に、ドキュメント・プロトコル・バージョンを選択して、ドキュメント・タイプのリストを移入します。その後、ドキュメント・タイプを選択して、ドキュメント定義のリストを移入します。

保存済検索の機能は使用できません。

9.2.2 デプロイメント状態の変更

デプロイメントの状態を変更するには:

1. 「管理」リンクをクリックします。

2. 「デプロイメントの管理」タブをクリックします。

3. アグリーメントを選択します。

4. 使用可能なアクションのいずれかをクリックします。

- 状態が「アクティブ」の場合は、「非アクティブ」が使用可能です。

- 状態が「非アクティブ」の場合は、「アクティブ」または「リタイア」が使用可能です。

- 状態が「リタイア」の場合は、「パージ」が使用可能です。

9.2.3 アクティブなアグリーメントのエクスポート

アクティブなアグリーメントはエクスポートできます。HTTPSまたはデジタル署名と暗号化を使用するアグリーメントの場合、エクスポート・ファイルには、ホスト取引パートナのキー・ストア・パスワードが含まれていません。これは、キー・ストアがコンピュータごとに固有であるためです。したがって、エクスポート・ファイルを異なるコンピュータにインポートする際は、B2Bインタフェースでキー・ストア・パスワードを再作成し、ホスト取引パートナ用のキー・ストアの場所を必要に応じて更新する必要があります。エクスポート・ファイルを再インポートする場合、つまり、ターゲット・コンピュータ上のキー・ストアとその場所が変更されていない場合、キー・ストア・パスワードと場所は、最初に使用したキー・ストアとキー・ストア・パスワードと同一にできます。これは、ホスト取引パートナのみに適用されます。

注意:

エクスポートしたファイルは手動で編集しないでください。編集した場合、Oracle B2Bでは整合性が保証されません。

アクティブなアグリーメントエクスポートするには:

1. 「管理」リンクをクリックします。

2. 「デプロイメントの管理」タブをクリックします。

3. 1つまたは複数のアグリーメントを選択します。

4. 「エクスポート」をクリックします。
システムに用意されているファイル名はMDS_EXPORT_DD_MM_YYYY.zipです。ファイルを開くか保存するかを選択できます。保存する場合は、ファイル名とダウンロード場所を指定します。各アグリーメントは、MDS_EXPORT_DD_MM_YYYY.zip内にある個別のZIPファイルです。

アグリーメントのメタデータに応じて、エクスポートに時間がかかる場合があります。

10 タイプの作成

この章では、識別子タイプ、連絡先情報タイプおよび取引パートナ・パラメータ・タイプの作成方法について説明します。また、Oracle B2Bでカスタム・タイプを使用して、ドキュメント交換、連絡先情報および取引パートナ・パラメータの各仕様を満たす方法についても説明します。

この章には次のトピックが含まれます:

- 第10.1項 カスタム識別子タイプの作成

- 第10.2項 カスタム連絡先情報タイプの作成

- 第10.3項 カスタム取引パートナ・パラメータ・タイプの作成

取引パートナ・プロファイルへのカスタム・タイプおよび値の追加については、第5.2項 取引パートナ・プロファイルの作成を参照してください。

10.1 カスタム識別子タイプの作成

識別子タイプ(つまり識別子)は、取引パートナを(交換識別子として)識別するのに役立ちます。また、様々なドキュメント・プロトコルに対する追加入力を定義するために使用できます。

Oracle B2Bには、一般的に必要な識別子の多くが事前にシードされています。新規のカスタム識別子を必須として作成できます。

識別子タイプを作成するには:

1. 「管理」リンクをクリックします。

2. 「タイプ」タブをクリックします。

3. 「識別子」領域で「追加」をクリックします。

4. 図10-1に示すように、名前および説明(オプション)を入力します。

図10-1 識別子タイプの作成

5. 「保存」をクリックします。

取引パートナのプロファイルに新しいタイプおよび値を追加する方法は、タスク3、「識別子タイプと値の追加」を参照してください。

表10-1に示すように、Oracle B2Bでは、サポートされているドキュメント・プロトコルに対する事前定義の識別子が用意されています。使用されていないタイプを削除することで、B2B環境をさらにカスタマイズできます。取引パートナが使用するタイプは削除できません。

表10-1 Oracle B2Bで定義されている識別子タイプ

名前

説明

AS1識別子

電子メールを使用したデータの送信にEDI over SMTPを使用するための仕様。AS1は、XML、TXTファイルなどの非EDIドキュメント・タイプも処理します。AS1識別子と名前識別子はAS1交換で必要です。

AS2識別子

AS2トランザクション内のサービス・アドレス(「AS2-From」フィールドまたは「AS2-To」フィールドで指定)の別名。この値は、取引パートナが認識する一意の名前にできます。AS2識別子と名前識別子はAS2交換で必要です。

DUNS

続き番号で生成される9桁の一意の番号。正式にはD-U-N-S番号として知られ、Dun and Bradstreetから取得します。DUNS識別子と名前識別子はRNIF交換で必要です。

EDIグループID

取引パートナ企業内の複数のブランチを識別するために使用します。グループIDは、交換IDと同じ番号にできます。

EDIグループID修飾子

EDI交換ID修飾子と同じように、この修飾子はEDIFACTのみに適用されます(X12には適用されません)。

EDI交換ID

異なるソースから取得可能な取引パートナの一意の識別子。たとえば、取引パートナにDun & Bradstreet番号がある場合は、その番号を交換IDとして使用できます。多くの場合、選択したVANでは交換IDが割り当てられます。

EDI交換ID修飾子

後に続く交換IDのタイプをネットワークに通知します。一般的な修飾子には、ZZ (後に続く交換IDが相互定義であることを示す)、01 (交換IDが取引パートナのDun and Bradstreet番号であることを示す)、12 (交換IDが電話番号であることを示す)があります。

EDI交換内部ID

取引パートナをEDI交換内部IDに基づいて識別します。

EDI交換内部サブID

取引パートナをEDI交換内部サブIDに基づいて識別します。

Generic識別子

HTTPまたはHTTPSトランスポート・プロトコルとともにGeneric交換プロトコル(EDI X12 over Generic Exchange、EDI EDIFACT over Generic Exchange、またはCustom Document over Generic Exchange)を使用している場合に、取引パートナの識別に使用するIPアドレス。ホスト名は入力しないでください。

Generic識別子と名前識別子は、汎用HTTPおよび汎用電子メール交換で必要です。

IPアドレスではワイルドカード文字は使用できません。

HL7バッチ・アプリケーションID

取引パートナをHL7バッチ・アプリケーションIDに基づいて識別します。BHS.3とBHS.5には、MSHセグメントの対応するフィールドと同じ定義があります。

HL7バッチ・アプリケーション共通ID

取引パートナをHL7バッチ・アプリケーション共通IDに基づいて識別します。

HL7バッチ・アプリケーション共通IDタイプ

取引パートナをHL7バッチ・アプリケーション共通IDタイプに基づいて識別します。

HL7バッチ機能ID

取引パートナをHL7バッチ機能IDに基づいて識別します。

HL7バッチ機能共通ID

取引パートナをHL7バッチ機能共通IDに基づいて識別します。

HL7バッチ機能共通IDタイプ

取引パートナをHL7バッチ機能共通IDタイプに基づいて識別します。

HL7ファイル・アプリケーションID

取引パートナをHL7ファイル・アプリケーションIDに基づいて識別します。FSH.3とFSH.5には、MSHセグメントの対応するフィールドと同じ定義があります。

HL7ファイル・アプリケーション共通ID

取引パートナをHL7ファイル・アプリケーション共通IDに基づいて識別します。

HL7ファイル・アプリケーション共通IDタイプ

取引パートナをHL7ファイル・アプリケーション共通IDタイプに基づいて識別します。

HL7ファイル機能ID

取引パートナをHL7ファイル機能IDに基づいて識別します。このフィールドはさらに送信/受信アプリケーションについて示します。機能IDには、組織エンティティ、単位、製品またはベンダーの識別子を指定できます。

HL7ファイル機能共通ID

取引パートナをHL7ファイル機能共通IDに基づいて識別します。

HL7ファイル機能共通IDタイプ

取引パートナをHL7ファイル機能共通IDタイプに基づいて識別します。

HL7メッセージ・アプリケーションID

送信/受信アプリケーションを識別します。

HL7メッセージ・アプリケーション共通ID

アウトバウンド・メッセージの場合、このフィールドは、MSH.3 (送信者)およびMSH.5 (受信者)のメッセージ・アプリケーション共通IDをオーバーライドするために使用します。インバウンド・メッセージの場合、このフィールドは参照に使用します。

HL7メッセージ・アプリケーション共通IDタイプ

アウトバウンド・メッセージの場合、このフィールドは、MSH.3 (送信者)およびMSH.5 (受信者)のメッセージ・アプリケーション共通IDタイプをオーバーライドするために使用します。インバウンド・メッセージの場合、このフィールドは参照に使用します。

HL7メッセージ機能ID

取引パートナをHL7メッセージ機能IDに基づいて識別します。

HL7メッセージ機能共通ID

アウトバウンド・メッセージの場合、このフィールドは、MSH.4 (送信者)およびMSH.6 (受信者)のメッセージ機能共通IDをオーバーライドするために使用します。インバウンド・メッセージの場合、このフィールドは参照に使用します。

HL7メッセージ機能共通IDタイプ

アウトバウンド・メッセージの場合、このフィールドは、MSH.4 (送信者)およびMSH.6 (受信者)のメッセージ機能共通IDをオーバーライドするために使用します。インバウンド・メッセージの場合、このフィールドは参照に使用します。

MLLP ID

TCP/IPのMinimum Lower Layer Protocol (MLLP)はHL7の標準です。MLLP IDおよび名前識別子は、MLLP交換で必要です。

名前

取引パートナを名前で識別します。このタイプの値は、取引パートナ名(たとえば、AcmeやGlobalChipsなど)を作成または編集すると、自動的に提供されます。名前識別子は、汎用ファイル、汎用FTP、汎用SFTP、汎用AQおよび汎用JMS交換で必要です。

ebMS識別子

OASISのebXML Messaging Services (ebXML)タイプは、HTTP、HTTPS、SOAP、XMLDsigおよびXMLEncryptを使用してメッセージを交換するためのセキュアで信頼できる方法を指定します。ebMS識別子および名前識別子は、ebMS交換で必要です。

10.2 カスタム連絡先情報タイプの作成

Oracle B2Bでは、取引パートナの連絡先情報の集中管理場所が提供されます。作成したタイプは、取引パートナのプロファイルに追加してその値を変更できます。

任意の連絡先情報タイプを作成できます。連絡先名、電子メール・アドレス、電話番号、FAX番号などのタイプを作成します。使用されていないタイプを削除することで、B2B環境をさらにカスタマイズできます。取引パートナが使用するタイプは削除できません。

連絡先情報タイプを作成するには:

1. 「管理」リンクをクリックします。

2. 「タイプ」タブをクリックします。

3. 「連絡先情報」領域で、「追加」をクリックします。

4. 連絡先情報タイプの名前および説明(オプション)を指定し、「保存」をクリックします。
「名前」フィールドに指定した文字列は、「パートナ」→「プロファイル」ページの「タイプ」フィールドの下にあるリストに表示されます。

取引パートナのプロファイルに新しいタイプおよび値を追加する方法は、タスク4、「連絡先情報の追加」を参照してください。

10.3 カスタム取引パートナ・パラメータ・タイプの作成

取引パートナ・パラメータ・タイプは、文字列タイプです。作成したタイプは、取引パートナのプロファイルに追加してその値を変更できます。

取引パートナ・パラメータ・タイプおよびデフォルト値を作成するには:

1. 「管理」リンクをクリックします。

2. 「タイプ」タブをクリックします。

3. 「取引パートナ・パラメータ」領域で、「追加」をクリックします。

4. 次の情報を指定して、「保存」をクリックします。

- 名前(必須)

- デフォルト値(オプション)

- グループ名(オプション)

- 表示名(オプション。ただし、このタイプを取引パートナ・プロファイルに追加すると、「名前」ではなく「表示名」の値が表示されます。)

- 説明(オプション)

取引パートナのプロファイルに新しいタイプおよび値を追加する方法は、タスク5、「取引パートナのパラメータと値の追加」を参照してください。

事前定義の取引パートナ・パラメータ・タイプはありません。たとえば、Countryという名前のタイプを作成できます。次に、値(特定の国コード)を取引パートナごとに構成できます。使用されていないタイプを削除することで、B2B環境をさらにカスタマイズできます。取引パートナが使用するタイプは削除できません。

11 EDIメッセージのバッチ処理

この章では、Oracle B2Bインタフェースを使用して、アウトバウンドのEDI X12およびEDI EDIFACTメッセージをアウトバウンド・メッセージ用にバッチ処理、スケジュールおよび送信する方法について説明します(Oracle B2Bへのインバウンド・メッセージは自動的にバッチ処理解除されます。)

この章では、次の項目について説明します。

- 第11.1項 バッチの設定

- 第11.2項 バッチ処理したメッセージの管理

EDIの詳細は、次を参照してください。

- 第8.2項 EDI EDIFACTドキュメント・プロトコルの使用

- 第8.3項 EDI X12ドキュメント・プロトコルの使用

11.1 バッチの設定

通常、バッチ処理はメッセージをドキュメント・タイプ別にグループ化するために使用します。たとえば、発注書のバッチや請求書のバッチを、1つ以上の取引パートナに送信できます。また、複数のドキュメント・タイプをバッチ処理して、1つ以上の取引パートナに送信することもできます。

1000を超えるドキュメントをバッチ処理するときに、ペイロード・サイズが30KBを超える場合は、特別な設定が必要です。Oracle Fusion Middlewareパフォーマンス・ガイドの多数のドキュメントのバッチ処理に関する設定を参照してください。

図11-1に、EDIメッセージのバッチ送信を設定する画面を示します。

図11-1 バッチのスケジュール

バッチを設定するには、次を行います:

- タスク1、「バッチ処理するアグリーメントの検索」

- タスク2、「バッチの作成」

- タスク3、「バッチのスケジュール」

タスク1   バッチ処理するアグリーメントの検索

1. 「管理」リンクをクリックします。

2. 「バッチ」タブで、「バッチのスケジュール」タブをクリックします。

3. 表11-1で説明する検索パラメータを使用して、バッチ処理するアグリーメントを特定します。
ドキュメント検索パラメータは次のように使用します。最初に、ドキュメント・プロトコル名を選択してドキュメント・プロトコル・バージョンのリストを移入します。次に、ドキュメント・プロトコル・バージョンを選択してドキュメント・タイプのリストを移入します。その後、ドキュメント・タイプを選択してドキュメント定義のリストを移入します。

表11-1 バッチ作成用の検索パラメータ

パラメータ

説明

一致(「すべて」または「任意」)

「すべて」を選択すると、値を設定したフィールドがand条件を使用して照合されます。「任意」を選択すると、値を設定したフィールドがor条件を使用して照合されます。

応答パートナ

「次で始まる」、「次を含む」、「次と等しい」または「次で終わる」を選択し、応答取引パートナの名前の該当する部分を入力します。

アグリーメント

「次で始まる」、「次を含む」、「次と等しい」または「次で終わる」を選択し、アグリーメントの名前の該当する部分を入力します。

ドキュメント・プロトコル名

「EDI_EDIFACT」または「EDI_X12」を選択します。

ドキュメント・プロトコル・バージョン

以前に作成したドキュメント・プロトコル・バージョンを選択します。

ドキュメント・タイプ

以前に作成したドキュメント・タイプを選択します。

ドキュメント定義

以前に作成したドキュメント定義を選択します。

4. 「検索」をクリックします。
検索基準と一致したデプロイ済のアクティブなアグリーメント(アウトバウンド)が表示されます。

5. タスク2、「バッチの作成」に進みます。

タスク2   バッチの作成

1. バッチの一意の名前を入力します。

2. バッチ処理するアグリーメントを選択します。

3. 「バッチの作成」をクリックします。

4. タスク3、「バッチのスケジュール」に進みます。

タスク3   バッチのスケジュール

1. 「スケジューラの起動」をクリックします。

2. 「非繰返しイベント」タブまたは「繰返しイベント」タブを選択します。

3. 非繰返しイベントの場合は、次のいずれかを実行します。

- 「スケジューラ」ダイアログに示された書式で日付を入力し、「OK」をクリックします。

- または、「カレンダ」ボタンをクリックし、日付と時刻を指定して「OK」をクリックします。

繰返しイベント(図11-2を参照)の場合は、分、時間、月、年および日付の詳細を指定して、イベントをトリガーする間隔に関する詳細を入力します。次に、「OK」をクリックします。

図11-2 バッチのスケジュール

作成したバッチは、「バッチの管理」タブに表示できます。

注意:

バッチ内のいずれかのドキュメントの検証フラグがオンに設定されている場合、バッチ全体が検証済になります。

11.1.1 最大数と最大サイズに基づくバッチの作成

この機能を使用して、バッチ処理メッセージの許容トランザクション数(「最大数」)またはバッチ処理メッセージの許容サイズ(「最大サイズ」)に基づいて、アウトバウンドEDIメッセージをバッチ処理できます。

「最大数」または「最大サイズ」に基づいてメッセージをバッチ処理するには、次の手順を実行します。

1. 「バッチの設定」のタスク1「バッチ処理するアグリーメントの検索」を参照してください。

2. バッチを作成します。

1. 「バッチ名」フィールドにバッチの一意の名前を入力します。

2. 「バッチ処理するアグリーメントの検索」に従って、バッチ処理するアグリーメントを検索します。

3. トランザクション数または最大サイズに基づいてバッチを作成する場合、「スケジュール範囲」はオプションです。ただし、「スケジューラの起動」をクリックして、タスク3「バッチのスケジュール」の指定に従ってイベント(非繰返しまたは繰返し)をスケジュールすることはできます。

4. アウトバウンドEDIメッセージのサイズに基づいてバッチ処理を行う場合は、「最大サイズ(KB)」フィールドにアウトバウンド・ペイロードのサイズの値をKB単位で入力します。

5. アウトバウンドEDIメッセージのトランザクション数に基づいてバッチ処理を行う場合は、「最大数」フィールドに値を入力します。

6. 「バッチの作成」をクリックします。

11.1.2 バッチ設定に基づくバッチ処理の理解

次に、様々なバッチ設定に基づくバッチ処理を示します。

- ケース1: バッチ作成時に「最大数」のみが指定されている場合: 指定されたトランザクション数に基づいてバッチ処理が実行されます。
たとえば、「最大数」として4が指定されている場合、アウトバウンドEDIメッセージをエンキューすると、4つのトランザクションを含むバッチ処理メッセージが1つ作成されます。エンキューされたメッセージの数が4つに満たない場合、それらのメッセージはバッチ処理されません。

- ケース2: バッチ作成時に「最大サイズ」(KB単位)のみが指定されている場合: バッチ処理するメッセージのサイズ(最後のメッセージのサイズを含む)に基づいてバッチ処理が実行されます。
たとえば、「最大サイズ」として4KBが指定されている場合、1KBのアウトバウンドEDIメッセージを4つエンキューすると、サイズ4KBのバッチ処理メッセージが1つ作成されます。エンキューされたメッセージがサイズの条件を満たさない場合、これらのメッセージはバッチ処理されません。

- ケース3: バッチ作成時に「最大数」と「最大サイズ」の両方が指定されている場合: 最初に満たされた条件に基づいてバッチ処理が実行されます。

- ケース4: バッチ作成時に「最大数」と「最大サイズ」が指定され、さらに(「スケジューラの起動」を使用して)バッチのイベントがスケジュールされている場合: ケース1、ケース2およびケース3の順番にメッセージのバッチ処理が実行されます。ただし、タイマー・イベントが発生すると、その時点でバッチ処理可能なすべてのメッセージがバッチ処理されます(「最大数」と「最大サイズ」に指定されている値は無視されます。)

注意:

「最大数」および「最大サイズ」に基づくメッセージのバッチ処理は、次の前提に従って動作します。

- エンキューされているアウトバウンドEDIペイロード(XML)に含まれるトランザクションは1つのみ。

- エンキューされているアウトバウンドEDIペイロード(XML)のサイズはバッチ処理条件で考慮される。

11.2 バッチ処理したメッセージの管理

図11-3に、以前に作成したバッチの検索、バッチの詳細の表示、バッチの無効化、更新または削除を実行できる画面を示します。

図11-3 バッチ処理したEDIメッセージの管理

「更新」バッチ・アクションの場合、更新できるのは選択したドキュメント定義のみです。新規ドキュメントのみでなく、バッチに属しているすべてのドキュメントを必ず再選択してください。

B2Bでは、バッチ処理スケジュールの更新時に、バッチ処理したメッセージが選択されない場合があります。バッチされたメッセージが取得されない場合、バッチを削除し、以前のバッチと同じ名前で新規バッチ・スケジュールを作成します。同じ名前を使用する必要があるのは、B2BによってWAIT_BATCHステータスの以前のメッセージが選択されるようにするためです。

11.3 インバウンド・バッチ処理メッセージの順序付けのサポート

Oracle B2Bは、インバウンド・バッチ処理メッセージに対するサポートを提供します。

Oracle B2Bは、バッチ処理メッセージを受信すると、次の処理を実行します。

1. Oracle B2Bは、順序付けマネージャの表にエントリを1つのみ作成し、メッセージの状態をPROCESSINGに設定します。

2. バッチ処理解除によって、メッセージがビジネス・メッセージの表およびB2B_PENDING_MESSAGE表に挿入され、B2B_PENDING_MESSAGE表の属性列(Attribute4)にメッセージのシーケンス番号が格納されます。

3. Oracle B2Bは、バッチの最後のメッセージを処理した後、順序メッセージの状態をPROCESSEDに変更し、messageIDにBATCH_MESSAGEとマークすることによって、そのメッセージがバッチ処理メッセージであることを示します。

4. Oracle B2Bは、バッチからメッセージをディスパッチした後、ビジネス・メッセージの状態をMSG_COMPLETEに変更し、B2B_PENDING_MESSAGE表の対応するエントリを削除します。Oracle B2Bがバッチ処理の途中で停止した場合、リカバリ時にOracle B2Bが送信するのは、B2B_PENDING_MESSAGE表に存在するメッセージのみです。

注意:

この方法には、バッチ全体がOracle B2Bにより処理されるまでバッチ配信は再開されないという制限があります。

注意:

順序付きバッチ処理は、インバウンド側でのみサポートされます。

12 取引パートナの停止時間のスケジュール設定

この章では、取引パートナの停止時間のスケジュールを設定する方法について説明します。スケジュールを設定することで、取引パートナがお互いに停止時間を通知し、停止時間中のメッセージ配信を遅らせることができます。

大量のメッセージ・フローが存在する競争の激しいB2Bの世界では、B2Bインフラストラクチャの処理機能に妥協はできません。このような理由から、取引パートナの停止時間のスケジュールを設定することが必要になります。これにより、取引パートナの停止時間中でもメッセージを処理し、送信者側の観点から受信者のメンテナンスや負荷を管理することができます。

この章には次のトピックが含まれます:

- 第12.1項 取引パートナの停止時間のスケジュール設定の概要

- 第12.2項 取引パートナの停止時間のスケジュール設定

- 第12.3項 スケジュール設定した停止時間の削除

- 第12.4項 取引パートナの停止時間の延長

12.1 取引パートナの停止時間のスケジュール設定の概要

様々な取引パートナがそれぞれの理由で停止時間の計画を立て、その停止時間を取引相手のパートナに連絡しています。

Oracle B2Bで取引パートナの停止時間のスケジュール設定を行うと、停止時間中のメッセージ配信を停止したまま、メッセージをOracle B2Bで処理できるため、停止時間の終了後すぐにメッセージを配信することが可能になります。

取引パートナの停止時間は、コマンドライン・ユーティリティを使用してスケジュールできます。詳細は、第20.15項「取引パートナの停止時間のスケジュール設定」を参照してください。

スケジュール設定した停止時間の長さをコンソールまたはコマンドライン・ユーティリティで短くすることはできません。スケジュール設定した停止時間を中断したり、終了時間のない停止時間を終了させる場合は、スケジュールを削除します。詳細は、第12.3項を参照してください。

現時点では、コンソールを使用してスケジュール設定した停止時間を延長する機能はありません。スケジュール設定した停止時間を延長する場合は、コマンドライン・ユーティリティを使用してください。オプションの説明は、第12.4項を参照してください。

12.2 取引パートナの停止時間のスケジュール設定

注意:

前提条件として、Oracle B2Bでディスパッチャを有効にする必要があります。ディスパッチャの数はシステムの負荷と構成によって異なります。「アウトバウンド・ディスパッチャ数」は最低でも1に設定する必要があります。

詳細は、第17章 B2Bシステム・パラメータの構成を参照してください。

停止時間のスケジュールを設定するには:

1. 「管理」リンクをクリックし、「停止時間」タブを選択します。

2. 「停止時間のスケジュール設定」サブタブを選択した状態で、「停止時間名」フィールドに名前を入力します。

3. 設定する停止時間の期間の日時を、「開始時間」フィールドと「終了時間」フィールドで選択します。
「終了時間」フィールドで終了時間のみを選択すると、停止時間をすぐに開始させることができます。スケジュールの作成後すぐに停止時間が開始され、終了時間まで継続します。

「開始時間」フィールドで開始時間のみを選択して、終了時間のない停止時間を構成できます。「終了時間」フィールドは空のままにします。終了時間のない停止時間を終了させるには、スケジュールを削除します。

4. 応答パートナとチャネルの表内のエントリを選択し、「停止時間のスケジュール設定」をクリックします。

12.3 スケジュール設定した停止時間の削除

スケジュール設定した停止時間を中断したり、終了時間のない停止時間を終了させる場合は、スケジュールを削除します。

スケジュール設定した停止時間を削除するには:

1. 「管理」リンクをクリックし、「停止時間」タブを選択します。

2. 「停止時間の管理」サブタブを選択した状態で、「停止時間名」フィールドと「応答パートナ」の一方または両方を使用してスケジュールを検索します。

3. 「スケジュール済停止時間」リスト内の結果を選択し、「削除」をクリックします。

12.4 取引パートナの停止時間の延長

次の方法で、既存のスケジュールを変更できます。

12.4.1 スケジュールの重複

別々のスケジュール名を使用することでスケジュールを重複させることができます。同じ名前でスケジュールを重複させることはできません。

スケジュール設定Xは4:00 AMから6:00 AMとします。開始時間が5:00AMで終了時間が7:00 AMの新しいスケジュールYを作成できます。このときの有効スケジュールは4:00 AMから7:00 AMになります。

12.4.2 延長オプションの使用

デフォルトで、以前に作成したスケジュールを延長しようとするとエラーが表示されます。コマンドライン・ユーティリティ-Dextendを使用してスケジュールを延長できます。

たとえば、スケジュールXの期間が4:00 AMから6:00 AMの場合、このスケジュールを延長するには、6:00 AMから8:00 AMの新しい新しいスケジュールXを-Dextend=trueオプションを使用して作成します。このときの有効スケジュールは4:00 AMから8:00 AMになります。

コマンドライン・オプションの使用方法と例の詳細は、第20.15項「取引パートナの停止時間のスケジュール設定」を参照してください。

13 コールアウトの管理

この章では、Javaコールアウトの作成方法と使用方法について説明します。Javaコールアウトは、ホストとリモートの取引パートナ間で交換されるメッセージの書式を変換します。コールアウトを使用すると、通常、XSLTスタイル・シートおよび任意のJavaプログラムを起動できます。

この章には次のトピックが含まれます:

- 第13.1項 コールアウトの概要

- 第13.2項 コールアウトの作成

- 第13.3項 アグリーメントへのコールアウトのインクルード

- 第13.4項 コールアウトの実装

13.1 コールアウトの概要

コールアウトは、リモート取引パートナとは異なるメッセージ書式をホスト取引パートナ・アプリケーションで使用している環境で使用されます。たとえば、図13-1に示すように、リモートの取引パートナが、RosettaNet XML形式の発注リクエストをホスト取引パートナに送信するとします。

図13-1 発注の例: 異なる書式のXMLメッセージに対するコールアウトの使用

この例では、ホスト取引パートナのホスト・アプリケーションは、RosettaNet XML書式のメッセージを使用していないOracle E-Business Suiteアプリケーションです。2つの異なる書式間での通信を可能にするには、次のように2つのコールアウトを作成します。

- 1つ目のコールアウトcallout_inbound。たとえば、RosettaNet XML書式の発注リクエストを、Oracle E-Business Suiteアプリケーションで解釈可能なOracle E-Business Suite XML書式に変換します。これにより、Oracle E-Business Suiteアプリケーションは、Oracle E-Business Suite XML書式の発注受入れメッセージを使用して、リクエスト・メッセージに応答します。

- 2つ目のコールアウトcallout_outbound。たとえば、Oracle E-Business Suite XML書式を、リモート取引パートナ用のRosettaNet XML書式のメッセージに戻します。

作成した2つのコールアウトを、次のように、このメッセージ交換に関して作成された2つのアグリーメントに関連付けます。

- callout_outboundをアウトバウンド・メッセージに関するアグリーメント(つまり、開始側の発注リクエストに関するアグリーメント)にインクルードします。

- callout_inboundをインバウンド・メッセージに関するアグリーメント(つまり、応答側の発注受け入れに関するアグリーメント)にインクルードします。

ドキュメント定義はアグリーメントのコンポーネントであるため、コールアウトは特定のドキュメント定義に関連付けられます。

この発注の例は、1つのコールアウトから1つのアグリーメントへの単純なアソシエーションを示しています。しかし、実際には、1つ以上のコールアウト・パラメータの値を変更することによって、同じコールアウトを多数の異なるアグリーメントにインクルードできます。パラメータを追加する場所については、図13-3を参照してください。パラメータ属性のリストは、表13-2を参照してください。

13.1.1 トランスポート・コールアウト

もう1つのタイプのコールアウトはトランスポート・コールアウトで、チャネルと関連付けられます。インバウンド・メッセージの場合、B2Bは、トランスポートからメッセージを受信した直後にトランスポート・コールアウトを呼び出します。アウトバウンド・メッセージの場合、B2Bは、トランスポートにメッセージを送信する直前にトランスポート・コールアウトを呼び出します。トランスポート・コールアウトは、図13-2で示されているようにチャネル構成で選択でき、任意のプロトコルで使用できます。

図13-2 トランスポート・コールアウト

トランスポート・コールアウトを使用すると、MLLPプロトコルを使用するインバウンドおよびアウトバウンド・メッセージのカスタム・ヘッダーを抽出できます。例13-1では、コールアウトでCUSTOM_HEADERプロパティを設定および取得する方法を示します。

例13-1 CUSTOM_HEADERプロパティの設定と取得

import java.util.*;
import oracle.tip.b2b.callout.*;
import oracle.tip.b2b.callout.exception.*;

public class SampleCallout implements Callout {
public void execute(CalloutContext context,List input,List output)
throws CalloutDomainException, CalloutSystemException {
try {
CalloutMessage cmIn = (CalloutMessage)input.get(0);
String s =cmIn.getBodyAsString();

//for getting the CUSTOM_HEADER
Properties params =  (Properties)cmIn.getParameters();
String customHeader = (String)params.get("CUSTOM_HEADER");

//for setting the CUSTOM_HEADER
CalloutMessage cmOut = new CalloutMessage(s);
cmOut.setParameter("CUSTOM_HEADER", "your_value");
output.add(cmOut);

} catch (Exception e) {
throw new CalloutDomainException(e);
}
}
}

詳細は、第5.5.2.4項 カスタム・ヘッダーを抽出するためのトランスポート・コールアウトの使用を参照してください。

第13.2項「コールアウトの作成」の説明のとおり、トランスポート・コールアウトは他のコールアウトと同じように、「コールアウト」タブから作成します。トランスポート・コールアウトはアグリーメントには追加されませんが、「アグリーメント」タブの「コールアウト」リストにはすべてのトランスポート・コールアウトが表示されるため、ここで選択できます。混乱を回避するには、トランスポート・コールアウトの作成時に「アグリーメント」タブの「コールアウト」リストで選択しないように、タイプがわかる名前にしてください。

13.1.2 コールアウト・ライブラリJARファイルの作成

Oracle B2Bに用意されているコールアウトJARファイルがユーザーのニーズを十分に満たさない場合は、Oracle Fusion Middleware B2B Callout Java APIリファレンスに記載されている標準に従って、Oracle B2Bの外部で独自のコールアウトJARファイルを作成できます。この外部JARファイルのディレクトリの場所を指定するには、「管理」リンクの「構成」タブを使用します。独自のコールアウト用には、外部JARファイルを作成することをお薦めします。独自のコールアウトはb2b.jarにバンドルしないでください。

注意:

MySampleCalloutは制限されたキーワードであるため使用しないでください。それはすでにb2b.jarにパッケージされています。

13.2 コールアウトの作成

コールアウトを作成するには、図13-3に示すように、コールアウトの詳細(実装クラス名とライブラリ名)およびコールアウト・パラメータを指定します。

図13-3 コールアウトの作成

コールアウトに異なる実装名を指定する場合は、複数のコールアウトを同じ名前で作成できます。アグリーメントにインクルードされているコールアウトは削除できません。

表13-1に、指定するコールアウトの詳細を示します。

表13-1 コールアウトの詳細

フィールド

説明

*実装クラス

クラス・ファイル名は.classを付けずに入力します。

注意: Oracle B2Bには、XML間のトランスフォーメーションに使用できるXSLTCalloutImplという事前定義のクラス・ファイルがあります。

*ライブラリ名

コールアウト実装クラスを保持するJARファイル名を入力します。

注意: 独自のコールアウトJARファイルを1つ以上指定する場合は、ディレクトリの場所を指定する必要があります。「管理」リンクから「構成」タブを使用します。Oracle B2Bに組み込まれているデフォルトb2b.jarファイルのディレクトリの場所を指定する必要はありません。

コールアウト・ライブラリを環境間で移行するには、手動で行う必要があります。B2Bのエクスポート/インポート機能は、コールアウト・ライブラリのJARを移行しません。

独自のコールアウトJARファイルのコールアウト・ディレクトリを指定する方法は、第17.1項 構成パラメータの設定を参照してください。

説明

説明を入力します。

タイムアウト(秒)

コールアウトを処理する時間制限を入力します。

コールアウト・パラメータは、グローバル変数の概念に似ており、特定のコールアウト使用にのみ適用可能なローカル値を指定できます。また、作成したコールアウト・パラメータは、すべてのコールアウト使用に適用可能なデフォルト値として指定できます。既存のコールアウトのコールアウト・パラメータを変更すると、そのコールアウトを使用するすべてのアグリーメントに影響を与えます。

表13-2に、オプションのコールアウト・パラメータ属性を示します。

表13-2 コールアウト・パラメータの属性

フィールド

説明

名前

パラメータ名を入力します。

タイプ

「整数」、「浮動小数」、「文字列」、「ブール」、「日付」の中から選択します。「日付」タイプの書式はMM/DD/YYYYです。

注意: タイプを変更すると、パラメータのデフォルト値が無効になることがあります。

値

値を入力します。「暗号化」が「True」に設定されている場合、この値は暗号化されます。

必須

「True」または「False」を選択します。

暗号化

「True」または「False」を選択します。

説明

説明を入力します(オプション)。

作成したコールアウトは、アグリーメントへのインクルードが可能になります。詳細は、第13.3項 アグリーメントへのコールアウトのインクルードを参照してください。アグリーメントへのデプロイ後にコールアウトを変更した場合は、サーバーを再起動する必要があります。

コールアウトを作成するには:

1. 「管理」、「コールアウト」の順にクリックします。

2. 「コールアウト」セクションで、「追加」をクリックします。

3. コールアウトの名前を入力します。
(トランスポート・コールアウトを作成しているかどうかは、名前で示すことができます。)

4. 表13-1の説明に従って、コールアウトの詳細を入力します。

5. (オプション)「パラメータ」セクションで、「追加」をクリックします。

6. 表13-2の説明に従って、パラメータ名と属性を入力します。

7. 「保存」をクリックします。

コールアウトの詳細、パラメータまたはパラメータ値はいつでも編集できますが、コールアウト名は編集できません。

13.3 アグリーメントへのコールアウトのインクルード

作成したコールアウトは、図13-4に示すように、アグリーメントへのインクルードが可能になります。

図13-4 アグリーメントへのコールアウトの指定

コールアウトをアグリーメントにインクルードするには:

1. 「パートナ」をクリックします。

2. アグリーメント名をクリックします。

3. コールアウトを選択します。

4. 「保存」をクリックします。

特定のアグリーメントに対するコールアウト・パラメータの値を更新するには:

1. 「パートナ」をクリックします。

2. アグリーメント名をクリックします。

3. コールアウトを選択します。

4. 「コールアウトの詳細」をクリックします。

5. 図13-5に示すように、パラメータ名に対する値を入力します。

図13-5 コールアウトの詳細の入力

6. 「OK」をクリックします。

13.4 コールアウトの実装

例13-2は、受信したXMLドキュメントを別のXMLドキュメントに変換する方法を示しています。ディレクトリ構造は、oracle.tip.calloutです。この例では、出力CalloutMessageを出力リストに設定する必要があります(output.add(cmOut))。

例13-3は、トランスポート同期コールバックと一緒に使用する同期コールバック・コールアウトを作成する方法を示しています。詳細は、第5.5.5項 トランスポート同期コールバックの使用を参照してください。

例13-2 XML間のトランスフォーメーションのコード例

import java.io.*;
import java.net.*;
import java.util.*;
import oracle.xml.parser.v2.*;
import oracle.tip.b2b.callout.Callout;
import oracle.tip.b2b.callout.CalloutMessage;
import oracle.tip.b2b.callout.CalloutContext;
import oracle.tip.b2b.callout.exception.*;

/**
* This sample callout transforms the incoming XML document
* to another XML document. It also shows how to generate
* Functional Ack and Error message.
*/
public class XSLTCalloutImpl implements Callout {
public void execute(CalloutContext context,
List input,
List output)
throws CalloutDomainException, CalloutSystemException {
try {

// (1) Retrieve the callout properties from CalloutContext
String xsltFile     = context.getStringProperty("xsltFile");

// (2) Get the input callout message
CalloutMessage cmIn = (CalloutMessage)input.get(0);

// (3) Process the message
// instantiate a stylesheet
URL xslURL = new URL("file://" + xsltFile);
XSLProcessor processor = new XSLProcessor();
XSLStylesheet xsl = processor.newXSLStylesheet(xslURL);

// parser input XML content
DOMParser parser = new DOMParser();
parser.setPreserveWhitespace(true);
parser.parse(new StringReader(cmIn.getBodyAsString()));
XMLDocument xml = parser.getDocument();
processor.showWarnings(true);
processor.setErrorStream(System.err);

// Transform the document
StringWriter strWriter = new  StringWriter();
processor.processXSL(xsl, xml, new PrintWriter(strWriter));

// (4) Create a output callout message
// create a callout output message
CalloutMessage cmOut =
new CalloutMessage(strWriter.getBuffer().toString());
strWriter.close();

// create Functional Ack callout message
// this is an optional step
CalloutMessage fa = new CalloutMessage(/*set FA payload here*/);
fa.setParameter("functional_ack", "true");
//setting your own doctype and revision
//set the doc type name and revision as defined in b2b ui
fa.setParameter("doctype_name", "fa");
fa.setParameter("doctype_revision", "1.0");

// create Error callout message
// this is an optional step
CalloutMessage err = new CalloutMessage(/* set the payload that causes this
error */);
err.setParameter("error_message", "true");
err.setParameter("error_desc", "set the error desc");

output.add(cmOut);
output.add(fa);
output.add(err);

//(5) Throw an exception, if any
} catch (Exception e) {
throw new CalloutDomainException(e);
}
}
}

例13-3 同期コールバック・コールアウトのコード例

import java.io.FileInputStream;
import java.util.List;
import java.util.Properties;
import oracle.tip.b2b.callout.Callout;
import oracle.tip.b2b.callout.CalloutContext;
import oracle.tip.b2b.callout.CalloutMessage;
import oracle.tip.b2b.callout.exception.CalloutDomainException;
import oracle.tip.b2b.callout.exception.CalloutSystemException;
import oracle.tip.b2b.domain.B2BParameters;
import oracle.tip.b2b.system.B2BRuntimeException;
import oracle.tip.b2b.system.ErrorKeys;

public class SyncSampleCallout implements Callout {

public void execute(CalloutContext calloutContext, List input, List output)
throws CalloutDomainException, CalloutSystemException {
try
{
CalloutMessage message = new CalloutMessage();
Properties properties = new Properties();

properties.put("FROM_PARTY", "MarketInc");
properties.put(B2BParameters.TO_PARTY, "OracleServices");
properties.put(B2BParameters.DOCTYPE_NAME, "271");
properties.put(B2BParameters.DOCTYPE_REVISION, "4010X092A1");

message.setParameters(properties);

FileInputStream inStream = new FileInputStream("/tmp/271.dat");

byte[] content = new byte[inStream.available()];

inStream.read(content);

inStream.close();

message.setBody(content);

output.add(message);
}
catch(Exception e) {
new B2BRuntimeException(ErrorKeys.B2B_RUNTIME_ERROR, e);
}
}
}

14 マップの使用

この章では、マップセットの使用方法について説明します。ソース・とターゲットのシステムのメッセージが異なるドキュメント定義で定義され、あるメッセージから別のメッセージにデータをマップする必要がある場合は、マップセットを使用してマッピング・ロジックを定義します。

この章では、次の内容を説明します。

- 第14.1項 マッピングの概要

- 第14.2項 Oracle B2Bコンソールでのマップセットの使用

- 第14.3項 Oracle MapBuilderを使用した構成済マップの作成

14.1 マッピングの概要

マップセットは、ネイティブ形式からXML、XMLからXML、さらにXMLからネイティブ形式にマッピングする標準変換よりも、ネイティブ・データ形式をネイティブ・データ形式にマップする方がよい場合にデータ変換を提供します。異なるドキュメント定義によって定義されているメッセージ間でデータをマップする必要がある場合は、マップセットを使用できます。たとえば、HL7 2.3.1形式でメッセージを送信するシステムがあり、受信側システムではHL7 2.5形式のデータを必要とする場合があります。または、HIPAA 4010メッセージをHIPAA 5010に変換し、さらにHIPAA 4010に再変換することが必要な場合があります。

マップセットには、事前定義済またはユーザー定義のマップ・ファイルと2つのドキュメント定義が含まれます。マップ・ファイルは、データがある形式から別の形式に変換される方法を定義します。現在、Oracle SOA Suite healthcare integrationユーザー・インタフェースでは、異なるバージョンのHL7メッセージ間のマッピングをサポートしています。Oracle B2Bコンソールでは、異なるHIPAA X12メッセージ間のマッピングと、異なるバージョンのHL7間のマッピングをサポートしています。

注意:

現在、マップセットを使用したHL7 2.xメッセージからHL7 v3.0への変換はサポートされていませんが、この操作はOracle JDeveloperのXSLTマッパーを使用して行うことができます。

Oracle B2Bには、1つのネイティブ・データ形式を別のネイティブ形式に直接変換できる機能があります。たとえば、Oracle B2Bでは、Health Insurance Portability and Accountability Act (HIPAA)のドキュメントをバージョン4010から5010(およびその逆)に変換する構築済のマップが提供されています(ドキュメント・タイプ837 Health Care Claim用)。そのため、標準のマップ・ファイルを使用して、この変換を実行できます。カスタマイズしたマップを作成する必要があるのであれば、Oracle B2BのMapBuilderアプリケーション(Windowsプラットフォームでのみ使用可能)で独自のマップを設計および構築できます。

14.1.1 マップセットについて

マップセットを作成する場合は、マップ・ファイル、ソース・ドキュメント定義およびターゲット・ドキュメント定義を1つのマップセット内で関連付けます。マップセットは、定義とマッピングを、複数のOracle B2Bまたはhealthcare integrationアプリケーションで再利用できる1つの単位にグループ化します。各マップセットは2つの異なるドキュメント定義を使用し、マップセットを作成するにはこれらの定義を設計時リポジトリに作成する必要があります。マップセットには、プロトコルごとに提供されるデフォルトのドキュメント定義、あるいは作成または変更したカスタマイズ済定義を使用するオプションがあります。

Oracle SOA Suite for healthcare integrationでマップセットを作成する場合は、適切なエンドポイントに関連付けて、マッピング・ロジックをhealthcare integrationプロジェクトに組み込みます。Oracle B2Bでマップセットを作成する場合は、取引パートナ・アグリーメントに関連付けます。マップセットをエンドポイントまたはアグリーメントに関連付ける場合は、ドキュメント定義とメッセージ・フローがエンドポイントまたはアグリーメントと一致するマップセットのみ選択できます。

14.1.2 定義済マップセットとカスタム・マップセット

Oracle B2Bでは、Oracle Document EditorのMapBuilder機能を使用するかEdifecsが提供している事前定義済マップ・ファイルを購入することで、独自のカスタム・マップセットを作成できます。構築済マップには、HIPAA 4010メッセージをHIPAA 5010メッセージに変換するマップなど、Health Insurance Portability and Accountability Act (HIPAA)用のマップが含まれます。

14.2 Oracle B2Bコンソールでのマップセットの使用

HL7以外のデータ標準をマップするためのマップセットを作成する場合、または、healthcare integration機能ではなくOracle B2Bの機能を使用してマップセットを作成する場合は、Oracle B2Bコンソールを使用します。この機能を使用すると、たとえば、HIPAA 4010メッセージ・タイプをHIPAA 5010にマップできます。Oracle B2Bを使用してHL7メッセージをマップすることもできますが、Oracle SOA Suite for healthcare integrationのほうを使用することをお薦めします。

次の手順を実行して、マップセットをOracle B2B取引パートナ・アグリーメントに組み込みます。

- タスク3 Oracle B2Bコンソールでのマップセットの作成

- タスク3 マップセットと取引パートナ・アグリーメントの関連付け

- タスク3 Oracle B2Bコンソールでのマップセットの削除

14.2.1 Oracle B2Bコンソールでのマップセットの作成

この手順を開始する前に、Oracle B2Bコンソールにアクセスするコンピュータでマップ・ファイルが使用可能であることと、マッピングする両方の標準に必要なドキュメント定義がOracle B2Bですでに作成されていることを確認します。この3つのコンポーネントがないと、マップセットを作成できません。

Oracle B2Bでのドキュメント定義の操作の詳細は、第8章「ドキュメント・プロトコルの使用」を参照してください。

マップセットを作成するには

1. Oracle B2Bコンソールで「管理」をクリックし、それから「マップセット」タブをクリックします。

図14-1 Oracle B2Bコンソールの「マップセット」ページ

2. 「マップセット」ページで、「マップセットの追加」(プラスのボタン)をクリックします。
マップセット・リストに新しい行が表示されます。

3. 新しい行で、新しいマップセットの名前と簡単な説明を入力します。

4. 「マップ・ファイルの場所」フィールドの横にある「参照」をクリックします。

5. マップ・ファイルの場所を参照し、ファイルを選択して「開く」をクリックします。
選択したマップ・ファイルがロードされ、「ソース・ドキュメント定義」および「ターゲット・ドキュメント定義」フィールドに、マッピングのための適切なドキュメント定義が移入されます。

図14-2 Oracle B2Bコンソールで定義されているマップセット

注意:

Oracle B2Bにドキュメント定義が存在していない場合、この手順は失敗します。

6. 表示される確認ダイアログで「保存」、「OK」をクリックします。

14.2.2 マップセットと取引パートナ・アグリーメントの関連付け

マッピングをB2B処理ロジックに組み込むため、マップセットを取引パートナ・アグリーメントに関連付けます。取引パートナ・アグリーメントの詳細および操作方法は、第6章「取引パートナ・アグリーメントの作成とデプロイ」を参照してください。

始める前に:

必要なすべてのB2Bコンポーネントが作成および構成されていることを確認します。少なくとも、ドキュメント定義、取引パートナおよびマップセットについて確認します。

マップセットを取引パートナ・アグリーメントに関連付けるには:

1. Oracle B2Bコンソールで、右上の「パートナ」を選択します。
「パートナ」ページが表示されます。

2. 左側の「パートナ」パネルで、リモート取引パートナの名前を選択し、「アグリーメント」パネルで「新規アグリーメントの作成」ボタンをクリックします。
「アグリーメント」ページが表示されます。

3. 「変換」を選択解除します。

注意:

「変換」が選択されている場合は、エンドポイントのマップセットとともに使用するときに無視されます。マップセットがデータ変換を実行するため、変換は不要です。

4. 取引パートナおよびアグリーメントのドキュメント定義を選択します。ドキュメント定義では、取引パートナとの交換で使用するネイティブ形式を選択します。

5. 「マップセット」フィールドをクリックし、このアグリーメント用に作成したマップセットを選択します。

図14-3 Oracle B2Bの「マップセット」ページ

注意:

マップセットを使用するときに、選択したドキュメント定義がマップセット内でソースとターゲットのどちらになるかは、アグリーメントでのメッセージ・フローの方向によって決まります。上記の画像はアウトバウンド・メッセージを示しているため、選択したドキュメント定義(HIPAA 5010 837)がマップセットのターゲット・ドキュメント定義となり、HIPAA 4010 837メッセージがHIPAA 5010 837メッセージにマップされます。

6. 選択したマップセットの情報を表示するには、「マップセット詳細」をクリックします。
マップセットのサマリー情報を示すダイアログが表示されます。

図14-4 「マップセット詳細」ダイアログ

7. 第6章「取引パートナ・アグリーメントの作成とデプロイ」の説明のとおり、アグリーメントを構成します。

8. アグリーメントの構成が終了したら、「保存」をクリックし、表示された確認ダイアログで「OK」をクリックします。

9. アグリーメントを検証するには、「検証」をクリックします。

10. アグリーメントをアプリケーション・サーバーにデプロイする準備が整ったら、「デプロイ」をクリックします。

14.2.3 Oracle B2Bコンソールでのマップセットの削除

現在アグリーメントで使用されていないマップセットのみ削除できます。

Oracle B2Bコンソールでマップセットを削除するには:

1. Oracle B2Bコンソールで「管理」をクリックし、それから「マップセット」タブをクリックします。

2. 「マップセット」ページで、削除するマップセットを含む行を選択します。

3. 「マップセット」表で「マップセットの削除」(Xボタン)をクリックし、「削除の確認」ダイアログで「はい」をクリックします。

4. 確認ダイアログで「OK」をクリックします。

14.3 Oracle MapBuilderを使用した構成済マップの作成

Oracle Document Editorの一部としてインストールされるOracle MapBuilderアプリケーションを使用して、マップセット・ファイルを作成できます。

カスタム・マップセット・ファイルの作成の詳細は、Oracle MapBuilderのヘルプを参照してください。

15 データのパージ

この章では、Oracle B2Bインタフェースを使用して、設計メタデータおよびインスタンス・データをパージする方法について説明します。

この章では、次の項目について説明します。

- 第15.1項 設計メタデータおよびインスタンス・データのパージ

- 第15.2項 データベース・パーティションに基づくデータのパージ

パージするその他の方法は、次を参照してください。

- 第20章 B2Bコマンドライン・ツール

注意:

データをパージする前にアーカイブしておく必要があります。パージは元に戻せない操作です。最初に、重要なデータをアーカイブしていることを確認してください。

15.1 設計メタデータおよびインスタンス・データのパージ

設計メタデータおよびインスタンス・データをパージするには、Oracle B2Bインタフェースを使用します。設計メタデータには、パートナ・プロファイル・データ、識別子、ドキュメント定義、チャネルおよびアグリーメントが含まれています。このデータをパージする場合、インストールの一部である事前定義データ(ホスト取引パートナ名、プロトコルおよび識別タイプなど)はパージされません。インスタンス・データは、メッセージ処理の実行時に作成されます。インスタンス(実行時)データには、ビジネス・メッセージとメッセージ関連データが含まれています。

特定のインスタンス・データは、「レポート」リンクの「ビジネス・メッセージ」タブからパージできます。詳細は、第18.1.2項 メッセージのパージを参照してください。

パージでは、B2Bが資格証明ストアに作成するアーティファクト(パスワードなど)は削除されません。資格証明ストアの詳細は、Oracle Fusion Middlewareセキュリティ・ガイドを参照してください。

インスタンス・メッセージのパージでは、必要に応じて管理番号情報をパージできます。管理番号は、EDI (X12やEDIFACT)およびHL7のメッセージ標準で使用されます。B2Bは、インバウンド・メッセージおよびアウトバウンド・メッセージの管理番号を追跡します。アウトバウンド・メッセージの場合、管理番号は内部管理番号表から順番に生成されます。インスタンス・データと管理番号をパージすると、順序がリセット(管理番号表がリセット)されるため、パージ後のアウトバウンド・メッセージにはパージ前のメッセージと同じ管理番号が設定される場合があります。これが望ましくない場合は、管理番号をパージしないでください。

パージは、次の目的のために役立ちます。

- ディスク領域の管理およびパフォーマンスの向上

- テスト・システム上のリポジトリの削除

設計メタデータまたはインスタンス・データをパージするには:

1. 「管理」タブ、「パージ」タブの順にクリックします。

2. (インスタンス・データをパージする場合のオプション)「管理番号のパージ」を選択して、順序をリセットします。

3. 「設計メタデータのパージ」または「インスタンス・データのパージ」をクリックします(図15-1を参照)。

図15-1 設計メタデータまたはインスタンス・データのパージ

「設計メタデータのパージ」を選択すると、メッセージ「リポジトリからすべての設計メタデータを完全に削除しますか。」が表示されます。

「インスタンス・データのパージ」を選択すると、メッセージリポジトリからすべての実行時データを完全に削除しますか。が表示されます。

4. 「はい」をクリックします。

15.2 データベース・パーティションに基づくデータのパージ

Oracle B2Bでは、PURGE_INSTANCE_MSGS_AUDITプロシージャを使用して提供される条件に基づいて、B2Bの表からデータをパージできます。通常、Oracle B2BはB2B_BUSINESS_MESSAGE表を使用して、データベース・パーティションに基づくパージを実行します。

パーティションベースのパージは、次の条件によって制御します。

- p_startDate: パージするレコードの開始日。

- p_endDate: パージするレコードの終了日。

- p_msgState: ビジネス・メッセージの状態。

- p_tpName: 取引パートナ名(指定する場合、directionも指定する必要があります。)

- p_direction: メソッドの方向を示します。有効な値は次のとおりです。

- INBOUND

- OUTBOUND

- p_msgType: リクエスト・タイプを示します。有効な値は次のとおりです。

- REQ

- RESP

- p_tpaName: 取引パートナ・アグリーメント(TPA)の名前。

- p_idType: 送信者のID_TYPE。

- p_idVal: 送信者のID_VALUE。

- p_shouldArchive: パージするメッセージをアーカイブするかどうかを示します。有効な値は次のとおりです。

- true

- false

- p_force_del: データを強制的に削除するかどうかを示します。

- p_archiveFileName: アーカイブのファイル名。

- p_tpaId: TPA ID。

- p_action: 実行するEBMSアクション。

- p_service: 起動するEBMSサービス。

- p_docType: ドキュメント・タイプ。

- p_commitFrequency: 一括削除をコミットする頻度。デフォルト値は5000レコード/バッチです。

- p_auditId: auditIdに対して削除されたメッセージを追跡する監査ID。

- p_partitionMode: パーティションの処理方法を示します。有効な値は次のとおりです。

- DROP

- TRUNCATE

- STATEMENT

- p_logMode: ログ・レベル、およびロギングがコンソールベースまたはファイルベースのどちらであるかを示します。有効な値は次のとおりです。

- DEBUG

- INFO

- ERROR

- CONSOLE_DEBUG

- CONSOLE_INFO

- CONSOLE_ERROR

- p_rowLimit: 削除できるビジネス・メッセージ・レコードの最大数を示します。

- p_stop_time: パージ操作を完了する必要がある期限を示します。レコードの一括削除処理は、この期限が経過するまで続けられます。

- p_refreshMW: パージ後にb2b_systemマテリアライズド・ビューを完全にリフレッシュするかどうかを示します。デフォルトでは、パーティション・パージの完了時にのみ、パージがビューをリフレッシュします。有効な値は次のとおりです。

- true

- false

- null

- p_numOfRecordsPurged: 現在のパージで処理されたレコード数を示します。

Oracle B2Bには、パーティションベースでデータをパージできるb2bpurgeというコマンドライン・ユーティリティがあります。このユーティリティの詳細は、第20.3項「データのパージ」を参照してください。

16 リスニング・チャネルの構成

この章では、Oracle B2Bにメッセージを送信するリスニング・チャネルの作成方法について説明します。また、ドキュメント順序付けの構成方法についても説明します。

また、リスニング・チャネルは、メッセージをエンドポイントでリスニングします。内部としてマーク設定されたリスニング・チャネルは、内部ビジネス・アプリケーションで使用できます。リスニング・チャネルが外部チャネルとして使用されている場合は、任意の取引パートナがこのチャネルを使用して、Oracle B2Bにメッセージを送信できます。

この章には次のトピックが含まれます:

- 第16.1項 リスニング・チャネルおよびプロトコルの追加

- 第16.2項 トランスポート・プロトコルの使用

- 第16.3項 リスニング・チャネルの詳細の追加

- 第16.4項 リスニング・チャネルの構成

- 第16.5項 ドキュメント順序付けの構成

- 第16.6項 デフォルト・リスニング・チャネルの使用

16.1 リスニング・チャネルおよびプロトコルの追加

リスニング・チャネルはグローバルに使用されます。アグリーメントでリスニング・デリバリ・チャネルを選択する必要はありません。リスニング・チャネルは、取引パートナがインバウンド・メッセージをOracle B2Bに送信したり、バックエンド・ビジネス・アプリケーションがアウトバンド・メッセージをOracle B2Bに送信するために使用します。

リスニング・チャネルを追加する場合は、図16-1に示すように、そのチャネルが使用するプロトコルも指定します。

図16-1 リスニング・チャネルのプロトコルの追加

グローバル・リスニング・チャネルを使用することで、Oracle B2Bが取得するすべてのメッセージを1つのディレクトリに保持できます。この方法は、ファイル、FTPおよびSFTP (SSH FTP)交換で役立ちます。

表16-1では、Oracle B2Bでサポートされているリスニング・チャネル・プロトコルについて説明します。

表16-1 リスニング・チャネル・プロトコル

プロトコル

説明

AS1-1.0

Applicability Statement 1 (AS1)では、S/MIMEが提供され、電子メールを使用したデータの送信にSMTPが使用されます。セキュリティ、認証、メッセージ整合性およびプライバシは、暗号化とデジタル署名によって保証されます。メッセージの対象受信者がそのメッセージの受信を拒否できなくするには、非拒否を使用します。AS1はほとんどのタイプのデータを処理します。

Generic File-1.0、Generic AQ-1.0、Generic FTP-1.0、Generic SFTP-1.0、Generic JMS-1.0、Generic Email-1.0

汎用オプションを使用すると、メッセージをセキュリティ保護あり、またはセキュリティ保護なしで送信できます。Generic交換プロトコルでは、S/MIME 3.0ベースの署名や暗号化を含む、MIMEおよびS/MIMEがサポートされています。Genericプロトコルでは受信確認はサポートされていません(「確認モード」は「NONE」に設定する必要があります)。

16.2 トランスポート・プロトコルの使用

図16-2の「チャネルの詳細」領域に示すように、メッセージの送信に使用されるトランスポート・プロトコルは、選択するリスニング・チャネルによって決まります。

図16-2 チャネルの詳細: トランスポート・プロトコル

表16-2では、Oracle B2Bで使用可能なトランスポート・プロトコルについて説明します。

表16-2 Oracle B2Bで使用可能なトランスポート・プロトコル

プロトコル

説明

Email

AS1および電子メール・リスニング・チャネルに対して電子メールを使用します。

File

ファイル・トランスポートを使用すると、共有ファイル・ディレクトリからファイルを取得できます。

AQ

Oracle AQでは、双方向のセキュアな非同期通信が提供されます。アプリケーションの場所は透過的で、OCI、JDBC、PL/SQLなど、任意の数のOracle接続オプションを使用できます。XMLと非XMLの両方のメッセージ・ペイロードがサポートされています。

FTP

FTPでは、FTPを使用してアプリケーション間でのファイルの受渡しを可能にします。FTPはデフォルト・ポート21で稼働します。別のポートに変更するには、「制御ポート」フィールドに値を指定します。SSLを有効にするには、「チャネル・マスク」フィールドを使用します。デフォルトは「なし」(SSLなし)です。

SFTP

SFTPでは、SSH FTPを使用してファイルの受渡しを可能にします。SFTPはデフォルト・ポート22で稼働しますが、別のポートに変更することもできます。SFTPでは、パスワード認証と公開鍵認証の2つの認証モードがサポートされています。パスワード認証を使用するには、認証で使用するパスワードを指定します。公開鍵認証を使用するには、秘密鍵ファイルの場所を指定します。秘密鍵ファイルがパスフレーズで保護されている場合は、パスフレーズも指定する必要があります。

JMS

JMSを使用すると、アプリケーションは、Java Message Service (JMS)プロバイダ(Oracle WebLogic JMSおよびMQSeries JMS (IBM)などOracle以外のプロバイダを含む)によって管理されているキューおよびトピック間でメッセージを送受信できます。ユーザー名とパスワードを指定しない場合は、接続先が分散されていると、クラスタ環境も含めてローカルJNDIが使用されます。

Oracle B2Bでは、javax.jms.ObjectMessageはサポートされていません。

16.3 リスニング・チャネルの詳細の追加

リスニング・チャネルの詳細には、トランスポート・プロトコル・パラメータ、チャネル属性、交換プロトコル・パラメータおよびセキュリティ仕様が含まれます。

16.3.1 トランスポート・プロトコル・パラメータ

トランスポート・プロトコルでは、プロトコル・エンドポイントの所定の使用方法に固有のプロパティが定義されます。トランスポートの役割は、選択されているトランスポート・プロトコル、モード(同期または非同期)、サーバーおよびプロトコル・エンドポイント・アドレス(URIなどの取引パートナのアドレス)を使用して、メッセージを配信することです。表16-3では、トランスポート・プロトコル・パラメータについて説明するとともに、パラメータが適用されるプロトコルを記載します。

表16-3 トランスポート・プロトコル・パラメータ

プロトコル/パラメータ

説明

使用するプロトコル

アーカイブ・ディレクトリ

B2Bチャネルにより、処理済ファイルはこのディレクトリに移動されます。デフォルトでは、この処理は破壊的読取りです(処理済ファイルはエンドポイントから削除されます)。この場合、ファイルは指定されたパスに移動されます。

Generic File-1.0 (オプション)

Generic FTP-1.0 (オプション)

Generic SFTP-1.0 (オプション)

キャッシュ接続

有効にすると、ファイルの一覧表示や処理は同じセッションで実行されます(これに対して、デフォルトでは、一覧表示や処理は異なるセッションで実行されます)。

Generic FTP-1.0 (オプション)

チャネル・マスク

FTPに対してSSLを有効にするには、次のいずれかを入力します。

- Control: 制御チャネルを暗号化します。

- Data: データ・チャネルを暗号化します。

- Both: データ・チャネルおよび制御チャネルの両方を暗号化します。

デフォルトは「なし」(SSLなし)です。

Generic FTP-1.0 (オプション)

暗号スイート

SSLで定義された暗号セット。

Generic FTP-1.0 (オプション)

接続ファクトリ

接続ファクトリのJNDIロケーションまたはJavaクラス名をjms/b2b/B2BQueueConnectionFactoryのように指定します。

Generic JMS-1.0 (オプション)

コンシューマ

メッセージを受信するクライアント。

Generic AQ-1.0 (オプション)

コンテンツ・タイプ

電子メールで送信されるペイロードのコンテンツ・タイプ。デフォルトのコンテンツ・タイプはtext/plainで、他の例には、application/xmlやapplication/ediなどがあります。この値はデリバリ・チャネル(電子メール送信用)でのみ使用され、リスニング・チャネルでは使用されません。リスニング・チャネル側では、インテリジェンスがトランスポート・アダプタに組み込まれて様々なコンテンツ・タイプを処理するため、構成は必要ありません。

AS1-1.0 (オプション)

Generic Email-1.0 (オプション)

制御ポート

値を指定して、デフォルトのFTPポート値(21)を変更します。

Generic FTP-1.0 (オプション)

データ・ポート

有効なFTP接続では、このオプションを使用してFTPサーバーの静的/固定データ・ポートを構成します。

Generic FTP-1.0 (オプション)

データソース

AQキューにアクセスするためのJDBCデータソースのJNDI名。

Generic AQ-1.0 (オプション)

接続先名

JMS接続先名。

Generic JMS-1.0 (オプション)

接続先プロバイダ

B2Bが、リモート・サーバーで使用可能なJMSキューまたはJMSトピックに接続できるようにします。値には、ターゲット・サーバーへの接続に必要なJNDIプロパティを指定します。キー/値の各ペアのセパレータには、;(セミコロン)を使用します。

Generic JMS-1.0 (オプション)

電子メールID

メッセージ配信先の電子メール・アドレス(AQまたはJMSでのファイル・チャネルやキューのパスの指定と同じ)。

AS1-1.0 (必須)

Generic Email-1.0 (必須)

電子メール・サーバー

「IMAP」または「POP3」を選択します。

AS1-1.0 (必須)

Generic Email-1.0 (必須)

CCCの有効化

SSLセッションでの認証をB2Bで有効にし、プレーン・ソケット上で残りのファイル転送コマンドを実行します。

Generic FTP-1.0 (オプション)

マーカーの有効化

有効にすると、読取りまたは書込みの完了を示す、ソースと同じ名前の0バイトのファイルが作成されます。このファイルはソースと同じ名前ですが、拡張子はmarkerになります。

Generic File-1.0 (オプション)

Generic FTP-1.0 (オプション)

Generic SFTP-1.0 (オプション)

エンコーディング

インバウンド・ファイルのコンテンツの変換のためにB2Bで使用するエンコーディング。

Generic FTP-1.0 (オプション)

ファイル名フォーマット脚注1

次のファイル名フォーマットを使用できます。

%FROM_PARTY%
%TO_PARTY%
%DOCTYPE_NAME%
%DOCTYPE_REVISION%
%MSG_ID%
%TIMESTAMP%

次のファイル名フォーマットはebMSドキュメントでのみ使用できます。

%ACTIONNAME%

これらのフォーマットは、次の例に示すように、組み合せて使用できます。

%TO_PARTY%_%DOCTYPE_NAME%_%DOCTYPE_REVISION%.dat

これによって、Acme_4010_850.datのように指定されます。任意のファイル拡張子を使用できます。

後述の脚注を参照してください。

Generic File-1.0 (オプション)

Generic FTP-1.0 (オプション)

Generic SFTP-1.0 (オプション)

フロー・トレースEM URL

Oracle B2Bがあるドメインでホストされ、Oracle SOAコンポジット(Oracle JMSアダプタとJMSオプション)が別のドメインにデプロイされている場合(Oracle Enterprise Manager Fusion Middleware Controlが別のドメインにある)、Oracle B2Bにはコンポジットがデプロイされているドメインへのリンクを提供するメカニズムが必要です。ECIDに基づいてインスタンスのメッセージ・フローを追跡するために、このフィールドを使用してOracle SOAコンポジットのドメインURL詳細を指定します。

このプロパティの値を設定するための形式は次のとおりです。

http://<host>:<port>#<domain_name>#<domain_type>

Oracle Enterprise Manager Fusion Middleware Controlでb2b.flowTraceEMURLプロパティを設定して、このURL詳細を指定することもできます。

このURLは、Oracle B2B Application Messageレポートの個々のメッセージの「フローのトレース」リンクとして使用できます。

「フローのトレース」リンクの作成時、Oracle B2Bはまずチャネル・レベルで値が指定されているかどうかを確認します。値が存在する場合は、その値を使用してURLリンクが作成されます。値が存在しない場合、Oracle B2BはOracle Enterprise Manager Fusion Middleware Controlでb2b.flowTraceEMURLが設定されているかどうかを確認します。設定されている場合、そのプロパティ値を使用してURLリンクが作成されます。値が両方とも設定されていない場合、デフォルトでは、Oracle B2Bはコンポジットがローカル・ドメインで使用可能であると想定して、URLリンクを作成します。

Generic JMS-1.0 (オプション)

フォルダ

絶対ディレクトリ・パスをお薦めします。

AS1-1.0 (オプション)

Generic Email-1.0 (オプション)

フォルダ名

絶対ディレクトリ・パスをお薦めします。

Generic File-1.0 (必須)

Generic FTP-1.0 (必須)

ヘッダー・ファイルの拡張子

汎用ファイル転送プロトコルを使用してメッセージを転送する際、Oracle B2Bでメッセージを処理するには特定の必須メッセージ・ヘッダーが必要です。ファイル名フォーマットまたはディレクトリ名フォーマットを使用して、すべての必須ヘッダーを指定する必要があります。Oracle B2Bにはファイル名およびディレクトリ名フォーマットに関する制限はありませんが、オペレーティング・システムでファイル名またはディレクトリ名の長さが制限されていることがあります。たとえば、Microsoft Windowsではファイル名またはディレクトリ名の上限は260文字です。

このため、ビジネス・メッセージ・ヘッダー(CPAID、SERVICE、FROM/TO Partyなど)をそれぞれのペイロード・ファイルのプロパティ・ファイルから読み取る必要があります。オペレーティング・システムのファイル名またはディレクトリ名の長さ制限により、メッセージ・ヘッダーをファイル名またはディレクトリ名の一部にすることができないためです。

汎用ファイル転送プロトコルの場合、パートナに送信されるすべてのアウトバウンド・メッセージ・ペイロード・ファイルは、同一ディレクトリに対応するプロパティ・ファイル(特定のペイロードにヘッダーを使用することを指示する)が必要です。Oracle B2Bは汎用ファイル・リスニング・チャネルの構成に基づいてペイロード・ファイルを選択し、プロパティ・ファイル(ペイロード・ファイルと同じ場所にあり、ペイロード・ファイルと同じ名前ですが、拡張子は.propertiesなどのように異なります)を読み取ります。

例:

- ペイロード・ファイル名: acme_purchaseorder_123.xml

- プロパティ・ファイル名: acme_purchaseorder_123.properties

Oracle B2Bは構成済フォルダでリスニングし、ペイロード・ファイルを選択して、それぞれのプロパティ・ファイルを選択します。プロパティ・ファイルを読み取って、ペイロードに必要なすべてのヘッダーを設定します。その後、ペイロードに指定されたプロパティに基づいて、Oracle B2Bはメッセージを処理します。

注意: Oracle B2Bでペイロード・ファイルを使用できるようにする前に、フォルダにペイロード・ファイルが存在することが重要です。

このフィールドで、プロパティ・ファイルの拡張子を指定します。

メッセージ・ヘッダー・プロパティは、付録E「バックエンド・アプリケーションのインタフェース」の表E–1に表示されているとおりにJMSプロパティにマップされます。

Generic File-1.0 (オプション)

ホスト名

メッセージを交換する、取引パートナのトランスポートまたは電子メール・サーバー。

AS1-1.0 (必須)

Generic AQ-1.0 (オプション)

Generic FTP-1.0 (必須)

Generic SFTP-1.0 (必須)

Generic Email-1.0 (必須)

バイナリ

メッセージをバイナリ・コンテンツで処理します。この場合、変換および検証は実行されません。アグリーメントは、ファイルの命名規則に基づいて識別されます。

このパラメータは、Generic File-1.0、Generic FTP-1.0およびGeneric SFTP-1.0のB2Bインタフェースに表示されますが、これらのプロトコルでは使用できません。

ペイロードのみマップ

Javax.jms.MapMessageタイプのJMSメッセージの一部として、ペイロードのみを送信することを示します。

Generic JMS-1.0 (オプション)

トピック

JMSがトピック(キューではなく)と通信することを示す場合に選択します。

Generic JMS-1.0 (オプション)

VANメールボックス

有効にすると、B2BではエンドポイントをVANメールボックスとして処理し、それに応じた処理を行います。

Generic FTP-1.0 (オプション)

メッセージ・タイプ

JMSメッセージ・タイプBYTES、TEXTまたはMAPを選択します。

Generic JMS-1.0 (オプション)

最小経過時間

エンドポイントに送信されるファイルは、入力された時間(ミリ秒単位)の経過後に処理されます。

Generic File-1.0 (オプション)

Generic FTP-1.0 (オプション)

Generic SFTP-1.0 (オプション)

パスフレーズおよびパスフレーズの確認

秘密鍵ファイルの場所を入力し、その秘密鍵ファイルをパスフレーズで保護する場合は、パスフレーズを入力します。

Generic SFTP-1.0 (オプション)

パスワードおよびパスワードの確認

パスワード認証を使用するには、認証で使用するキー・ストアのパスワードを指定します。

AS1-1.0 (オプション)

Generic AQ-1.0 (オプション)

Generic FTP-1.0 (オプション)

Generic SFTP-1.0 (オプション)

Generic JMS-1.0 (オプション)

Generic Email-1.0 (オプション)

パス

メッセージを送受信する絶対ディレクトリ・パス。

Generic SFTP-1.0 (必須)

ポーリング間隔

Oracle B2Bがインバウンド・メッセージについてサーバーをポーリングする間隔(秒単位)。

AS1-1.0 (オプション)

Generic File-1.0 (オプション)

Generic AQ-1.0 (オプション)

Generic FTP-1.0 (オプション)

Generic SFTP-1.0 (オプション)

Generic JMS-1.0 (オプション)

Generic Email-1.0 (オプション)

ポート番号

AQはデフォルト・ポート1521で稼働します。

SFTPはデフォルト・ポート22で稼働しますが、別のポートに変更することもできます。

FTPはデフォルト・ポート21で稼働します。このポート番号は表示されません。このポート番号の変更方法は、制御ポートの説明を参照してください。

Generic AQ-1.0 (オプション)

Generic SFTP-1.0 (必須)

ファイル名の保持

ファイル名が保持されます。

Generic File-1.0 (オプション)

Generic FTP-1.0 (オプション)

Generic SFTP-1.0 (オプション)

秘密鍵

公開鍵認証を使用するには、秘密鍵ファイルの場所を指定します。秘密鍵ファイルがパスフレーズで保護されている場合は、パスフレーズも指定する必要があります。

Generic SFTP-1.0 (オプション)

キュー名

AQキュー名。

Generic AQ-1.0 (オプション)

受信者

AQキューへのメッセージの配信時に使用する値。たとえば、受信者をtestuserに設定した場合は、testuserという名前のコンシューマ(送信側では受信者ですが、リスニング側ではコンシューマになります)のみがメッセージを使用できます。

Generic AQ-1.0 (オプション)

添付ファイルとして送信

有効にすると、ペイロードがメッセージ本文である通常の配信ではなく、メッセージ(ペイロード)が電子メール添付ファイルとして送信されます。

このパラメータは、AS1-1.0およびGeneric Email-1.0のB2Bインタフェースに表示されますが、これらのプロトコルでは使用できません。

SID

Oracleデータベースを識別するためのシステムID。

Generic AQ-1.0 (オプション)

件名

電子メール・メッセージの件名ヘッダー。

このパラメータは、AS1-1.0およびGeneric Email-1.0のB2Bインタフェースに表示されますが、これらのプロトコルでは使用できません。

サブスクライバID

JMSサブスクライバIDは、JMSがトピックと通信する場合に必要です。

Generic JMS-1.0

転送タイプ

「バイナリ」または「ASCII」のファイル転送モードを選択します。

Generic FTP-1.0 (オプション)

JMS IDの使用

B2BメッセージIDにJMSメッセージIDを使用します。その結果、JMSレベルで相関が容易になります。

Generic JMS-1.0 (オプション)

プロキシの使用

プロキシ・サーバーを使用する場合は、このオプションを選択します。

Generic FTP-1.0 (オプション)

Generic SFTP-1.0 (オプション)

ユーザー名

ターゲット・サーバーに接続するためのユーザー名(ログイン名)。B2Bは構成済のJNDIデータソースを使用してキューに接続できるため、AQとJMSの場合、この値はオプションです。

AS1-1.0 (必須)

Generic AQ-1.0 (オプション)

Generic FTP-1.0 (必須)

Generic SFTP-1.0 (必須)

Generic JMS-1.0 (オプション)

Generic Email-1.0 (必須)

脚注1ファイル・チャネルまたはFTPチャネルでは、filename formatが設定されている場合、directory name formatは無視されます。

16.3.2 チャネル属性

チャネルとは、ホスト取引パートナのホスト・アプリケーションとそのインストール間の通信インタフェースです。表16-4では、チャネル属性について説明するとともに、属性が適用されるプロトコルを記載します。

表16-4 チャネル属性

プロトコル/パラメータ

説明

使用するプロトコル

確認モード

取引パートナがメッセージを受信するモードとして「同期」、「非同期」または「なし」を選択します。すべての汎用交換に対して「なし」を選択します。

このパラメータは、AS1-1.0のB2Bインタフェースに表示されますが、このプロトコルでは使用できません。

説明

説明(オプション)を入力します。

AS1-1.0 (オプション)

Generic File-1.0 (オプション)

Generic AQ-1.0 (オプション)

Generic FTP-1.0 (オプション)

Generic SFTP-1.0 (オプション)

Generic JMS-1.0 (オプション)

Generic Email-1.0 (オプション)

チャネルの有効化/チャネルの無効化

チャネルとは、ホスト取引パートナのホスト・アプリケーションとそのインストール間の通信インタフェースです。

AS1-1.0 (必須)

Generic File-1.0 (必須)

Generic AQ-1.0 (必須)

Generic FTP-1.0 (必須)

Generic SFTP-1.0 (必須)

Generic JMS-1.0 (必須)

Generic Email-1.0 (必須)

内部

このオプションは、ホスト取引パートナの企業に対してチャネルが内部の場合に選択します。

AS1では、この機能は使用できません。

Generic File-1.0 (オプション)

Generic AQ-1.0 (オプション)

Generic FTP-1.0 (オプション)

Generic SFTP-1.0 (オプション)

Generic JMS-1.0 (オプション)

Generic Email-1.0 (オプション)

レスポンス・モード

「同期」、「非同期」または「なし」を選択します。

このパラメータは、AS1-1.0のB2Bインタフェースに表示されますが、このプロトコルでは使用できません。

再試行数

Oracle B2Bでメッセージの送信を再試行する回数。

このパラメータは、AS1-1.0、Generic File-1.0、Generic AQ-1.0、Generic FTP-1.0、Generic SFTP-1.0、Generic JMS-1.0およびGeneric Email-1.0のB2Bインタフェースに表示されますが、これらのプロトコルでは使用できません。

再試行間隔

Oracle B2Bがメッセージの再送信を試行する間隔(秒単位)。間隔が2分の場合、HH:MM:SSタイムスタンプは次のように増分されます。送信タイムスタンプが3:42:58の場合、42分に2分が増分されるため、3:44:00に送信が再試行されます。その後の再試行は2分間隔で実行されます。その後の再試行は2分間隔で実行されます。

確認のプロトコルの場合、B2Bは確認を待ちます(以前は確認所要時間パラメータと呼ばれていました)。受信されないと、再試行間隔の設定によってB2Bで再試行されます。

このパラメータは、AS1-1.0、Generic File-1.0、Generic AQ-1.0、Generic FTP-1.0、Generic SFTP-1.0、Generic JMS-1.0およびGeneric Email-1.0のB2Bインタフェースに表示されますが、これらのプロトコルでは使用できません。

トランスポート・コールアウト

インバウンド・メッセージの場合、B2Bは、トランスポートからメッセージを受信した直後にトランスポート・コールアウトを呼び出します。アウトバウンド・メッセージの場合、B2Bは、トランスポートにメッセージを送信する直前にトランスポート・コールアウトを呼び出します。

AS1-1.0 (オプション)

Generic File-1.0 (オプション)

Generic AQ-1.0 (オプション)

Generic FTP-1.0 (オプション)

Generic SFTP-1.0 (オプション)

Generic JMS-1.0 (オプション)

Generic Email-1.0 (オプション)

16.3.3 交換プロトコル・パラメータ

交換プロトコルでは、ヘッダー、確認、およびヘッダーとペイロードをまとめるパッケージング(メッセージ交換メカニズム)が定義されます。また、署名および圧縮も定義されます。表16-5では、交換プロトコル・パラメータについて説明するとともに、パラメータが適用されるプロトコルを記載します。

表16-5 交換プロトコル・パラメータ

プロトコル/パラメータ

説明

使用するプロトコル

署名および圧縮済

選択した場合、メッセージは最初に署名され、その後、圧縮されます。選択しない場合には、メッセージは最初に圧縮され、その後、署名されます。

AS1-1.0 (オプション)

16.3.4 セキュリティ・パラメータ

セキュリティ・パラメータは、AS1-1.0プロトコルのB2Bインタフェースに表示されますが、すべてのプロトコルにおいて使用できません。表16-6で説明します。

表16-6 セキュリティ・パラメータ(リスニング・チャネル・プロトコルでは使用不可)

プロトコル/パラメータ

説明

使用するプロトコル

確認署名済

応答者が必ずメッセージの受信を確認するようにするには、このオプションを選択します。何も指定する必要はありません。

このパラメータは、AS1-1.0のB2Bインタフェースに表示されますが、このプロトコルでは使用できません。

デジタル署名

「メッセージ署名済」が選択されている場合、次のいずれかを選択します。

SMIME 3.0 with MD5 - RSA

SMIME 3.0 with SHA1 - RSA

このパラメータは、AS1-1.0のB2Bインタフェースに表示されますが、このプロトコルでは使用できません。

暗号化

「メッセージ暗号化済」が選択されている場合、次のいずれかを選択します。

SMIME 3.0 with DES

SMIME 3.0 with 3DES

SMIME 3.0 with RC2-40

SMIME 3.0 with RC2-64

SMIME 3.0 with RC2-128

このパラメータは、AS1-1.0のB2Bインタフェースに表示されますが、このプロトコルでは使用できません。

メッセージ暗号化済

メッセージの暗号化を有効にするには、このオプションを選択します。このオプションは、「暗号化」フィールドで暗号化スキーマを選択することを要求します。

このパラメータは、AS1-1.0のB2Bインタフェースに表示されますが、このプロトコルでは使用できません。

メッセージ署名済

「デジタル署名」フィールドでデジタル署名のいずれかを指定するには、このオプションを選択します。

このパラメータは、AS1-1.0のB2Bインタフェースに表示されますが、このプロトコルでは使用できません。

16.4 リスニング・チャネルの構成

リスニング・チャネルを構成するには、リスニング・チャネル・プロトコルを追加し、次に、選択したチャネル・プロトコルに基づいて、トランスポート・プロトコル・パラメータ、チャネル属性、交換プロトコル・パラメータおよびセキュリティ・パラメータを追加します。

リスニング・チャネル・プロトコルを追加するには:

1. 「管理」リンクをクリックします。

2. 「リスニング・チャネル」タブをクリックします。

3. 「追加」をクリックします。

4. リスニング・チャネルの名前を指定します。

5. プロトコルを選択します。
図16-3に、プロトコルのリストを示します。

図16-3 リスニング・チャネル・プロトコルの追加

プロトコルの説明は、表16-1を参照してください。

「チャネルの詳細」の下に表示されるトランスポート・プロトコルは、手順5で選択したプロトコルに基づきます。

6. 「保存」をクリックします。

トランスポート・プロトコル・パラメータを追加するには:

1. 「トランスポート・プロトコル・パラメータ」タブをクリックします。

2. チャネル/トランスポート・プロトコルに基づいて、トランスポート・プロトコル・パラメータを指定します。
表16-3では、トランスポート・プロトコル・パラメータ(アルファベット順に表示されています)およびパラメータが適用されるプロトコルについて説明します。

3. 「保存」をクリックします。

チャネル属性を追加するには:

1. 「チャネル属性」タブをクリックします。

2. 選択したチャネル/トランスポート・プロトコルに基づいて、チャネル属性を指定します。
表16-4では、チャネル属性(アルファベット順に表示されています)および属性が適用されるプロトコルについて説明します。

3. 「保存」をクリックします。

交換プロトコル・パラメータを追加するには:

1. 「交換プロトコル・パラメータ」タブをクリックします。

2. 選択したチャネル/トランスポート・プロトコルに基づいて、交換プロトコル・パラメータを指定します。
表16-5では、交換プロトコル・パラメータ(アルファベット順に表示されています)および属性が適用されるプロトコルについて説明します。

3. 「保存」をクリックします。

16.5 ドキュメント順序付けの構成

取引パートナに直接接続しているAQまたはJMSのリスニング・チャネルのドキュメント順序付けを有効にするには、2つのオプションを使用できます。

- インバウンド・メッセージの順序付けが必要な場合、取引パートナはシーケンス・ターゲットを付けてメッセージを送信できます。

- ホスト取引パートナは、取引パートナに直接接続しているAQまたはJMSのリスニング・チャネルで順序付けオプションを有効にして、インバウンド・メッセージに順序を付けることができます。この場合、シーケンス・ターゲットとしてキュー名を選択します。

両方の順序付けオプションを有効にした場合、最初のオプションが優先されることに注意してください。

取引パートナ・チャネルでの順序付けの詳細は、第5.5.4項 メッセージの順序付けを参照してください。

16.6 デフォルト・リスニング・チャネルの使用

Oracle B2Bは、デフォルト・リスニング・チャネルのセットを提供します。

Oracle B2Bが提供するデフォルトの外部リスニング・チャネルは、すべてHTTPチャネルです。次に、デフォルトの外部リスニング・チャネルを示します。

- httpReceiver: HTTPメッセージの受信に使用します。チャネルを使用するには、http://<hostname>:<port>/b2b/httpReceiverにアクセスします。hostnameはOracle SOA Suiteを実行しているコンピュータの名前、portはOracle B2Bがリスニングするチャネル(通常は8001)です。

- syncReceiver: 同期HTTPリクエスト・メッセージの受信に使用します。チャネルを使用するには、http://<hostname>:<port>/b2b/syncReceiverにアクセスします。hostnameはOracle SOA Suiteを実行しているコンピュータの名前、portはOracle B2Bがリスニングするチャネル(通常は8001)です。

- sequenceReceiver: HTTPリクエスト・メッセージを順番に受信するために使用します。チャネルを使用するには、http://<hostname>:<port>/b2b/sequenceReceiverにアクセスします。hostnameはOracle SOA Suiteを実行しているコンピュータの名前、portはOracle B2Bがリスニングするチャネル(通常は8001)です。

- calloutReceiver: コールアウトの有効化に使用します。チャネルを使用するには、http://<hostname>:<port>/b2b/calloutReceiverにアクセスします。hostnameはOracle SOA Suiteを実行しているコンピュータの名前、portはOracle B2Bがリスニングするチャネル(通常は8001)です。

また、Oracle B2Bは、次のようなデフォルトの内部リスニング・チャネルを提供します。

- ファブリックの場合: コンポジットがデプロイされている場合、チャネルはそのコンポジットからメッセージを選択します。

- JMSの場合: Oracle B2Bコンソールの「管理」ページの「構成」タブでデフォルトとしてJMSが指定されている場合、Oracle B2BチャネルはB2B_OUT_QUEUEからのメッセージをリスニングし、選択します。

- AQの場合: デフォルトとしてJMSが指定されていない場合、IP_OUT_QUEUEからのメッセージを選択します。

17 B2Bシステム・パラメータの構成

この章では、Oracle B2Bインタフェースの「構成」タブにある構成設定にアクセスする方法について説明します。

「構成」タブの設定によって、Oracle Enterprise Manager Fusion Middleware Controlコンソールで構成されたプロパティ設定がオーバーライドされます。Oracle Enterprise Manager Fusion Middleware Controlコンソールで設定するプロパティの詳細は、付録D「Fusion Middleware ControlでのB2B構成プロパティの設定」を参照してください。

この章には次のトピックが含まれます:

- 第17.1項 構成パラメータの設定

17.1 構成パラメータの設定

表17-1に、Oracle B2Bインタフェースで使用可能な構成設定を示します。

表17-1 Oracle B2Bインタフェースの構成パラメータ

表17-1では、構成パラメータについて説明します。

表17-1 構成設定

フィールド

説明

確認

-

B2Bによって処理される機能確認

機能確認の処理方法を指定するには、このプロパティをtrueまたはfalseに設定します。

「true」に設定すると、B2Bでは、インバウンドEDIの機能確認(FA)メッセージとHL7メッセージが自動生成されます。インバウンドFAメッセージが使用されるのは、このオプションがtrueの場合です。

このオプションを「false」に設定すると、B2BではFAドキュメントが自動生成されません。バックエンド・アプリケーション(ミドルウェア)がFAを生成し、アウトバウンド・メッセージとしてB2Bに提供する必要があります。このオプションを「false」に設定すると、インバウンドFAドキュメントはバックエンド・アプリケーションに戻されます。

(アグリーメント・レベルの設定が示すとおり)ドキュメントにFAが必要ない場合、このオプションは無視されます。このプロパティのデフォルト値はtrueです。

アグリーメントでFAが必要とマーク付けされている場合、メッセージはMSG_WAIT_FAの状態になり、バックエンド・アプリケーションはFAを生成し、それをパートナに返すアウトバウンド・メッセージとしてFAをB2Bに送信する必要があります。

詳細は、付録D.1「Fusion Middleware Controlで設定するプロパティ」を参照してください。

「B2Bによって処理される機能確認」をfalseに設定する場合は、バックエンド・アプリケーションに送信するインバウンドFAに対する「インバウンド機能確認の通知」もfalseに設定する必要があります。(「B2Bによって処理される機能確認」がfalseに設定されているときに)「インバウンド機能確認の通知」をtrueに設定すると、着信997 (FAドキュメント)によって通知のみが生成され、着信997自体はバックエンド・アプリケーションに戻されません。

バックエンド・アプリケーションからのFAの生成時に、次の制限が適用されます:

- FAは、エンキュー・プロパティに設定したReferToMsgID値に基づいて、元のメッセージと相関付けられます。管理番号に基づいて相関付けられる場合もあります。

- FAに、受信したメッセージにエラーがあったことが示されている場合でも、相関メッセージの状態は、エラーを示すように更新されません。相関メッセージはMSG_COMPLETEに更新されます。

これらの制限は、FAがB2Bによって生成される場合(つまり、このプロパティがtrueに設定されている場合)は適用されません。

機能確認の内部プロパティ

EDIトランザクションの機能確認XMLの内部プロパティ構造を生成します。ドキュメント・タイプ997 (X12用)またはCONTRL (EDIFACT用)が存在している必要があります。

デフォルト値は「false」で、機能確認では元のメッセージ内部プロパティが使用されることを意味します。

「true」の場合、B2Bで自動生成されたFAメッセージには、元のメッセージの交換/グループ・エンベロープ情報が含まれます。生成したFAの交換およびグループIDを送信者と受信者の間で入れ替えるには、このプロパティをtrueに設定します。

テスト使用インジケータ・パラメータもマップされます。つまり、テスト・メッセージとして設定されたインバウンド・メッセージでは、フラグがテスト・メッセージに設定されたFAが生成されます。このプロパティをtrueに設定すると、デフォルトで、ISAセグメントの要素はマップされません(1-4)。

インバウンド受信確認の通知

trueに設定すると、交換確認の受信時に、B2Bによって確認通知がアプリケーションに送信されます。

インバウンド機能確認の通知

trueに設定すると、機能確認の受信時に、B2Bによって確認通知がアプリケーションに送信されます。

「B2Bによって処理される機能確認」をfalseに設定する場合は、バックエンド・アプリケーションに送信するインバウンドFAに対する「インバウンド機能確認の通知」もfalseに設定する必要があります。(「B2Bによって処理される機能確認」がfalseに設定されているときに)「インバウンド機能確認の通知」をtrueに設定すると、着信997 (FAドキュメント)によって通知のみが生成され、着信997自体はバックエンド・アプリケーションに戻されません。

その他

-

デフォルトの取引パートナ

取引パートナ・アグリーメントの識別に失敗した場合は、この取引パートナにデフォルト設定されます。HL7ドキュメントで使用されます。

相関の無視

取引パートナからの確認を受信すると、その確認は送信者の実際のビジネス・メッセージに相関付けされます。相関付けに失敗すると、例外が生成されて確認処理が停止します。相関を無視して確認を処理するには、このプロパティをtrueに設定します。

追加のMIMEタイプ

ebXML交換のためにB2BがサポートしているデフォルトのMIMEタイプに加えて、添付(追加のMIMEタイプ)を指定する場合に使用します。デフォルトでB2Bがサポートしているのは、text/plain : image/jpeg: text/xml : application/xml : application/octet-stream : application/EDIFACT : application/EDI-X12 : application/jpg : application/gzip : application/x-gzip : application/pkcs7-signatureです。

ペイロードをログに記録

trueの場合は、ペイロードが診断ログに記録されます(ログ・レベルの設定によっても異なります)。デフォルトでは、エラー・メッセージが記録されます。ペイロード・ロギングは診断目的では有用ですが、セキュリティの理由から望ましくない場合があります。デフォルト値はfalseです。

エラー発生時に再接続

trueに設定すると、最初のエンキューの失敗時に、AQアダプタによってエンキュー操作が再試行されます。このパラメータはこのリリースでは使用できません。

HTTPヘッダー・デリミタ

複数のHTTPヘッダーを区切るデリミタ。HTTPヘッダーは、デリバリ・チャネル構成の「追加トランスポート・ヘッダー」フィールドで指定します。

メッセージへの返信をリクエストとして扱う

対話メッセージをリクエスト・メッセージとみなすことを示すためにebMSで使用されます。

一般メッセージ・タイプ

このプロパティを有効化(trueに設定)すると、B2Bでは最初に特定のメッセージ・タイプのアグリーメントが検索され、次に一般メッセージ・タイプが検索されます。デフォルト値はfalseです。

その他(続き)

-

アウトバウンド・ディスパッチャ数

アウトバウンド・メッセージの処理で使用するディスパッチャ数。MLLPのメッセージ順序付けで使用します。デフォルト値は0 (ゼロ)です。

インバウンド・ディスパッチャ数

インバウンド・メッセージの処理で使用するディスパッチャ数。MLLPのメッセージ順序付けで使用します。デフォルト値は0 (ゼロ)です。

自動スタック・ハンドラ

MLLPのスタックで使用されます。trueの場合、スタック・ハンドラによって、スタックされたメッセージが自動モードで処理されます。デフォルト値はfalseです。

自動スタック・ハンドラ間隔

MLLPのスタックで使用されます。スタック・ハンドラがスタックされたメッセージを処理する時間間隔(秒単位)をカンマ区切りの値で入力します。デフォルト値は1です。

部分バッチ・コミット・サイズ

大きなトランザクション・セットを持つEDIメッセージのバッチ解除の間に使用されます。失敗した場合にエラーになりやすい単一コミットを使用するかわりに、この機能を使用すると、部分的なバッチ・コミット・サイズを指定できます。たとえば、部分バッチ・コミット・サイズを10にすると、10トランザクションより多いエンベロープの場合、B2Bは10トランザクション・セットごとに異なるコミットを呼び出します。

例外キュー

ホスト取引パートナが例外キューとして使用するJMS内部デリバリ・チャネルを選択します。このパラメータのNULLデフォルト値は、「JMSキューをデフォルトとして使用」がtrueに設定されている場合はJMSキュー(B2B_IN_QUEUE)に例外が送信され、「JMSキューをデフォルトとして使用」がfalseに設定されている場合はAQキュー(IP_IN_QUEUE)に例外が送信されることを意味します。

AQキューは、カスタム例外キューとしての使用はサポートされていません。

BAMの有効化

B2BによるOracle BAMへのランタイム情報の送信を有効にします。詳細は、第25章「Oracle BAMによるインスタンス・メッセージ・データの監視」を参照してください。

BAMポーリング間隔

Oracle BAMのポーリング間隔です(分単位)。詳細は、第25章「Oracle BAMによるインスタンス・メッセージ・データの監視」を参照してください。

パージ不可

パージ不可のパラメータの値は、メタデータ・リポジトリのパージが起動した後も保持されます。

JMSキューをデフォルトとして使用

このオプションをtrueに設定すると、B2BではJMSキューB2B_OUT_QUEUEでアウトバウンド・メッセージについてポーリングが開始され、すべてのインバウンド・メッセージがB2B_IN_QUEUEに配信されます。IP_OUT_QUEUEでのポーリングは停止されます。

このオプションをfalse (デフォルト)に設定すると、B2BではAQキューIP_OUT_QUEUEでアウトバウンド・メッセージについてポーリングが開始され、すべてのインバウンド・メッセージがIP_IN_QUEUEに配信されます。B2B_OUT_QUEUEでのポーリングは停止されます。Oracle以外のデータベースが使用されているためにAQキューが使用できない場合は、このオプションの設定にかかわらずJMSキューが使用されます。

「例外キュー」からキューを選択した場合、例外メッセージは設定したそのキューに送信されます。「JMSキューをデフォルトとして使用」の設定によっては、デフォルト・キューが他のメッセージに対して引き続き有効になります。

「JMSキューをデフォルトとして使用」の値をメタデータ・リポジトリのパージ前にtrueに設定した場合、パージ後も値はtrueのままとなり、デフォルト値のfalseには戻りません。

コールアウト・ディレクトリ

デフォルトのコールアウトを使用しない場合は、コールアウトJARファイルの場所についてディレクトリを指定します。コールアウト・ディレクトリ・パスの末尾に/または\は使用できません。

デフォルトのファイルの場所/MyCalloutDirは、メタデータ・リポジトリのパージ後も維持されます。

SMTPホスト

AS1交換の取引パートナにネガティブMDNを送信するために、企業内のSMTPサーバーのホスト名を指定します。

Webサービス・ポリシー

Webサービスを保護するためのセキュリティ・ポリシーを指定します。セキュリティ・ポリシーのURIのみ、または完全な<policy>タグを入力します。例:

oracle/wss_username_token_service_policy

このフィールドの使用の詳細は、21.5項「Oracle B2B Webサービスの保護」を参照してください。

パフォーマンス

-

大きなペイロード・サイズ

大きなペイロード・サイズをバイト単位で指定します。デフォルト値は2,000,000 (2MG)です。

大きなペイロード・ディレクトリ

デフォルトのディレクトリは/tmpです。Windowsベースのシステムでは、ディレクトリを適切なディレクトリ(C:\tempなど)に変更します。

UI

-

ペイロードの表示

「レポート」タブからアクセスできるレポートに、ペイロードを表示できます。trueに設定すると、デフォルトの検索パラメータを使用してデータベースが自動的に検索され、結果が表示されます。

自動検索の有効化

「レポート」タブからアクセスできるレポートで自動検索を有効化します。デフォルト値はtrueです。falseに設定すると、「検索」ボタンをクリックするまでレポート・ページには結果表が表示されません。

ペイロード表示サイズ

デフォルト値は1,048,576 KBです。このパラメータ(バイト単位)は、インタフェースで構成されている値よりサイズが小さいペイロードのみ表示する場合に使用します。

構成パラメータを設定するには:

1. 「管理」リンクをクリックします。

2. 「構成」タブをクリックします。

3. 表17-1の説明に従って、構成パラメータの値を指定します。

4. 「保存」をクリックします。

第IV部

レポートとメトリック

この部には次の章が含まれます:

- 第18章 レポートの作成

- 第19章 B2Bメトリックの使用

18 レポートの作成

この章では、デプロイされたデータの実行時動作のリアルタイム・ステータスを示すOracle B2Bのレポートについて説明します。ビジネス・メッセージ・レポート、ワイヤ・メッセージ・レポート、アプリケーション・メッセージ・レポート、エラー・レポートおよび対話レポートについて説明します。

この章では、次の項目について説明します。

- 第18.1項 レポートの概要

- 第18.2項 ビジネス・メッセージ・レポートの作成

- 第18.3項 ワイヤ・メッセージ・レポートの作成

- 第18.4項 アプリケーション・メッセージ・レポートの作成

- 第18.5項 エラー・レポートの作成

- 第18.6項 対話レポートの作成

18.1 レポートの概要

実行時リポジトリのデータを検索するには、「レポート」リンクを使用します。保存済検索の機能は使用できません。

検索では、次のメッセージ・タイプを使用できます。

- ビジネス・メッセージ: 第18.2項 ビジネス・メッセージ・レポートの作成を参照してください

- ワイヤ・メッセージ: 第18.3項 ワイヤ・メッセージ・レポートの作成を参照してください

- アプリケーション・メッセージ: 第18.4項 アプリケーション・メッセージ・レポートの作成を参照してください

- エラー・メッセージ: 第18.5項 エラー・レポートの作成を参照してください

- 対話メッセージ: 第18.6項 対話レポートの作成を参照してください

注意:

クラスタ環境で、システム・タイムスタンプがクラスタ内のすべてのノードに対して同期化されていない場合は、誤りと思われるメッセージ・タイムスタンプが表示される可能性がありますが、実際は誤りではありません。たとえば、非同期のマルチノードのクラスタがあるとします。あるノードでアウトバウンド・メッセージを受信し、別のノードからリプライを送信すると、レポートにはメッセージの受信が午前4時と表示され、確認の送信は午前3時55分と表示される可能性があります。

18.1.1 監視ユーザー・ロール

メッセージ・レポートを作成および分析するビジネス・アナリストなどの個人に対して、Oracle B2Bには、管理者による取引パートナ・ユーザーへの割当てが可能な監視ユーザー・ロールが用意されています。このロールを使用すると、ユーザーは、Oracle B2Bの「レポート」タブの機能にのみアクセスできます。監視ロールのユーザーは、インタフェースの他の部分の表示やアクセス、他の取引パートナのデータの表示は実行できません。監視ロールを割り当てる方法は、第5.3項 取引パートナ・ユーザーの追加を参照してください。

18.1.2 メッセージのパージ

インスタンス・データを検索すると表示される1つ以上のメッセージをパージするには、「ビジネス・メッセージ」タブの「パージ」ボタンを使用します。

18.1.3 Oracle B2Bからのメッセージの再発行

インバウンド・メッセージまたはアウトバウンド・メッセージの送信時に発生したエラーがOracle B2B内部である場合は、問題を修正してメッセージを再送信できます。たとえば、適切に構成されていないエンドポイントにB2Bがメッセージを送信しようとした場合やアグリーメントが適切に構成されていない場合は、エラーを修正し、アプリケーション・メッセージまたはワイヤ・メッセージの「再発行」を使用します。

アウトバウンド・メッセージの場合、アプリケーション・メッセージを再発行すると、メッセージは、そのメッセージを受信した時間から再実行され、アグリーメント参照、メッセージ変換(EDIの場合)と進み、最後に配信が試行されます。アプリケーション・メッセージの再発行は、アグリーメント設定またはドキュメント構成が必須ではなく、更新された設定でメッセージを再構成する必要がある場合に役立ちます。

インバウンド・メッセージの場合、アプリケーション・メッセージを再発行すると、バックエンド・アプリケーションへのメッセージ配信が再度試行されます。再発行は、バックエンド・アプリケーションが停止したため配信を再試行する必要がある場合に役立ちます。

アウトバウンド・メッセージの場合、ワイヤ・メッセージを再発行すると、以前に処理されたメッセージについてのみ再配信が試行されます。再パッケージングまたは他のメッセージ変換は実行されません。これは、問題がデリバリ・エンドポイントにある場合(パートナのサーバーが停止したためメッセージを受信できない場合など)に役立ちます。

インバウンド・メッセージの場合、ワイヤ・メッセージを再発行すると、メッセージは、そのメッセージを取引パートナから受信した時間から再実行されます。交換およびドキュメントは再度識別されてアグリーメント参照が実行されます。処理されたメッセージはバックエンドに配信されます。これは、アグリーメントまたはドキュメント設定が適切でないために、メッセージを再度変換して検証する必要がある場合に役立ちます。

注意:

EDI/EDIFACTドキュメントの場合、ユーザーはチェックするXPath式を設定し、それによって重複を回避できます。同じXPath値を持つ2つのメッセージが到着した場合、後から到着したメッセージが重複としてマークされ、エラーが出力されます。

エラーが発生したこの重複メッセージを再発行(ワイヤ・メッセージを再発行)した場合、再発行は意図的に実行されるものなので、Oracle B2Bは重複という事実を無視してメッセージを処理します。したがって、Oracle B2Bが重複メッセージを処理しないようにする場合は、重複メッセージを再発行してはいけません。

注意:

インバウンドAS2同期ワイヤ・メッセージを再発行すると、MDNが生成されますが、同期モードで送信者に戻されません。これは、送信者が元のメッセージを開始したユーザーではないためです。このシナリオでは、MDNメッセージの状態はMSG_COMPLETE状態です。

18.2 ビジネス・メッセージ・レポートの作成

ビジネス・メッセージ・ステータス・レポートには、ドキュメント・プロトコルに対するビジネス・メッセージ・インスタンスの詳細が示されます。これらの詳細には、送信および受信取引パートナ、アグリーメント名、ビジネス・アクション、ビジネス・メッセージID、ステータス、交換プロトコル、ドキュメント・プロトコルおよびメッセージ詳細が含まれます。

図18-1に、ビジネス・メッセージ・レポートを示します。

図18-1 ビジネス・メッセージ・レポート

ビジネス・メッセージ・レポートを作成するには:

1. 「レポート」、「ビジネス・メッセージ」の順にクリックします。

2. 検索パラメータを指定します。

フィールド

説明

一致

「すべて」または「任意」を選択します。

送信者

「次で始まる」、「次と等しい」、「次を含む」、「次で終わる」の中から選択します。取引パートナの名前全体または名前の一部を指定します。

受信者

「次で始まる」、「次と等しい」、「次を含む」、「次で終わる」の中から選択します。取引パートナの名前全体または名前の一部を指定します。

アグリーメント

「次で始まる」、「次と等しい」、「次を含む」、「次で終わる」の中から選択します。取引パートナ・アグリーメントの名前全体または名前の一部を指定します。

送信タイム・スタンプ

「次より小さい」、「次より大きい」、「次以上」、「次と等しい」、「次以下」の中から選択します。日時を示されている書式(MM/DD/YYYY HH:MM:SS AM/PM)で指定するか、「日付および時間の選択」ボタンをクリックします。

受信タイム・スタンプ

「次より小さい」、「次より大きい」、「次以上」、「次と等しい」、「次以下」の中から選択します。日時を示されている書式(MM/DD/YYYY HH:MM:SS AM/PM)で指定するか、「日付および時間の選択」ボタンをクリックします。

状態

「次で始まる」、「次と等しい」、「次を含む」、「次で終わる」の中から選択します。メッセージの状態全体または状態の一部を指定します。

MSG_COMPLETE
MSG_ERROR
MSG_WAIT_TRANSMIT
MSG_WAIT_FA
MSG_WAIT_BATCH

メッセージID

「次で始まる」、「次と等しい」、「次を含む」、「次で終わる」の中から選択します。メッセージID全体またはメッセージIDの一部を指定します。

3. 検索フィールドをさらに追加するには、「詳細」をクリックし、「フィールドの追加」から次のフィールドを選択します。

フィールド

説明

ドキュメント・プロトコル名

カスタム、EDI_EDIFACT、EDI_X2、HL7、OAG、PositionalFlatFile、RosettaNetまたはUCCNetを入力します。(演算子は「次と等しい」のみです。)

ドキュメント・タイプ

以前に作成したドキュメント・タイプ(EDI X12に対する850など)から選択します。(演算子は「次と等しい」のみです。)

ドキュメント・プロトコル・バージョン

以前に作成したドキュメント・プロトコル・バージョンから選択します。(演算子は「次と等しい」のみです。)

ドキュメント定義

以前に作成したドキュメント定義から選択します。(演算子は「次と等しい」のみです。)

ドキュメント検索パラメータは次のように使用します。最初に、ドキュメント・プロトコル名を選択してドキュメント・プロトコル・バージョンのリストを移入します。次に、ドキュメント・プロトコル・バージョンを選択してドキュメント・タイプのリストを移入します。その後、ドキュメント・タイプを選択してドキュメント定義のリストを移入します。

4. 「検索」をクリックします。
図18-1に示すように、結果が表示されます。

5. 「結果」領域の「詳細」列にあるボタンをクリックすると、レポートの詳細が表示されます。
図18-2に、ビジネス・メッセージの詳細を示します。

図18-2 ビジネス・メッセージの詳細

18.3 ワイヤ・メッセージ・レポートの作成

ワイヤ・メッセージは、取引パートナから送信されるデータのネイティブ・フォーマットです。ワイヤ・メッセージには、ペイロード、添付ファイル、トレーラなど、複数のセクションが含まれる場合があります。ワイヤ・メッセージ・ステータス・レポートには、トランスポート・プロトコル名、トランスポート・プロトコル・リビジョン、プロトコル・メッセージ識別とその状態など、ワイヤ・メッセージ・インスタンスに関する詳細が示されます。これらのレポートを使用すると、ビジネス・メッセージから対応するワイヤ・メッセージに、ワイヤ・メッセージから対応するビジネス・メッセージに移動できます。

図18-3に、ワイヤ・メッセージ・レポートを示します。

図18-3 ワイヤ・メッセージ・レポート

ワイヤ・メッセージ・レポートを作成するには:

1. 「レポート」、「ワイヤ・メッセージ」の順にクリックします。

2. 検索パラメータを指定します。

フィールド

値

URL

「次で始まる」、「次と等しい」、「次を含む」、「次で終わる」の中から選択します。URL全体またはURLの一部を指定します。

トランスポート・プロトコル

「次で始まる」、「次と等しい」、「次を含む」、「次で終わる」の中から選択します。トランスポート・プロトコル全体またはトランスポート・プロトコルの一部を指定します。

状態

「次で始まる」、「次と等しい」、「次を含む」、「次で終わる」の中から選択します。メッセージの状態全体または状態の一部を指定します。

MSG_COMPLETE
MSG_ERROR
MSG_WAIT_TRANSMIT
MSG_WAIT_FA
MSG_WAIT_BATCH

作成日

「次より小さい」、「次より大きい」、「次以上」、「次と等しい」、「次以下」の中から選択します。日時を示されている書式(MM/DD/YYYY HH:MM:SS AM/PM)で指定するか、「日付および時間の選択」ボタンをクリックします。

メッセージID

「次で始まる」、「次と等しい」、「次を含む」、「次で終わる」の中から選択します。メッセージID全体またはメッセージIDの一部を指定します。

3. 検索フィールドをさらに追加するには、「詳細」をクリックし、「フィールドの追加」から次のフィールドを選択します。

フィールド

説明

ドキュメント・プロトコル名

「カスタム」、「EDI_EDIFACT」、「EDI_X2」、「HL7」、「OAG」、「PositionalFlatFile」、「RosettaNet」、「UCCNet」の中から選択します。(演算子は「次と等しい」のみです。)

ドキュメント・タイプ

以前に作成したドキュメント・タイプ(EDI X12に対する850など)から選択します。(演算子は「次と等しい」のみです。)

ドキュメント・プロトコル・バージョン

以前に作成したドキュメント・プロトコル・バージョンから選択します。(演算子は「次と等しい」のみです。)

ドキュメント定義

以前に作成したドキュメント定義から選択します。(演算子は「次と等しい」のみです。)

4. 「検索」をクリックします。
図18-3に示すように、結果が表示されます。

5. 「結果」領域の「詳細」列にあるボタンをクリックすると、レポートの詳細が表示されます。
図18-4に、ワイヤ・メッセージの詳細を示します。

図18-4 ワイヤ・メッセージの詳細

18.4 アプリケーション・メッセージ・レポートの作成

このレポートでは、SOAコンポジット関連の情報(バックエンド・コンポジット・アプリケーションがメッセージを送受信した場合の名前やバージョンなど)が提供されます。

図18-5に、アプリケーション・メッセージ・レポートを示します。

図18-5 アプリケーション・メッセージ・レポート

アプリケーション・メッセージ・レポートを作成するには:

1. 「レポート」、「アプリケーション・メッセージ」の順にクリックします。

2. 検索パラメータを指定します。

フィールド

説明

一致

「すべて」または「任意」を選択します。

作成日

「次より小さい」、「次より大きい」、「次以上」、「次と等しい」、「次以下」の中から選択します。日時を示されている書式(MM/DD/YYYY HH:MM:SS AM/PM)で指定するか、「日付および時間の選択」ボタンをクリックします。

ドキュメント・プロトコル名

「カスタム」、「EDI_EDIFACT」、「EDI_X2」、「HL7」、「OAG」、「PositionalFlatFile」、「RosettaNet」、「UCCNet」の中から選択します。(演算子は「次と等しい」のみです。)

ドキュメント・プロトコル・バージョン

以前に作成したドキュメント・プロトコル・バージョンから選択します。(演算子は「次と等しい」のみです。)

ドキュメント・タイプ

以前に作成したドキュメント・タイプ(EDI X12に対する850など)から選択します。(演算子は「次と等しい」のみです。)

ドキュメント定義

以前に作成したドキュメント定義から選択します。(演算子は「次と等しい」のみです。)

状態

「次で始まる」、「次と等しい」、「次を含む」、「次で終わる」の中から選択します。メッセージの状態全体または状態の一部を指定します。

MSG_COMPLETE
MSG_ERROR
MSG_WAIT_TRANSMIT
MSG_WAIT_FA
MSG_WAIT_BATCH

コンポジット名

「次で始まる」、「次と等しい」、「次を含む」、「次で終わる」の中から選択します。SOAコンポジット・アプリケーションの名前全体または名前の一部を指定します。

3. 検索フィールドをさらに追加するには、「詳細」をクリックし、「フィールドの追加」から次のフィールドを選択します。

フィールド

説明

アプリケーション名

アプリケーション名を指定します。

コンポジット・バージョン

Oracle JDeveloperのSOAコンポジット・アプリケーションのバージョンを指定します。

ECID

「次で始まる」、「次と等しい」、「次を含む」、「次で終わる」の中から選択します。インスタンスIDを指定します。

送信者IDタイプ

送信者の識別子タイプ(「名前」、「DUNS」、「MLLP ID」など)を指定します。

サービス名

B2Bサービス・バインディング・コンポーネントの名前を指定します。

受信者IDタイプ

受信者の識別子タイプ(「名前」、「DUNS」、「MLLP ID」など)を指定します。

受信者の値

受信者の識別子タイプの値を指定します。たとえば、DUNSが受信者IDタイプの場合は、DUNS番号を指定します。

送信者の値

送信者の識別子タイプの値を指定します。たとえば、名前が送信者IDタイプの場合は、取引パートナ・プロファイルの識別子タイプに設定されている取引パートナ名を指定します。

参照名

B2B参照バインディング・コンポーネントの名前を指定します。

ファブリックCompositeDn

「次で始まる」、「次と等しい」、「次を含む」、「次で終わる」の中から選択します。コンポジットの名前全体または名前の一部を指定します。

4. 「検索」をクリックします。
図18-5に示すように、結果が表示されます。

5. 「結果」領域の「詳細」列にあるボタンをクリックすると、レポートの詳細が表示されます。
図18-6に、アプリケーション・メッセージの詳細を示します。

図18-6 アプリケーション・メッセージの詳細

18.5 エラー・レポートの作成

エラー・ステータス・レポートでは、エラー・メッセージの詳細が提供されます。これらの詳細には、エラー・コード、エラー・テキスト、ビジネス・メッセージ識別、メッセージ日付およびメッセージ詳細が含まれます。

図18-7に、エラー・レポートを示します。

図18-7 エラー・レポート

エラー・レポートを作成するには:

1. 「レポート」、「エラー」の順にクリックします。

2. 検索パラメータを指定します。

フィールド

説明

一致

「すべて」または「任意」を選択します。

エラー・コード

「次で始まる」、「次と等しい」、「次を含む」、「次で終わる」の中から選択します。エラー・コード全体またはエラー・コードの一部を指定します。

エラー・レベル

「次で始まる」、「次と等しい」、「次を含む」、「次で終わる」の中から選択します。エラー・レベル全体またはエラー・レベルの一部を指定します。

エラー重大度

「次で始まる」、「次と等しい」、「次を含む」、「次で終わる」の中から選択します。エラー重大度全体またはエラー重大度の一部を指定します。

エラー・テキスト

「次で始まる」、「次と等しい」、「次を含む」、「次で終わる」の中から選択します。エラー・テキスト全体またはエラー・テキストの一部を指定します。

エラーの説明

「次で始まる」、「次と等しい」、「次を含む」、「次で終わる」の中から選択します。エラーの説明全体またはエラーの説明の一部を指定します。

送信タイム・スタンプ

「次より小さい」、「次より大きい」、「次以上」、「次と等しい」、「次以下」の中から選択します。日時を示されている書式(MM/DD/YYYY HH:MM:SS AM/PM)で指定するか、「日付および時間の選択」ボタンをクリックします。

3. 検索フィールドをさらに追加するには、「詳細」をクリックし、「フィールドの追加」から次のフィールドを選択します。

フィールド

説明

ドキュメント定義

以前に作成したドキュメント定義から選択します。(演算子は「次と等しい」のみです。)

ドキュメント・タイプ

以前に作成したドキュメント・タイプ(EDI X12に対する850など)から選択します。(演算子は「次と等しい」のみです。)

ドキュメント・プロトコル・バージョン

以前に作成したドキュメント・プロトコル・バージョンから選択します。(演算子は「次と等しい」のみです。)

ドキュメント・プロトコル名

「カスタム」、「EDI_EDIFACT」、「EDI_X2」、「HL7」、「OAG」、「PositionalFlatFile」、「RosettaNet」、「UCCNet」の中から選択します。(演算子は「次と等しい」のみです。)

4. 「検索」をクリックします。
図18-7に示すように、結果が表示されます。

5. 「結果」領域の「詳細」列にあるボタンをクリックすると、レポートの詳細が表示されます。
図18-8に、エラー・レポートの詳細を示します。

図18-8 エラー・レポート

18.6 対話レポートの作成

ドキュメント定義に相関XPathを設定してメッセージを相関付けすると、対話メッセージが表示されます。また、相関メッセージには、自動的に相関付けされたメッセージが表示されます。たとえば、AS2メッセージとその確認(MDN)は自動的に相関付けされ、対話の一部になります。RosettaNetでは、送受信される確認に加えて、リクエストとレスポンスのメッセージも相関付けされます。これらの関連メッセージは、「対話」タブに表示されます。

図18-9に、対話レポートを示します。

図18-9 対話レポート

対話レポートを作成するには:

1. 「レポート」、「対話」の順にクリックします。

2. 検索パラメータを指定します。

フィールド

説明

一致

「すべて」または「任意」を選択します。

送信タイム・スタンプ

「次より小さい」、「次より大きい」、「次以上」、「次と等しい」、「次以下」の中から選択します。日時を示されている書式(MM/DD/YYYY HH:MM:SS AM/PM)で指定するか、「日付および時間の選択」ボタンをクリックします。

コラボレーション名

ebMSおよびRosettaNetドキュメントに適用され、ヘッダー情報から入手できます。

コラボレーションID

ebMSおよびRosettaNetドキュメントに適用され、ヘッダー情報から入手できます。

「詳細」検索ボタンを使用してその他のフィールドを追加することはできません。

3. 「検索」をクリックします。
図18-9に示すように、結果が表示されます。

4. 「結果」領域の「詳細」列にあるボタンをクリックすると、レポートの詳細が表示されます。
図18-10に、対話レポートの詳細を示します。

図18-10 対話レポートの詳細

19 B2Bメトリックの使用

この章では、Oracle B2Bメトリックを使用して、B2Bランタイム・データのステータスをシステム・レベルおよびパートナ・レベルで把握する方法について説明します。また、メッセージおよびエラーのステータス、メッセージ数、アクティブなドキュメント・タイプ、アクティブな取引パートナ、およびエラー・メッセージについても説明します。

この章には次のトピックが含まれます:

- 第19.1項 B2Bメトリックの概要

- 第19.2項 B2Bシステムメトリック

- 第19.3項 B2Bパートナ・メトリック

19.1 B2Bメトリックの概要

リポジトリ内の現在のランタイム・データを表示するには、「メトリック」タブを使用します。この「メトリック」タブには、実行時リポジトリ内で発生した変更(例: ランタイム・インスタンス・データのパージ)が反映されます。

図19-1にある「メッセージおよびエラー」チャートおよび「メッセージ数」チャートに表示されているメトリック・データは、最新の10時間または20時間のデータです。

図19-1 「メッセージおよびエラー」チャートおよび「メッセージ数」チャート

これらのメトリック表には、最初にメッセージを受信した時点からのすべてのデータが表示されています。最新のデータを取得するには、「リフレッシュ」ボタンを使用します。これに対して、Weblogic管理対象サーバー・ノードから収集したダイナミック・モニタリング・サービス(DMS)メトリックに基づいたOracle Enterprise Manager Fusion Middleware Controlでは、変更がすぐに反映されません。また、Enterprise Managerでは表示する情報に制限があり(上位5つのパートナ、上位5つのドキュメント)、使用できるのは、サーバーを最後に再起動した以降のデータのみです。詳細は、Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイドを参照してください。

「アクティブなドキュメント・タイプ」、「アクティブな取引パートナ」および「エラー」表のほとんどのフィールドは、図19-2に示すように、昇順または降順にソートできます。

図19-2 列のソート

列のソートは、たとえば、最大の平均メッセージ・サイズを識別したり、応答パートナのすべてのエラー・メッセージをグループ化する際に役立ちます。テキストがすべて表示されていない場合は、列のサイズを変更してテキストを表示できます。エラー・テキストの場合は、テキストの上にマウスを置くと、メッセージ全体が表示されます。「エラー」領域のビジネス・メッセージIDは、図19-3に示すように、ビジネス・メッセージの詳細にリンクしています。

図19-3 ビジネス・メッセージの詳細

19.2 B2Bシステム・メトリック

図19-4に、システム・メトリックのサマリー・データを示します。

図19-4 システム・メトリック

表19-1では、「システム」メトリック・タブに表示される情報について説明します。

表19-1 B2Bシステム・メトリック

領域/フィールド

説明

サマリー

アクティブなパートナとは、少なくとも1つのアグリーメントがデプロイされているパートナです。アクティブなアグリーメントとは、デプロイ済でアクティブな状態のアグリーメントです。また、アクティブなドキュメント・タイプとは、デプロイ済でアクティブなアグリーメントに含まれているドキュメント・タイプです。

メッセージおよびエラー

処理済メッセージ = 完了メッセージ + エラー発生メッセージ

エラー発生メッセージの詳細は、「エラー」領域に表示されます。

メッセージ数

これは特定期間におけるインバウンドおよびアウトバウンドのメッセージ数のトレンド・グラフで、アクティブなメッセージの数が表示されます。

アクティブなドキュメント・タイプ

アクティブなドキュメント・タイプとは、アクティブなアグリーメントに含まれているドキュメント・タイプです。エラーの詳細は、「エラー」領域に表示されます。処理済メッセージ(アクティブなメッセージ)には完了メッセージとエラー発生メッセージが含まれます。

名前

ドキュメント定義の名前。

処理済メッセージ数

ホストと取引パートナ間で交換されたドキュメント・メッセージの件数が表示されます。「アウトバウンド」はホストから取引パートナに送信されたメッセージを示し、「インバウンド」は取引パートナからホストに送信されたメッセージを示します。

平均処理時間(ミリ秒)

交換されたメッセージの平均ドキュメント処理時間(ミリ秒単位)が表示されます。「アウトバウンド」はホストから取引パートナに送信されたメッセージを示し、「インバウンド」は取引パートナからホストに送信されたメッセージを示します。

平均メッセージ・サイズ(KB)

アウトバウンドおよびインバウンド・メッセージの平均ドキュメント・サイズ(KB単位)が表示されます。

エラー

ドキュメントのエラー件数が表示されます。

アクティブな取引パートナ

アクティブな取引パートナとは、アグリーメントがデプロイ済で、そのアグリーメントがアクティブな状態にあるパートナです。リストにはホスト取引パートナも含まれます。処理済メッセージ(アクティブなメッセージ)には完了メッセージとエラー発生メッセージが含まれます。

名前

取引パートナの名前。

処理済メッセージ数

特定の取引パートナによって送信されたメッセージの数(「送信元」列)と受信されたメッセージの数(「宛先」列)が表示されます。

平均処理時間(ミリ秒)

特定の取引パートナの平均ドキュメント処理時間(ミリ秒単位)が表示されます。

平均メッセージ・サイズ(KB)

特定の取引パートナの平均ドキュメント・サイズ(KB単位)が表示されます。

エラー

ドキュメントのエラー件数が表示されます。

エラー

エラー・メッセージ・テキストはJavaリソース・バンドルから表示できます。ビジネス・メッセージIDはビジネス・メッセージの詳細にリンクしています。

19.3 B2Bパートナ・メトリック

図19-5に、選択した取引パートナに関するメトリックのサマリー・データを示します。

図19-5 パートナ・メトリック

表19-2では、「パートナ」メトリック・タブに表示される情報について説明します。表示されるデータは、「アクティブな取引パートナ」で選択されている取引パートナに限定したものです。

表19-2 B2Bパートナ・メトリック

領域/フィールド

説明

メッセージおよびエラー

処理済メッセージ = 完了メッセージ + エラー発生メッセージ

エラー発生メッセージの詳細は、「エラー」領域に表示されます。

メッセージ数

これは特定期間におけるインバウンドおよびアウトバウンドのメッセージ数のトレンド・グラフで、アクティブなメッセージの数が表示されます。

サマリー

処理済メッセージ数、平均処理時間、平均メッセージ・サイズおよびエラー数が、選択されている取引パートナで集計されます。

処理済メッセージ数

特定の取引パートナによって送信されたメッセージの数(「送信元」列)と受信されたメッセージの数(「宛先」列)が表示されます。

平均処理時間(ミリ秒)

特定の取引パートナの平均ドキュメント処理時間(ミリ秒単位)が表示されます。

平均メッセージ・サイズ(KB)

特定の取引パートナの平均ドキュメント・サイズ(KB単位)が表示されます。

エラー

ドキュメントのエラー件数が表示されます。

アクティブなドキュメント・タイプ

アクティブなドキュメント・タイプとは、アクティブなアグリーメントに含まれているドキュメント・タイプです。エラーの詳細は、「エラー」領域に表示されます。処理済メッセージ(アクティブなメッセージ)には完了メッセージとエラー発生メッセージが含まれます。

名前

ドキュメント定義の名前。

処理済メッセージ数

ホストと取引パートナ間で交換されたドキュメント・メッセージの件数が表示されます。「アウトバウンド」はホストから取引パートナに送信されたメッセージを示し、「インバウンド」は取引パートナからホストに送信されたメッセージを示します。

平均処理時間(ミリ秒)

交換されたメッセージの平均ドキュメント処理時間(ミリ秒単位)が表示されます。「アウトバウンド」はホストから取引パートナに送信されたメッセージを示し、「インバウンド」は取引パートナからホストに送信されたメッセージを示します。

平均メッセージ・サイズ(KB)

アウトバウンドおよびインバウンド・メッセージの平均ドキュメント・サイズ(KB単位)が表示されます。

エラー

ドキュメントのエラー件数が表示されます。

エラー

エラー・メッセージ・テキストはJavaリソース・バンドルから表示できます。ビジネス・メッセージIDはビジネス・メッセージの詳細にリンクしています。

第V部

スクリプトとユーティリティ

この部では、Oracle B2Bに用意されているスクリプトとユーティリティを使用して様々なタスクを実行する方法について説明します。

この部には次の章が含まれます:

- 第20章 B2Bコマンドライン・ツール

- 第21章 Oracle B2B Webサービスの使用

- 第23章 データのアーカイブおよびリストアのスクリプト

- 第24章 エンキューおよびデキューのユーティリティ

- 第25章 Oracle BAMでのインスタンス・メッセージ・データの監視

- 第26章 インスタンス・メッセージ・データへのプログラムでのアクセス

20 B2Bコマンドライン・ツール

この章では、日付のアーカイブ、データのパージ、データのインポートとエクスポート、バッチ処理操作、アグリーメントのデプロイなど、様々なタスクに使用できるB2Bコマンドライン・ツールについて説明します。

この章には次のトピックが含まれます:

- 第20.1項 コマンドライン・ツール実行の前提条件

- 第20.2項 データのアーカイブ

- 第20.3項 データのパージ

- 第20.4項 データのインポート

- 第20.5項 データのエクスポート

- 第20.6項 バッチ処理操作

- 第20.7項 チャネル・パスワードのリセット

- 第20.8項 リスニング・チャネルのアクティブ化または非アクティブ化

- 第20.9項 アグリーメントのデプロイ

- 第20.10項 B2Bメタデータの検証

- 第20.11項 ebXML CPP/CPAユーティリティの使用

- 第20.12項 アグリーメントの可用性の検証

- 第20.13項 selfservice.xsdに基づいたOracle B2Bメタデータの作成

- 第20.14項 メッセージの再発行

- 第20.15項 取引パートナの停止時間のスケジュール設定

- 第20.16項 キーストアの管理

- 第20.18項 インポート時のエラー

20.1 コマンドライン・ツール実行の前提条件

コマンドライン・ツールを使用するには、事前に次の手順を実行してください。

1. ORACLE_HOME、ANT_HOMEおよびJAVA_HOMEの各環境変数を設定します。
ORACLE_HOMEは、Oracle Fusion Middlewareインストール・ディレクトリに設定します。例:

set ORACLE_HOME=C:\oracle\wls_home
set ANT_HOME=%ORACLE_HOME%\modules\org.apache.ant_1.7.1
set JAVA_HOME=%ORACLE_HOME%\jdk160_18

2. jndi.propertiesを作成します。

cd $ORACLE_HOME\bin
ant -f ant-b2b-util.xml b2bcreate-prop

3. jndi.propertiesファイルを編集して、weblogicパスワードを組み込みます。

注意:

1. コマンドライン・ツールは管理者専用です。ログイン・ユーザーによるデータのパージ、インポートまたはエクスポートを防止するためのセキュリティ・チェックまたは権限チェックは実行されません。

2. コマンドライン・ツールを実行した後、B2Bコンソールに再ログインする必要があります。B2Bコンソールでは一部のメタデータがキャッシュに入れられ、コマンドライン・アクションによってメタデータが更新されると、キャッシュ内のデータが無効になる場合があります。したがって、コマンドライン操作を使用した後は必ずB2Bコンソールに再ログインすることをお薦めします。

3. JNDI資格証明がなくても、すべてのコマンドライン・ツールを実行できます。匿名ユーザーによるコマンドライン・ツールの使用を制限するには、jndi.propertiesファイルに次の情報を指定します。

java.naming.security.principal=weblogic
java.naming.security.credentials=weblogic_password

注意:

B2BCommandlineユーティリティの場合、デフォルトでは、ANTを実行すると、クライアント側またはサーバー側でエラーが発生しても、BUILD SUCCESSFULが表示され、システム・コードとして0 (ゼロ)が返されます。ANTを実行した結果、クライアント側またはサーバー側でエラーが発生した場合はFAILが表示されるようにするには、exitonerrorパラメータをtrueに設定する必要があります。

これは、次の2つの方法のどちらかで実行できます。

- ANTコマンドラインで-Dexitonerror=trueを指定

ant -f ant-b2b-util.xml b2bpurge -Dagreement=<AGR_NAME> -Dmode=DT -Dexitonerror=true

- exitonerrorパラメータをグローバル設定として設定:
ant-b2b-util.xmlが存在するディレクトリ($ORACLE_HOME/bin)にant_general.propertiesという名前のプロパティ・ファイルを作成し、値exitonerror=trueを設定します。

この設定により、クライアント側またはサーバー側でエラーが発生した場合は常に、ANTコマンドはメッセージBUILD FAILEDを出力して失敗し、システム終了コードは-1に設定されます。

20.2 データのアーカイブ

Oracle B2Bでは、OracleデータベースのOracle B2Bランタイム・インスタンス・データ用のアーカイブ・メカニズムとして、Oracle Data Pumpが使用されます。Oracle B2Bでアーカイブ機能が有効になるのは、Oracle B2BリポジトリがOracleデータベースの場合のみです。開始日、終了日およびメッセージの状態を構成して、ランタイム・データをアーカイブまたはパージ(あるいはその両方)できます。

パフォーマンスの向上およびアーカイブ・アクティビティとパージ・アクティビティの同期のために、各ランタイム表(B2B_BUSINESS_MESSAGE、B2B_EXT_BUSINESS_MESSAGE、B2B_APP_MESSAGE、B2B_WIRE_MESSAGEおよびB2B_DATA_STORAGE)に新しい列(JOB_ID)が追加されています。

Oracle B2Bでは、ターゲット・ランタイム・データが、(開始日、終了日およびメッセージの状態ごとに)一意のJOB_IDでマーク付けされます。ランタイム・データのアーカイブを選択すると、JOB_IDを使用してデータ・ポンプPL/SQL APIが起動され、ランタイム・データがエクスポートされます。ランタイム・メッセージのパージも行う場合、Oracle B2BはJOB_IDによって行います。

ランタイム・データのアーカイブ/エクスポート後、Oracle B2Bでは、Oracle Data Pumpを使用してOracle B2Bリポジトリにランタイム・データをインポートすることもできます。

データをアーカイブするには、権限とアーカイブ・ディレクトリを事前に設定しておく必要があります。

注意:

b2b_archiveユーティリティでサポートされるのは、Oracleデータベースのみです。他のデータベースはサポートされません。

初期設定を行うには

1. データベースが稼働するマシン上で、アーカイブ・ファイルをダンプするディレクトリを作成します。例:

mkdir /tmp/archive

2. データベース・プロセスでデータを書き込めるように、このディレクトリへの権限を付与します。

chmod 777 /tmp/archive

3. sysdbaでデータベースにログインします。

sqlplus / as sysdba

4. B2B_EXPORT_DIRを設定します。

SQL> create or replace DIRECTORY B2B_EXPORT_DIR as '/tmp/archive'

5. SOAスキーマ・ユーザーがb2b_soainfraの場合は、そのユーザーにエクスポート権限を付与する必要があります。

SQL> grant read, write on directory B2B_EXPORT_DIR to b2b_soainfra;
SQL> grant exp_full_database  to b2b_soainfra;

注意:

アーカイブする前に、前述の初期設定手順を必ず実行してください。

データをアーカイブするには:

1. soainfraスキーマ・ユーザーでログインします。

$ sqlplus b2b_soainfra/password

2. アーカイブ・プロシージャを実行します。例:

SQL> exec B2B_ARCHIVE_INSTANCE_MSGS('2010/06/23 12:23:23','2010/06/24 12:46:24','MSG_COMPLETE',null,null,null,null,null,null,'myDump.dmp')

プロシージャのシグネチャは次のとおりです

exec B2B_ARCHIVE_INSTANCE_MSGS(p_startDate,p_endDate,p_msgState,p_tpName,
p_direction,p_msgType,p_tpaName,p_idType,p_idVal,filename);

表20-1 B2B_ARCHIVE_INSTANCE_MGSユーティリティのオプション

オプション

タイプ

説明

startDate

varchar2

アーカイブの開始日

endDate

varchar2

アーカイブの終了日

msgState

varchar2

ビジネス・メッセージの状態

tpName

varchar2

取引パートナ名

direction

varchar2

Message direction

msgType

varchar2

メッセージ・タイプ

tpaName

varchar2

取引パートナのアグリーメント名

idType

varchar2

IDタイプ

idVal

varchar2

ID値

filename

varchar2

データベースによって作成されるアーカイブ・ファイルの名前。ファイル名は一意である必要があります。この名前のファイルが該当するディレクトリに存在しないことを確認してください。

20.3 データのパージ

注意:

ランタイム・データをパージする前に、第20.2項「データのアーカイブ」で説明されている構成設定を行う必要があります。これらの手順が完了していないと、誤解を招くようなエラーが発生して、アーカイブが失敗します。

ログイン・ユーザーによるデータのパージを防止するためのセキュリティ・チェックおよび権限チェックは実行されません。

b2bpurgeユーティリティによってサポートされるのは、Oracleデータベースのみです。他のデータベースはサポートされません。

次のユーティリティでは、設計時データとランタイム・データの両方をパージし、環境をインストール時の状態にリセットします。

ant -f ant-b2b-util.xml b2bpurge

表20-2に、このユーティリティのオプションを示します。

表20-2 b2bpurgeユーティリティのオプション

オプション

説明

ドメイン

必須

mode

設計時データのパージまたはランタイム・データのパージを指定します(下記脚注を参照)

DT
RT

はい

msgState

指定したメッセージの状態のメッセージを削除します。ランタイム・データに使用されます。

MSG_COMPLETE
MSG_ERROR
MSG_WAIT_TRANSMIT
MSG_WAIT_FA
MSG_WAIT_BATCH

いいえ。msgstateが存在する場合は、startおよびendを使用する必要があります。

purgecontrolnumber

管理番号を削除します。ランタイム・データに使用されます。

true

false (デフォルト)

いいえ

fromdate

この日付以降に作成されたすべてのメッセージを削除します。

日付書式

dd/mm/yyyy hh:mm AM/PM

いいえ

todate

この日付以前に作成されたすべてのメッセージを削除します。

日付書式

dd/mm/yyyy hh:mm AM/PM

いいえ

tp

取引パートナに基づきます。

いいえ

direction

メッセージの方向

いいえ

msgtype

メッセージのタイプ

いいえ

agreement

アグリーメントの名前

いいえ

idtype

いいえ

idvalue

いいえ

archive

アーカイブが必須

デフォルト値はtrue

commitfrequency

データベース・コミットの実行後のレコード数を指定します。

頻度の値。デフォルトは5000。

いいえ

archivename

アーカイブ・ファイルのファイル名

いいえ

partitioned

データベースがパーティション化されているかどうかを示します。Oracle B2Bでは、このパラメータの値に基づいて、通常どおりに、またはデータベース・パーティションに基づいて、データをパージできます。

true

false

いいえ

partitioncleanmode

クリーンアップ指定されたパーティションのクリーンアップ・モードを指定します。

パーティションが存在しないか、または日付以外のパラメータが指定されている場合、このパラメータは無効です。

注意: このパラメータは、partitionedフラグがtrueの場合のみ有効です。

DROP: クリーンアップ・メカニズムはパーティションの削除であることを示します(デフォルト)。

TRUNCATE: パーティションの削除ではなく、パーティションの切捨てによって、パーティションをクリーンアップします。

STATEMENT: 文モードでは、表のクリーンアップは行わずに、drop文を作成し、SOA_PURGE_DIRディレクトリにあるファイルにその文を書き込みます。このモードでは、データベースは変更されません。

いいえ

logmode

ログ・レベルを示します。CONSOLE_*はdbms_outputモード(クライアントから直接プロシージャが呼び出された場合のみ適用可能)によるロギングを示し、それ以外のモードはSOA_PURGE_DIRディレクトリにあるファイルへのロギングを示します。

ERROR

INFO

DEBUG

CONSOLE_ERROR

CONSOLE_INFO

CONSOLE_DEBUG

いいえ

refreshmw

b2b_systemマテリアライズド・ビューを完全にリフレッシュするかどうかを示します。

true (デフォルト。切捨て操作または削除操作の実行時)

false

いいえ

rowlimit

削除するレコード数を制限します。非パーティション専用機能。

いいえ

timelimit

パージ・ジョブの実行時間を制限します。チェックは各コミット・サイクルの後に実行されるので、精度はcommitfreqによって決まります。非パーティション専用機能。

いいえ

cascadedelete

特定のドキュメントIDまたはCPA IDに関連するすべてのアーティファクトを削除します。

true

false

いいえ

注意:

-Dmode=RT -Dtp=trading_partner_nameオプションのみを使用すると、取引パートナ名が送信者名または受信者名と一致するすべてのレコードが削除されます。

例20-1 設計時データの削除

ant -f ant-b2b-util.xml b2bpurge -Dmode=DT

例20-2 ランタイム・データのパージ

ant -f ant-b2b-util.xml b2bpurge -Dmode=RT

例20-3 管理番号を含むランタイム・データのパージ

ant -f ant-b2b-util.xml b2bpurge -Dmode=RT -Dpurgecontrolnumber=true

例20-4 指定した日付範囲内の指定した状態のメッセージのパージ

ant -f ant-b2b-util.xml b2bpurge -Dmode=RT -Dfromdate="05/10/2012 11:51 PM" -Dtodate="06/10/2012 12:01 AM" -Dmsgstate=MSG_COMPLETE -Darchive=false

例20-5 カスケードによる取引パートナRobot143の削除

ant -f ant-b2b-util.xml b2bpurge -Dtp=Robot143 -Dmode=DT -Dcascadedelete=true

これは、取引パートナにドキュメントまたはCPAが1つ関連付けられている場合に便利です。

例20-6 カスケードによるRobot131からRobot139の取引パートナの削除

ant -f ant-b2b-util.xml b2bpurge -Dtp=Robot131,Robot132,Robot133,Robot134,Robot135,Robot136,Robot137,Robot138,Robot139 -Dmode=DT -Dcascadedelete=true

これは、取引パートナにドキュメントまたはCPAが1つ関連付けられている場合に便利です。

例20-7 カスケードによるAgreementIDまたはCPAのすべてのアーティファクトの削除

ant -f ant-b2b-util.xml b2bpurge -Dtp=Robot142 -Dmode=DT -Dcascadedelete=true -Dagreementid=Openreach_Robot142_WholesaleProvider_ServiceProvider_R1800.0.5_cpa

これは、取引パートナにドキュメントまたはCPAが複数関連付けられている場合に便利です。

注意:

archivenameを使用する場合、値は一意のファイル名である必要があります。archivenameに既存のファイル名を使用すると、例外がスローされます。

注意:

ドキュメント・タイプに基づいてインスタンス・データをパージおよびアーカイブすることもできます。これを行うには、まず第20.1項「コマンドライン・ツール実行の前提条件」に示されている前提条件の手順を実行し、第20.2項「データのアーカイブ」に示されている初期手順を実行します。

例:

ant -f ant-b2b-util.xml b2bpurge -Dmode=RT -Ddoctype="ORDERS_FILE" -Darchive=true -Darchivename="docType.dmp"

これは、SQLを使用して実行することもできます。

注意:

取引パートナ名に基づいてデータのパージを実行する場合:

- 方向が指定されている場合、パージにも方向が反映されます。

- 方向が指定されていない場合、パージは双方向(インバウンドとアウトバウンド)で実行されます。

- -Dtpの値としてホスト名が指定されている場合、エラー・メッセージが表示されます。

20.4 データのインポート

注意:

ログイン・ユーザーによるデータのインポートを防止するためのセキュリティ・チェックまたは権限チェックは実行されません。

b2bimportユーティリティでは、B2BメタデータZIPファイルをリポジトリにインポートします。基本的な検証は実行されますが、デプロイメント検証のような完全な検証ではありません。overwriteオプションを使用しないかぎり、データは上書きされません。

次の使用例では、tmp/export.zipのデータが同じサーバー上の場所にインポートされ、上書きは行われません。

ant -f ant-b2b-util.xml b2bimport -Dlocalfile=true -Dexportfile="/tmp/export.zip"

表20-3に、このユーティリティのオプションを示します。

表20-3 b2bimportユーティリティのオプション

オプション

説明

ドメイン

必須

exportfile

エクスポート(ZIP)ファイルの場所

-

はい

overwrite

既存のビジネス要素を上書きします。たとえば、インポート・ファイルのデリバリ・チャネルと同じ取引パートナ名を持つ既存のデリバリ・チャネルは、このオプションがtrueに設定されている場合、置換されます。

true

false (デフォルト)

いいえ

localfile

エクスポート・ファイルの場所がサーバー上である場合は、このオプションをtrueに設定すると、パフォーマンスが向上します。エクスポート・ファイルは、B2Bが稼働しているサーバーに存在する必要があります。

true

false (デフォルト)

いいえ

20.5 データのエクスポート

b2bexportユーティリティでは、Oracle B2Bリポジトリからメタデータをエクスポートします。オプションを指定しないと、リポジトリ全体がエクスポートされます。

注意:

ログイン・ユーザーによるデータのエクスポートを防止するためのセキュリティ・チェックまたは権限チェックは実行されません。

次の使用例では、他のオプションを指定しない場合、リポジトリ全体(ポリシー詳細を除く)が/tmp/export.zipにエクスポートされます。

ant -f ant-b2b-util.xml b2bexport

表20-4に、このユーティリティのオプションを示します。

表20-4 b2bexportユーティリティのオプション

オプション

説明

ドメイン

必須

tpanames

エクスポート対象の1つ以上のアグリーメント名。1つのアグリーメントをエクスポートする場合、ZIPファイルにはフォルダ/soa/b2bが含まれます。複数のアグリーメントをエクスポートする場合、ZIPファイルには各アグリーメントに対する個別のZIPファイルが含まれます。

アグリーメント名はカンマで区切る必要があります

いいえ

tpname

エクスポート対象の取引パートナ名

取引パートナの名前。

いいえ

exportfile

エクスポートしたデータを格納するZIPファイルの場所

/tmp/export.zip (default)

いいえ

active

デプロイ済であり、アクティブな状態のアグリーメントをエクスポートします。

true

false (デフォルト)

いいえ

policies

trueに設定すると、ユーザーとロールの詳細(ポリシー・ストアに必要)を含むリポジトリ全体がエクスポートされます。ポリシー・ストアもエクスポートするように警告が表示されます。

詳細は、第7.2項 「インポート/エクスポート」タブからインポートまたはエクスポートした場合のコピー内容を参照してください。

true

false (デフォルト)

いいえ

localfile

エクスポート・ファイルがOracle B2Bと同じコンピュータ上にある場合は、trueに設定するとパフォーマンスが向上します。

true

false (デフォルト)

いいえ

例20-8 ポリシーの詳細を含むリポジトリ全体を/tmp/export.zipにエクスポートする場合

ant -f ant-b2b-util.xml b2bexport -Dexportfile="/tmp/export.zip" -Dpolicies=true

例20-9 詳細を含まないリポジトリ全体を同じサーバー上の/tmp/exportinserver.zipにエクスポートする場合

ant -f ant-b2b-util.xml b2bexport -Dexportfile="/tmp/exportinserver.zip" -Dlocalfile=true

例20-10 取引パートナAcmeを/tmp/Acme.zipにエクスポートする場合

ant -f ant-b2b-util.xml b2bexport -Dtpname="Acme" -Dexportfile="/tmp/Acme.zip"

例20-11 リスニング・チャネルの詳細を含む設計時のアグリーメントを/tmp/acmeGc.zipにエクスポートする場合

ant -f ant-b2b-util.xml b2bexport -Dtpanames="Acme_GC_Agreement1" -Dexportfile="/tmp/AcmeGc.zip"

リスニング・チャネルはエクスポート時に非アクティブ化されるため、データのインポート後に再アクティブ化する必要があります。

例20-12 デプロイ済でアクティブな複数のアグリーメントを/tmp/export.zipにエクスポートする場合

ant -f ant-b2b-util.xml b2bexport -Dtpanames="Acme_GC_Agreement1, GC_Acme_Agreement1" -Dactive=true

リスニング・チャネルはエクスポートされません。

20.6 バッチ処理操作

コマンドラインのb2bbatchユーティリティを使用すると、様々な条件に基づいてバッチを作成できます。このユーティリティは、Oracle B2BコンソールにあるEDIドキュメント用のバッチ作成/削除機能を補助するものです。これはANTベースのコマンドであり、バッチを作成する条件を選択できる柔軟性をもたらします。

1つの手順で複数の取引パートナとドキュメント・バージョンを作成するには、Oracle B2Bコンソールを使用する必要があります。これをコマンドラインで行うには、バッチ作成ユーティリティを複数回実行する必要があります。バッチの無効化や更新などの高度な機能の場合は、Oracle B2Bコンソールを使用する必要があります。

使用方法を次に示します。

ant -f ant-b2b-util.xml b2bbatch -Dtp=<tpName> -Dbatchtime=<batchTriggerTime> -Dbatchname=<batchName> -Ddocument=<documentProtocolName> -Ddocrevision=<docRevision> -Ddoctype=<docType> -Disrepetitive=<true|false>

表20-5に、このユーティリティのオプションを示します。

表20-5 b2bbatchユーティリティのオプション

オプション

説明

ドメイン

必須

tp

取引パートナ名。

取引パートナ名を指定します。

はい脚注1

batchname

バッチ名。

バッチの名前を指定します。

はい

batchtime

バッチのトリガー時刻。

トリガー時刻には、cron文字列または
dd/MM/yyyy HH:mm AM/PM形式の日付を使用できます。

例20-16も参照してください。

はい

document

ドキュメント・プロトコル名。

有効な値:
EDI_EDIFACT、
EDI_X12

はい

docrevision

ドキュメント・リビジョン。

-

はい

doctype

ドキュメント・タイプ。

-

はい

isrepetitive

cron文字列を使用してバッチを作成するときに、反復的なバッチ処理を有効にします。

有効な値: trueまたはfalse

いいえ

mode

モード

バッチを削除するには、deletebatchに設定します。

いいえ

脚注1 バッチを作成するには、tp、batchtime、batchname、document、docrevision、doctypeの各オプションが必要です。バッチを削除するには、modeとbatchnameオプションのみが必要です。

注意:

コマンドライン操作のcronジョブは、次のcron構文に従って作成する必要があります。

例20-13 バッチ処理操作の作成

このコマンドでは、GlobalChipsを使用してX12/4010/850ドキュメントに対するバッチ処理操作を作成します。このバッチ処理操作は、指定したcron文字列に対して反復モードで実行されます。

ant -f ant-b2b-util.xml b2bbatch -Dtp=GlobalChips -Dbatchtime="0 4850 11 7 5 ? 2010" -Dbatchname=batch1234 -Ddocument=EDI_X12 -Ddocrevision=4010 -Ddoctype=850 -Disrepetitive=true

例20-14 複数のドキュメント・タイプに対するバッチの作成

ant -f ant-b2b-util.xml b2bbatch -Dtp=GlobalChips -Dbatchtime="0 58 11 7 5 ? 2010" -Dbatchname=batch1234 -Ddocument=EDI_X12 -Ddocrevision=4010 -Ddoctype=850,997

ant -f ant-b2b-util.xml b2bbatch -Dtp=GlobalChips -Dbatchtime="07/05/2010 11:45 AM" -Dbatchname=batch1234 -Ddocument=X12 -Ddocrevision=4010 -Ddoctype=850,997

例20-15 バッチ処理操作の削除

ant -f ant-b2b-util.xml b2bbatch -Dmode=deletebatch -Dbatchname=batch1234

例20-16 batchtimeオプションでの特殊文字の使用

batchtimeの値に*や#などの特殊文字が含まれる場合は、二重引用符を使用して文字をエスケープする必要があります。

ant -f ant-b2b-util.xml b2bbatch -Dtp=GlobalChips -Dbatchtime='0 5,10,15,20,25,30,35,40,45,50,55,59 "*" "*" "*" ? 2010' -Dbatchname=batch1234 -Ddocument=EDI_X12 -Ddocrevision=4010 -Ddoctype="850,855" -Disrepetitive=true

20.7 チャネル・パスワードのリセット

次のユーティリティは、チャネル・パスワードを設定またはリセットします。

ant -f ant-b2b-util.xml resetchannelpassword

表20-6に、このユーティリティのオプションを示します。

表20-6 resetchannelpasswordユーティリティのオプション

オプション

説明

必須

channelname

既存チャネルの名前。

はい

tp

取引パートナの名前。

はい

password

指定したチャネルに設定するパスワード。

これはオプションのパラメータです。このパラメータを設定しない場合、このチャネルの既存のパスワード(設定されている場合)は削除されます。

いいえ

注意:

リスニング・チャネルの場合、変更後のパスワードは、リスニング・チャネルの再起動後にのみ有効になります。デリバリ・チャネルの場合、変更後のパスワードは、デプロイ後にのみ有効になります。

例20-17 リスニング・チャネルのパスワードの設定

ant -f ant-b2b-util.xml resetchannelpassword -Dchannelname=AcmeInboundListening -Dtp=Acme  -Dpassword=welcome1

前述の例は、AcmeInboundListeningリスニング・チャネルのパスワードとしてwelcome1を設定します。

例20-18 リスニング・チャネルのパスワードのリセット

ant -f ant-b2b-util.xml resetchannelpassword -Dchannelname=AcmeInboundListening -Dtp=Acme

前述の例は、AcmeInboundListeningリスニング・チャネルのパスワードをリセットします。

20.8 リスニング・チャネルのアクティブ化または非アクティブ化

次のユーティリティは、リスニング・チャネルをアクティブ化または非アクティブ化します。

ant -f ant-b2b-util.xml updatechannel

表20-7に、このユーティリティのオプションを示します。

表20-7 updatechannelユーティリティのオプション

オプション

説明

値

必須

channelname

既存リスニング・チャネルの名前。

-

はい

state

リスニング・チャネルの状態。state=activeを指定した場合、リスニング・チャネルはアクティブ状態に移行し、再起動されます。チャネルが起動されていない場合、state=activeと指定することによって、チャネルが起動されます。state=inactiveを指定した場合、リスニング・チャネルは非アクティブ状態に移行し、停止されます。

active/inactive

はい

例20-19 リスニング・チャネルの起動

ant -f ant-b2b-util.xml updatechannel -Dchannelname="AcmeInboundListening" -Dstate=active

前述の例は、AcmeInboundListeningチャネルを起動します。

20.9 アグリーメントのデプロイ

b2bdeployユーティリティでは、リポジトリ内のすべてのアグリーメントを検証およびデプロイします。アグリーメントがすでにデプロイされている場合は、再度デプロイされます。この結果、古いバージョンのアグリーメントは、非アクティブな状態になります。検証をオフにすると、データが有効であることが確認されているアグリーメントを多数デプロイする際に役立ちます。その場合は、SOAサーバーの再起動が必要です。プロパティb2b.deploy.validationをfalseに設定すると、検証を無効にできます。

すべてのアグリーメントをリポジトリにデプロイするには、次のコマンドを実行します。

ant -f ant-b2b-util.xml b2bdeploy

表20-8に、このユーティリティのオプションを示します。

表20-8 b2bdeployユーティリティのオプション

オプション

説明

ドメイン

必須

tpanames

デプロイ対象となる1つ以上のアグリーメントの名前

アグリーメント名はカンマで区切る必要があります

いいえ

例20-20 アグリーメントAcme_GC_Agreement1およびGC_Acme_Agreement1のデプロイ

ant -f ant-b2b-util.xml b2bdeploy -Dtpanames="Acme_GC_Agreement1,GC_Acme_Agreement1"

20.10 B2Bメタデータの検証

b2bvalidateユーティリティでは、アグリーメント、取引パートナ、ドキュメントなどのOracle B2Bメタデータを検証します。オプションを指定しない場合は、すべてのアグリーメントが検証されます。

ant -f ant-b2b-util.xml b2bvalidate [-Dmdsreference="comma_separated_argumants"]

表20-9に、このユーティリティのオプションを示します。

表20-9 b2bvalidateユーティリティのオプション

オプション

説明

ドメイン

必須

mdsreference

取引パートナ、アグリーメントまたはドキュメント・プロトコルのファイル名

ファイル名はカンマで区切る必要があります

いいえ

agreementid

指定されたIDに基づいてアグリーメントを検証します。存在しないアグリーメントIDについては警告メッセージを出力し、それ以外のアグリーメントIDを検証します。

アグリーメントIDの区切りには、カンマを使用する必要があります。

いいえ

例20-21 すべてのアグリーメントの検証

ant -f ant-b2b-util.xml b2bvalidate

例20-22 アグリーメントtpa_ID1234.xmlの検証

ant -f ant-b2b-util.xml b2bvalidate -Dmdsreference="tpa_ID1234.xml"

例20-23 取引パートナtp_MyCompany.xmlおよびアグリーメントtpa_ID1234.xmlの検証

ant -f ant-b2b-util.xml b2bvalidate -Dmdsreference="tp_MyCompany.xml,tpa_ID1234.xml"

例20-24 IDがagreementID1とagreementID2であるアグリーメントの検証

ant -f ant-b2b-util.xml b2bvalidate -Dagreementid="agreementID1,agreementID2"

20.11 ebXML CPP/CPAユーティリティの使用

ebXML CPP/CPAユーティリティでは、Oracle B2Bメタデータの標準ebXML CPAファイルとの間で変換を行います。

20.11.1 CPP/CPAプロパティ・テンプレートの作成

b2bcreate-cpapropユーティリティでは、カスタマイズし、b2bcpaimportおよびb2bcpaexportユーティリティに対するパラメータを提供できるプロパティ・ファイル・テンプレートを作成します。

次の使用例では、cpp_cpa.propertiesテンプレート・ファイルが作成されます。このファイルは、propfileオプションで使用されます。

ant -f ant-b2b-util.xml b2bcreate-cpaprop

表20-10に、このユーティリティのオプションを示します。

表20-10 b2bcreate-cpapropユーティリティのオプション

オプション

説明

ドメイン

必須

propfile

b2bcpaimportおよびb2bcpaexportに関する構成詳細を格納するプロパティ・ファイル

-

はい

例20-25 propfileオプションで使用されるプロパティ・ファイル・テンプレートの作成

ant -f ant-b2b-util.xml b2bcreate-cpaprop

20.11.1.1 cpp_cpa.propertiesのプロパティ

cpp_cpa propertiesファイルの一部として、次のプロパティを構成できます。

- CPAインポートのプロパティ

- CPAエクスポートのプロパティ

- 共通プロパティ

20.11.1.1.1 CPAインポートのプロパティ

次に、CPAインポートのプロパティを示します。

oracle.tip.b2b.ebms.BPSSDocument (Optional Property)

このプロパティには、BPSSドキュメントの絶対パスが保持され、Oracle B2BリポジトリにインポートするBPSSドキュメントの詳細を取得するために使用されます。このプロパティが存在しない場合、値はCPAドキュメントからインポートされます。複数のBPSSドキュメントを指定する場合は、; (セミコロン)で区切ります。

oracle.tip.b2b.ebms.CPADocument (Required Property)

このプロパティは、Oracle B2BリポジトリにインポートするCPAドキュメントの絶対パスを取得するために使用します。

oracle.tip.b2b.ebms.xsdLocation (Optional Property)

このプロパティは、スキーマ・ファイルの場所の絶対パスを指定するために使用します。このスキーマ・ファイルは、ドキュメントの検証に使用されます。使用されるのは、BPSSドキュメントが指定されている場合のみです。

oracle.tip.b2b.ebms.internalDeliveryChannel.protocol (Optional Property)

デフォルトの内部デリバリ・チャネルはAQキューです。特定の内部デリバリ・チャネル(JMS/FTP/FILE/SFTP)を追加する場合、Oracle B2B構成では、このプロパティが使用されます。特定のトランスポート・プロトコルに関するすべての必須プロパティを指定します。その後、特定のチャネルを使用して、メッセージをバックエンド・アプリケーションに送信します。

oracle.tip.b2b.ebms.allDocumentParameter (Optional Property)

このプロパティは、インポート・パフォーマンスの向上に使用されます。このプロパティをfalseに設定すると、soa.zipで不要または未設定のパラメータは生成されなくなります。

oracle.tip.b2b.ebms.TPCertificateAlias (Optional Property)

セキュアなメッセージ転送の場合、このプロパティは、リモート取引プロファイルからのCPP/CPAインポートに対する取引パートナ資格証明の詳細を取得するために使用します。

b2bcpaimportユーティリティで取得したOracleB2B zipファイルをOracle B2Bコンソールにインポートすると、次が行われます。

- 証明書エイリアスは、「管理」→「タイプ」で使用できます。

- 証明書エイリアス<value from b2bcpaimport profiles>は、「パートナ」→リモート取引パートナ→「プロファイル」タブ→「識別子」で使用できます。

20.11.1.1.2 CPAエクスポートのプロパティ

次に、CPAエクスポートのプロパティを示します。

oracle.tip.b2b.ebms.OutputFolder (Required Property)

このプロパティは、生成されたCPP/CPAファイルを指定の場所に格納するために使用します。

oracle.tip.b2b.ebms.Host (Required Property)

このプロパティは、ホスト取引パートナを設定するために使用します。

oracle.tip.b2b.ebms.HostEndPoint (Required Property)

このプロパティは、CPP/CPAエクスポートの生成時にホスト・エンドポイントを設定するために使用します。

oracle.tip.b2b.ebms.HostCertificateAlias (Optional Property)

セキュアなメッセージ転送の場合、このプロパティは、CPP/CPAエクスポートに対するホスト資格証明の詳細を取得するために使用します。

oracle.tip.b2b.ebms.TPCertificateAlias (Optional Property)

セキュアなメッセージ転送の場合、このプロパティは、CPP/CPAエクスポートに対する取引パートナ資格証明の詳細を取得するために使用します。

oracle.tip.b2b.ebms.BPSSExport (Optional Property)

このブール・プロパティは、BPSSドキュメントを生成するために使用します。

20.11.1.1.3 共通プロパティ

次に、共通のプロパティを示します。

oracle.tip.b2b.ebms.LogDirectory (Required Property)

このプロパティは、ログ・ファイルを格納するために使用します。

oracle.tip.b2b.ebms.LogLevel (Required Property)

このプロパティは、DEBUG、INFO、ERRORなど、ログのモードを指定するために使用します。

oracle.tip.b2b.ebms.LogType (Required Property)

このプロパティは、ログ・ファイルをテキストとして格納するか、XMLとして格納するかを指定するために使用します。

20.11.2 CPP/CPAインポート

次のユーティリティでは、ebXML標準cpa.xmlファイルをOracle B2Bメタデータ・ファイルに変換します。変換後のファイルをOracle B2Bにインポートする必要があります。

ant -f ant-b2b-util.xml b2bcpaimport

表20-11に、このユーティリティのオプションを示します。

表20-11 b2bcpaimportユーティリティのオプション

オプション

説明

ドメイン

必須

propfile

b2bcpaimportおよびb2bcpaexportに関する構成詳細を格納するプロパティ・ファイル

-

はい

例20-26 CPAフォーマットXMLからOracle B2B ZIPファイルへの変換

ant -f ant-b2b-util.xml b2bcpaimport -Dpropfile="/tmp/cpp_cpa.properties"

20.11.3 CPP/CPAエクスポート

次のユーティリティでは、Oracle B2Bメタデータ・ファイル(Oracle B2Bからエクスポートされたデータ)をebXML標準cpa.xmlファイル(CPA対応構成)に変換します。

ant -f ant-b2b-util.xml b2bcpaexport

表20-12に、このユーティリティのオプションを示します。

表20-12 b2bcpaimportユーティリティのオプション

オプション

説明

ドメイン

必須

propfile

b2bcpaimportおよびb2bcpaexportに関する構成詳細を格納するプロパティ・ファイル

-

はい

例20-27 Oracle B2B ZIPファイルからCPAフォーマットXMLファイルへの変換

ant -f ant-b2b-util.xml b2bcpaexport -Dpropfile="/tmp/cpp_cpa.properties"

20.12 アグリーメントの可用性の検証

b2bcheckcpaidユーティリティを使用すると、特定のCPAIDおよび取引パートナのアグリーメントの可用性を検証できます。結果に基づき、オプションによりアグリーメントをインポートして上書きできます。

表20-13 b2bcheckcpaidユーティリティのオプション

オプション

説明

ドメイン

必須

args

Oracle B2Bメタデータ・ファイル

ファイル名

はい

例20-28

ant -f ant-b2b-util.xml b2bcheckcpaid -Dargs="soa_file.zip"

20.13 selfservice.xsdに基づいたOracle B2Bメタデータの作成

次のユーティリティでは、selfservice.xsdファイルを作成します。このファイルは、XSD構造に基づいたセルフサービスXMLの理解または作成に使用されます。

ant -f ant-b2b-util.xml b2bselfservicexsd

次のユーティリティでは、selfservice.xsdに基づいて作成されたXMLファイルからOracle B2Bメタデータを作成します。

ant -f ant-b2b-util.xml b2bselfservice

セルフサービス・プロトコル、識別およびセキュリティ仕様の詳細は、付録J「セルフサービス・ユーティリティのプロトコル、識別、セキュリティ仕様およびパラメータ」を参照してください。

表20-14に、これらのユーティリティのオプションを示します。

表20-14 b2bselfserviceユーティリティのオプション

オプション

説明

ドメイン

必須

input

XMLファイルの絶対位置

-

はい

output

ZIPファイルとして格納されるOracle B2Bメタデータの場所

-

いいえ

例20-29 b2bselfservicexsdによって生成されたXMLからOracle B2BメタデータZIPファイル(/tmp/soa.zipに格納)への変換

ant -f ant-b2b-util.xml b2bselfservice -Dinput="/tmp/selfservice1.xml"

例20-30 b2bselfservicexsdによって生成されたXMLからOracle B2BメタデータZIPファイル(/tmp/as11b2b.zipに格納)への変換

ant -f ant-b2b-util.xml b2bselfservice -Dinput="/tmp/selfservice1.xml" -Doutput="/tmp/as11b2b.zip"

20.13.1 セルフサービスを使用したドキュメント・プロトコル、取引パートナおよびアグリーメントのバッチ作成

複数ファイル・アプローチを使用する場合は、セルフサービスXMLファイルの名前が次の順序であることを確認する必要があり、次の順序でない場合、参照オブジェクトが存在しないことを示すエラーがスローされる可能性があります。

1. ドキュメント・プロトコルのセルフサービスXMLファイル。

2. 取引パートナのセルフサービスXMLファイル(HOSTがこのリストの最初に記述されている必要があります)。

3. 取引パートナ・アグリーメントのセルフサービスXMLファイル。

例:

1. ドキュメント・プロトコルを格納するdoc_selfservice.xml。

2. 取引パートナの詳細を格納するtp_selfservice.xml。

3. アグリーメントの詳細を格納するtpa_selfservice.xml。

例20-31 b2bselfservicexsdによってフォルダ内に生成されたXMLファイル(複数)からOracle B2BメタデータZIPファイル(/tmp/as11b2b.zipに格納)への変換

ant -f ant-b2b-util.xml b2bselfservice -Dinput="/folder" -Doutput="/tmp/as11b2b.zip"

20.13.2 セルフサービスのサンプルの使用

セルフサービス・ユーティリティ(b2bselfservice) XMLのサンプルは、そのスキーマとECSファイルとともにバンドルされており、B2Bサンプル構成のB2Bメタデータとともに提供されます。

セルフサービスのサンプルは、$samples/selfserviceフォルダにあります。

サンプルは、ドキュメントと交換プロトコルのすべての組合せに対応しているわけではありません。ただし、既存のサンプルのドキュメント・プロトコルと交換プロトコルの詳細を置換して、新規XMLファイルを作成できます。

注意:

セルフサービスXMLファイルは、XSDを使用して作成することもでき、ファイルを最初から作成する上級ユーザーにとっては、この方法が便利です。

X12のサンプル

X12のサンプルは、次の場所にあります。

$samples/selfservice/x12/b2b-201-X12_4010_850_File/x12_ss.xml

スキーマは、次の場所にあります。

$samples/selfservice/x12/b2b-201-X12_4010_850_File/schemas

次のコマンドを使用します。

ant -f ant-b2b-util.xml b2bselfservice -Dinput="$samples/selfservice/x12/b2b-201-X12_4010_850_File/x12_ss.xml"

カスタムのサンプル

カスタムのサンプルは、次の場所にあります。

$samples/selfservice/custom/b2b-101-Custom_1.0_orders_generic_file/custom_ss.xml

スキーマは、次の場所にあります。

$samples/selfservice/custom/b2b-101-Custom_1.0_orders_generic_file/schemas

次のコマンドを使用します。

ant -f ant-b2b-util.xml b2bselfservice -Dinput="$samples/selfservice/ custom\b2b-101-Custom_1.0_orders_generic_file/custom_ss.xml"

ebMSのサンプル

ebMSのサンプルは、次の場所にあります。

$samples/selfservice/custom/ b2b-106-Custom_1.0_orders_ebMS/buyer_setup_selfservice/ ebms_buyer_ss.xml

スキーマは、次の場所にあります。

$samples/selfservice/custom/ b2b-106-Custom_1.0_orders_ebMS/buyer_setup_selfservice/schemas

次のコマンドを使用します。

ant -f ant-b2b-util.xml b2bselfservice -Dinput="$samples/selfservice/custom/ b2b-106-Custom_1.0_orders_ebMS/buyer_setup_selfservice/ ebms_buyer_ss.xml"

20.14 メッセージの再発行

次のユーティリティでは、選択したビジネス・メッセージに対するアプリケーション・メッセージまたはワイヤ・メッセージを再発行します。

ant -f ant-b2b-util.xml b2bresubmit

再発行数は、アプリケーション・メッセージおよびワイヤ・メッセージのOracle B2Bコンソール・レポートに反映されます。

注意:

ペイロードの修正に対する再発行機能は、AppMessageのみのアウトバウンド・メッセージに対してのみ機能します。インバウンドの場合は無効です。

ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Dmsgid=12345 -Dpayloadpath=/scratch/viramamo/fmwhome/AS11gR1SOA/bin/3a4_req.xml

注意:

再発行するためのメッセージの検索条件または一致条件を少なくとも1つ指定する必要があります(maxcount、exclresubmit、modeを除く。)

表20-15に、このユーティリティのオプションを示します。

表20-15 b2bresubmitユーティリティのオプション

オプション

説明

ドメイン

必須

direction

メッセージの方向

INBOUND

OUTBOUND

msgsource

メッセージ・ソース

APPMSG

WIREMSG

msgid

メッセージID

doctype

ドキュメント・タイプ

msgstate

メッセージ状態

fromdate

メッセージのsendTimestamp

二重引用符で囲んで指定する日付書式

dd/MM/yyyy h:mm AM/PM

注意: 将来の日付は設定できません。

はい(todateを使用する場合)

todate

メッセージのsendTimestamp

二重引用符で囲んで指定する日付書式

dd/MM/yyyy hh:mm AM/PM

注意: todateにはfromdateより後の日付を指定する必要があります。両方の日付を指定できます。

はい(fromdateを使用する場合)

agreement

アグリーメント名

payloadpath

このオプションは、修正したファイル・パスを指定して、アウトバウンド・アプリケーション・メッセージを再発行する場合に適用可能です。

tp

再発行の際に使用する取引パートナ名。取引パートナ名にはホスト名を使用できません。

action

eBMSドキュメントのアクションに基づく再発行

service

eBMSドキュメントのサービスに基づく再発行

idtype/idvalue

idtypeはDUNS IDであり、idvalueにはDUNS ID値が格納されます。idtypeとidvalueは取引パートナの場合のみ使用可能であり、ホストの場合は使用できません。両方の値を指定する必要があります。

mode

影響を受ける行またはその数を取得することによって、コマンドを実際に実行せずにシミュレーションします。選択した条件を満たすメッセージ数を表示します。メッセージの再発行は行わずに、情報の表示のみ行います。

list、count

exclresubmit

再発行済メッセージを除外します。

デフォルト値: false。使用可能な値: true/false

exclmsgid

特定のmessageIdを除外します。

1つ以上のメッセージID (カンマ区切りのmessageID)

excldoctype

特定のドキュメント・タイプを除外します。

カンマ区切りの1つ以上のドキュメント・タイプ

exclstate

特定のメッセージ状態を除外します。

1つ以上のメッセージ状態(カンマ区切りの状態)

maxcount

選択した条件を満たして再発行するメッセージの最大数を制限し、バッチ処理されたメッセージの再発行を有効化します。このmaxcount条件を指定した場合、完了状態の確認メッセージは再発行の対象になりません。

正の整数

oldcpaid/newcpaid

cpaIDが変更された場合の再発行。それには、oldcpaIDとnewcpaIDの両方のcpa IDを指定します。

filepath

ファイルベースのMessageIDリストで対話IDに基づく再発行を行う場合に使用されます。

sourceid

再発行するソースIDのリストがファイルに記述されていることを示します。-Dfilepathと組み合せて使用します。

protocolmsgid

単一プロトコル・メッセージIDに基づく再発行

プロトコル・メッセージIDのカンマ区切りリスト

protocolcollaborationid

単一プロトコル・コラボレーションIDに基づく再発行

プロトコル・コラボレーションIDのカンマ区切りリスト

例20-32 メッセージIDが12345のアウトバウンド・メッセージの再発行

ant -f ant-b2b-util.xml b2bresubmit -Ddirection=OUTBOUND -Dmsgsource=APPMSG -Dmsgid=12345\

その他の例

ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Ddoctype=850

ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Dfromdate="29/11/2009 5:40 AM" -Dtodate="30/11/2009 7:39 AM"

ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Dagreement="Acme_GlobalChips_X12_4010_850_File"

ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=WIREMSG -Dmsgstate=MSG_ERROR

ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Dfromdate="29/11/2009 5:40 AM" -Dtodate="30/11/2009 7:39 AM" -Ddirection=OUTBOUND

ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Dfromdate="29/11/2009 5:40 AM" -Dtodate="30/11/2009 7:39 AM" -Ddirection=INBOUND

ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Dmsgid=12345 -Dpayloadpath="/tmp/850.xml"

ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Dmsgid=39950852 -Dexclresubmit=true

ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=WIREMSG -Dmsgid=39950852 -Dexclstate=MSG_COMPLETE

ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Dagreement="Acme_GlobalChips_X12_4010_850_File" -Dexclmsgid=33774513

ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Dfromdate="29/05/2010 5:40 AM" -Dtodate="30/05/2010 7:39 AM" -Dmode=list

20.14.1 プロトコル・メッセージIDに基づくメッセージの再発行

プロトコル・メッセージIDは、次の3つの方法で指定できます。

次の例は、プロトコル・メッセージIDに基づいてメッセージを再発行する方法を示します。

例20-33 単一プロトコル・メッセージIDの指定

ant -f ant-b2b-util.xml b2bresubmit -Dprotocolmessageid="@0AE4A13C13049AF1C940000011B831E8"

例20-34 プロトコル・メッセージIDのカンマ区切りリストの指定

ant -f ant-b2b-util.xml b2bresubmit -Dprotocolmessageid="@0AE4A13C13049AF1C940000011B831E8,@0AE56A6F13049AF21500000016729990"

例20-35 プロトコル・メッセージIDのリスト(1行につき1つのプロトコル・メッセージID)を記述したファイルの指定

ant -f ant-b2b-util.xml b2bresubmit -Dsourceid=protocolmessageid -DfilePath="inputProtMsgId.txt"

注意:

前述のオプションは一度にいずれか1つのみを使用します。1つのコマンドで前述のオプションを組み合せて使用した場合、予期しない結果が返される可能性があります。

20.15 取引パートナの停止時間のスケジュール設定

次のユーティリティでは、取引パートナの停止時間のスケジュールを設定します。

ant -f ant-b2b-util.xml b2bschedule

表20-16に、このユーティリティのオプションを示します。

表20-16 b2bscheduleユーティリティのオプション

オプション

説明

ドメイン

必須

mode

スクリプトで停止時間のスケジュールを設定するのか、解除するのかを示します。

scheduleまたはunschedule

はい

schedulename

スケジュールを設定する停止時間の摘要名

-

はい

tp

取引パートナ名

-

はい

(unscheduleモードの場合以外)

fromdate

停止時間を開始する日時。

二重引用符で囲んで指定する日付書式

dd/mm/yyyy hh:mm AM/PM

いいえ

todate

停止時間を終了する日時。

二重引用符で囲んで指定する日付書式

dd/mm/yyyy hh:mm AM/PM

いいえ

channelname

チャネル名

-

いいえ

extend

すでに作成されているスケジュールを延長します。例20-41を参照してください。

true

いいえ

次に、b2bscheduleユーティリティを使用して取引パートナの停止時間のスケジュールを設定する例を示します。コマンドを1行で入力する必要はありません。

例20-36 特定のチャネルと期間における取引パートナの停止時間のスケジュール設定

ant -f ant-b2b-util.xml b2bschedule
-mode=schedule
-Dtp="OracleServices"
-Dfromdate="28/05/2010 06:10 AM"
-Dtodate="28/05/2010 06:15 AM"
-Dchannelname="MarketInc_AS2_DC"
-Dschedulename= "Maintenance"

例20-37 特定のチャネルの停止時間のスケジュール設定

ant -f ant-b2b-util.xml b2bschedule
-mode=schedule
-Dtp="MarketInc"
-Dchannelname="MarketInc_ebMS_DC"
-Dschedulename= "Maintenance"

例20-38 取引パートナの停止時間のスケジュール設定

この例では、この取引パートナのすべてのチャネルが停止し、期間は不明です。例20-40に示すように、unscheduleコマンドを別に実行すると、取引パートナはアクティブ状態に戻ります。

ant -f ant-b2b-util.xml b2bschedule -mode=schedule -Dtp="MarketInc" -Dschedulename= "Maintenance"

例20-39 特定の期間における停止時間のスケジュール設定

ant -f ant-b2b-util.xml b2bschedule -mode=schedule -Dtp="MarketInc" -Dfromdate="28/05/2010 03:05 AM" -Dtodate="28/05/2010 03:08 AM" -Dschedulename= "Maintenance"

例20-40 スケジュールが設定されているイベントのスケジュール解除

ant -f ant-b2b-util.xml b2bschedule -Dmode=unschedule -Dschedulename="Maintenance"

例20-41 既存のスケジュールの延長

次のコマンドを入力すると、リモート取引パートナのすべてのチャネルに対して特定の期間のスケジュールが作成されます。

ant -f ant-b2b-util.xml b2bschedule -Dtp=GlobalChips -Dfromdate="31/08/2010 10:47 AM" -Dtodate="31/08/2010 10:57 AM" -Dschedulename=Load -Dchannelname=GlobalChips_File_Endpoint

同じ名前で別のスケジュールを作成することによって、スケジュールを延長します。スケジュールの開始時刻は古いスケジュールの終了時刻とし(31/08/2010 10:57 AM)、終了時刻はスケジュールを延長する時刻に指定して、パラメータ-Dextend=trueを渡します。

ant -f ant-b2b-util.xml b2bschedule -Dtp=GlobalChips -Dfromdate="31/08/2010 10:57 AM" -Dtodate="31/08/2010 11:57 AM" -Dschedulename=Load -Dchannelname=GlobalChips_File_Endpoint -Dextend=true

20.16 キーストアの管理

証明書の有効期限はメッセージ・フローのセキュリティに影響を与えるため、識別して管理者に通知する必要があります。Oracle B2Bでは、証明書の有効期限をチェックするパブリックAPI/Antコマンドを公開しています。b2bmanagekeystoreを使用すると、スケジュールを定義して、そのAPIを適切なアラート・メカニズムに組み込むことができます。

注意:

前提条件として、Oracle B2BでJavaキーストアを構成しておく必要があります。

ant -f ant-b2b-util.xml b2bmanagekeystore [-Dmode=list | -Dalias="cert_name" | -Ddays=num_of_days]

表20-17 b2bmanagekeystoreユーティリティのオプション

オプション

説明

ドメイン

必須

mode

キーストアに含まれるすべての証明書エイリアスとその有効期限を表示します

リスト

いいえ

alias

指定したエイリアスの証明書のステータスと有効期限です

いいえ

days

指定した日数以内に有効期限が切れるすべての証明書を表示します

integer

いいえ

例20-42 証明書エイリアスのリストの取得

ant -f ant-b2b-util.xml b2bmanagekeystore -Dmode=list

例20-43 証明書のステータスの取得

ant -f ant-b2b-util.xml b2bmanagekeystore -Dalias="MarketInc_Cert"

例20-44 将来の日付に有効期限が切れる証明書リストの取得

ant -f ant-b2b-util.xml b2bmanagekeystore -Ddays=15

20.17 キーストアの更新

次のユーティリティでは、キーストアの場所とパスワードを更新します。

ant -f ant-b2b-util.xml b2bkeystoreupdate

表20-18に、このユーティリティの必須パラメータを示します。

表20-18 b2bkeystoreupdateユーティリティのパラメータ

オプション

説明

keystorelocation

キーストアに含まれるすべての証明書エイリアスとその有効期限を表示します

keystorepassword

指定したエイリアスの証明書のステータスと有効期限です

次に、ユーティリティの使用例を示します。

ant -f ant-b2b-util.xml b2bkeystoreupdate -Dkeystorelocation="/tmp/acme.jks" -Dkeystorepassword="welcome"

20.18 インポート時のエラー

次のパイプ中断エラーが発生した場合は、Oracle WebLogic Server管理コンソールを使用して、「最大メッセージ・サイズ」を200000000に増やしてください。

[java] Exception in thread "main" java.lang.Exception: java.rmi.UnmarshalException: Broken pipe;
nested exception is:
[java]  java.net.SocketException: Broken pipe
[java] at oracle.tip.b2b.utility.B2BCommandLineUtility.upgradeRepository(B2BCommandLineUtility.java:548)
[java]  at oracle.tip.b2b.utility.B2BCommandLineUtility.main(B2BCommandLineUtility.java:601)
[java] Caused by: java.rmi.UnmarshalException: Broken pipe; nested exception is:
[java] java.net.SocketException: Broken pipe

21 Oracle B2B Web サービスの使用

この章では、アウトバウンドWebサービスおよび変換WebサービスなどのOracle B2B Webサービスについて説明します。また、Webサービスを保護する方法について説明します。

この章では、次の項目について説明します。

- 第21.1項 Oracle B2B Webサービスの概要

- 第21.2項 アウトバウンドWebサービスの使用

- 第21.3項 変換Webサービスの使用

- 第21.4項 問合せAPIの使用

- 第21.5項 Oracle B2B Webサービスの保護

21.1 Oracle B2B Webサービスの概要

Oracle B2Bでは、Oracle JDeveloperでドキュメント詳細を取得するためのWebサービスが公開されています。これらはパートナに直接接続しているWebサービスであり、ユーザーはOracle B2Bにメッセージを送信できます。同様に、Oracle B2Bでは、Oracle B2Bにデプロイされたアグリーメントに基づいて、メッセージを受信し、処理してパートナに送信するために、バックエンドに対して公開されたWebサービスが提供されています。

Oracle B2B Webサービスを使用するには、Oracle JDeveloperでアプリケーション内にWebサービス・プロキシを作成します。WebサービスのWebサービス記述言語(WSDL)ファイルは、Oracle B2Bがインストールされているシステム上の次のURLで入手できます。

http://host_name:port_number/b2b/services/

URIを指定せず、サーブレットのURLパターンのみを接尾辞として付けたURLをWebブラウザに入力すると、ダウンロードできるWSDLのリストが表示されます(セキュリティ制限はありません)。

Oracle B2Bには、次のWebサービスAPIがあります。

- アウトバウンドWebサービスAPIでは、組込み内部リスニング・チャネルが提供されます。詳細は、第21.2項 アウトバウンドWebサービスの使用を参照してください。

- 変換WebサービスAPIが、HL7、EDIなどのネイティブ・ペイロードをXML書式に変換するために公開されています。詳細は、第21.3項 変換Webサービスの使用を参照してください。

- 問合せAPIは、Oracle B2Bの構成済の詳細を取得するのに役立ちます。詳細は、第21.4項 問合せAPIの使用を参照してください。

Oracle B2B Webサービスのセキュリティ

Oracle Web Services Managerを使用すると、Webサービスのランタイムとフローに影響を及ぼすことなく、様々なタイプのポリシーを統合できます。また、サービス・インフラストラクチャのセキュリティが提供されます。署名、暗号化/復号化、認証、認可、監査およびレポートが、このツールキットによって提供されます。したがって、このWebサービス実装は、セキュリティ、署名および暗号化の詳細には対応しません。Webサービス・メソッドには、セキュリティの詳細ではなく、ビジネス・ロジックが保持されます。Oracle Weblogic Serverコンソールにおいて適用されるポリシーに基づき、Webサービス・クライアントでは、セキュリティの詳細をWebサービス・ポートと関連付ける必要があります。

21.2 アウトバウンドWebサービスの使用

アウトバウンドWebサービスは組込み内部リスニング・チャネルとして公開され、メッセージはこのサービスにエンキューされます。soap:body内の詳細およびヘッダーに基づいて、アグリーメント識別が行われ、メッセージはパートナにルーティングされます。

表21-1、表21-2および表21-3では、アウトバウンドWebサービスのリクエスト、レスポンスおよびフォルト通知メッセージのパラメータについて説明します。

表21-1 アウトバウンドWebサービス・リクエストのパラメータ

ヘッダー

データ型

説明

必須

from

文字列

ホスト名または識別値

いいえ

to

文字列

取引パートナ名または識別値

はい

@type

文字列

例: DUNS

識別タイプ

いいえ

documentProtocolVersion

文字列

例: 4010

ドキュメント・タイプ・バージョン

はい脚注1

documentTypeName

文字列

例: 850

ドキュメント・タイプ名

action

文字列

例: PurchaseOrder

ebMSアクション名

service

文字列

例: OrderProcessing

ebMSサービス名

serviceType

文字列

例: string

デフォルト: string

ebMSサービス・タイプ

messageId

文字列

このパラメータで指定するメッセージIDは、APP_Messageを作成するために使用されます。

いいえ

replyToMessageId

文字列

例:
<reply_msgID>:collaborationID

この応答の宛先メッセージのメッセージIDをコラボレーションIDとともに保持します。

いいえ

messageType

文字列

メッセージのタイプ

いいえ

encoding

文字列

例: ISO-8859-1

デフォルト: UTF-8

エンコーディング形式

いいえ

payload

Xsd:anyType

ペイロードを保持します

はい

attachment

Xsd:anyType

添付ファイル(存在する場合)

いいえ

脚注1 documentProtocolVersionおよびdocumentTypeNameが存在するか、action、serviceおよびserviceTypeが存在する必要があります。カスタムの一般的なケースではactionのみが必要であり、その他は必要ありません。

表21-2 アウトバウンドWebサービス・レスポンスのパラメータ

ヘッダー

データ型

説明

必須

isTransmitted

ブール

trueの場合、メッセージは正常に伝送されました。それ以外の場合はfalseです。

はい

表21-3 アウトバウンドWebサービス・フォルト・メッセージのパラメータ

ヘッダー

データ型

説明

ExceptionMessage

文字列

フォルトが見つかった場合、例外スタック・トレースが伝送されます。

21.3 変換Webサービスの使用

変換Webサービスでは、HL7、EDIなどのXMLペイロードがネイティブ・フォーマットに変換され、同様にネイティブ・ドキュメントがXMLに変換されます。

注意:

非EDI XMLが送信されると、Oracle B2Bサーバーでアグリーメントが一致する場合には、変換された内容に、同じペイロードがそのまま含められます。

EDI XMLが変換のために送信され、かつ、バッチの一部としてドキュメントが含まれている場合、変換されたレスポンスではペイロードは変換されません。

注意:

変換Webサービス・リクエストは、レポートおよびメトリックの他のアウトバウンド・リクエストと区別されません。

注意:

TranslateService Webサービスは非推奨になっています。

21.3.1 XMLToNativeService

このサービスは、指定されたXMLペイロードをネイティブ・ドキュメントに変換します。完全なエンベロープまたはトランザクション・セットのみの2つのレベルで変換できます。

21.3.1.1 完全なエンベロープ

この変換は、完全なネイティブ・ドキュメントを生成します。

前提条件:

- 有効なアウトバウンド・アグリーメントがデプロイ済であること。

- 取引パートナ名、ドキュメント・タイプ名、ドキュメント・プロトコル・バージョンおよびペイロードはサービスを起動するために必須です。

サポートされているプロトコル:

- EDI X12

- EDI EDIFACT

- HL7

21.3.1.2 トランザクション・セットのみ

この変換は、返されるネイティブ・コンテンツ内にトランザクション・セットのみ生成します。

前提条件:

- サービスは、Oracle B2Bでドキュメント・タイプとリビジョンが構成されていることを想定しています。

- transactionSetOnly要素をtrueに設定する必要があります。サービス起動リクエストで取引パートナ名を指定しないでください。

- transactionSetOnly、documentTypeName、documentProtocolVersionおよびpayloadの各要素はサービスを起動するために必須です。

サポートされているプロトコル:

- EDI X12

21.3.2 NativeToXMLService

このサービスは、指定されたネイティブ・ドキュメントをXMLに変換します。完全なネイティブ・ドキュメントまたはトランザクション・セットのみのどちらかを変換できます。

21.3.2.1 完全なエンベロープ

このサービスは、完全なネイティブ・ドキュメントをXMLに変換します。

前提条件:

- 有効なインバウンド・アグリーメントがデプロイ済であること。

- 取引パートナ名およびペイロードはサービスを起動するために必須です。

サポートされているプロトコル:

- EDI X12

- EDI EDIFACT

- HL7

21.3.2.2 トランザクション・セットのみ

このサービスは、指定されたトランザクション・セットのXMLコンテンツを生成します。

前提条件およびサポートされているプロトコルは、「XMLToNativeService」と同じです。

21.3.3 変換Webサービスのパラメータ

表21-4に、変換Webサービス・メッセージ・パラメータを示します。

Table 21-4 変換Webサービスのパラメータ

ヘッダー

データ型

説明

必須

transactionSetOnly

ブール

変換対象がトランザクション・セットのみかどうか

TPName

文字列

取引パートナ名

documentTypeName

文字列

ドキュメント・タイプ名

はい

documentProtocolVersion

文字列

ドキュメント・プロトコル・バージョン

はい

encoding

文字列

エンコーディング・タイプ

payload

文字列

実際のペイロード

はい

FAonError

文字列

エラーの場合のみFAを送信するかどうか

追加ヘッダー

HeaderName

文字列

任意の追加ヘッダー名

はい

HeaderValue

文字列

任意の追加ヘッダー値

はい

ElementDelimiters

文字列

Segment

文字列

セグメント・デリミタ

要素

文字列

要素デリミタ

Subelement

文字列

サブ要素デリミタ

ReplacementCharacter

文字列

置換文字

RepeatingSeparator

文字列

繰返しセパレータ

21.4 問合せAPIの使用

問合せAPIでは、Oracle B2Bから構成済の詳細が取得され、アプリケーションと共有されます。

アプリケーションからのメッセージ伝送を開始する前に、特定のパラメータに対してヘルス・チェック・リクエストが行われます。このチェックによって、構成が存在するかどうか、およびアクティブな構成の数がわかります。構成が見つからない場合、アプリケーションでは、B2Bで構成が見つからないというメッセージを出力して、レイヤー内のメッセージ・フローを停止できます。

次のAPIが提供されています。

- Is Trading Partner Agreement Setupは、特定の入力に対してアグリーメントが見つかった場合、trueを返します。パラメータの詳細は、第21.4.1項 Is Trading Partner Agreement Setupのパラメータを参照してください。

- Get Trading Partner Agreement Informationは、アグリーメントの詳細を返します。パラメータの詳細は、第21.4.2項 Get Trading Partner Agreement Informationのパラメータを参照してください。

21.4.1 Is Trading Partner Agreement Setupのパラメータ

表21-5 Is Trading Partner Agreement Setupのリクエストのパラメータ

ヘッダー

データ型

説明

必須

from

文字列

ホスト名または識別値

いいえ

to

文字列

取引パートナ名または識別値

いいえ

@type

文字列

例: DUNS

識別タイプ

いいえ

document

文字列

例: Sales Order

送信される内部アプリケーション・ドキュメントまたはAIA EBOの名前

はい

action

文字列

例: Update

取引パートナとの特定の相互作用を識別するサブ分類

はい

表21-6 Is Trading Partner Agreement Setupのレスポンスのパラメータ

ヘッダー

データ型

説明

必須

MatchedTPACount

integer

Oracle B2Bリポジトリ内にアクティブな状態で存在するアグリーメントの数

はい

表21-7 Is Trading Partner Agreement Setupのフォルト・メッセージのパラメータ

ヘッダー

データ型

説明

ExceptionMessage

文字列

フォルトが見つかった場合、例外スタック・トレースが伝送されます。

21.4.2 Get Trading Partner Agreement Informationのパラメータ

表21-8 Get Trading Partner Agreement Informationのリクエストのパラメータ

ヘッダー

データ型

説明

必須

from

文字列

ホスト名または識別値

いいえ

to

文字列

取引パートナ名または識別値

いいえ

@type

文字列

例: DUNS

識別タイプ

いいえ

document

文字列

例: Sales Order

送信される内部アプリケーション・ドキュメントまたはAIA EBOの名前

いいえ

action

文字列

例: Update

取引パートナとの特定の相互作用を識別するサブ分類

いいえ

表21-9 Get Trading Partner Agreement Informationのレスポンスのパラメータ

ヘッダー

データ型

説明

必須

AgreementID

文字列

一致したアグリーメントの一意のアグリーメントID

はい

B2BDocumentDef

文字列

Oracle B2Bドキュメント・タイプの作成に使用されるOracle B2B内のドキュメント定義

はい

B2BDocumentType

文字列

リクエストされたアプリケーション・ドキュメントおよびアクションに対してOracle B2Bで定義されているドキュメント・タイプ

はい

B2BDocumentRevision

文字列

リクエストされたアプリケーション・ドキュメントおよびアクションに対してOracle B2Bで定義されているドキュメント・リビジョン

はい

B2BDocumentProtocol

文字列

リクエストされたアプリケーション・ドキュメントおよびアクションに対してOracle B2Bで定義されているドキュメント・プロトコル名

はい

Direction

文字列

ドキュメントの方向

はい

XSLTファイル

文字列

Oracle B2B TPドキュメントを生成するためにAIAレイヤーによって使用されるXSLTファイル

いいえ

表21-10 Get Trading Partner Agreement Informationのフォルト・メッセージのパラメータ

ヘッダー

データ型

説明

ExceptionMessage

文字列

フォルトが見つかった場合、例外スタック・トレースが伝送されます。

21.5 Oracle B2B Webサービスの保護

B2Bで公開されるWebサービスは、構成の詳細が侵入者から見えないように保護する必要があります。Oracle Web Services Managerのポリシー・アプローチには、要件に基づいてWebサービスを保護する機能があります。

Webサービスのエンドポイントは、oracle.webservices.provider.ProviderConfig.addService(...) APIを使用して動的およびプログラム的に登録されます。これらのエンドポイントはOracle Enterprise Manager Fusion Middleware Controlコンソールに表示されないため、WebサービスとそのポリシーのライフサイクルはOracle B2Bによって管理されます。

ポリシーを指定してWebサービスのエンドポイントに関連付けるには、次の手順に従います。

1. Oracle B2Bコンソールで、「管理」→「構成」タブに移動します。

2. 「パージ不可」セクションの「Webサービス・ポリシー」フィールドに、適切な値を入力します。
エンドポイントのみを保護するには、Oracle Web Services ManagerポリシーURIを入力します。RM、アドレッシングおよびロギングを取得するには、<policy>タグ全体を入力します。次の例を参照してください。

使用可能なOracle WSMポリシーのリストは、Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護の使用可能なOracle WSMセキュリティ・ポリシーを参照してください。

3. 「保存」をクリックします。
ここで関連付けられるポリシーに基づいて、WSDL URLによって、このサービスのプロキシ・クライアントの作成時に使用する必要があるポリシー詳細のパブリッシュ/記述が開始されます。

ポリシーの変更を反映するためにB2Bを再起動する必要はありません。

例

例1: セキュリティ・ポリシーoracle/wss_username_token_service_policyを適用するには、次のURIを「Webサービス・ポリシー」に入力します。

oracle/wss_username_token_service_policy

例2: 次のXMLを「Webサービス・ポリシー」に入力します。セキュリティおよびRMポリシーが適用されます。

<policy><policy-references><policy-reference uri="oracle/wss_username_token_
service_policy" category="security"/><policy-reference uri="oracle/wsrm11_policy"
category="wsrm"/></policy-references></policy>

制限事項

特定のエンドポイントについてのみポリシーを制御する方法はありません。どのようなポリシーを指定しても、すべてのエンドポイントに適用されます。

「Webサービス・ポリシー」フィールドをクリアして、すでに指定されているポリシーURIを削除することはできません。なんらかの文字列(noneなど)をフィールドに入力する必要があります。

Oracle Enterprise Manager Fusion Middleware Controlコンソールには、Oracle B2B Webサービスの使用方法に関するメトリックは表示されません。

22 Webサービスベースのメッセージ交換の有効化

この章では、Oracle B2Bで取引パートナ間のWebサービスベースのメッセージ(通常はSOAPベース)交換を有効化する方法について説明します。

この章は次の項で構成されています。

- 第22.1項 Webサービスベースのメッセージ交換の概要

- 第22.2項 カスタムWSDLファイルによるSOAPベースのサービス・メッセージの交換

- 第22.3項 wsa.actionの構成

- 第22.4項 カスタムSOAPヘッダーの送信

- 第22.5項 Webサービスへのポリシーの添付

- 第22.6項 実行時の取引パートナの識別

- 第22.7項 リクエストとリプライのサンプル・シナリオ

22.1 Webサービスベースのメッセージ交換の概要

Oracle B2Bでは、取引パートナ間でWebサービス(SOAP)ベースのメッセージを交換できます。インバウンドとアウトバウンドの双方向のメッセージを交換できます。ただし、現在サポートされているのは、HTTPを使用するSOAP 1.1メッセージのみです。

Webサービス機能を使用すると、パートナ間でメッセージを送受信できるだけでなく、プロトコル実装レイヤーとしてレポート、追跡および監査などの一般機能をサポートします。

多くの企業で、(B2B固有のプロトコル以外に) Webサービスを使用して取引パートナのファイル転送またはメッセージ交換、あるいはその両方を統合する必要性がますます高まっています。

Oracle B2Bでは、次の仕様に基づいてWebサービスをサポートします。ただし、ときには実装が異なる可能性があります。

- SOAP 1.1

- WS Addressing 1.0

- 添付ファイル

22.2 カスタムWSDLファイルによるSOAPベースのサービス・メッセージの交換

SOAPベースのメッセージは、インバウンドとアウトバウンドの双方向でサポートされています。要件に従ってカスタマイズ可能なWebサービス定義言語(WSDL)ファイルを作成またはアップロードする必要があります。

22.2.1 SOAPベースのアウトバウンド・メッセージの交換

SOAPベースのアウトバウンド・メッセージを交換できるようにするには、次のタスクを実行する必要があります。

- タスク0 WSDLのアップロード

- タスク2 ドキュメントの作成

- タスク3 パートナ・ドキュメントの一部としてドキュメントを追加

- タスク4 取引パートナ・デリバリ・チャネルの作成

- タスク5 アグリーメントの作成とデプロイ

タスク1   WSDLのアップロード

最初のタスクとして、Webサービスを登録してメッセージを交換するために必要な、WSDLファイルをアップロードする必要があります。次のいずれかの方法でWSDLをアップロードできます。

- インラインWSDL: WSDL内にXSD情報が定義されている通常のWSDLファイル

- WSDLファイルとXSDファイルが含まれるZIPファイル

- 複数のWSDLファイルとXSDファイルが含まれるZIPファイル

WSDLをアップロードするには:

1. Oracle B2Bコンソール(http://<hostname>:<port>/b2bconsole)にログオンします。hostnameはOracle SOA Suiteをホストしているコンピュータの名前、portは通常は8001です(非SSL接続の場合)。

2. 「管理」リンクをクリックし、「WSDL」タブをクリックします。

3. +ボタン(「WSDLの追加」)をクリックします。「WSDL」表に新しいWSDLのエントリが作成されます。

4. WSDLの名前(Transmit_WSDLなど)を指定します。

5. 「WSDL」セクションで、「参照」ボタンをクリックし、アップロードするWSDLを選択します。次の例では、TransmitDoc2way.wsdlというWSDLが選択されています。WSDLの詳細は、図22-1に示すように、「アップロードされたWSDLアーティファクト情報」セクションに表示されます。

図22-1 WSDLのアーティファクト

6. 「保存」をクリックし、確認ダイアログで「OK」をクリックします。

注意:

アップロードしたWSDLファイルがチャネルなどの他のメタデータによって参照され、アグリーメントの一部としてデプロイされている場合、そのWSDLファイルへの更新は無効です。これらの参照が非アクティブになった後にのみ、アップロードしたWSDLを更新できます。

タスク2   ドキュメントの作成

次のタスクとして、アウトバウンド・フローのドキュメントを作成します。現在はドキュメント・タイプとしてカスタムのみがサポートされていることに注意してください。

カスタム・ドキュメントを作成するには:

1. 第4.2項「ドキュメント定義の作成」での指定に従って、ドキュメント定義を作成します。次のように指定します。

- ドキュメント・バージョン: 1.0

- ドキュメント・タイプ: TransmitDocumentRequest

- ドキュメント定義: TransmitDocumentDef

2. 「WSDLの使用」を選択します。

3. 関連するWSDLアーティファクトを選択します。この場合はTransmit_WSDLです。

4. 必要なWSDLメッセージを選択します。この場合はTransmitDocumentsRequestMessageです。

図22-2 ドキュメントの作成

5. 「保存」をクリックします。

タスク3   パートナ・ドキュメントの一部としてドキュメントを追加

3番目のタスクとして、新しく作成したカスタム・ドキュメントをパートナ・ドキュメントの一部として追加します。

ドキュメントを追加するには:

1. 「パートナ」リンクをクリックし、「ドキュメント」タブをクリックします。

2. パートナ・セクションでリモート取引パートナ名(GlobalChips)をクリックして選択します。

3. 右側ペインの「ドキュメント」セクションで+ボタン(「ドキュメント定義の追加」)をクリックし、「ドキュメント定義の選択」ウィンドウを表示します。

4. 追加するドキュメント定義に移動し、「追加」をクリックしてドキュメント定義を追加します。

5. 「ドキュメント」タブで「保存」をクリックします。
図22-3に示すように、ドキュメントがパートナ・ドキュメントのリストに追加されます。

図22-3 ドキュメントの追加

タスク4   取引パートナ・デリバリ・チャネルの作成

ドキュメントを追加した後、メッセージを送信するための取引パートナ・デリバリ・チャネルを作成する必要があります。

取引パートナ・デリバリ・チャネルを追加するには:

1. 左側の「パートナ」で、取引パートナ(GlobalChips)をクリックして選択します。

2. 「チャネル」タブをクリックします。

3. +ボタン(「取引パートナへのチャネルの追加」)をクリックします。

4. 「チャネル」セクションで、チャネルの名前(GlobalChips_Channelなど)を指定します。

5. 「プロトコル」リストでGeneric WS-1.0を選択します。

6. 「チャネルの詳細」セクションの「Webサービス・パラメータ」タブで、次を実行します。

- Transmit_WSDL (「WSDLアーティファクト」リストからアップロードしたWSDL)を選択します。

- 使用可能なサービス(この場合はTransmitsDocumentService)を選択します。

注意:

Oracle B2Bでは、手動でサービス、ポートおよびアクションを指定できます。これは、選択したWSDLの一部として使用可能なもの以外のサービス、ポートまたはアクションを指定する必要がある場合に便利です。前述のパラメータに、文字列を手動で指定することもできます。サービス名を手動で指定する場合、次のフォーマットを使用する必要があります。そうしないと、検証エラーになります。

{namespace}ServiceName

namespaceはWSDLのターゲット・ネームスペースと一致する必要があります。一致しない場合、セキュリティ・ポリシー構成が適用されません。

- 使用可能なポート(TransmitDocuments2WayPort)を選択します。

- SOAPアクション(WSDLから取得)を選択します。

- 「エンドポイント(URL)」にサーバーがリスニングするURLを入力します。これは、取引パートナGlobalChipsのURLです。

- 必要に応じて、追加HTTPヘッダーを入力します。

- 交換するメッセージに含まれるWS Addressingヘッダーを破棄する必要がある場合、「WS Addressingヘッダーの省略」を選択します。

- Oracle B2B Webサービスのアウトバウンド・チャネルで、メッセージの一部としてFrom、To、DoctypeおよびDocRevisionなどのデフォルトSOAPヘッダーを送信する必要がない場合、デフォルトSOAPヘッダーの省略を選択します。

- Webサービスにグローバルにポリシーを添付する必要がある場合、「EMポリシー構成のページ」リンクをクリックし、Oracle Fusion Middleware Enterprise Manager Controlコンソールの「ポリシー・セット・サマリー」ページにアクセスします。
詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のポリシー・セットの作成および管理に関する項を参照してください。

7. 図22-4に示すように、「保存」をクリックします。

図22-4 Webサービス・チャネルの詳細

注意:

カスタムWSDLをアップロードして使用する必要がない場合、「汎用SOAPの使用」チェック・ボックスを選択できます。これにより、SOAPを使用して任意のXMLドキュメントを送信できるようになり、「チャネル」/「ドキュメント」ページでWSDLを関連付ける必要はありません。Oracle B2Bは、「汎用SOAPの使用」を選択した場合に使用される、事前にシードされている汎用WSDLを提供します。

タスク5   アグリーメントの作成とデプロイ

最後のタスクとして、取引パートナ・アグリーメントを作成してデプロイします。

アグリーメントの作成とデプロイの詳細は、第6章「取引パートナ・アグリーメントの作成とデプロイ」を参照してください。

22.2.2 SOAPベースのインバウンド・メッセージの交換

SOAPベースのインバウンド・メッセージを交換するには、次のタスクを実行する必要があります。

- タスク1 WSDLのアップロード

- タスク2 インバウンド・フローのドキュメントの作成

- タスク3 パートナ・ドキュメントの一部としてドキュメントを追加

- タスク4 リスニング・チャネルの作成

タスク1   WSDLのアップロード

このタスクは、アウトバウンドの場合のタスク1「WSDLのアップロード」と同じです。

タスク2   インバウンド・フローのドキュメントの作成

このタスクは、アウトバウンドの場合のタスク2「ドキュメントの作成」と同じです。

タスク3   パートナ・ドキュメントの一部としてドキュメントを追加

このタスクは、アウトバウンドの場合のタスク3「パートナ・ドキュメントの一部としてドキュメントを追加」と同じです。

タスク4   リスニング・チャネルの作成

次のタスクとして、着信メッセージを受信するリスニング・チャネルを作成します。

リスニング・チャネルを作成するには:

1. 「管理」リンクをクリックし、「リスニング・チャネル」タブをクリックします。

2. +ボタン(「取引パートナへのチャネルの追加」)をクリックします。

3. 「リスニング・チャネル」セクションで、チャネルの名前(Acme_ListeningChannelなど)を指定します。

4. 「プロトコル」リストでGeneric WS-1.0を選択します。

5. 「チャネルの詳細」セクションの「Webサービス・パラメータ」タブで、次を実行します。

- Transmit_WSDL (「WSDLアーティファクト」リストからアップロードしたWSDL)を選択します。

- 使用可能なサービス(この場合はTransmitsDocumentService)を選択します。

- 使用可能なポート(TransmitDocuments2WayPort)を選択します。

- 「エンドポイント(URL)」にサーバーがリスニングするURLを入力します。これは、取引パートナGlobalChipsのURLです。
「エンドポイント(URL)」には、サーバーがリスニングするパートナのURLが自動的に入力されます。

- Webサービスにグローバルにポリシーを添付する必要がある場合、「EMポリシー構成のページ」リンクをクリックし、Oracle Fusion Middleware Enterprise Manager Controlコンソールの「ポリシー・セット・サマリー」ページにアクセスします。

注意:

カスタムWSDLをアップロードして使用するのではなく、標準WSDLを使用する場合、「汎用SOAPの使用」チェック・ボックスを選択できます。これにより、SOAPを使用して任意のXMLドキュメントを送信できるようになり、「チャネル」/「ドキュメント」ページでWSDLを関連付ける必要はありません。Oracle B2Bは、「汎用SOAPの使用」を選択した場合に使用される、事前にシードされている汎用WSDLを提供します。

6. 「チャネル属性」タブをクリックし、「チャネルの有効化」が選択されていることを確認します。

7. 「保存」をクリックします。

注意:

リスニング・メッセージのWebサービスが登録されたことを確認するには、次のURLにアクセスし、ユーザー名とパスワードを入力してログオンし、登録済WebサービスのリストにWebサービスが表示されているかどうかを確認します。

http:<host>:<port>/b2b/services

Oracle Weblogic Serverコンソールでユーザー(およびそのパスワード)を作成する必要があります。Oracle Weblogic Serverコンソールでのユーザーの作成の詳細は、次のリンク先を参照してください。

http://docs.oracle.com/cd/E23943_01/apirefs.1111/e13952/taskhelp/security/ManageUsersAndGroups.html

Webサービスは、次のフォーマットでリストされます。

ws/Listening_Channel_Name

次の図に示すように、特定のサービスのWSDLをダウンロードするには、対応する「WSDL」リンクをクリックします。

注意:

リスニング・チャネルを作成して有効化した後は、チャネルを編集して別のWSDLを使用するように指定することはできません。チャネルを削除して新しいチャネルを作成する必要があります。

22.3 wsa.actionの構成

wsa.actionは、次のような様々な方法で構成できます。

- ファブリックの場合のwsa.actionまたはJMSの場合のWSA_ACTIONは、バックエンドから送信でき、メッセージ送信中はwsa.actionとして使用されます。

- バックエンドからwsa.actionが提供されない場合は、SOAPアクションのeventName=ACTION:testもwsa.actionとして使用できます。

- バックエンド・アプリケーションによりwsa.actionが指定されない場合は、デリバリ・チャネルの一部として構成されているアクションがwsa.actionとして使用されます。

22.4 カスタムSOAPヘッダーの送信

Oracle B2Bでは、Webサービスベースのアウトバウンド・メッセージの一部としてカスタムSOAPヘッダーを送信できます。

アウトバウンドJMSチャネルの場合、送信者側の取引パートナは、次のサンプルのように、複数レベルのカスタムSOAPヘッダーを送信できます。

<CustomSOAPHeader xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<hello xmlns="http://xmlns.oracle1.com/soa1/generic/soap">
<name xmlns="http://MY_NAME_SPACE">
<firstname>John</firstname>
<lastname>Doe</lastname>
</name>
</hello>
</CustomSOAPHeader>

アウトバウンド・ファブリックの場合、送信者は、次のサンプルのように、複数レベルのカスタム・ヘッダーを送信できます。

<bpelx:inputProperty name="b2b.customSOAPHeaders" expression="'<CustomSOAPHeader xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<hello xmlns="http://xmlns.oracle1.com/soa1/generic/soap">
<name xmlns="http://MY_NAME_SPACE">
<firstname>John</firstname>
<lastname>Doe</lastname>
</name>
</hello>
</CustomSOAPHeader>

22.5 Webサービスへのポリシーの添付

この項では、Oracle Fusion Middleware Enterprise Management Controlコンソールを使用して、ポリシー・セットをWebサービスに添付する方法について説明します。

ユーザー名トークン・ポリシーと必要な資格証明を作成するには、次のタスクを実行する必要があります。

- タスク1 デフォルト資格証明のマップとキーの作成

- タスク2 アウトバウンド・ポリシー・セットの作成と添付

- タスク3 インバウンド・ポリシー・セットの作成と添付

タスク1   デフォルト資格証明のマップとキーの作成

最初のタスクは資格証明の作成です。

資格証明を作成するには:

1. 次のURLにアクセスし、Oracle Fusion Middleware Enterprise Management Controlコンソールにログオンします。
http://<hostname>:<port>/em

ここで:

- hostname: Oracle SOA Suiteを実行しているコンピュータの名前

- port: 管理サーバーのポート番号(通常は7001)

2. 「ターゲット・ナビゲーション」ペインの「WebLogicドメイン」で、soainfraなどのドメイン名を開きます。

3. soainfraを右クリックし、「セキュリティ」→「資格証明」を選択して、図22-5に示すように、「資格証明」ページを表示します。

図22-5 「資格証明」ページへのアクセス

4. 「資格証明」ページで、「マップの作成」をクリックします。

5. 図22-6に示すように、「マップの作成」ダイアログ・ボックスでマップ名としてoracle.wsm.securityと入力し、「OK」をクリックします。

図22-6 「マップの作成」ダイアログ・ボックス

6. oracle.wsm.security (作成したマップ)を選択して「キーの作成」をクリックし、「キーの作成」ダイアログ・ボックスを表示します。

7. 図22-7に示すように、「キーの作成」ダイアログ・ボックスで、次を実行します。

1. 「キー」フィールドにキー名としてbasic.credentialsと入力します。

2. 「タイプ」で「パスワード」を選択します。

3. 管理ユーザー名、この場合はweblogicを入力します。

4. 「パスワード」フィールドにパスワードを入力します。

5. 前の手順で入力したパスワードを確認します。

6. 「OK」をクリックします。

図22-7 「キーの作成」ダイアログ・ボックス

タスク2   アウトバウンド・ポリシー・セットの作成と添付

次のタスクとして、アウトバウンド・ポリシー・セットを作成し、Webサービスに添付します。

アウトバウンド・ポリシー・セットを作成してWebサービスに添付するには:

1. 図22-8に示すように、ドメイン名(soainfra)ページで「WebLogicドメイン」リストをクリックして「Webサービス」→「ポリシー・セット」を選択し、「ポリシー・セット・サマリー」ページを表示します。

図22-8 「ポリシー・セット・サマリー」ページ

2. 「ポリシー・セット・サマリー」ページで「作成」をクリックし、「ポリシー・セットの作成」ウィザードを表示します。

3. 図22-9に示すように、名前としてb2bOutboundTestを入力し、「有効」を選択し、「リソース・タイプ」リストで「Webサービス・クライアント」を選択して、「次」をクリックします。

図22-9 「ポリシー・セットの作成」→「一般情報の入力」ページ

4. 図22-10に示すように、「リソース・スコープの入力」ページで次のように入力し、「次」をクリックします。

- ドメイン名(soainfraなど)

- アプリケーション名(soainfraなど)

- アプリケーション・モジュール名(soainfraなど)

- SOA参照またはWebサービス・クライアントの名前({http://www.spscommerce.com/WS/TransmitDocuments}TransmitDocumentsServiceなど)

- ポート名(TransmitDocumentsSoapHttpPort)

図22-10 「ポリシー・セットの作成」 - 「リソース・スコープの入力」ページ

5. 「制約の入力」ページで、「次」をクリックします。

6. 図22-11に示すように、「ポリシー参照の追加」ページの「使用可能なポリシー」セクションでoracle/wss_username_token_client_policyを選択し、「アタッチ」をクリックした後、「次」をクリックします。

図22-11 「ポリシー・セットの作成」 - 「ポリシー参照の追加」ページ

7. 「サマリー」ページで「保存」をクリックし、「ポリシー・セット・サマリー」ページに戻ります。

タスク3   インバウンド・ポリシー・セットの作成と添付

最後のタスクとして、インバウンド・ポリシー・セットを作成し、添付します。

インバウンド・ポリシー・セットを作成してWebサービスに添付するには:

1. タスク2の手順1と手順2を繰り返します。

2. 図22-12に示すように、名前としてb2bIutboundTestを入力し、「有効」を選択し、「リソース・タイプ」リストで「Webサービス・エンドポイント」を選択して、「次」をクリックします。

図22-12 「ポリシー・セットの作成」→「一般情報の入力」ページ

3. 図22-13に示すように、「リソース・スコープの入力」ページで次のように入力し、「次」をクリックします。

- ドメイン名(soainfraなど)

- アプリケーション名(soainfraなど)

- アプリケーション・モジュール名(soainfraなど)

- SOA参照またはWebサービス・クライアントの名前({http://www.spscommerce.com/WS/TransmitDocuments}TransmitDocumentsServiceなど)

- ポート名(TransmitDocumentsSoapHttpPort)

図22-13 「ポリシー・セットの作成」 - 「リソース・スコープの入力」ページ

4. 「制約の入力」ページで、「次」をクリックします。

5. 「ポリシー参照の追加」ページの「使用可能なポリシー」セクションでoracle/wss_username_token_service_policyを選択し、「アタッチ」をクリックした後、「次」をクリックします。

6. 「サマリー」ページで「保存」をクリックし、「ポリシー・セット・サマリー」ページに戻ります。

22.6 実行時の取引パートナの識別

実行時に、様々なトランスポート・ヘッダーに基づいて受信するメッセージの送信元の取引パートナを識別できます。

取引パートナは、次の情報(リストは優先度の高い順)を使用して識別できます。

- HTTP (送信元)ヘッダー・オーバーライドの値を取引パートナのGeneric識別子と比較する

- XPathを使用してSOAPヘッダーに含まれるFROM_TPを識別する

- HTTP (送信元)ヘッダーの値を取引パートナのGeneric識別子と比較する

- SOAP (送信元)ヘッダーの値を取引パートナのGeneric識別子と比較する
注意: 事前定義済SOAPヘッダーを使用できない場合、同じものをオーバーライドし、XPathを使用して取引パートナを識別できます。

- WSセキュリティ認証ユーザーの値を取引パートナのGeneric識別子と比較する

- リモート・ホスト名の値を取引パートナのGeneric識別子と比較する

22.7 リクエストとリプライのサンプル・シナリオ

この項では、WebサービスまたはGeneric SOAPを使用する場合の同期化されたリクエストとリプライのシナリオについて説明します。

この項の内容は、次のとおりです。

- 第22.7.1項 アウトバウンド同期化: コンポジット

- 第22.7.2項 インバウンド同期化: コンポジット

- 第22.7.3項 アウトバウンド同期化: JMSキュー

- 第22.7.4項 インバウンド同期化: JMSキュー

22.7.1 アウトバウンド同期化: コンポジット

コンポジットを使用するアウトバウンド同期化の場合:

- Webサービス: コンポジットに基づいて、同期化が一方向なのか、またはリクエスト/リプライ・パターンを使用しているのかを判断します。soapActionが指定されている場合、HTTP soapActionヘッダーの上書きにのみ使用されます。
同期化されているリクエスト/リプライ・メッセージの再発行は、コンポジットから実行する必要があります。そのようなメッセージの再発行をOracle B2Bコンソールから実行した場合、メッセージは一方向として処理されます。

- Generic SOAP: コンポジットに基づいて、一方向なのか、またはリクエスト/リプライ操作なのかを判断します。チャネル構成(「なし」/「同期」)は有効になりません。

22.7.2 インバウンド同期化: コンポジット

コンポジットを使用するインバウンド同期化の場合:

- Webサービス: HTTPヘッダーのsoapActionに基づいて、一方向なのか、またはWSDLで指定されているリクエスト/リプライ操作なのかを判断します。WSDLでsoapActionが定義されていない場合、チャネル構成が使用されます。非応答ペイロードの場合、リクエスト/リプライでエラーが発生します。

- Generic SOAP: チャネル構成(「なし」/「同期」)に基づきます。非応答ペイロードの場合、リクエスト/リプライでエラーが発生します。

22.7.3 アウトバウンド同期化: JMSキュー

JMSキューを使用するアウトバウンド同期化の場合:

- Webサービス: soapAction (バックエンドから提供されるか、またはリスニング・チャネルに構成されている)に基づいて、一方向なのか、またはWSDLで指定されているリクエスト/リプライ操作なのかを判断します。WSDLでsoapActionが見つからない場合、デフォルトでチャネル構成が使用されます。リプライは、インバウンド・アグリーメント構成を使用して、バックエンドに送信されます。

- Generic SOAP: チャネル構成(「なし」/「同期」)に基づきます。「同期」の場合、リプライがないと、エラーが発生します。リプライは、インバウンド・アグリーメント構成を使用して、バックエンドに送信されます。

22.7.4 インバウンド同期化: JMSキュー

- Webサービス: HTTPヘッダーのsoapActionに基づいて、一方向なのか、またはWSDLで指定されているリクエスト/リプライ操作なのかを判断します。WSDLでsoapActionが定義されていない場合、チャネル構成(「なし」/「同期」)が使用されます。「同期」の場合、取引パートナにレスポンスとして送信するリプライを、Oracle B2Bコールアウトで生成する必要があります。
着信リクエストでWS-Addressingが有効化されている場合、レスポンス・メッセージはWS-Addressing必須ヘッダーを送信します。

- Generic SOAP: チャネル構成(「なし」/「同期」)に基づきます。「同期」の場合、取引パートナにレスポンスとして送信するリプライを、Oracle B2Bコールアウトで生成する必要があります。

23 データをアーカイブおよびリストアするためのスクリプト

この章では、SQLスクリプトを使用して、B2Bビジネス・メッセージをアーカイブおよびリストアする方法について説明します。

この章には次のトピックが含まれます:

- 第23.1項 B2Bビジネス・メッセージのアーカイブおよびリストアの概要

- 第23.2項 B2Bビジネス・メッセージのアーカイブ

- 第23.3項 B2Bビジネス・メッセージのリストア

設計時データのインポートおよびエクスポートの詳細は、第7章 データのインポートおよびエクスポートを参照してください。

23.1 B2Bビジネス・メッセージのアーカイブおよびリストアの概要

Oracle B2Bでは、バルク・データおよびメタデータの高速移動を実現する、Oracle Database 11gの機能であるOracle Data Pumpを使用して、OracleデータベースのB2Bランタイム・インスタンス・データをアーカイブできます。脚注 1

開始日、終了日およびメッセージの状態に基づいて、ビジネス・メッセージをアーカイブ(オプションでパージ)するための基準を指定できます。対象のビジネス・メッセージは、アーカイブおよびパージ・アクティビティの同期に使用されるB2Bランタイム表の列JOB_IDでマークされます。B2BはJOB_IDを使用して、Data Pump PL/SQL APIを起動します。これにより、ビジネス・メッセージのアーカイブ時に、関連付けられている表もすべてアーカイブされます。また、Data Pumpを使用してランタイム・データをOracle B2B (Oracle Metadata Serviceリポジトリ)にインポートし、B2Bレポートを通してこのデータにアクセスすることで、アーカイブされたビジネス・メッセージをリストアすることもできます。

23.2 B2Bビジネス・メッセージのアーカイブ

ビジネス・メッセージをアーカイブするには、アーカイブ・ディレクトリおよび権限を設定してから、アーカイブ・プロシージャを実行します。プロシージャには、アーカイブされた行をパージするオプションがあります。

アーカイブ・ディレクトリおよび権限を設定するには

1. データベースが実行されているコンピュータで、アーカイブ・ファイル用のディレクトリを作成します。たとえば、

mkdir /tmp/archive

2. データベース・プロセスで書込みができるように、このディレクトリに権限を付与します。たとえば、

chmod 777 /tmp/archive

3. sysdbaでデータベースにログインします。

sqlplus /as sysdba

4. B2B_EXPORT_DIRを設定します。

SQL> create or replace directory B2B_EXPORT_DIR as '/tmp/import'

5. SOAスキーマ・ユーザー(b2b_soainfraなど)にエクスポート用の権限を付与します。

SQL> grant read, write on directory B2B_EXPORT_DIR to b2b_soainfra;
SQL> grant exp_full_database to b2b_soainfra;

パージ・オプションを指定してアーカイブするには

次のPL/SQL APIを使用する前に、アーカイブ・ディレクトリおよび権限を設定します。

1. SOAスキーマ・ユーザーとしてログインします。

$ sqlplus b2b_soainfra/password

2. アーカイブ・プロシージャを実行します。次に例を示します。

SQL> exec b2b_archive_procedure('21-JAN-2008','28-JAN-2008','MSG_COMPLETE','JAN.dmp','N');

プロシージャのシグネチャは次のとおりです

b2b_archive_procedure(fromDate, toDate, messageState, fileName, should_purge);

表23-1に、b2b_archive_procedure APIのパラメータを示します。

表23-1 b2b_archive_procedureのパラメータ

パラメータ

例

説明

fromDate

21-JAN-2008

アーカイブの開始日、DD-MON-YYYY

toDate

28-JAN-2008

アーカイブの終了日、DD-MON-YYYY

messageState

MSG_COMPLETE

ビジネス・メッセージの状態。通常、MSG_COMPLETE状態のメッセージがアーカイブされます。指定可能なその他の状態は、MSG_INVALID、MSG_CONTINUE_PROCESS、MSG_COLLAB_WAIT、MSG_PROCESS_ACK、MSG_SEND_ACK、MSG_WAIT_ACK、MSG_ERROR、MSG_WAIT_TRANSMIT、MSG_SEND_EXP、MSG_PROCESS_EXP、MSG_ABORTED、MSG_TRANSMITFAILED、MSG_WAIT_FA、MSG_SEND_FA、MSG_WAIT_BATCHです。

fileName

JAN.dmp

データベースによって作成されるアーカイブ・ファイルの名前。この名前のファイルがアーカイブ・ディレクトリに存在していないことを確認してください。

should_purge

N

Yを指定すると、アーカイブされた行が削除されます。デフォルトはNです。

23.3 B2Bビジネス・メッセージのリストア

ビジネス・メッセージをリストアするには、インポート・ディレクトリおよび権限を設定してから、リストア・プロシージャを実行します。

インポート・ディレクトリおよび権限を設定するには

1. データベースが実行されているPCで、インポート・ファイル用のディレクトリを作成します。

mkdir /tmp/import

2. データベース・プロセスで読取りができるように、このディレクトリに権限を付与します。

chmod 777 /tmp/import

3. sysdbaでデータベースにログインします。

sqlplus /as sysdba

4. B2B_IMPORT_DIRを設定します。

SQL> create or replace B2B_IMPORT_DIR as '/tmp/import'

5. SOAスキーマ・ユーザー(b2b_soainfra)にインポート用の権限を付与します。

SQL> grant read, write on directory B2B_IMPORT_DIR to b2b_soainfra;
SQL> grant imp_full_database to b2b_soainfra;

ビジネス・メッセージをリストアするには

次のPL/SQL APIを使用する前に、インポート・ディレクトリおよび権限を設定します。

1. SOAインフラ・スキーマ・ユーザーとしてログインします。

$ sqlplus soa_infra_user/password

2. インポート・プロシージャを実行します。次に例を示します。

SQL> exec b2b_restore_procedure('JAN.dmp');

プロシージャのシグネチャは次のとおりです

b2b_restore_procedure(fileName)

インポートされたデータを検索および表示するには、「レポート」タブを使用します。

脚注の説明

脚注 1: Oracle以外のデータベースの場合は、外部のデータベース・アーカイブ・ツールを使用して、ランタイム・データをエクスポートおよびインポートできます。

24 エンキューおよびデキューのユーティリティ

この章では、デフォルトのAQキュー・インタフェースまたはJMSキュー・インタフェースを介してOracle B2Bとの間でビジネス・メッセージを送受信するためのOracle B2Bユーティリティについて説明します。

Oracle B2Bには、ホスト(バックエンド)アプリケーションに接続する前にインストールと構成をテストおよび検証するためのユーティリティがあります。これらのユーティリティを使用して、デフォルトのAQキュー・インタフェースまたはJMSキュー・インタフェースを介してOracle B2Bとの間でビジネス・メッセージを送受信できます。他のAQ内部デリバリ・チャネルも同様に処理できます。これらのユーティリティを実装する方法の例は、B2Bのサンプルを参照してください(サンプルの詳細は、第1.7項 Oracle B2Bのサンプルと解説を参照してください)。

この章には次のトピックが含まれます:

- 第24.1項 AQエンキューおよびデキューのユーティリティ

- 第24.2項 JMSエンキューおよびデキューのユーティリティ

- 第24.3項 attachmentsDescriptor.xsdの使用

24.1 AQエンキューおよびデキューのユーティリティ

AQキューへのエンキューおよびAQキューからのデキューは、Javaを使用して行うことができます。IPEnqueueおよびIPDequeueをOracle B2B環境で実行する必要があります。

24.1.1 AQエンキュー

表24-1に、Java AQエンキュー・ユーティリティ(oracle.tip.b2b.data.IPEnqueue)のプロパティを示します。

表24-1 IPEnqueueプロパティ

名前

説明

queue

アウトバウンドAQキュー名。指定しない場合、Javaエンキュー・ユーティリティは、デフォルトのアウトバウンド・キューIP_OUT_QUEUEを使用します。

replyToMsgID

送信メッセージの返信先のメッセージID。通常は、レスポンス・メッセージ・タイプに使用されます。

from

メッセージを送信する取引パートナ

to

メッセージを受信する取引パートナ

doctypeName

メッセージのドキュメント・タイプ名

doctypeRevision

メッセージのドキュメント・プロトコル・リビジョン

payload

ペイロード・ファイル名

attachment_name

添付ファイル名。このプロパティを使用して、電子メールの件名とは異なる名前を添付ファイルに割り当てます。

AQによる電子メールでのカスタム・アウトバウンド・メッセージの場合は、次のようにします。

actionName=ATTACHMENT_NAME:Sample.txt

url

データベースURLの書式は、jdbc:oracle:thin:@host:port:sidです

user

データベース・ユーザー

password

データベース・パスワード

eventName

アクション名

msgID

メッセージID(オプション)。メッセージIDがエンキューの一部として提供されない場合、B2Bによって独自のメッセージIDが生成されます。

msgType

オプションのメッセージ・タイプを指定します。

- リクエスト = 1 (デフォルト)

- レスポンス = 2

- 機能確認 = 9

dateFormat

電子メールのデリバリ・チャネルで使用されている日付書式を変換するために使用されます

dynamicemail

toパーティの電子メール・アドレスをactionNameの一部として提供します。例:

actionName=DYNAMICEMAIL:email_id

dynamic_from_email

fromパーティの電子メール・アドレスをactionNameの一部として提供します。例:

actionName=DYNAMIC_FROM_EMAIL:email_id

例: ipenqueue.properties

queue           =
url             = jdbc:oracle:thin:@host:1521:sid
user             = user1
password         = password
replyToMsgID    =
from            = Acme
to              = GlobalChips
doctypeName     = 850
doctypeRevision = 4010
payload         = Acme_850.xml
attachment      =

注意:

Windows ja_JPロケールのインスタンスでは、VARCHAR/文字列の値はキューに正しくエンキューされません。INTおよびCLOBの値は正しくエンキューされます。このため、ファイルのエンキューにIPEnqueueユーティリティが使用される場合、fromおよびtoフィールドなどの一部のフィールドはNULLになります。回避策として、ja_JPロケールでは、oracle.tip.b2b.data.IPEnqueueを使用するときはorai18n.jarをクラスパスに追加します。

24.1.2 AQデキュー

メッセージをデキューするには、IPDequeueユーティリティを使用します。

表24-2に、Java AQデキュー・ユーティリティ(oracle.tip.b2b.data.IPDequeue)のプロパティを示します。

表24-2 IPDequeueプロパティ

名前

説明

queue

インバウンドAQキュー名。指定しない場合、Javaデキュー・ユーティリティは、デフォルトのインバウンド・キューIP_IN_QUEUEを使用します。

count

デキューされるメッセージ数。指定しない場合、1つのメッセージのみがデキューされます。

output

出力ファイル名

url

データベースURLの書式は、jdbc:oracle:thin:@host:port:sidです

user

データベース・ユーザー

password

データベース・パスワード

例: ipdequeue.properties:

queue            =
count            = 1
output           = t1.trc
url              = jdbc:oracle:thin:@host:1521:sid
user             = user1
password         = password

24.2 JMSエンキューおよびデキューのユーティリティ

JMS接続先(キューまたはトピック)へのエンキューおよびJMS接続先(キューまたはトピック)からのデキューは、ユーティリティを使用して行うことができます。ユーザー名とパスワードを指定しない場合は、接続先が分散されていると、クラスタ環境も含めてローカルJNDIが使用されます。Oracle B2Bはjavax.jms.ObjectMessageをサポートしていません。

24.2.1 JMSエンキュー

JMS接続先(キューまたはトピック)にメッセージを送信するには、JMSエンキュー・ユーティリティoracle.tip.b2b.data.JMSEnqueueを使用します。このユーティリティでは、コマンドライン引数として指定されたプロパティ・ファイルを使用し、このファイルから、送信する詳細を読み取ります。

表24-3に、このファイルで構成できるプロパティを示します。

表24-3 JMSエンキュー・プロパティ

名前

説明

destination

メッセージの送信先のキューまたはトピックのJNDI名

cf

使用する接続ファクトリのJNDI名

factory

ファクトリのプロバイダ・クラス

isTopic

トピックのインジケータ(オプション)

url

JNDI URLの書式は、url=t3://host_name:port_number/です

user

アプリケーション・サーバー管理者のユーザーID。

password

アプリケーション・サーバー管理者のパスワード

from

送信元パーティ

to

送信先パーティ

eventName

アクション名

doctypeName

ドキュメント・タイプ名

doctypeRevision

ドキュメント・タイプのリビジョン

payload

ペイロード・ファイルのパス

attachment

添付ファイルのパス

msgID

メッセージID(オプション)。メッセージIDがエンキューの一部として提供されない場合、B2Bによって独自のメッセージIDが生成されます。

replyToMsgID

メッセージへの返信(オプション)

msgType

メッセージ・タイプ。デフォルトはRequestです(オプション)。

attachment_name

添付ファイル名。このプロパティを使用して、電子メールの件名とは異なる名前を添付ファイルに割り当てます。

JMSによる電子メールでのカスタム・アウトバウンド・メッセージの場合は、次のようにします。

constant : Sample.xml property : jca.jms.JMSProperty.ATTACHMENT_NAME

dateFormat

電子メールのデリバリ・チャネルで使用されている日付書式を変換するために使用されます

dynamicemail

toパーティの電子メール・アドレスを提供します。例:

constant : email_id property : jca.jms.JMSProperty.DYNAMICEMAIL

dynamic_from_email

fromパーティの電子メール・アドレスを提供します。例:

constant : email_id property : jca.jms.JMSProperty.DYNAMIC_FROM_EMAIL

例24-1に、サンプルのjms_enqueue.propertiesファイルを示します。

例24-1 サンプルのjms_enqueue.propertiesファイル

####### Destination Details        #######
destination = jms/b2b/B2B_IN_QUEUE
cf = jms/b2b/B2BQueueConnectionFactory

####### Server and Factory Details #######
factory=weblogic.jndi.WLInitialContextFactory
url=t3://host_name:port_number/
#user=<uncomment and provide you username>
#password=<uncomment and proivde you password if required>

####### Payload Details #######
from=Acme
to=GlobalChips
#eventName=SampleEvent
doctypeName=Custom
doctypeRevision=1.0
payload=/scratch/work/GlobalChips_1234.dat

これらのユーティリティの実行方法は、サンプルのドキュメントを参照してください。

24.2.2 エンキュー: JMS JCAアダプタまたはカスタム・ユーティリティの使用

AQおよびJMSユーティリティによって使用されるプロパティは、メッセージが接続先に送信される前に、内部的に変換されます。表24-4のプロパティが、B2Bがリスニングする接続先に配信されるjavax.jms.Messageの一部として設定されていることを確認してください。

表24-4 AQ/JMSプロパティのカスタム・ユーティリティ用の変換

AQ/JMSユーティリティ

変換された値: カスタム・ユーティリティ用

JMSメッセージ

from

FROM_PARTY

string型のメッセージ・プロパティとして送信

to

TO_PARTY

string型のメッセージ・プロパティとして送信

doctypeName

DOCTYPE_NAME

string型のメッセージ・プロパティとして送信

doctypeRevision

DOCTYPE_REVISION

string型のメッセージ・プロパティとして送信

eventName

ACTION_NAME

string型のメッセージ・プロパティとして送信

msgID

MSG_ID

string型のメッセージ・プロパティとして送信

replyToMsgID

INREPLYTO_MSG_ID

string型のメッセージ・プロパティとして送信

msgType

MSG_TYPE

string型のメッセージ・プロパティとして送信

attachment

ATTACHMENT

string型のメッセージ・プロパティとして送信

payload

-

メッセージ本文として送信

24.2.3 JMSデキュー

JMSデキュー・ユーティリティoracle.tip.b2b.data.JMSDequeueによって、接続先からメッセージが受信されます。接続先から取得するメッセージ数を制御するために、countプロパティを指定できます。取得したメッセージは、現在のパス(ユーティリティの実行場所)のファイルJMSDequeue.txtに書き込まれます。

これらのユーティリティの実行方法は、Oracle Technology Networkのサンプルのドキュメントを参照してください。

例24-2に、サンプルのJMSデキュー・プロパティ・ファイルを示します。

例24-2 サンプルのjms_dequeue.propertiesファイル

####### Destination Details#######
destination = jms/b2b/B2B_IN_QUEUE
cf = jms/b2b/B2BQueueConnectionFactory
count=1

####### Server and Factory Details #######
factory=weblogic.jndi.WLInitialContextFactory
url=t3://host_name:port_number/
#user=<uncomment and provide your username>
#password=<uncomment and provide your password if required>

24.3 attachmentsDescriptor.xsdの使用

添付ファイルの送信には、attachmentsDescriptor.xsdファイルを使用します。

例24-3に、サンプルの添付XMLファイルを示します。

例24-3 サンプルの添付XMLファイル

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--Sample XML file generated by XMLSpy v2005 sp1 U  (http://www.xmlspy.com)-->
<Attachments xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="AttachmentsDescriptor.xsd" version="1.0" boundary="boundary---">
<AttachmentPart>
<Location>file:///home/user_dir/data.xml</Location>
<Content-Type>
<Top-Level-Type>text</Top-Level-Type>
<Sub-Type>plain</Sub-Type>
<Parameter Value="charset" Name="us-ascii"/>
</Content-Type>
<!--Content-Transfer-Encoding>BASE64</Content-Transfer-Encoding-->
<Content-ID/>
<Content-Description/>
</AttachmentPart>
</Attachments>

25 Oracle BAMでのインスタンス・メッセージ・データの監視

この章では、Oracle BAMを使用してOracle B2Bインスタンス・メッセージの監視を設定するエンドツーエンドの方法について説明します。

Oracle B2B-BAM統合はOracle XEデータベースでは動作しません。Oracle 10g EEおよびOracle 11g EEのバージョンで動作します。

この章には次のトピックが含まれます:

- 第25.1項 Oracle BAMでのOracle B2Bの監視の概要

- 第25.2項 Oracle WebLogic Serverでのデータソースの作成

- 第25.3項 外部JMSサーバーの作成

- 第25.4項 Oracle BAMアーキテクトを使用したB2Bデータ・オブジェクトの作成

- 第25.5項 Oracle BAMエンタープライズ・メッセージ・ソースを使用したJMSメッセージ・ソースの定義

- 第25.6項 Oracle B2Bインスタンス・メッセージからOracle BAMデータ・オブジェクトへのマッピング

- 第25.7項 Oracle B2Bを監視するためのダッシュボードの作成

- 第25.8項 Oracle B2BでのOracle BAM統合の有効化

25.1 Oracle BAMでのOracle B2Bの監視の概要

Oracle BAMでは、データのインフローをリアルタイムに表示するダッシュボード、および指定した条件でアラートを送信するルールを作成するためのフレームワークが提供されます。この章の以降の項の手順に従って、Oracle B2Bインスタンスを監視するようにOracle BAMを構成できます。

注意:

Oracle BAMダッシュボードはインスタンス・メッセージ表で定義されている外部データソースで作成できますが、外部データソースではアクティブなデータはサポートされていないため、結果として作成されるレポートにはリアルタイムの更新が表示されません。

25.2 Oracle WebLogic Serverでのデータ・ソースの作成

既存のデータソースが存在する場合は既存のデータソースを使用できます。または、次の手順に従って新しいデータソースを作成することもできます。

1. Oracle WebLogic Server管理コンソールを開き、ログインします。

http://host_name:port_number/console

host_nameはOracle BAMがインストールされているマシンの名前で、Oracle WebLogic Serverのデフォルトのport_numberは7001です。

2. 「JDBC」セクションで「データ・ソース」を選択し、「新規」をクリックします。

3. データソースを構成します。

1. データソースの「名前」を入力します(例: BAMAQDataSource)。

2. データソースのJNDI名を入力します(例: jdbc/oracle/bamaq)。この名前は、外部JMSサーバーを構成するために使用されます。

3. 「データベースのタイプ」に「Oracle」を選択します。

4. 「データベース・ドライバ」フィールドでOracleのドライバ(Thin)を選択します。

5. 「次」をクリックします。

4. グローバル・トランザクションのサポートを選択解除し、「次」をクリックします。

5. 「データベース名」フィールドにデータベースのSIDを入力します(例: ORCL)。

6. 「ホスト名」としてデータベースがインストールされているマシンのホスト名を入力します(例: localhost)。

7. データベースの「ポート」番号を入力します(例: 1521)。

8. 「ユーザー名」と「パスワード」を入力し、「次」をクリックします。

9. 「構成のテスト」をクリックします。

10. テストが成功したら、「次」をクリックします。

11. Oracle BAMがデプロイされているサーバーを選択し、「終了」をクリックします。

25.3 外部JMSサーバーの作成

外部JMSサーバーを作成する手順は、次のとおりです。

1. Oracle WebLogic Server JMSモジュールを追加します。

1. Oracle WebLogic Server管理コンソールのホーム・ページで、「JMSモジュール」ページに移動します。

2. 「新規」をクリックして、Oracle WebLogic Server JMSモジュールを作成します。

3. JMSモジュールの名前を入力し(例: BAMAQsystemModule)、「次」をクリックします。

4. Oracle BAMがデプロイされているサーバーとしてターゲットを割り当て、「次」をクリックし、「終了」をクリックします。

注意:

サブデプロイメントを作成することをお薦めします。「JMSモジュール」→「サブデプロイメント」→「新規」を選択します。以降の手順で「サブデプロイメント」タブがある場合は、サブデプロイメントを使用します。

2. リストから選択して、サブデプロイメントをJMSサーバーに対するターゲットにします。

3. AQ JMS外部サーバーをJMSモジュールに追加します。

1. 作成したJMSモジュールを選択します。

2. 「新規」をクリックし、JMSリソースのリストに進みます。

3. 「外部サーバー」オプションを選択し、「次」をクリックします。

4. 「外部サーバー」の「名前」を入力し(例: BAMAQForeignServer)、「終了」をクリックします。

4. AQ JMS外部サーバーを構成します。

1. 作成したAQ JMS外部サーバーを選択します。

2. 「JNDI初期コンテキスト・ファクトリ」フィールドにoracle.jms.AQjmsInitialContextFactoryと入力します。

3. 「JNDIプロパティ」フィールドにdatasource=data_source_jndi_locationと入力します。data_source_jndi_locationは、データソースのJNDIの場所です(例: jdbc/oracle/bamaq)。通常は、データ・ソースがOracle B2B SOAINFRAスキーマを指すようにする必要があります。

4. 「デフォルトのターゲット指定を有効化」チェック・ボックスを選択します。

5. 接続ファクトリをAQ JMS外部サーバーに追加します。

1. 作成したAQ JMS外部サーバーを選択します。

2. 「接続ファクトリ」タブを選択します。

3. 接続ファクトリの名前を入力します。これは、Oracle WebLogic Serverによって参照される論理名です。

4. Oracle BAMエンタープライズ・メッセージ・ソースがこの接続ファクトリを検索するために使用するローカルJNDI名を、「ローカルJNDI名」フィールドに入力します(例: jms/BAMAQQueueCF)。JNDI名は、作成されるJMSキューの名前と一致しているかぎり、任意に指定できます。

5. 「リモートJNDI名」フィールドにQueueConnectionFactoryと入力します。

注意:

次に、使用可能な代替オプションを示します。この接続ファクトリをグローバル・トランザクションで使用する場合は、XAベースの接続ファクトリを選択します。それ以外の場合は、非XAベースの接続ファクトリを使用します。

- QueueConnectionFactory

- ConnectionFactory

- XAQueueConnectionFactory

- XATopicConnectionFactory

- XAConnectionFactory

6. 「OK」をクリックします。

6. AQ JMS外部サーバーに宛先を追加します。

1. 作成したAQ JMS外部サーバーを選択します。

2. 「宛先」タブを選択します

3. 宛先の名前を入力します。これは、Oracle WebLogic Serverによって参照される論理名です。宛先名とは関係ありません。

4. Oracle BAMエンタープライズ・メッセージ・ソースが接続先を検索するために使用するローカルJNDI名を、「ローカルJNDI名」フィールドに入力します(例: jms/BAMAQQueue)。

5. 「リモートJNDI名」フィールドに、接続先がキューの場合はQueues/queue_nameと入力し、接続先がトピックの場合はTopics/topic_nameと入力します。
たとえば、Oracle B2B - Oracle BAM統合に対して作成されるAQキューのデフォルト名は、Queues/B2B_BAM_QUEUEです。

6. 「OK」をクリックします。

7. Oracle WebLogic Serverを再起動します。

25.4 Oracle BAMアーキテクトを使用したB2Bデータ・オブジェクトの作成

B2Bデータ・オブジェクトを作成する手順は、次のとおりです。

1. 次のURLでOracle BAMにログインします。

http://host_name:port_number/OracleBAM

デフォルトのポート番号は9001です。

2. 「アーキテクト」を選択して、Oracle BAMアーキテクト・アプリケーションを開きます。

3. ドロップダウン・リストで「データ・オブジェクト」を選択します。

4. サンプル・フォルダを選択し、B2Bという名前のサブフォルダを作成します。

5. 「データ・オブジェクトの作成」リンクをクリックします

6. 「名前」フィールドにB2BDOと入力します。

7. 「フィールドの追加」をクリックします。

8. 「データ・オブジェクト内のフィールド」に値を入力します。

9. 「フィールドの追加」を繰り返しクリックし、表25-2にリストされているすべてのフィールドを追加します。

Oracle BAMデータ・オブジェクトの作成の詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドのOracle BAMデータ・オブジェクトの定義と管理を参照してください。

25.5 Oracle BAMエンタープライズ・メッセージ・ソースを使用したJMSメッセージ・ソースの定義

JMSメッセージ・ソースを定義する手順は、次のとおりです。

1. 次のURLでOracle BAMにログインします。

http://host_name:port_number/OracleBAM

デフォルトのポート番号は9001です。

2. 「アーキテクト」を選択して、Oracle BAMアーキテクト・アプリケーションを開きます。

3. ドロップダウン・リストで「エンタープライズ・メッセージ・ソース」を選択します。

4. 「作成」をクリックし、表25-1に示されているようにAQ JMSキューのエンタープライズ・メッセージ・ソース情報を入力します。示されていないフィールドはデフォルトまたは空白のエントリのままにします。

表25-1 AQ JMSキューのエンタープライズ・メッセージ・ソース・プロパティ

プロパティ

値と例

名前

エンタープライズ・メッセージ・ソースの表示名を入力します(例: B2B_EMS)。

初期コンテキスト・ファクトリ

weblogic.jndi.WLInitialContextFactoryと入力します

JNDIサービス・プロバイダURL

t3://localhost:9001と入力します

注意: Oracle BAMが管理サーバーにインストールされている場合は、ポート9001を使用します。Oracle BAMが管理対象サーバーにインストールされている場合は、デフォルトのポート7001、またはシステム管理者が構成したポート番号を使用します。

トピック/キュー接続ファクトリ名

接続ファクトリの名前を入力します(例: jms/BAMAQQueueCF)。

トピック/キュー名

JJMSトピック(またはキュー)の名前を入力します(例: jms/BAMAQQueue)。

データ・オブジェクト名:

AQ JMSサーバーから受信した値を送信するB2Bデータ・オブジェクトを選択します

操作

使用方法に応じて、「挿入」または「アップサート」操作を選択します。

5. 「ソース値フォーマット」を構成するには、「日時仕様」チェック・ボックスを選択し、ドロップダウン・リストでMM/dd/yy H:mm:ss形式を選択します。

注意:

日付の受信XML値がMM/dd/yy HH24:MI:SS形式である場合は、データ・オブジェクトに正しく格納できるように、エンタープライズ・メッセージ・ソースで想定されているMM/dd/yy H:mm:ss形式に変換する必要があります

6. 受信XMLのデータをB2Bデータ・オブジェクトの適切なフィールドにマップできるように、「ソースからデータ・オブジェクト・フィールドへのマッピング」を完了します。B2Bインスタンス表から取得される受信XMLのフィールドのリストは、表25-2を参照してください。

7. 「保存」をクリックします。

8. B2B_EMSエンタープライズ・メッセージ・ソースを選択し、「開始」をクリックします。数秒でステータスが「起動済」に変わります。

エンタープライズ・メッセージ・ソースを開始した後、データベース・ジョブによってAQ JMSキューに挿入されたメッセージは、B2BDOデータ・オブジェクトですぐに使用可能になります。

B2BDOデータ・オブジェクトの内容を表示するには、「Oracle BAMアーキテクト」ドロップダウン・メニューから「データ・オブジェクト」を選択します。B2BDOオブジェクトを参照して選択します。内容を表示するには、「コンテンツ」をクリックします。

データベース・ジョブがB2Bインスタンス表から受信メッセージを読み取り、AQ JMSキューに挿入すると、B2BDOに新しい行が挿入されます。

Oracle BAMエンタープライズ・メッセージ・ソースの作成の詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドのOracle BAMエンタープライズ・メッセージ・ソースの作成を参照してください。

25.6 Oracle B2Bインスタンス・メッセージからOracle BAMデータ・オブジェクトへのマッピング

表25-2に、Oracle B2Bインスタンス・メッセージのフィールドをリストします。これらのフィールドを使用して、Oracle BAMでデータ・オブジェクトとエンタープライズ・メッセージ・ソースを設計し、Oracle B2Bのパフォーマンスをリアルタイムで監視できます。

次のリストにはペイロード(APP_PAYLOAD、PAYLOAD、WIREPAYLOAD)は含まれないことに注意してください。ペイロードはパフォーマンス上の理由で転送されません。

表25-2 Oracle B2Bインスタンス・メッセージのフィールド

フィールド

タイプ

ID

NOT NULL VARCHAR2(256)

REFERTOID

VARCHAR2(256)

B2BMESSAGEID

NOT NULL VARCHAR2(256)

ACKNOWLEDGEMODE

VARCHAR2(256)

MESSAGEDATETIME

DATE

MESSAGETYPE

VARCHAR2(256)

STATE

VARCHAR2(256)

REMAININGRETRY

NUMBER(10)

DIRECTION

VARCHAR2(256)

TIMETOACK

VARCHAR2(256)

TPA_NAME

VARCHAR2(256)

XPATH_EXPRESSION1

VARCHAR2(1024)

XPATH_EXPRESSION2

VARCHAR2(1024)

XPATH_EXPRESSION3

VARCHAR2(1024)

XPATH_NAME1

VARCHAR2(256)

XPATH_NAME2

VARCHAR2(256)

XPATH_NAME3

VARCHAR2(256)

XPATH_VALUE1

VARCHAR2(256)

XPATH_VALUE2

VARCHAR2(256)

XPATH_VALUE3

VARCHAR2(256)

DOCUMENT_DEFINITION

VARCHAR2(256)

CREATED

DATE

MODIFIED

DATE

SEND_TIMESTAMP

DATE

RECEIVE_TIMESTAMP

DATE

NATIVE_MSG_SIZE

NUMBER(10)

TRANSLATED_MSG_SIZE

NUMBER(10)

BM_RESUBMIT_COUNT

NUMBER(10)

ERRORCODE

VARCHAR2(256)

ERRORTEXT

VARCHAR2(1024)

ERRORDESCRIPTION

VARCHAR2(2000)

PROCESSING_TIME

NUMBER(10)

DOCUMENTTYPE

VARCHAR2(513)

CORRELATIONID

VARCHAR2(256)

FABRIC_ECID

VARCHAR2(512)

FABRIC_COMPOSITE_NAME

VARCHAR2(512)

AM_RESUBMIT_COUNT

NUMBER(10)

TRANSACTIONCONTROLNUMBER

VARCHAR2(256)

GROUPCONTROLNUMBER

VARCHAR2(256)

INTERCHANGECONTROLNUMBER

VARCHAR2(256)

PROTOCOLWORKAREA

CLOB

B2BWIREMESSAGEID

VARCHAR2(256)

B2BTIMESTAMP

DATE

CONVERSATIONID

VARCHAR2(1024)

PROTOCOLMESSAGEID

VARCHAR2(1024)

URL

VARCHAR2(1024)

TRANSPORTPROTOCOL

VARCHAR2(513)

TRANSPORTHEADERS

VARCHAR2(2000)

WM_RESUBMIT_COUNT

NUMBER(10)

DOCUMENTPROTOCOL

VARCHAR2(513)

EXCHANGEPROTOCOL

VARCHAR2(513)

AGREEMENTID

VARCHAR2(256)

SENDERNAME

VARCHAR2(256)

SENDERID

VARCHAR2(513)

RECEIVERNAME

VARCHAR2(256)

RECEIVERID

VARCHAR2(513)

25.7 Oracle B2Bを監視するためのダッシュボードの作成

リアルタイム監視ダッシュボードは、Oracle BAMアクティブ・スタジオを使用して作成します。B2BDOデータ・オブジェクトを使用してOracle B2Bを監視するには、ダッシュボードを作成します。

簡単なレポートを作成する手順は、次のとおりです。

1. 次のURLでOracle BAMにログインします。

http://host_name:port_number/OracleBAM

デフォルトのポート番号は9001です。

2. 「アクティブ・スタジオ」を選択し、Oracle BAMアクティブ・スタジオ・アプリケーションを開きます。

3. 「新規レポートの作成」をクリックします。

4. 4分割された「タイル表示レポート」を選択します。

5. 4分割の左上部分で、「棒グラフ」を選択します(2回クリックする必要がある場合があります)。
サンプルの棒グラフが表示され、「Oracle BAMアクティブ・スタジオ」ウィンドウの下部でビュー・エディタが開きます。

6. ビュー・エディタの「データ・オブジェクト」の選択でB2BDOを選択し、「次」をクリックします。

7. 「グループ化」リストで、「State」を選択します。

8. 「グラフの値」リストで「b2bMessageId」を選択し、「次」をクリックします。

9. 「ビュー・プロパティの変更」をクリックし、次の情報を入力します。
「ビュー・タイトル」フィールドにB2B Stateと入力します。

「凡例の表示」チェック・ボックスを選択します。

10. 「OK」をクリックします。

11. 同様に、Oracle Fusion Middleware Oracle Business Activity Monitoringユーザーズ・ガイドの指示に従って、ダッシュボードにおける4分割の他の部分の表示情報を作成します。
たとえば、4分割の他の3つの部分では、メッセージのdocumentProtocol、exchangeProtocolまたはdirectionでグループ化できます。

12. 4分割の各部分の表示の構成が終了したら、ダッシュボードを保存します。

13. メインのOracle BAMページに移動し、「アクティブ・ビューア」を選択します。

14. 作成したダッシュボードを選択し、Oracle BAMアクティブ・ビューアで表示します。

15. b2b_instancemessageビューで新規インスタンスが作成されるとダッシュボードの表示は自動的にリフレッシュされ、B2BDOデータ・オブジェクトにデータが挿入されます。変更はただちに反映されます。

Oracle BAMダッシュボードの作成の詳細は、Oracle Fusion Middleware Oracle Business Activity Monitoringユーザーズ・ガイドを参照してください。

25.8 Oracle B2BでのOracle BAM統合の有効化

Oracle B2BでOracle BAM統合を有効化するには、Oracle B2Bの「管理」→「構成」タブで次のプロパティを設定します。

「BAMの有効化」 - trueに設定します。b2b.enableBAMをtrueに設定すると、Oracle B2Bのユーザー・インタフェースはデータベースでデータベース・ジョブを自動的に開始し、b2b_instancemessageビューで新規インスタンスを監視します。b2b.enableBAMをfalseに設定すると、ユーザー・インタフェースはデータベースからデータベース・ジョブを自動的に削除します。

「BAMポーリング間隔」 – データベース・ジョブが更新のためにOracle B2Bインスタンス表をポーリングし、Oracle BAMによる取得のためにそれらの更新をAQ JMSキューに挿入する間隔(分単位)です。0.5分などの1分未満の値も指定できます。

26 インスタンス・メッセージ・データへのプログラムでのアクセス

この章では、インスタンス・メッセージ・データにプログラムでアクセスするためのインスタンス・メッセージJava APIの概要を示します。

この章には次のトピックが含まれます:

- 第26.1項 インスタンス・メッセージ・データへのプログラムでのアクセス

- 第26.2項 インスタンス・メッセージJava APIの例

- 第26.3項 インスタンス・メッセージJava APIのトラブルシューティング

インスタンス・メッセージAPIのInstanceMessageUtilクラスの詳細は、Oracle Fusion Middleware B2Bのインスタンス・メッセージJava APIリファレンスを参照してください。

26.1 インスタンス・メッセージ・データへのプログラムでのアクセス

インスタンス・メッセージJava APIは、取引パートナ間で交換されるランタイム・データを取得するためにOracle B2Bで提供されているJava APIです。

次のような場合にインスタンス・メッセージJava APIを使用します。

- バックエンド・アプリケーションからの再発行

- 特定の注文番号のステータスのチェック

- バックエンド・アプリケーションによるペイロードのイントロスペクト

- メッセージの残りの再試行のチェック

- ペイロードのワイヤ・メッセージのチェック

インスタンス・メッセージAPIでは、様々な基準でランタイム・データを問い合せ、インスタンス・データの形式で結果を提供します。インスタンス・メッセージAPIは、ビジネス・メッセージとワイヤ・メッセージの両方をカプセル化する、インスタンス・メッセージ・ビューの上位のJavaラッパーです。

注意:

このAPIを使用する場合は、b2b.jarおよびweblogic.jarまたはwlthint3client.jarに加えて、追加ライブラリをクラスパスの一部として設定する必要があります。

インスタンス・メッセージAPI問合せオプション

インスタンス・メッセージJava APIを使用すると、次の基準に基づいてインスタンス・メッセージを取得できます。

- アグリーメント名

- 管理番号、グループ管理番号、トランザクション管理番号、取引パートナ名、ドキュメント・タイプ

- 日付範囲と取引パートナ

- 日付範囲、方向、取引パートナ

- メッセージID

- メッセージ状態

- プロトコル・メッセージID

- 取引パートナ

- 取引パートナと方向

- 取引パートナとドキュメント・タイプ

- 取引パートナとメッセージの状態

- XPath式(1つまたは2つのXPath式で評価できます)

- XPath値(1つまたは2つのXPath式で評価できます)

- 対話ID

インスタンス・メッセージAPIの詳細は、Oracle Fusion Middleware B2Bのインスタンス・メッセージJava APIリファレンスを参照してください。

26.2 インスタンス・メッセージJava APIの例

次の出力に基づいてロジックを作成できます。

Vector messages = (Vector) imUtil.getInstanceMessagesForTP("GlobalChips")

この例を例26-1に示します。

これと似た別のメソッドgetInstanceMessagesForMsgId(String messageId)があります。すべてのメソッドについては、Oracle Fusion Middleware B2Bのインスタンス・メッセージJava APIリファレンスを参照してください。

例26-1 取引パートナ名に基づく取得

import java.util.Vector;
import oracle.tip.b2b.utility.InstanceMessageUtil;

public class MyInstanceData {
public static void main(String[] args) throws Exception {

InstanceMessageUtil imUtil = new InstanceMessageUtil();
Vector messages = (Vector) imUtil.getInstanceMessagesForTP("GlobalChips");
System.out.println(messages.size());
}
}

26.3 インスタンス・メッセージJava APIのトラブルシューティング

トラブルシューティングについては、次のトピックを参照してください。

- 第26.3.1項 多数のメッセージの処理

- 第26.3.2項 大きなペイロードの処理

- 第26.3.3項 Weblogic.jarを使用した問合せのリモート実行

26.3.1 多数のメッセージの処理

問合せから多数のメッセージが返された場合、weblogic.socket.MaxMessageSizeExceededExceptionが発生することがあります。

この問題を解決するには、weblogic.MaxMessageSizeの値を増やし、クライアントのコマンドラインで-Dweblogic.MaxMessageSize=100000000を渡します。このパラメータ設定を指定すると、100MBのメッセージを受信できます。

例:

java -cp
.:$ORACLE_HOME/wlserver_10.3/server/lib/wlthint3client.jar:$SOA_HOME/
/soa/modules/oracle.soa.b2b_11.1.1/b2b.jar
-Dweblogic.MaxMessageSize=100000000 TestInstanceMsg

26.3.2 大きなペイロードの処理

大きいインバウンドまたはアウトバウンド・ペイロードの場合は、ペイロード自体を返すのではなく、ペイロードの場所に対する参照を返します。

例:

/tmp/GlobalChips_1_custnonxml_largepayload.dat@9844C4341297D3EB7B60000011A0CC9D
.dat

Oracle B2Bによる大きなペイロードの処理の詳細は、付録A 大きなペイロードの処理を参照してください。

26.3.3 Weblogic.jarを使用した問合せのリモート実行

weblogic.jarを使用してリモートで問合せを実行しているときに、Oracle WebLogic Serverのクラスパスの問題と、java.lang.ClassNotFoundException:weblogic.security.subject.AbstractSubject例外が発生する場合があります。

この問題を解決するには、wlthint3client.jarを使用して問合せを実行してください。

例:

java -cp
.:$ORACLE_HOME/wlserver_10.3/server/lib/wlthint3client.jar:$SOA_HOME/
/soa/modules/oracle.soa.b2b_11.1.1/b2b.jar TestInstanceMsg

第VI部

付録

この部は、次の付録で構成されています。

- 付録A 大きなペイロードの処理

- 付録D Fusion Middleware ControlでのB2B構成プロパティの設定

- 付録E バックエンド・アプリケーション・インタフェース

- 付録H 例外処理

- 付録J セルフ・サービス・ユーティリティのプロトコル、識別、セキュリティ仕様およびパラメータ

大きなペイロードの処理

この付録では、Oracle B2BでSOAインフラストラクチャおよびJMS内部キューを使用して大きなペイロードを処理する方法について説明します。

この付録には次のトピックがあります。

- 第A.1項 大きなペイロードの処理

- 第A.1.1 大きなペイロードのサポートの概要

- 第A.1.2項 大きなペイロードと32ビット版Windows PC

- 第A.1.3項 大きなデータセットの設定シナリオ

A.1 大きなペイロードの処理

Oracle B2Bでは、SOAインフラストラクチャおよびJMS内部キューを通じて大きなペイロードを処理できます。

A.1.1 大きなペイロードのサポートの概要

インバウンド設定

図A-1に、インバウンドの場合に設定するプロパティを示します。「管理」→「構成」に移動します。

図A-1 大きなペイロード・サイズ

大きなペイロードを処理するためにコンポジットをデプロイする場合は、この構成のみが必要となります。B2Bでペイロードをコンポジットに配信しない場合は、図A-2に示すように、「JMSキューをデフォルトとして使用」を「true」に設定します。「管理」→「構成」に移動します。

図A-2 JMSキューの使用

「JMSキューをデフォルトとして使用」を「true」に設定すると、ペイロードはB2B_IN_QUEUE (JMSベースのキュー)に配信されます。

アウトバウンド設定

図A-3に、アウトバウンドの場合に設定するプロパティを示します。

図A-3 大きなペイロード・ディレクトリ

サービス・エンジンによって大きなペイロードが送信されることをB2Bに通知することも必要となります。変更は次の2つの手順で行います。

Oracle B2Bに大きなペイロードを送信する場合は、BPELプロセスにb2b.largePayloadプロパティを設定する必要があります。大きなペイロードを処理しないコンポジット・サンプルの場合、変更はありません。

Oracle B2Bでこのフラグを処理するためのコード変更

1. <variables>セクションでアウトバウンドBPELプロセスにVariable_largePayload変数を宣言します。

<variable name="Variable_largePayload" type="xsd:string"/>

2. 「割当て」アクティビティで、変数に'true'をコピーします。

<copy>
<from expression="'true'"/>
<to variable="Variable_largePayload"/>
</copy>

3. 「起動」アクティビティで、変数をb2b.largePayloadに割り当てます。

<bpelx:inputProperty name="b2b.largePayload"
variable="Variable_largePayload"/>

注意:

BPELでOracle B2Bに大きなペイロードを送信しない場合は、このプロパティを設定しないでください。

コードをチェックインした後、その確認のために大きなペイロードのサンプルを更新する必要があります。

BPELおよびメディエータで、b2b.largePayloadをtrueに設定した場合、largePayloadDirが必要になります(Oracle B2Bで設定します)。b2b.largePayloadを設定していない場合、このディレクトリは問題になりません。

Oracle B2Bでは、大きなペイロードを対応するエンドポイントに送信した後、そのペイロードを大きなペイロード処理ディレクトリに保持します。

大きなペイロードのサポートについて

1. 大きなペイロードのテストを行う場合は、「管理」→「構成」タブの「ペイロードをログに記録」を「false」に設定します。

2. 大きなペイロードのテストを行う場合は、「管理」→「構成」タブの「ペイロードの表示」を「false」に設定して、レポートにペイロードが表示されないようにします。

3. 大きなペイロードを処理するときにエンキュー・スクリプトを使用する場合は、次の指定を追加します

eventName=LARGE_PAYLOAD=true

4. -Xmx2048mを使用するように最大ヒープ・サイズを増やします。

5. SOAデータソースが自動的に拡張されるようにデータベースの表領域サイズを増やし、表領域ファイル・サイズの上限を上げます。
alter database datafile '/scratch/$user/auto_work/db230/oradata/db230/SH_soainfra.dbf' autoextend on next 10M maxsize 4096M

6. Oracle WebLogic管理サーバーのトランザクション・タイムアウトを次のように設定します。

- Weblogicコンソール・サービス -> JTAタイムアウト秒=720秒

- Weblogicコンソール・サービス -> JDBC -> DataSources -> SOADataSource - XAタイムアウトを120秒と180秒の間に増やす

7. Oracle B2Bを(SOAインフラストラクチャを使用せずに)単独で使用する場合は、Oracle Enterprise Manager Fusion Middleware Controlを使用して、b2b.jtaTimeoutにJTAタイムアウトを設定できます。詳細は、Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイドを参照してください。

8. アウトバウンドSOAコンポジットの場合は、図A-4に示すように、ファイル・アダプタ用に「ファイル・ストリーミングを使用します」オプションを常に選択します。

図A-4 ファイル・アダプタ用の「ファイル・ストリーミングを使用します」オプション

A.1.2 大きなペイロードと32ビット版Windows PC

32ビット版Windowsコンピュータでは、ペイロード・サイズの制限は50MBです。これは、Windows固有の制限によって、1536Mを超えるヒープ・サイズを設定できないためです。Java VMによって、メモリー不足例外がスローされます。

A.1.3 大きなデータセットの設定シナリオ

次の推奨設定は、約2,500の取引パートナを含むデータセット(サイズが約253MBのエクスポートZIPファイル)があり、6GBのコンピュータを使用することを想定しています。このような設定を使用すると、アップグレード・アシスタントを使用した場合に、データ・アップロード時間を大幅に短縮できます。

1. Oracle WebLogic Server管理コンソールを使用して、次の値を増やします

- JTAトランザクション・タイムアウトを30から350に増やします

- 最大メッセージ・サイズをデフォルト・サイズから200000000に増やします

2. パフォーマンス向上のために索引を追加します。Oracle Database 11g Enterprise Editionリリース11.1.0.7.0 - 製品版を「パーティショニング」、「OLAP」、「データ・マイニング」、「Real Application Testing」の各オプションとともに使用して、次の処理を実行します。

SQL> create index idx_mds_attr on
rc1_mds.MDS_ATTRIBUTES("ATT_VALUE","ATT_LOCALNAME");
Index created.

SQL> create index idx_mds_path on
rc1_mds.MDS_PATHS("PATH_CONTENTID","PATH_PARTITION_ID");
Index created.

SQL> commit;

3. 次の更新後のメモリー設定を使用して管理対象サーバーを起動します。

DEFAULT_MEM_ARGS="-Xms1024m -Xmx2048m"

4. ORACLE_HOME/bin/UAデフォルト・メモリーをデフォルトの256から2048に変更します。デフォルトは次のとおりです

$JAVA_HOME/bin/java ${JAVAMODE} -Xmx256m -classpath ${CLASSPATH}
-Dua.home=$base_dir -Dice.pilots.html4.ignoreNonGenericFonts=true
-Dsun.lang.ClassLoader.allowArraySyntax=true
-Doracle.installer.oui_loc=$OUI_HOME oracle.ias.upgrade.UpgradeDriver
$ARGUMENTS

このデフォルトを次のように変更します

$JAVA_HOME/bin/java ${JAVAMODE} -Xmx2048m -classpath ${CLASSPATH}
-Dua.home=$base_dir -Dice.pilots.html4.ignoreNonGenericFonts=true
-Dsun.lang.ClassLoader.allowArraySyntax=true
-Doracle.installer.oui_loc=$OUI_HOME oracle.ias.upgrade.UpgradeDriver
$ARGUMENTS

5. 「スタック・スレッド最大時間」の値を600から2000に変更します。

B 電子メールの添付ファイルの処理

この付録では、Oracle B2Bの電子メールによるペイロードの処理について説明します。

この付録の項は次のとおりです。

- 第B.1項 ペイロードを電子メールの添付ファイルとして送信

- 第B.2項 ペイロードを電子メールの本文として送信

- 第B.3項 添付ファイルとともにペイロードを電子メールの本文として送信

- 第B.4項 複数の添付ファイルとともにペイロードを電子メールの本文として送信

B.1 ペイロードを電子メールの添付ファイルとして送信

Oracle B2Bでは、アウトバウンド・メッセージの場合、ペイロードを電子メールの添付ファイルとして送信できます。ペイロードを添付ファイルとして送信するには、「添付ファイルとして送信」をtrueに設定して、デリバリ・チャネルを構成する必要があります。

電子メールの本文が空で添付ファイルの部分が存在する場合、インバウンド・メッセージ側では、添付ファイルの部分がペイロードとして扱われ、Oracle B2Bによって処理されます。

電子メールの本文が無視されるデフォルト・サイズは5文字です。電子メールの本文に6文字以上含まれる場合は、本文がペイロードとして扱われます。

無視するサイズのデフォルト値は、Oracle Fusion Middleware ControlコンソールでOracle B2Bサーバーの次のプロパティを使用して構成できます。

b2b.DefaultBodySize=20 (それ以外の場合、デフォルト値は5)

B.2 ペイロードを電子メールの本文として送信

アウトバウンド・メッセージ処理でペイロードを電子メールの本文として送信する場合、「添付ファイルとして送信」をfalseに設定して、デリバリ・チャネルを構成できます。この場合、インバウンド側では、電子メールの本文がペイロードとして扱われ、Oracle B2Bによって処理されます。

B.3 添付ファイルとともにペイロードを電子メールの本文として送信

アウトバウンド・メッセージ処理でペイロードを電子メールの本文として添付ファイルとともに送信する場合、「添付ファイルとして送信」をfalseに設定し、バックエンド・アプリケーションでAttachmentヘッダーに添付ファイルを指定することによって、デリバリ・チャネルを構成する必要があります。

例:

<?xml version="1.0" encoding="UTF-8"?>
<Attachments xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="AttachmentDescriptor.xsd" boundary="boundary----">
<AttachmentPart>
<Location>file:///tmp/oralogo_small.gif</Location>
<Content-Type>
<Top-Level-Type>image</Top-Level-Type>
<Sub-Type>jpeg</Sub-Type>
</Content-Type>
<Content-Transfer-Encoding>BASE64</Content-Transfer-Encoding>
<Content-ID/>
<Content-Description>A GIF file</Content-Description>
</AttachmentPart>
</Attachments>

この場合、インバウンド側では、電子メールの本文がペイロードとして扱われ、添付ファイルは構成されている添付ファイル・ディレクトリに格納されます。添付ファイル・ディレクトリは、Oracle Fusion Middleware ControlコンソールでOracle B2Bサーバーの次のプロパティを設定して構成できます。

b2b.attachments.dir=<directory_name>/

B.4 複数の添付ファイルとともにペイロードを電子メールの本文として送信

アウトバウンド・メッセージ処理でペイロードを電子メールの本文として複数の添付ファイルとともに送信する場合、「添付ファイルとして送信」をfalseに設定し、バックエンド・アプリケーションでAttachmentヘッダーに添付ファイルを指定することによって、デリバリ・チャネルを構成する必要があります。

<Attachments xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="AttachmentDescriptor.xsd" boundary="boundary----">
<AttachmentPart>
<Attachment>UjBsR09EbGhjZ0dTQUxNQUFBUUNBRU1tQ1p0dU1GUXhEUzhi</Attachment>
<Content-Type>
<Top-Level-Type>image</Top-Level-Type>
<Sub-Type>jpeg</Sub-Type>
</Content-Type>
<Content-Transfer-Encoding>BASE64</Content-Transfer-Encoding>
<Content-ID/>
<Content-Description/>
</AttachmentPart>
<AttachmentPart>
<Location>file:///tmp/SpreadSheet.xls</Location>
<Content-Type>
<Top-Level-Type>application</Top-Level-Type>
<Sub-Type>vnd.ms-excel</Sub-Type>
</Content-Type>
<Content-Transfer-Encoding>BASE64</Content-Transfer-Encoding>
<Content-ID>SpreadSheet-1</Content-ID>
<Content-Description/>
</AttachmentPart>
</Attachments>

この場合、インバウンド側では、電子メールの本文がペイロードとして扱われ、添付ファイルは構成されている添付ファイル・ディレクトリに格納されます。

C 同期リクエスト/リプライのサポート

この付録では、Oracle JDeveloperとOracle B2Bを構成してOracle B2Bで同期リクエスト/リプライのサポートを有効化する方法について説明します。

この付録には次のトピックがあります。

- 第C.1項 概要

- 第C.2項 送信者の構成

- 第C.3項 受信者の構成

- 第C.4項 メッセージの再発行

C.1 概要

Oracle B2Bでは、ファブリックからOracle B2Bへの同期リクエスト/リプライがサポートされています。ただし、初回リリースでサポートされているのは、HTTPトランスポートのみです。図C-1に、エンドツーエンドのシナリオを示します。

図C-1 同期リクエスト/リプライ

C.2 送信者の構成

送信者を構成するには、次のタスクを実行する必要があります。

- Oracle JDeveloperの構成

- Oracle B2Bの構成

C.2.1 Oracle JDeveloperの構成

Oracle JDeveloperでB2B構成ウィザードを使用して、同期リクエスト/リプライをサポートするための送信者を構成する必要があります。

- 図C-2に示すように、B2B構成ウィザードの「操作」ページで、「同期リクエスト/リプライ」オプションを選択し、「アウトバウンド」を選択します。

図C-2 B2B構成ウィザード: 「操作」ページ

- B2B構成ウィザードの「ドキュメント定義」ページで、「リクエスト」と「リプライ」の両方の定義を指定します。
ルーティングIDの選択は、リクエスト・ドキュメントにのみ表示されます。図C-3に示すように、レスポンスは同じリクエスト・コールでファブリックに返されるので、レスポンスのルーティングにルーティングIDは必要ありません。

図C-3 B2B構成ウィザード: 「ドキュメント定義」ページ

C.2.2 Oracle B2Bの構成

Oracle B2Bコンソールで、次を実行する必要があります。

- Oracle B2Bアグリーメントの設定: アグリーメントを2つ定義する必要があります。図C-4に示すように、一方のアグリーメントはリクエスト送信用、もう一方のアグリーメントはレスポンス受信用にそれぞれ必要です。ここで設定する必要があるOracle B2Bのプロパティはありません。ファブリックからOracle B2Bへのコールに基づいて、メッセージ・タイプは「同期リクエスト」に決定します。

図C-4 Oracle B2Bのアグリーメントの設定

- 取引パートナ・チャネルの作成: 図C-5に示すように、リモート取引パートナ・チャネルを作成し、http://server:port/b2b/syncreceiverを指すように設定する必要があります。これは、2つのOracle B2B製品間で通信が行われる場合に必要です。通信が2つの異なるB2B製品間で行われる場合、URLが変わることに注意してください。

図C-5 取引パートナ・チャネルの作成

C.3 受信者の構成

受信者を構成するには、次のタスクを実行する必要があります。

- Oracle JDeveloperの構成

- Oracle B2Bの構成

C.3.1 Oracle JDeveloperの構成

Oracle JDeveloperでB2B構成ウィザードを使用して、同期リクエスト/リプライをサポートするための受信者を構成する必要があります。

- 図C-6に示すように、B2B構成ウィザードの「操作」ページで、「同期リクエスト/リプライ」オプションを選択し、「インバウンド」を選択します。

図C-6 B2B構成ウィザード: 「操作」ページ

- B2B構成ウィザードの「ドキュメント定義」ページで、「リクエスト」と「リプライ」の両方の定義を指定します。
ルーティングIDの選択は、リクエスト・ドキュメントにのみ表示されます。図C-7に示すように、レスポンスは同じリクエスト・コールでファブリックに返されるので、レスポンスのルーティングにルーティングIDは必要ありません。

図C-7 B2B構成ウィザード: 「ドキュメント定義」ページ

C.3.2 Oracle B2Bの構成

Oracle B2Bコンソールで、次を実行する必要があります。

- Oracle B2Bアグリーメントの設定: アグリーメントを2つ定義する必要があります。図C-8に示すように、一方のアグリーメントはリクエスト受信用、もう一方のアグリーメントはレスポンス送信用にそれぞれ必要です。ここで設定する必要があるOracle B2Bのプロパティはありません。同期HTTP受信者によって、メッセージ・タイプは「同期リクエスト」に決定します。

図C-8 Oracle B2Bのアグリーメントの設定

- ダミー取引パートナ・チャネルの作成: ダミー・リモート取引パートナ・チャネルを作成する必要がありますが、このチャネルは実行時は使用されません。任意のURL値を指定できますが、図C-9に示すように、http://host:port/xyzの書式で指定する必要があります。

図C-9 ダミー取引パートナ・チャネルの作成

C.4 メッセージの再発行

同期リクエストまたは同期レスポンスの再発行は、アプリケーション側から実行する必要があります。Oracle B2Bコンソールで、Oracle B2Bからアプリケーション・メッセージまたはワイヤ・メッセージを再発行することはできますが、メッセージは非同期モードで再発行されます。メッセージ処理ロジックが非決定性である場合があります。たとえば、送信者側であるOracle B2Bからアプリケーション・メッセージまたはワイヤ・メッセージが再発行された場合、このメッセージはhttp://server:port/b2b/syncreceiverにポストされます。受信者側のOracle B2Bはこのメッセージを非同期リクエストまたは非同期レスポンスとして処理します。送信者側ではレスポンス・メッセージは無視されます。

D Fusion Middleware ControlでのB2B構成プロパティの設定

この付録では、Oracle Enterprise Manager Fusion Middleware Controlを使用して、Oracle B2Bインタフェースの「構成」ページで設定されないプロパティのB2B構成プロパティを設定する方法について説明します(第17章「B2Bシステム・パラメータの構成」を参照)。また、configmbeanutilユーティリティを使用してB2Bプロパティを設定する方法について説明します。

この付録には次のトピックがあります。

- 第D.1項 Fusion Middleware Controlで設定するプロパティ

- 第D.2項 configmbeanutilユーティリティの使用

D.1 Fusion Middleware Controlで設定するプロパティ

Oracle Enterprise Manager Fusion Middleware Controlでは、次のプロパティを設定できます。プロパティの設定方法は、Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイドを参照してください。

注意:

B2Bプロパティの変更には、SOAサーバーの再起動が必要です。

表D-1 Oracle Enterprise Manager Fusion Middleware ControlのOracle B2Bプロパティ

プロパティ

説明

b2b.addebMSHeaders

ACTION、SERVICE、SERVICE TYPE、CPAID、FROMROLEおよびTOROLEの着信ebMSメッセージの詳細を、AQのACTION_NAMEヘッダーに追加するために使用されます。

デフォルトでは、ACTIONのみがACTION_NAMEの一部として渡されます。

b2b.attachments.dir

添付ファイル・ディレクトリの場所を指定するには、このプロパティを設定します。

このプロパティを有効にすると、ユーザーはすべての添付ファイルが書き込まれるディレクトリを指定できます。

このプロパティの変更では、新しい値を有効にするためにサーバーを再起動する必要があります。

b2b.certificatevalidation

このプロパティは、ebMSで受信した証明書の検証を有効または無効にするために使用されます。たとえば、証明書が期限切れになっていると、通常は、エラーがスローされます。ただし、このプロパティがfalseに設定されている場合、検証エラーがスローされずに証明書が許可されます。デフォルト値はtrueであり、デフォルトでは、Oracle B2Bは証明書を検証します。

b2b.checkDuplicate

重複メッセージをチェックするには、このプロパティをtrueに設定します。

このプロパティがfalseに設定されている場合、着信ビジネス・メッセージの重複チェックは実行されません。

デフォルトでは、Oracle B2Bは着信メッセージのビジネス・メッセージIDに基づいて重複メッセージをチェックします。

重複RosettaNetメッセージの処理を有効化するには、このプロパティをfalseに設定する必要があります。

b2b.rejectDuplicateMessage

このプロパティがtrueに設定されている場合、バッチ内に同じメッセージIDを持つ重複メッセージは存在できません。そのようなメッセージが送信された場合、Oracle B2BによってメッセージのメッセージIDが変更され、該当するメッセージがERROR状態に設定されます。

また、「レポート」ページで次のエラーがレポートされます。

「同じメッセージIDを持つ重複するメッセージがバッチに見つかりました。元のメッセージID <org_msg_id>を新しいメッセージID <org_msg_id+timestamp>に変更しています。メッセージは却下されます。」

このプロパティのデフォルト値はfalseです。

b2b.deploy.validation

デプロイメント中の検証をオフにするには、このプロパティをfalseに設定します。

これは、データが有効であることが確認されているアグリーメントを多数デプロイする際に役立ちます。

b2b.mdsCache.minutesToLive

MDSキャッシュがメモリーに永続的に格納されるように指定するには、このプロパティを0に設定します。このプロパティのデフォルト値は5ですが、これはオブジェクトが5分間使用されないと、そのキャッシュが削除されることを意味します。このプロパティには、0または他の任意の0以外の値を設定できます。

b2b.docPluginList

このプロパティを使用すると、ドキュメント・プラグインはこのプロパティで指定した順序に従ってロードされます。たとえば、

b2b.docPluginList=Custom,EDI_X12,EDI_EDIFACT,HL7,RosettaNet

ドキュメント・プラグインは指定した順序に従ってロードされるようになります。このプロパティに値を指定しないと、システムからすべてのドキュメント・プラグイン(protocol.xml)がロードされます。

b2b.edi.enablePreprocess

末尾のCRLF(改行文字)およびファイル内に存在する可能性がある不要なCRLFが削除されるようにデータを事前処理するには、このプロパティをtrueに設定します。

デフォルト値はfalseです。

このプロパティの変更では、新しい値を有効にするためにサーバーを再起動する必要があります。

oracle.tip.b2b.edi.binaryDocType

Oracle B2Bは、このプロパティを使用してEDIペイロードのBINセグメントを処理します。BINセグメントを使用できるドキュメント・タイプのカンマ区切りリストを、次のように指定する必要があります。

oracle.tip.b2b.edi.binaryDocType=841

このプロパティを設定すると、Oracle B2Bが、破損したBINセグメント・コンテンツをバイナリとみなして処理することが保証されます。

oracle.tip.b2b.addCorrelatedFAInfoInExceptionXML

trueに設定されている場合、否定FAの受信時に発生する例外メッセージに着信FAのB2BメッセージIDが格納されます。これは、アウトバウンドEDIメッセージのエラーを示します。

b2b.edi.identifyToTP

着信メッセージ内に存在するTP情報からtoTPを識別するには、このプロパティを使用します。

このプロパティは、インバウンド・メッセージ処理に対して使用されます。trueに設定すると、着信メッセージ内に存在するTP情報からtoTPが識別されます。デフォルト値はfalseです。

b2b.edi.ignoreValidation

EDIエンベロープ検証をオフにして、EDIメッセージの交換検証エラーを無視するには、このプロパティでカンマ区切りのエンベロープ・ヘッダーを設定します。

例:

b2b.edi.ignoreValidation=InterchangeSenderID,
InterchangeReceiverID

または、値ALLを使用して、完全なエンベロープ・ヘッダー検証をオフにします。

Oracle B2Bコンソールの「その他」タブでは、このプロパティ値をドキュメント・プロトコル・バージョン・レベルでオーバーライドできます。

注意: このフラグを追加または更新する場合、サーバーの再起動は必要ありません。ただし、フラグを削除する場合は、変更を反映するためにサーバーを再起動する必要があります。

b2b.edi.correlateInterchangeOnly

インバウンド制御メッセージを受信すると、メッセージの制御ステータスに基づいて、元のメッセージの状態が設定されます。元のインバウンド制御メッセージを正しいステータスに設定するには、このプロパティを使用します。

次のシナリオを検討してください。

シナリオ1: 制御メッセージに次のグループXPathが設定されているとします。

/*[local-name()='Transaction-CONTRL']/*[local-name()='Loop-Group_3']/*[local-name()='Segment-UCF']/*[local-name()='Element-0048']

この場合、Oracle B2Bは、XPathとしてLoop-Group_4またはLoop-Group_3を使用して制御ステータスを取得します。

/*[local-name()='Transaction-CONTRL']/*[local-name()='Loop-Group_3']/*[local-name()='Loop-Group_4']
/*[local-name()='Transaction-CONTRL']/*[local-name()='Loop-Group_3']

シナリオ2: 制御メッセージにグループXPathが設定されていない場合、Oracle B2BはXPathとしてLoop-Group_1を使用します。

/*[local-name()='Transaction-CONTRL']/*[local-name()='Loop-Group_1']

前述のXPathを使用してトランザクション管理番号を取得できない場合、Oracle B2Bは制御ステータスを取得できないので、デフォルトでは元のメッセージのステータスがCOMPLETEに設定されます。

元のメッセージを正しいステータスに設定する必要がある場合、次のプロパティをtrueに設定します。b2b.edi.correlateInterchangeOnly=true

b2b.encoding

このプロパティは、デフォルトのUTF-8以外のエンコーディングを指定するために使用できます。

b2b.errorsCumulativeReported

エラーが累積で、または累積しないで報告されるように指定するには、このプロパティをtrueまたはfalseに設定します。

エラーが累積の方式で報告されるようにするには、このプロパティをtrue(デフォルト)に設定します。

falseに設定すると、エラー・テキストおよびエラーの説明のフィールドは説明と連結されず、説明は新しい行で開始されます。

このプロパティは、EDIバッチ処理のエラー・メッセージで最も役立ちます。

b2b.fa.inbound.validation
b2b.fa.outbound.validation

これらのプロパティを使用して、インバウンドおよびアウトバウンドのFA検証を制御します。

アウトバウンドFA検証をオフにするには、b2b.fa.outbound.validationプロパティをfalseに設定します。デフォルト値はtrueです。

インバウンドFA検証をオフにするには、b2b.fa.inbound.validationプロパティをfalseに設定します。デフォルト値はtrueです。

アグリーメント・レベルでは次のように処理されます。

- b2b.fa.inbound.validationがtrueに設定されている場合、検証が実行されます。この場合、アグリーメント・レベルで選択された値が有効になります。

- b2b.fa.inbound.validationがfalseに設定されている場合、検証は実行されません。この場合、グローバル・レベルのFA検証はオフになります。したがって、アグリーメント・レベルで選択されている値は有効になりません。

Oracle B2Bコンソールでは、このプロパティ値をアグリーメント・レベルでオーバーライドできます。

b2b.FACorrelatedByInterchangeId

同じ管理番号が同じ取引パートナ間で使用される場合にインバウンドおよびアウトバウンドFAを正しく相関付けするには、このプロパティをtrueに設定します。

デフォルトでは、Oracle B2Bは同じ管理番号が同じ取引パートナ間で使用される場合にインバウンドおよびアウトバウンドFAを正しく相関付けしません。このプロパティをtrueに設定すると、インバウンド・メッセージとアウトバウンド・メッセージの両方について、Oracle B2Bは管理番号 + (交換送信者ID + 交換受信者ID)に基づいて相関付けします。

b2b.FailedMessagesDirectory

b2b.jmsRedeliveryLimitに達したときに、ファイル・システムに書き込まれる失敗したアプリケーション・メッセージの場所を変更するには、このプロパティを設定します。このプロパティを別のフォルダに設定することによって、場所をデフォルトから別の場所に変更できます。

b2b.HAInstance

構成されているFileチャネル、FTPチャネルまたは電子メール・チャネルのポーリング・スレッドが、高可用性(HA)クラスタ内の1つのノードのみで起動されることを保証するには、このプロパティをtrueに設定します。このプロパティが設定されていない場合、各ノードで独自のポーリング・スレッドが起動されるので、同じファイルが複数回取得される可能性があります。

このプロパティのデフォルト値はfalseです。

各ノードを想定されるHAモードで確実に動作させるには、クラスタ内の全ノードを再起動する必要があります。

b2b.IDENTIFY_TP_BY_HOSTNAME

ホスト名がマスクされるTCPベースの交換プロトコル(MLLPやGeneric TCPなど)の場合に、Oracle B2Bが各メッセージのホスト名を決定できるようにするには、このbooleanプロパティをtrueに設定します。

trueに設定すると、Oracle B2BはホストのIPアドレスからホスト名を取得します。

falseに設定すると、Oracle B2BはIPアドレスからホスト名を参照しません。

このプロパティのデフォルト値はtrueです。

b2b.TPBasedSeqTarget

チャネル名または取引パートナ名を順序付けのターゲットとして有効にするには、このプロパティをtrueに設定します。

メッセージにアクション名の一部として順序付けのターゲットがある場合、そのメッセージ・プロパティに優先度が与えられます。ただし、メッセージ・レベルの順序付けのターゲットがなく、プロパティ(b2b.TPBasedSeqTarget)が有効な場合、取引パートナ名が順序付けのターゲットと見なされます。

順序付けを有効にする方法を次に示します。

- TCP: 順序付けが(取引パートナに直接接続しているチャネルで)有効であり、TARGETが指定されていない場合、取引パートナ名をTARGETとして使用してキャッシュを問い合せます。これは、14のエントリ・ポイントで発生します。

- TCP以外のプロトコル: TCP以外のプロトコルではチャネルは双方向ではないため、TO-PARTY名をTARGETとして使用します。

- 非ファブリック: アウトバウンド・リスニング内部チャネルのチャネル内の順序付けフラグを使用します。

b2b.showEncryptedData

暗号化済RosettaNetメッセージが交換される場合、パック・メッセージの内容を表示するには、このプロパティをtrueに設定する必要があります。

b2b.threads.LogStatusInterval
b2b.threads.LogStatusLevel

使用可能なスレッドのプールから一定期間内にアクティブになったインバウンド・スレッドおよびアウトバウンド・スレッドの数を記録するには、この機能を使用します。Oracle B2Bは、名前や最終アクティブ・ステータスなどのイベント・スレッド情報をDMSメトリックおよび診断ログに定期的にパブリッシュします。デフォルトでは、スレッド情報は30分おきにログ・レベルDEBUGでパブリッシュされます。

これらのプロパティを使用して、間隔とログ・レベルを変更できます。

b2b.threads.LogStatusLevelに設定可能な値は、DEBUG、INFORMATION、WARNINGおよびERRORです。

この機能が動作する条件は次のとおりです。

- b2b.threads.LogStatusLevel = DEBUGの場合、サーバー・ログ・レベルをTRACEに設定する必要があります。
b2b.threads.LogStatusLevel = INFORMATIONの場合、サーバー・ログ・レベルをNOTIFICATIONに設定する必要があります。

出力例:

<Mar 3, 2011 11:37:01 PM PST> <Error> <oracle.soa.b2b.engine> <BEA-000000>
<B2B Thread Name :
weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@f6e5fd8 - Direction :
Default - Status : ACTIVE>

b2b.addAllDocParams

このプロパティをfalseに設定すると、インポートZIPに不要または未設定のパラメータは追加されなくなります。

b2b.useDefaultQuery

このプロパティをfalseに設定すると、「受信タイム・スタンプ」が空白になり、「送信タイム・スタンプ」が自動的に入力されます。

デフォルト値はtrueです。

b2b.refreshCache

このプロパティをtrueに設定すると、失敗した場合にキャッシュをリフレッシュして再試行する必要があるかどうかを示します(EBMSの場合のみ。)このプロパティを設定する必要があるのは、キャッシュ同期が設定されていないクラスタ環境のみです。

デフォルト値はfalseです。

b2b.commitTxnOnMsgDelivery

このプロパティをtrueに設定すると、メッセージをバックエンドに配信する際にデータベース・トランザクション・メッセージを(中間)コミットする必要があるかどうかを示します。このパラメータが設定されていない場合、メッセージはバックエンドに配信されますが、データベース・レコードはコミットされません。

b2b.hl7.ignoreValidation

hl7エンベロープ検証をオフにするには、このプロパティでカンマ区切りのエンベロープ・ヘッダーを設定します。

例:

b2b.hl7.ignoreValidation = MessageReceivingFacility,
MessageSendingApp

または、ALLに設定して、完全なエンベロープ・ヘッダー検証をオフにします。

Oracle B2Bコンソールの「その他」タブでは、このプロパティ値をドキュメント・プロトコル・バージョン・レベルでオーバーライドできます。

b2b.HL7DocIdentification

通常、Oracle B2Bは、バックエンド・アプリケーションから渡されるドキュメント・タイプとドキュメント・タイプ・リビジョンに基づいて、アグリーメントまたはエンドポイント・ドキュメントを識別します。バックエンド・アプリケーションがドキュメント・タイプとドキュメント・タイプ・リビジョンの情報を渡すことができない場合、アウトバウンドXMLペイロードから同じ情報を取得できます。

この情報を取得するには、b2b.HL7DocIdentificationをtrueに設定します。

b2b.inboundThreadCount
b2b.inboundThreadSleepTime
b2b.outboundThreadCount
b2b.outboundThreadSleepTime
b2b.defaultThreadCount
b2b.defaultThreadSleepTime

メッセージ処理を向上させるためにスレッド数とスレッドのスリープ時間を設定するには、これらのプロパティを設定します。

b2b.inboundThreadCountおよびb2b.outboundThreadCountの推奨値は、システムによって異なります。2 GBのコンピュータの場合、3から5に設定することをお薦めします。

Oracle B2Bがシングル・スレッド・モード(デフォルト)で実行されている場合、アウトバウンドHTTPメッセージがブロックされると、Oracle B2Bで後続のメッセージを処理できなくなる場合があります。HTTP配信のデフォルトのタイムアウトは60秒です。タイムアウトによってメッセージはエラーとなり、処理の障害はなくなります。処理の遅延をなくすには、スレッド数プロパティb2b.outboundThreadCountを3または4スレッドに増やすことをお薦めします。

b2b.inboundThreadSleepTimeおよびb2b.inboundThreadSleepTimeプロパティによって、メッセージ処理の後にスレッドはスリープになります。10から1000(ミリ秒)の間の設定をお薦めします。

b2b.jmsRedeliveryLimit

このプロパティを設定することによって、JMSキューからのメッセージの読取りに対する再試行制限を変更できます。Oracle B2Bは、指定された回数、メッセージの読取りを再試行するようになります。デフォルトの再試行制限は5です。

制限回数に達すると、メッセージおよびヘッダーの内容はファイル・システムに書き込まれます(デフォルトの場所は/tmpフォルダです)。Oracle B2Bは、例外メッセージもJMS - B2B_IN_QUEUEに送信して、エラーを報告し、保存されたメッセージの場所を示します。

b2b.FailedMessagesDirectoryを設定して、エラーが発生したメッセージの場所を指定できます。

b2b.listening.channel.restart.wait

Oracle B2Bは、リスニング・チャネルに対して複数のファイル・モニター・スレッドを作成する場合があります。このプロパティを使用して長い間隔を設定すると、初期化中にスレッドの競合状態を回避するのに役立ちます。

b2b.MaxTimeinAquiredState

再起動後に自動スタック・ハンドラがメッセージの処理を再開しないという問題を回避するには、このプロパティを設定します。

b2b.MaxTimeinAquiredStateプロパティの時間単位は分単位であり、30がデフォルト値です。

b2b.mdsCache cache_size

メタデータ・サービス(MDS)インスタンスのキャッシュ・サイズを設定するには、このプロパティを設定します。

xmxとmdsCacheの値には、5:1の比率をお薦めします。たとえば、xmxサイズが1024の場合は、mdsCacheを200 MBで維持します。

b2b.OutboundDispatchInterval

ディスパッチのサイクル間の遅延を制御するには、このプロパティを使用します。このプロパティを設定して、順序付けされたメッセージのディスパッチ間で待機する時間(ミリ秒単位)を指定します。

このプロパティを有効にすると、ディスパッチのサイクル間の遅延が制御されます。このプロパティは、メッセージの順序付け機能および取引パートナ停止時間スケジュール機能とともに使用できます。

自動スタック・ハンドラの使用時は、Oracle B2Bはエラーが発生したアウトバウンド・メッセージを順番に再試行します。エンドポイントで配信準備が完了すると、順序内のすべてのメッセージが配信可能になるので、エンドポイントでメッセージ配信のオーバーロードが発生する可能性があります。負荷を軽減するために、このプロパティを使用してメッセージのディスパッチの間隔をミリ秒単位で設定できます。

b2b.outboundOneErrorAllError

エラーにフラグを付ける方法を指定するには、このパラメータをtrueまたはfalseに設定します。

アウトバウンド・メッセージの場合、b2b.outboundOneErrorAllErrorはtrueにもfalseにも設定できます。デフォルトはfalseです。このプロパティをtrueに設定すると、アウトバウンド・メッセージについて、エラーのメッセージが1つであっても、すべてのアウトバウンド・バッチ・メッセージがエラー状態に設定されます。バッチ処理されたメッセージは取引パートナに送信されません。

b2b.outboundOneErrorAllErrorプロパティを使用すると、インバウンド・メッセージはb2b.outboundOneErrorAllErrorがfalseに設定されているように動作します。つまり、インバウンド・メッセージ・プロセス中にエラーが発生した場合、そのメッセージのみにエラーがフラグ付けされ、他のメッセージは渡されます。すべてのメッセージをエラーとしてフラグ付けするオプションはありません。

b2b.payloadObfuscation

ペイロードの不明瞭化をオンにするには、このプロパティをtrueに設定します。

詳細は、第1.4.1項 ペイロードの不明瞭化を参照してください。

b2b.rowLockingForCorrelation

行レベル・ロックを有効にするには、このプロパティをtrueに設定します。

Oracle B2BがEDI FAメッセージとAS2 MDNメッセージ(確認メッセージ)を同時に受信すると、競合状態が発生し、アウトバウンドEDIメッセージは(FAが正常に処理されたにもかかわらず)MSG_WAIT_FA状態に留まる場合があります。

相関付けされたFAおよび確認メッセージが同時に処理されたときに元のEDIメッセージに順番にアクセスできるように、この行レベル・ロック・パラメータを使用します。Oracle B2Bが元のメッセージを更新する場合に、競合状態が回避されます。

b2b.setDynamicNameSpace

Oracle B2B 10gバージョンからのEDI ECSおよびXSDファイルを使用するには、このプロパティをtrueに設定します。

Oracle B2B 10gで使用されていたEDI ECSおよびXSDファイルをOracle B2B 11gで使用する場合、XEngineによって変換済XML用の動的ネームスペースが生成される場合があります。たとえば、

xmlns="NS_31CA8D0F33324F95A0BF15D85539C27E20060518215520"

インバウンドEDIメッセージに対する動的ネームスペース生成をオフにするには、このプロパティをfalseに設定します。

b2b.SyncAppDelivery

コールアウトを使用する場合、バックエンド・メッセージ・キューへのメッセージ配信を有効化するには、このプロパティをtrueに設定します。メッセージ配信を無効化するには、このプロパティをfalseに設定します。デフォルトでは、このプロパティは無効化(falseに設定)されています。このプロパティは、大文字と小文字が区別されます。

b2b.setisLargePayloadPropertyForSmallMsg

デフォルトでは、Oracle B2Bではペイロードのサイズが(構成されているサイズに比べて)大きい場合のみLARGE_PAYLOADヘッダー・プロパティがtrueに設定されます。ペイロードが小さい場合、LARGE_PAYLOADヘッダー・プロパティは設定されません。ペイロードが小さい場合もLARGE_PAYLOADプロパティが設定されるようにする必要がある場合は、b2b.setisLargePayloadPropertyForSmallMsgプロパティをtrueに設定します。

このプロパティのデフォルト値はfalseです。

b2b.listening_channels.continue_reconnect

SFTPまたはJMSなどのリソース・サーバーが停止している場合、デフォルトでは、Oracle B2Bは指定された回数のみ再接続を試みます。ただし、指定された回数以内に再接続できない場合、単に特定のリスニング・チャネルを停止します。

このプロパティがtrueに設定されている場合は、停止時間中ずっとリソース・サーバーへの再接続を試みます。

リソース・サーバーは、SFTPの場合はSFTPサーバー、JMSの場合はJMSサーバーです。

このプロパティのデフォルト値はfalseです。

b2b.reuseHttpConnections

このプロパティの値をtrueに設定すると、HTTP接続は再利用されます。このプロパティのデフォルト値はfalseです。デフォルト値を使用する場合、同じURLに連続してアクセスする際、HTTP接続のオープンとクローズを繰り返します。

ただし、このプロパティが有効になるかどうかは、他のプロパティの値に依存します。HTTP接続を再利用する際にHTTPClient.HTTPConnection.setCurrentProxyをコールする場合、取得したHTTP接続インスタンスでプロキシ設定が実際に変更されている場合にのみ、副作用としての変更(HTTP接続の再利用、ソケットのクローズなど)が実行されます。setCurrentProxyをコールしてもHTTP接続インスタンスに現在設定されている値が適用される場合、setCurrentProxyコールは無視されます。

したがって、HTTPClient.HTTPConnection.getProxyHostとHTTPConnection.getProxyPortの値を新しく提示される値と比較して、値が異なる場合のみHTTPConnection.setCurrentProxyをコールする必要があります。

b2b.deliverPingPongToBackend

ebMSでは、Ping/Pongメッセージを使用してサーバー状態を確認できます。b2b.deliverPingPongToBackendプロパティをtrueに設定すると、Oracle B2Bでそれらのメッセージを受信したときに、そのままバックエンド・アプリケーションに渡すことができます。

このプロパティのデフォルト値はfalseであり、Oracle B2Bが受信したPing/Pongメッセージは強制的に消費されます。

b2b.trackInboundCtlNum

このプロパティのデフォルト値はtrueであり、Oracle B2BがインバウンドEDIメッセージの管理番号をデータベースに保存する動作を制御します(特定のパートナからのインバウンドEDIメッセージの管理番号を挿入するか、またはそのパートナのエントリが既存の場合は更新します)。一方、falseに設定されている場合は、Oracle B2Bはインバウンド・メッセージの管理番号の挿入を行いません。

b2b.SingleTransactionAtInbound

インバウンドMLLP HAの場合、ワイヤ・メッセージがデータベースにコミットされてからイベントがイベント・キューにエンキューされるまでの間にサーバーがクラッシュした場合、メッセージは永久に順序付けマネージャの表にスタックされ、処理されません。この場合、順序付けされているインバウンド・メッセージ・フローはブロックされます。

MLLP HAでJMSとデータベースのコミットを1つのトランザクションで実行する場合のみ、b2b.SingleTransactionAtInboundをtrueに設定します。これは、一度に1つのインバウンド・メッセージのみ受信するMLLPにのみ適しています。

このプロパティのデフォルト値はfalseです。

b2b.retainmsgid

この値をtrueに設定すると、アプリケーション・メッセージを再発行する際、メッセージID、プロトコル・メッセージIDおよびコラボレーションIDの@msgidが維持されます。

この値をfalseに設定すると、メッセージIDの@msgidは維持されますが、プロトコル・メッセージIDおよびコラボレーションIDには新しいIDが発行されます。

このプロパティのデフォルト値はfalseです。

b2b.TPACache

このプロパティを使用して、取引パートナ・アグリーメント(TPA)レイヤー処理キャッシュを有効化または無効化します。デフォルトでは、このプロパティは無効です。

プロパティの制限: TPAキャッシュは、アグリーメント・デプロイメントを使用して、値の変化をリフレッシュします。したがって、このパラメータが有効な場合、チャネル・パラメータの変更の即時取込みは機能しません。それには、アグリーメントのデプロイが必要です。このパラメータへの変更を適用するには、サーバーを再起動する必要があります。

このパラメータの有効な値はlocalです。

b2b.optimizeStorage

このプロパティを使用して、ビジネス・インスタンス、ワイヤ・インスタンスおよびアプリケーション・インスタンス(可能な場合)の間で、ペイロードのストレージを最適化(共有)するかどうかを決定します。このプロパティを適宜設定すると、ペイロードが保持され、データベース・レイヤーのI/O負荷が軽くなります。このパラメータへの変更を適用するには、サーバーを再起動する必要があります。

このパラメータの有効な値はtrueとfalse (デフォルト)です。

b2b.DispatcherCache

このプロパティを使用して、ディスパッチャ処理キャッシュを有効化または無効化します。デフォルトでは、このプロパティは無効です。このパラメータへの変更を適用するには、サーバーを再起動する必要があります。

このパラメータの有効な値はlocalです。

b2b.enableDeliveryHelper

バックエンド・アプリケーションにメッセージをディスパッチするためのスレッドを個々に生成するには、このプロパティを使用します。インバウンド・ディスパッチャのパフォーマンスを向上するには、このプロパティを有効化します。このパラメータへの変更を適用するには、サーバーを再起動する必要があります。

このプロパティの有効な値はtrueまたはfalseです。

b2b.sequencingFetchSize

このプロパティを使用して、順序付けフェッチのバッチ・サイズを定義します。インバウンド・ディスパッチャまたはアウトバウンド・ディスパッチャは、1回のフェッチでの特定の順序付けターゲットに対するメッセージの<batchsize>の値を取得しようと試みます。このプロパティのデフォルト値は20です。このパラメータへの変更を適用するには、サーバーを再起動する必要があります。

このパラメータの有効な値はIntegerです。

b2b.fromHeaderName

HTTPのFromメッセージ・ヘッダーにIPアドレスにマップ可能な値が格納されている場合、Oracle B2Bはその値をIPアドレスに変換します。このIPアドレスがリモート取引パートナ識別子、特にGeneric識別子に含まれていない場合、Oracle B2Bはメッセージの送信元の取引パートナを識別できません。

メッセージ受信時に、Oracle B2BがFromメッセージ・ヘッダーから抽出した値とリモート取引パートナに指定されているGeneric識別子をそのまま(IPアドレスに変換せずに)比較できるように、このプロパティを使用してヘッダー名の値を指定します。

このプロパティの値は、大文字と小文字が区別されます。したがって、ヘッダーは、メッセージで渡される値と正確に一致する必要があります。

このプロパティの値の書式を次に示します。

<header name>#<header name2>...

この値には、sender_id#receiver_idのように、#で区切って複数のヘッダー名を指定できます。

b2b.auditFileLocation

b2b.maxNumAuditFile

b2b.auditFileLocationは、コンポジット・フロー・トレースのEM URLを取得するために使用します。このプロパティには、文字列値を設定します。

例:

b2b.auditFileLocation=/tmp/audit.log

b2b.maxNumAuditFileは、監査ログの最大数を指定するために使用します。このプロパティのデフォルト値は10です。

書式: audit-<managed server name>.log.<n>o (n=0,1,2,3)

例:

b2b.maxNumAuditFile= 10

監査ファイルはCSV形式で格納されます。

b2b.TreatRNIFasRNDocument

このプロパティを使用して、RosettaNetドキュメントを指定します。このプロパティをtrueに設定して、ドキュメントをRNExchangePluginから受信した場合、ドキュメントの指定は正常です。

このプロパティをfalseに設定した場合、ドキュメントはXPath式とその値で特定されます(カスタム・ドキュメントと同じです。)

b2b.mdnAliasesAndAlgorithm

このプロパティを使用して、AS2メッセージのネガティブMDnの署名を処理します。このプロパティの値の書式を次に示します。

B2BHost=<default alias to sign>:<default algorithm>;<TP1>=<alias1>:<alg1>;...<TPn>=<aliasn>:<algn>

例:

B2BHost=b2bs0:md5;ACME=stg_2010:md5;GLOBALCHIPS=stage2014:sha1

b2b.fromTPXPath

このプロパティを使用して、ペイロードから取引パートナ名を抽出する必要があるXPathをインクルードします。

メッセージを受信すると、Oracle B2BはEnterPrise Managementコンソールで指定されているXPathを使用してペイロードから取引パートナ名を抽出し、その値をGeneric識別子として指定されている値と比較して、メッセージの送信元の取引パートナを決定します。

注意: XPathの末尾に/text()をインクルードしないでください。インクルードした場合、Oracle B2Bはパスを見つけられません。

b2b.correlateResponse

このプロパティを使用して、Oracle B2Bでの相関付けを切り替えます。

このプロパティのデフォルト値はtrueです。

このプロパティをfalseに設定した場合、Oracle B2Bは、エンキューされたアウトバウンド・メッセージを、replyToMsgIDフィールドで指定されているIDを持つ既存メッセージと相関付けません。

b2b.protMsgIdAsBmId

このプロパティをtrueに設定すると、Oracle B2BはプロトコルMsgIDをバックエンド・アプリケーションに送信できます。

このプロパティのデフォルト値はfalseです。

b2b.flowTraceEMURL

Oracle B2Bがあるドメインでホストされ、Oracle SOAコンポジット(Oracle JMSアダプタとJMSオプション)が別のドメインにデプロイされている場合(Oracle Enterprise Manager Fusion Middleware Controlが別のドメインにある)、Oracle B2Bにはコンポジットがデプロイされているドメインへのリンクを提供するメカニズムが必要です。

ECIDに基づいてインスタンスのメッセージ・フローを追跡するために、このプロパティを使用してOracle SOAコンポジットのドメインURL詳細を指定します。

このプロパティの値を設定するための形式は次のとおりです。

http://<host>:<port>#<domain_name>#<domain_type>

また、Oracle B2Bコンソールを使用して、デリバリ・チャネル・レベルでこのURL詳細を指定できます。

このURLは、Oracle B2B Application Messageレポートの個々のメッセージの「フローのトレース」リンクとして使用できます。

「フローのトレース」リンクの作成時、Oracle B2Bはまずチャネル・レベルで値が指定されているかどうかを確認します。値が存在する場合は、その値を使用してURLリンクが作成されます。値が存在しない場合、Oracle B2BはOracle Enterprise Manager Fusion Middleware Controlでb2b.flowTraceEMURLが設定されているかどうかを確認します。設定されている場合、そのプロパティ値を使用してURLリンクが作成されます。値が両方とも設定されていない場合、デフォルトでは、Oracle B2Bはコンポジットがローカル・ドメインで使用可能であると想定して、URLリンクを作成します。

『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle B2Bロギング・モードの構成に関する項を参照してください。

b2b.b2bReportsURL

Oracle Enterprise Manager Fusion Middleware Controlがホストされているドメインでこのプロパティを(b2b.flowTraceEMURLとともに)設定して、Oracle B2Bコンソールのレポートの「フローのトレース」URLリンクを構築します。

このプロパティの値を設定するための形式は次のとおりです。

http://<host>:<port>

JMSオプションを使用するOracle B2Bコンポジットの場合、コンポジットのデプロイ先と同じドメインでOracle B2Bがホストされていても、Oracle Enterprise Manager Fusion Middleware Control側からOracle B2BコンソールのURLを提供する必要があります。

注意: 現在、Oracle SOA Suiteは複数のSOAドメインと1つのOracle B2Bインスタンスの追跡をサポートしています。これは、このプロパティがグローバル・レベルで設定されるからです。

b2b.rowLockingForCorrelation

MLLP 2.0アウトバウンド・メッセージのメッセージ状態をMSG_WAIT_TRANSMITからMSG_WAIT_ACKに変更するには、このプロパティをtrueに設定します。ただし、このプロパティを有効化すると、行のロックによってパフォーマンスが損なわれるので、パフォーマンスに悪影響を及ぼします。

このプロパティが有効化されていない場合、メッセージ伝送時にメッセージ状態は変化しません。ただし、コミット確認の受信時にはすぐにメッセージ状態が変化します。

b2b.TPAbasedebMSIdValidateAndOverride

このプロパティにより、次が実行されます。

- インバウンド・フローとアウトバウンド・フローの両方で、ミドルウェアまたは取引パートナから送信される取引パートナ識別子を、アグリーメントに構成されている識別子と照合して検証します。

- バックエンド・アプリケーションまたは取引パートナから送信された識別子を使用して、アグリーメントに構成されている識別子をオーバーライドします。

デフォルト値はfalseです。

b2b.TPAbasedebMSIdValidateAndOverride= trueの場合:

- アグリーメントに識別子としてID1とID2が構成され、インバウンド・メッセージの識別子がID2である場合、バックエンド・アプリケーションにはID2が送信されます。
注意: これはアウトバウンド・メッセージに適用されます。

- アグリーメントに識別子としてID1とID2が構成され、インバウンド・メッセージの識別子がID3である場合、取引パートナに識別子としてID3が構成されていても、アグリーメント識別エラーになります。

- 特定の識別子タイプを持たないアウトバウンド・メッセージの場合、ebMSメッセージ・ヘッダーでは名前識別子が使用されます。

b2b.TPAbasedebMSIdValidateAndOverride= falseの場合:

識別はプロファイルに構成されている識別子との照合によって実行され、ebMSヘッダーではアグリーメントに構成されている識別子が使用されます。

b2b.resubmitOutboundAck

このプロパティをtrueに設定すると、アウトバウンド確認を再発行できます。

デフォルト値はfalseです。

コヒーレンス・システム・プロパティ

coherence.b2bDispatcherCache.size

coherence.b2bDispatcherCache.expiry

coherence.b2bTPACache.size

coherence.b2bTPACache.expiry

これらのシステム・プロパティを使用して、キャッシュ・サイズおよび有効期限を調整できます。

各システム・プロパティのデフォルト値を次に示します。

coherence.b2bDispatcherCache.size: 20000

coherence.b2bDispatcherCache.expiry: 3分

coherence.b2bTPACache.size: 20000

coherence.b2bTPACache.expiry: 30分

D.2 configmbeanutilユーティリティの使用

configmbeanutilユーティリティを使用してプロパティを設定することもできます。

configmbeanutilユーティリティを使用するには、次の手順に従います。

1. MW_HOME環境変数を、Fusion Middlewareのインストール・ディレクトリを指すように設定します。たとえば、

setenv MW_HOME /scratch/$user/fmwhome

注意:

Fusion Middlewareのディレクトリにアクセスするには、ホスト、ポート、ユーザーおよびパスワードの情報が含まれたMBeanプロパティ・ファイル(mbeanutil.properties)を指定する必要があります。たとえば、

host=myfmw.com
port=7001
user=weblogic
password=mypwd

2. JAVA_HOME環境変数を設定します。たとえば、

setenv JAVA_HOME ${MW_HOME}/jdk160_14_R27.6.4-18

3. Java binディレクトリをPATH環境変数に追加します。たとえば、

setenv PATH ${JAVA_HOME}/bin:${PATH}

例D-1、例D-2、例D-3および例D-4にこのユーティリティの使用方法を示します。

例D-1 すべてのプロパティのコンソールへの出力

java -cp $MW_HOME/AS11gR1SOA/soa/modules/oracle.soa.b2b_11.1.1/b2b.jar:$MW_HOME/
wlserver_10.3/server/lib/wljmxclient.jar:$MW_HOME/modules/
glassfish.jaxb_1.2.0.0_2-1-7.jar oracle.tip.b2b.utility.ConfigMBeanUtility

例D-2 プロパティの追加

java -cp $MW_HOME/AS11gR1SOA/soa/modules/oracle.soa.b2b_11.1.1/b2b.jar:$MW_HOME/
wlserver_10.3/server/lib/wljmxclient.jar:$MW_HOME/modules/
glassfish.jaxb_1.2.0.0_2-1-7.jar oracle.tip.b2b.utility.ConfigMBeanUtility add b2b.test cool ok

例D-3 プロパティの更新

java -cp $MW_HOME/AS11gR1SOA/soa/modules/oracle.soa.b2b_11.1.1/b2b.jar:$MW_HOME/
wlserver_10.3/server/lib/wljmxclient.jar:$MW_HOME/modules/
glassfish.jaxb_1.2.0.0_2-1-7.jar oracle.tip.b2b.utility.ConfigMBeanUtility
update b2b.test thru

例D-4 プロパティの削除

java -cp $MW_HOME/AS11gR1SOA/soa/modules/oracle.soa.b2b_11.1.1/b2b.jar:$MW_HOME/
wlserver_10.3/server/lib/wljmxclient.jar:$MW_HOME/modules/
glassfish.jaxb_1.2.0.0_2-1-7.jar oracle.tip.b2b.utility.ConfigMBeanUtility
remove b2b.test

E バックエンド・アプリケーション・インタフェース

この付録では、Oracle B2Bでサポートされているメッセージ・プロパティをリストします。

この付録には次のトピックがあります。

- 第E.1項 SCAの正規化されたメッセージ・プロパティへのB2B IP_MESSAGE_TYPEのマッピング

- 第E.2項 正規化されたメッセージ・プロパティ

E.1 SCAの正規化されたメッセージ・プロパティへのB2B IP_MESSAGE_TYPEのマッピング

表E-1は、SCAの正規化されたメッセージ・プロパティへのB2B IP_MESSAGE_TYPEのマッピングです。

表E-1 AS11 SCAの正規化されたメッセージ・プロパティへのB2B IP_MESSAGE_TYPEのマッピング

AQ (IP_MESSAGE_TYPE)

SCA

JMS

MSG_ID

b2b.messageId

MSG_ID

INREPLYTO_MSG_ID

b2b.replyToMessageId

INREPLYTO_MSG_ID

FROM_PARTY

b2b.fromTradingPartnerId

FROM_PARTY

-

b2b.fromTradingPartnerIdType

-

TO_PARTY_ID_VALUE

b2b.toTradingPartnerId

TO_PARTY

TO-PART_ID_TYPE

b2b.toTradingPartnerIdType

-

ACTION_NAME

-

ACTION_NAME

DOCTYPE_NAME

b2b.documentTypeName

DOCTYPE_NAME

DOCTYPE_REVISION

b2b.documentProtocolVersion

DOCTYPE_REVISION

-

b2b.documentProtocolName

-

-

b2b.documentDefinitionName

-

MSG_TYPE

b2b.messageType

MSG_TYPE

-

b2b.conversationId

-

PAYLOAD

本文

-

ATTACHMENT

添付ファイル

-

E.2 正規化されたメッセージ・プロパティ

ヘッダーの操作および伝播は、重要なビジネス統合メッセージング要件です。Oracle BPEL Process Manager、Oracle Mediator、Oracle JCAなどの他のSOAコンポーネントと同様に、Oracle B2Bはヘッダー・サポートを使用して統合ニーズを解決します。たとえば、メッセージ・ヘッダーを介して伝播することによって、ソース・ディレクトリからターゲット・ディレクトリへファイル名を保持できます。

正規化されたメッセージには、プロパティとペイロードという2つの部分があります。通常、プロパティはスカラー型の名前-値のペアです。既存の複雑なヘッダーをプロパティに合せるために、プロパティはスカラー型にフラット化されています。

あらかじめ決められた複雑なプロパティを使用することによって、設計時のヘッダー操作が簡略化されます。B2Bでは、予約されたキーワードを使用してヘッダーを操作できます。ただし、一部のプロパティは入力に基づいて動的に生成されます。これらの定義はあらかじめ決まらないため、あらかじめ決められたプロパティ定義のリストでは対応できません。動的プロパティが定義される前に、動的プロパティのヘッダー操作を設計することはできません。この制限に対応するには、必要なすべてのサービス(コンポジット・エントリ・ポイント)と参照を生成する必要があります。この制約は、動的プロパティを生成することが想定されるサービスに適用されます。動的プロパティは、生成された後、コンポジットごとに格納され、コンポジット・エディタで操作できます。

図E-1に、B2Bバインディング・コンポーネントを含むBPELプロセスの一部である起動アクティビティの「プロパティ」タブを示します。このダイアログで、値を入力し、B2Bプロパティの入力および出力タイプを指定します。

図E-1 B2Bの正規化されたメッセージ・プロパティが表示された起動アクティビティ

表E-2に、Oracle B2Bの正規化されたメッセージのあらかじめ決められたプロパティを示します。

表E-2 Oracle B2Bのプロパティ

プロパティ名

伝播可能(はい/いいえ)

方向(インバウンド/アウトバウンド)

データ型

有効な値の範囲

説明

b2b.conversationId

いいえ

両方

文字列

-

メッセージをメッセージ・レスポンスに関連付けるために使用されるID

b2b.documentDefinitionName

いいえ

両方

文字列

-

ドキュメント定義(EDI X2ドキュメントの850_defなど)

b2b.documentProtocolName

いいえ

両方

文字列

-

ドキュメント・プロトコル(EDI X12ドキュメントのX12など)

b2b.documentProtocolVersion

いいえ

両方

文字列

-

ドキュメント・バージョン(EDI X12ドキュメントの4010など)

b2b.documentTypeName

いいえ

両方

文字列

-

ドキュメント・タイプ(EDI X12ドキュメントの850など)

b2b.fromTradingPartnerId

いいえ

両方

文字列

-

送信者の取引パートナ識別子(Acmeのような名前やDUNS番号など)

b2b.fromTradingPartnerIdType

いいえ

両方

文字列

-

送信者の取引パートナ識別子タイプ(NameやDUNSなど)

b2b.messageId

いいえ

両方

文字列

-

一意のメッセージID。ECIDと直接は関係しません。(ECID情報はB2B AppMessage表に格納されます。)

b2b.messageType

いいえ

両方

文字列

-

メッセージ・タイプの値は次のとおりです。

- リクエスト = 1

- レスポンス = 2

- 機能確認 = 9

b2b.replyToMessageId

いいえ

両方

文字列

-

送信メッセージの返信先メッセージID

b2b.toTradingPartnerId

いいえ

両方

文字列

-

受信者の取引パートナ識別子(Acmeのような名前やDUNS番号など)。

b2b.toTradingPartnerIdType

いいえ

両方

文字列

-

受信者の取引パートナ識別子タイプ(NameやDUNSなど)。値が見つからない場合は、Nameタイプに判断されます。

F 順序付けされたメッセージの管理

この付録では、Oracle B2Bでメッセージの順序付けの管理に使用されるANTコマンドとパブリックAPIについて説明します。

この付録の項は次のとおりです。

- 第F.1項 順序付けされたメッセージを管理する必要がある理由

- 第F.2項 ANTコマンドとパブリックAPI

F.1 順序付けされたメッセージを管理する必要がある理由

メッセージの順序付けを保持することは、Oracle B2Bのメッセージ処理では重要です。それには、堅牢な管理オプションも必要です。これには、ダッシュボードを使用したり、Oracle B2Bの内部で、および他のアプリケーションにより外部から、特定のターゲットを管理したりすることによる、効率的なレポートが含まれます。

順序付けされたメッセージを管理するための適切なフレームワークが必要な理由を次に示します。

- 順序付けされたメッセージのわかりやすい表示(ダッシュボード)

- 外部から使用できるようにするパブリックAPIのサポート

- ターゲット、状態およびメッセージIDを指定することによるメッセージの削除

- ターゲットおよび状態を指定することによる保留中のメッセージの表示

- メッセージ・フローを一時停止および再開するオプション

F.2 ANTコマンドとパブリックAPI

Oracle B2Bでは、順序付けされたメッセージを管理するためのANTコマンドライン・ユーティリティとパブリックAPIが提供されています。

この項では、順序付けされたメッセージに対して実行できる様々な管理タスクをリストします。

すべてのエンドポイントまたはターゲットを状態とともにリストするには:

このアクティビティは、すべてのターゲットが個々の状態とともに表示されるダッシュボードを生成する作業と同じです。これにより、ターゲットまたはエンドポイントのヘルス(正常に処理しているのか、またはエラー状態にあるのか)を知ることができます。

ANTコマンド

ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=listTargets

パブリックAPI

public java.util.List<java.lang.String> listSequenceTargets() throws java.lang.Exception

保留中の順序付けされたメッセージを状態とエンドポイントに基づいてリストするには:

このアクティビティは、特定のターゲットまたはエンドポイントに関するメッセージの数およびそのターゲットまたはエンドポイントの様々な状態を知るために必要です。この情報は、特定のエンドポイントまたはターゲットに関する問題が発生している場合、そのターゲットに関するメッセージの累積件数を知るために役立ちます。

ANTコマンド

ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=report -Dstate=PROCESSED -Dtarget=Pha01

パブリックAPI

public java.util.List<java.lang.String> getSequenceMessagesByTargetAndState(java.lang.String target, java.lang.String state) throws java.lang.Exception

状態を指定して保留中の順序付けされたメッセージをリストするには:

すべてのエンドポイントまたはターゲットに関する特定の状態のすべてのメッセージを取得します。

ANTコマンド

ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=report -Dstate=PROCESSED

パブリックAPI

public java.util.List<java.lang.String> getSequenceMessagesByTarget (java.lang.Stringtarget)throws java.lang.Exception

エンドポイントを指定して保留中の順序付けされたメッセージをリストするには:

特定のエンドポイントまたはターゲットのすべての保留中のメッセージをリストします。

ANTコマンド

ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=report -Dtarget=Pha01

パブリックAPI

public java.util.List<java.lang.String> getSequenceMessagesByTarget (java.lang.String target) throws java.lang.Exception

エンドポイントを指定してメッセージを破棄するには:

特定のターゲットまたはエンドポイントを指定してメッセージを削除します。基本的に、順序付けマネージャの表から特定のターゲットまたはエンドポイントに関連するすべてのメッセージを削除します。

ANTコマンド

ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=discard -Dtarget=Pha01

ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=discard -Dtarget=Pha01 -Ddirection=OUTBOUND

パブリックAPI

public java.util.List<java.lang.String> discardSequencedMessageByTarget(java.lang.String target) throws java.lang.Exception

public java.util.List<java.lang.String> discardSequencedMessageByTarget(java.lang.String target, java.lang.String direction) throws java.lang.Exception

状態を指定してメッセージを破棄するには:

すべてのエンドポイントまたはターゲットから特定の状態のすべてのメッセージを削除します。

ANTコマンド

ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=discard -Dstate=STACKED

パブリックAPI

public java.util.List<java.lang.String> discardSequencedMessageByState(java.lang.String state) throws java.lang.Exception

状態とエンドポイントを指定してメッセージを破棄するには:

特定の状態およびエンドポイントまたはターゲットのすべてのメッセージを削除します。

ANTコマンド

ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=discard -Dtarget=Pha01 -Dstate=PROCESSED

ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=discard -Dtarget=Pha01 -Dstate=PROCESSED -Ddirection=OUTBOUND

パブリックAPI

public java.util.List<java.lang.String> discardSequencedMessageByStateAndTarget(java.lang.String target, java.lang.String state) throws java.lang.Exception

public java.util.List<java.lang.String> discardSequencedMessageByStateAndTarget(java.lang.String target, java.lang.String state, java.lang.String direction) throws java.lang.Exception

メッセージIDを指定してメッセージを破棄するには:

特定のメッセージの処理で問題が発生し、順序付けて処理できない場合があります。この場合、メッセージIDを指定して、このメッセージを削除できます。

ANTコマンド

ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=discard-Dmsgid=0AE851ED131B3D6103A00000152F97E9

パブリックAPI

public java.util.List<java.lang.String> discardSequencedMessageByMessageId(java.lang.String msgId) throws java.lang.Exception

エンドポイントの先頭のメッセージを破棄するには:

これは、エンドポイントまたはターゲットの先頭のメッセージを削除する場合に便利なオプションです。メッセージがスタック状態になり、処理できない場合に必要になる可能性があります。これはスタックの先頭のレコードなので、これを削除することによって、他のすべてのメッセージを正常に処理できます。

ANTコマンド

ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=discardFirst -Dtarget=Pha01

ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=discardFirst -Dtarget=Pha01 -Ddirection=OUTBOUND

パブリックAPI

public java.util.List<java.lang.String> discardFirstSequenceMessageByTarget(java.lang.String target) throws java.lang.Exception

public java.util.List<java.lang.String> discardFirstSequenceMessageByTarget(java.lang.String target, java.lang.String direction) throws java.lang.Exception

メッセージIDを使用してメッセージを再処理するには(ペイロードあり/なし):

メッセージの再処理は、便利なオプションです。なんらかの問題が発生して、特定のターゲットまたはエンドポイントが停止しているとします。ターゲットまたはエンドポイントが正常な動作を開始してからメッセージを再処理することで、メッセージをターゲットまたはエンドポイントに順番に送信できます。

パブリックAPI

public boolean processSequenceMessageByMessageId(java.lang.String messageId) throws java.lang.Exception

エンドポイントを一時停止/再開するには:

順序付けされたメッセージの処理を一時停止する必要があるシナリオがあるとします。受信アプリケーションが停止している場合、アプリケーションが動作を開始するまでこれらのメッセージを一時停止できます。メッセージを一時停止するには、特定のエンドポイントまたはターゲットを指定します。

ANTコマンド

ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=pause -Dtarget=Pha01

ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=pause -Dtarget=Pha01 -Ddirection=OUTBOUND

ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=resume -Dtarget=Pha01

ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=resume -Dtarget=Pha01 -Ddirection=OUTBOUND

パブリックAPI

public boolean pauseSequenceTarget(java.lang.String target)throws java.lang.Exception

public boolean pauseSequenceTarget(java.lang.String target, java.lang.String direction) throws java.lang.Exception

public boolean resumeSequenceTarget(java.lang.String target) throws java.lang.Exception

public boolean resumeSequenceTarget(java.lang.String target, java.lang.String direction)throws java.lang.Exception

特定のターゲット/エンドポイントの状態を取得するには:

特定のターゲットまたはエンドポイントの状態を取得します。

パブリックAPI

public String getStateByTarget(java.lang.String target)throws java.lang.Exception

public String getStateByTarget(java.lang.String target, java.lang.String direction)throws java.lang.Exception

G リモートJNDIキューを使用したB2B通信の設定

Oracle B2Bでは、サード・パーティのJMSプロバイダでメッセージを交換するように構成できます。そのために、B2Bがリモート・サーバー上のキューまたはトピック、あるいはサード・パーティのJMSサーバー上のキューまたはトピックにメッセージをパブリッシュできるように、リモートJNDIキューを構成できます。

この付録では、次のトピックについて説明します。

- 第G.1項 外部JNDIを使用したB2B通信の構成

G.1 外部JNDIを使用したB2B通信の構成

Weblogic Serverコンソールの「外部JNDIプロバイダ」オプションを使用すると、任意のリモート・サーバーのJNDIコンテキストをWeblogic Serverにバインドできます。

この処理は次の2つの手順で行います。

1. ターゲットJMSサーバー、モジュールおよびキューを作成します。

2. B2BがJMSキューに書き込めるように環境を設定します。

G.1.1 ターゲットJMSサーバー、モジュールおよびキューの作成

コンピュータ(Host1など)でターゲットJMSサーバー、モジュールおよびキューを設定するには

1. Weblogic Serverをインストールします。

2. 管理サーバーとSOAサーバーをインストールします。

3. 図G-1に示すように、SOAサーバーをターゲットとして選択して、テストJMSサーバーを作成します。

図G-1 テストJMSサーバーの作成

4. 図G-2に示すように、テストJMSモジュールを作成します。

図G-2 テストJMSモジュールの作成

5. 作成したテストJMSモジュールを起動し、SOAサーバーをターゲットとしたコネクション・ファクトリを作成します。JMSキューを作成し、図G-3に示すように、作成したテストJMSサーバーをターゲットとして指定します。

図G-3 テストJMSキューの作成

G.1.2 JMSキューに接続するための環境の設定

Host1でテストJMSサーバー、モジュールおよびキューを作成した後、別のコンピュータ(仮にHost2とします)上のB2BがHost1上のJMSキューに書込みできるように、Host2を設定します。

Host2を設定する手順は、次のとおりです。

1. Weblogic ServerとSOAサーバーをインストールします。

注意:

Host1に指定したものと同じサーバー名やドメイン名をHost2に絶対に指定しないようにしてください。

2. Weblogic Serverコンソールにログオンします。

3. 左側のナビゲーション・パネルの「サービス」の下にある「外部JNDIプロバイダ」に移動します。

4. 「外部JNDIプロバイダ」ページで、「新規」をクリックして、TestJNDIProviderというテストJNDIプロバイダを追加します。

5. 新たに追加したJNDIプロバイダの名前をクリックし、「全般」タブで、Host1のWeblogic Server資格証明に対応する値を入力します。
たとえば、図G-4に示すように、初期コンテキスト・ファクトリ名としてweblogic.jndi.WLInitialContextFactoryを指定し、プロバイダURLとしてt3://<host:port>を指定します。

図G-4 リモート・サーバーへの接続の構成

6. 変更を保存して、リモート・サーバーへの接続設定を完了します。

7. 「リンク」タブをクリックします。

8. 次のように指定して、Host1のJMSサーバー上のコネクション・ファクトリおよびキューを参照するリンクを作成します。

- 名前: 任意のユーザー定義名

- ローカルJNDI名: 任意のユーザー定義JNDI名

- リモートJNDI名: Host1のJMSサーバー上のコネクション・ファクトリおよびキューのJNDI名
図G-5に、「外部JNDIリンク」表を示します。この表には、外部JNDIリンクのリストが表示されます。

図G-5 外部JNDIリンク

9. 図G-6に示すように、B2Bユーザー・インタフェースで、「接続先名」フィールドと「接続ファクトリ」フィールドにローカルJNDI名(リモートJNDIキューおよびリモート接続ファクトリを指すように作成)を指定することによって、JMSチャネルを作成します。

図G-6 B2Bユーザー・インタフェースでのJMSチャネルの作成

H 例外処理

Oracle B2Bは、インバウンドおよびアウトバウンド・メッセージの例外を処理します。この付録では、Oracle B2Bの例外処理、エラー・メッセージおよび構造について説明します。

この付録には次のトピックがあります。

- 第H.1項 インバウンド・メッセージ

- 第H.2項 アウトバウンド・メッセージ

- 第H.3項 エラー・メッセージ配信でのJMSキューの使用

- 第H.4項 エラー・メッセージ配信でのカスタム例外キューの使用

- 第H.5項 インバウンド例外処理のシナリオ

- 第H.6項 例外ペイロード定義

注意:

Oracle B2Bでは、ebMS 2.0仕様で指定されている様々なエラー・コードがサポートされていません。例外メッセージに対して、Oracle B2Bはエラー・コードをUnknownに設定します。予期されるエラー・コードは次のとおりです。

ValueNotRecognized

NotSupported

Inconsistent

OtherXml

DeliveryFailure

TimeToLiveExpired

SecurityFailure

MimeProblem

Unknown

H.1 インバウンド・メッセージ

この項では、次のインバウンド・メッセージ・タイプを説明します。

- リクエストまたはレスポンス・メッセージ

- 確認メッセージ

- 例外メッセージ

H.1.1 リクエスト・メッセージまたはレスポンス・メッセージ

着信リクエスト、レスポンスまたは機能確認メッセージが例外になる場合、デフォルトのエラー処理設定を使用すると次の動作が発生します。

- アプリケーションに例外メッセージが送信されます。
例外メッセージは、IP_IN_QUEUEにエンキューされ、受信者名b2berroruserを割り当てられます。エンキューされる例外はipException.xsdに基づいており、エラー・メッセージ(errorTextが短い説明、errorDescriptionが長い説明)およびエラー・コードなどの情報を含みます。

- 交換の仕様で指定されている場合は、取引パートナに例外メッセージが送信されます。
取引パートナの発信アグリーメントの識別に必要な情報がある場合、例外メッセージは取引パートナに返信されます。このとき使用されるのがB2BHeader.sendExceptionというフラグです。例外メッセージを取引パートナに送信するために必要な情報を受信メッセージから取得できると、このフラグがtrueに設定されます。

- Oracle B2Bが、交換またはドキュメント・レイヤーでスローされた例外を捕捉します。
B2Bheader.sendExceptionフラグがtrueに設定されている場合、取引パートナの発信アグリーメントが処理され、取引パートナに例外メッセージが送信されます。

H.1.1.1 インバウンドebMS、AS1およびAS2メッセージ

着信メッセージの処理中に次のタイプのエラーが発生した場合、受信取引パートナは否定確認を送信者に送信します。

- 復号化に失敗

- 検証に失敗

- アグリーメントが見つからない

- ドキュメントの識別に失敗

- ドキュメントの検証に失敗(など)

否定応答メッセージには、送信者側で相関付けするために、元の(リクエスト)メッセージの詳細の参照があります。

H.1.2 確認メッセージ

着信確認メッセージが例外になる場合、デフォルトのエラー処理設定を使用すると次の動作が発生します。

- アプリケーションに例外メッセージが送信されます。
例外メッセージは、IP_IN_QUEUEにエンキューされ、受信者名b2berroruserを割り当てられます。エンキューされる例外はipException.xsdに基づいており、エラー・テキストおよびエラー・コードなどの情報を含みます。

- 取引パートナに例外メッセージは返信されません。

H.1.3 例外メッセージ

例外メッセージが着信する場合、デフォルトのエラー処理設定を使用すると次の動作が発生します。

- 元のメッセージは更新されてエラー発生の状態になります。着信例外が処理されて、アプリケーションに正常に配信されます。

- 着信例外メッセージ自体が例外になる場合、アプリケーションに例外メッセージが送信されます。
例外メッセージは、IP_IN_QUEUEにエンキューされ、受信者名b2berroruserを割り当てられます。エンキューされる例外はipException.xsdに基づいており、エラー・テキストおよびエラー・コードなどの情報を含みます。この場合、取引パートナに例外メッセージは返信されません。

例外は、デフォルトのキュー(B2B_IN_QUEUEまたはIP_IN_QUEUE)または例外メッセージ用に構成されたカスタムJMSキューに配信できます。詳細は、第H.4項「エラー・メッセージ配信でのカスタム例外キューの使用」を参照してください。

H.2 アウトバウンド・メッセージ

アウトバウンド・メッセージの送信中にエラーが発生した(たとえば、取引パートナの識別に失敗した)場合、アプリケーションに例外メッセージが送信されます。デフォルトのエラー処理設定を使用すると、例外メッセージはIP_IN_QUEUEにエンキューされ、受信者名b2berroruserを割り当てられます。エンキューされる例外はipException.xsdに基づいており、エラー・テキストおよびエラー・コードなどの情報を含みます。

Oracle B2Bの起動時に例外が発生すると、例外メッセージはIP_IN_QUEUEにエンキューされ、受信者名b2berroruserを割り当てられます。エンキューされる例外はipException.xsdに基づいており、エラー・テキストおよびエラー・コードなどの情報を含みます。この場合、相関IDは移入されません。

次の事項に注意してください。

- アプリケーションに例外メッセージが返信される際のドキュメント・タイプは、元のメッセージのドキュメント・タイプではなくExceptionになります。

- アプリケーションに例外メッセージが返信される際、inReplyToMessageIdには相関ID値が移入されます。

- 例外メッセージの<b2bMessageId>タグ内のデータには解析不能文字が含まれますが、それらは解析されないようにCDATAセクションに格納され、XML解析エラーの発生を防いでいます。

- インバウンド例外処理の場合、ビジネス・メッセージが常に作成され、使用可能な情報が移入されます。また、対応するワイヤ・メッセージをポイントします。ワイヤ・メッセージは、更新されてエラー発生の状態になります。アウトバウンド方向の場合、ワイヤ・メッセージが存在しないためビジネス・メッセージのみが更新されます。ただし、伝送エラーが発生した場合、ワイヤ・メッセージ表にエントリが発生します。

- エラー・レポートは、ビジネス・メッセージのみを表示するように更新されます。インバウンドおよびアウトバウンド方向で常にビジネス・メッセージが作成されます。

H.3 エラー・メッセージ配信でのJMSキューの使用

第H.1項および第H.2項で説明したように、デフォルトの設定では、例外キューとしてAQキューIP_IN_QUEUEを使用します。「構成」タブで「JMSキューをデフォルトとして使用」パラメータをtrueに設定することによって、JMSキューを使用するようにB2Bを構成できます。カスタムJMS例外キューを構成し、それを「例外キュー」パラメータの値として選択している場合(第H.4項「エラー・メッセージ配信でのカスタム例外キューの使用」を参照)以外は、JMSキューB2B_IN_QUEUEがデフォルトの例外キューになります。一般的に、B2Bでは、インバウンド・メッセージをB2B_IN_QUEUEに送信し、B2B_OUT_QUEUEをポーリングしてアウトバウンド・メッセージを取得します。

JMSキューではb2berroruserをコンシューマとして使用できないため、エラー処理で例外メッセージをフィルタ処理するために、JMSメッセージ・プロパティが使用されます。具体的には、MSG_TYPE値が3である(MSG_TYPE='3')場合、すべての例外メッセージはJMSレシーバによって受信されます。(正常なメッセージの場合、MSG_TYPE='1'。)すべてのJMSメッセージ・プロパティのタイプはstringです。

「JMSキューをデフォルトとして使用」パラメータの詳細は、表17-1「構成設定」を参照してください。

H.4 エラー・メッセージ配信でのカスタム例外キューの使用

図H-1に示すように、「パートナ」→「チャネル」タブで、ホスト取引パートナのJMS内部デリバリ・チャネル(JMSキューまたはJMSトピック)を構成することによって、カスタムJMS例外キューを作成できます。

図H-1 カスタム例外キューの作成

次に、「構成」タブで、「例外キュー」パラメータからキューを選択します。「例外キュー」ドロップダウンに、ホスト取引パートナからのすべてのJMS内部デリバリ・チャネルが表示されます。

このパラメータのNULLデフォルト値は、「JMSキューをデフォルトとして使用」がtrueに設定されている場合はJMSキューB2B_IN_QUEUEが例外キューであり、「JMSキューをデフォルトとして使用」がfalseに設定されている場合はAQキューIP_IN_QUEUEが例外キューであることを意味します。

選択されたカスタム例外キューへの例外メッセージの配信にB2Bが失敗した場合、例外メッセージはデフォルトの内部デリバリ・チャネルに送信されます。

「例外キュー」パラメータの詳細は、表17-1「構成設定」を参照してください。

H.5 インバウンド例外処理のシナリオ

表H-1では、インバウンド例外処理のシナリオを説明します。

表H-1 インバウンド例外処理のシナリオ

例外発生の原因

Oracle B2Bの処理

交換の識別に失敗、または交換が未サポート

- ミドルウェアに通知

- ワイヤ・メッセージをエラー発生状態として更新

- ワイヤ・メッセージに対しエラー発生の状態でビジネス・メッセージを作成

- 交換レイヤーでsendExceptionフラグが設定されている場合、取引パートナにトランスポート・エラー・メッセージを送信

メッセージの解凍に失敗

- ミドルウェアに通知

- ワイヤ・メッセージをエラー発生状態として更新

- ワイヤ・メッセージに対しエラー発生の状態でビジネス・メッセージを作成

着信メッセージのデコードに失敗

- ミドルウェアに通知

- ワイヤ・メッセージをエラー発生状態として更新

- ワイヤ・メッセージに対しエラー発生の状態でビジネス・メッセージを作成

- 交換レイヤーにsendExceptionフラグが設定されている場合は、取引パートナに例外メッセージを送信

メッセージが重複

- ミドルウェアに通知

- ワイヤ・メッセージを重複メッセージ・エラーとして更新

- ワイヤ・メッセージに対し重複メッセージとしてビジネス・メッセージを作成

ドキュメントの識別に失敗

- ミドルウェアに通知

- ワイヤ・メッセージをエラー発生状態として更新

- ワイヤ・メッセージに対しエラー発生の状態でビジネス・メッセージを作成

- 交換レイヤーにsendExceptionフラグが設定されている場合は、取引パートナに例外メッセージを送信

着信取引パートナ・アグリーメントの処理に失敗

- ミドルウェアに通知

- ワイヤ・メッセージをエラー発生状態として更新

- ワイヤ・メッセージに対しエラー発生の状態でビジネス・メッセージを作成

- 交換レイヤーにsendExceptionフラグが設定されている場合は、取引パートナに例外メッセージを送信

着信ドキュメントの処理に失敗

- ミドルウェアに通知

- ワイヤ・メッセージをエラー発生状態として更新

- ワイヤ・メッセージに対しエラー発生の状態でビジネス・メッセージを作成

- 交換レイヤーにsendExceptionフラグが設定されている場合は、取引パートナに例外メッセージを送信

次の事項に注意してください。

- 取引パートナに例外が返信されるのは、RosettaNet交換の場合のみです。その他の交換の場合は、それぞれの仕様で規定されているように失敗が報告されます。たとえば、ebMS交換では、定義されているエラー・リストとともに確認が送信されます。AS2交換では、エラーを示す確認が送信されますが、例外の詳細は送信されません。

- 確認を除くすべてのメッセージ・タイプについて、取引パートナに例外が返信されます。

H.6 例外ペイロード定義

例H-1に、例外ペイロードipException.xsdの定義を示します。

例H-1 例外ペイロード定義

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://integration.oracle.com/B2B/Exception"
targetNamespace="http://integration.oracle.com/B2B/Exception">

<xs:element name="Exception">
<!--xs:complexType name="Exception"-->
<xs:complexType>
<xs:sequence>
<xs:element ref="correlationId"/>
<xs:element ref="b2bMessageId"/>
<xs:element ref="errorCode"/>
<xs:element ref="errorText"/>
<xs:element ref="errorDescription"/>
<xs:element ref="errorSeverity"/>
<xs:element ref="errorDetails" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="correlationId" type="xs:string"/>
<xs:element name="b2bMessageId" type="xs:string"/>
<xs:element name="errorCode" type="xs:string"/>
<xs:element name="errorText" type="xs:string"/>
<xs:element name="errorDescription" type="xs:string"/>
<xs:element name="errorSeverity" type="xs:string"/>
<xs:element name="errorDetails">
<xs:complexType>
<xs:sequence>
<xs:element ref="parameter" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="parameter">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:schema>

I データベース・パーティション化

この付録では、Oracle B2Bインスタンス表のパーティション化について説明します。

この付録の項は次のとおりです。

- 第I.1項 概要

- 第I.2項 パーティション化要件

- 第I.3項 表のパーティション化

I.1 概要

Oracle B2Bでは、CPST_INST_CREATED_TIME列に基づいて、Oracle B2Bインスタンス表をパーティション化できます。パーティション化できる表を次に示します。

- B2B_APP_MESSAGE

- B2B_BUSINESS_MESSAGE

- B2B_DATA_STORAGE

- B2B_EXT_BUSINESS_MESSAGE

- B2B_WIRE_MESSAGE

I.2 パーティション化要件

Oracle B2B表を正常にパーティション化するために準拠する必要がある要件を次に示します。

- レンジ・パーティションまたは時間隔パーティションを使用して表をパーティション化します。

- Oracle B2Bのすべての表で同じ日付範囲が指定されていることを保証します。これは、パージが正しく機能するための前提条件です。

- レンジ・パーティションを使用する場合、実行時エラーが発生しないように、デフォルト・パーティションを使用することをお薦めします。

- 表の再作成:

- Oracle B2Bシステム・マテリアライズド・ビューにはOracle B2Bインスタンス表(B2B_BUSINESS_MESSAGE、B2B_EXT_BUSINESS_MESSAGE)に対する依存性があり、これらの表に対してマテリアライズド・ビュー・ログが作成されます。パーティションの作成中に、これらのマテリアライズド・ビュー・ログの再作成およびシステム・マテリアライズド・ビューの完全リフレッシュを実行する必要があります。

- アップグレード時:

- パーティション化は、アプリケーション・インスタンスをOracle SOA Suiteの必要なバージョンにアップグレードした後にのみ実行することをお薦めします。これは、パーティション化の前に、Oracle SOA Suiteスキーマのアップグレードが完了済である必要があるからです。これにより、古いバージョンのランタイムからデータベースのCPST_INST_CREATED_TIME列にNULL値が格納されることを回避します。

- これらの表に既存データがあり、CPST_INST_CREATED_TIME列にNULL値が格納されている場合、適切なパーティション化を実行するには、レコードを更新して非NULL値にする必要があります。

I.3 表のパーティション化

表をパーティション化するには、次のスクリプトを使用します。

- レンジ・パーティションの場合:
createpartition.sql

- 時間隔パーティションの場合:
intervalpartition.sql

コマンド・プロンプトを開き、次のコマンドを実行します。

setenv ORACLE_HOME <path to Oracle DB Home>
setenv ORACLE_SID {dbname}
setenv PATH <location of PATH variable>
sqlplus
CONNECT DEV_SOAINFRA
cd <path to the partition script>
./createpartition.sql

パーティション・スクリプトが実行する文のサンプルを次に示します。

//Disables the constraints
ALTER TABLE B2B_APP_MESSAGE DISABLE CONSTRAINT B2B_AM_PAYLOAD_FK;
ALTER TABLE B2B_APP_MESSAGE DISABLE CONSTRAINT B2B_AM_AS_FK;
ALTER TABLE B2B_BUSINESS_MESSAGE DISABLE CONSTRAINT B2B_BM_AS_FK;
ALTER TABLE B2B_BUSINESS_MESSAGE DISABLE CONSTRAINT B2B_BM_PS_FK;
ALTER TABLE B2B_BUSINESS_MESSAGE DISABLE CONSTRAINT B2B_BM_TDS_FK;
ALTER TABLE B2B_BUSINESS_MESSAGE DISABLE CONSTRAINT B2B_BM_NDS_FK;
ALTER TABLE B2B_WIRE_MESSAGE DISABLE CONSTRAINT B2B_WM_PS_FK;
ALTER TABLE B2B_WIRE_MESSAGE DISABLE CONSTRAINT B2B_WM_DS_FK;
ALTER TABLE B2B_BUSINESS_MESSAGE DISABLE CONSTRAINT B2B_BM_AM_FK;
ALTER TABLE B2B_APP_MESSAGE DISABLE CONSTRAINT B2B_AM_BM_FK;
ALTER TABLE B2B_EXT_BUSINESS_MESSAGE DISABLE CONSTRAINT B2B_EBM_BM_FK;
ALTER TABLE B2B_BUSINESS_MESSAGE DISABLE CONSTRAINT B2B_BM_WM_FK;
ALTER TABLE B2B_BUSINESS_MESSAGE DISABLE CONSTRAINT B2B_BM_EBM_FK;

//Drops the constraints

ALTER TABLE B2B_APP_MESSAGE DROP CONSTRAINT B2B_AM_PAYLOAD_FK;
ALTER TABLE B2B_APP_MESSAGE DROP CONSTRAINT B2B_AM_AS_FK;
ALTER TABLE B2B_BUSINESS_MESSAGE DROP CONSTRAINT B2B_BM_AS_FK;
ALTER TABLE B2B_BUSINESS_MESSAGE DROP CONSTRAINT B2B_BM_PS_FK;
ALTER TABLE B2B_BUSINESS_MESSAGE DROP CONSTRAINT B2B_BM_TDS_FK;
ALTER TABLE B2B_BUSINESS_MESSAGE DROP CONSTRAINT B2B_BM_NDS_FK;
ALTER TABLE B2B_WIRE_MESSAGE DROP CONSTRAINT B2B_WM_PS_FK;
ALTER TABLE B2B_WIRE_MESSAGE DROP CONSTRAINT B2B_WM_DS_FK;
ALTER TABLE B2B_BUSINESS_MESSAGE DROP CONSTRAINT B2B_BM_AM_FK;
ALTER TABLE B2B_APP_MESSAGE DROP CONSTRAINT B2B_AM_BM_FK;
ALTER TABLE B2B_EXT_BUSINESS_MESSAGE DROP CONSTRAINT B2B_EBM_BM_FK;
ALTER TABLE B2B_BUSINESS_MESSAGE DROP CONSTRAINT B2B_BM_WM_FK;
ALTER TABLE B2B_BUSINESS_MESSAGE DROP CONSTRAINT B2B_BM_EBM_FK;

//Drops the materialized view logs

DROP MATERIALIZED VIEW LOG ON B2B_BUSINESS_MESSAGE;
DROP MATERIALIZED VIEW LOG ON B2B_EXT_BUSINESS_MESSAGE;

//takes backup of the partitioned tables

ALTER TABLE B2B_APP_MESSAGE RENAME TO B2B_APP_MESSAGE_BKP;
ALTER TABLE B2B_BUSINESS_MESSAGE RENAME TO B2B_BUSINESS_MESSAGE_BKP;
ALTER TABLE B2B_EXT_BUSINESS_MESSAGE RENAME TO B2B_EXT_BUSINESS_MESSAGE_BKP;
ALTER TABLE B2B_WIRE_MESSAGE RENAME TO B2B_WIRE_MESSAGE_BKP;
ALTER TABLE B2B_DATA_STORAGE RENAME TO B2B_DATA_STORAGE_BKP;

//creates the tables with partitioning.

CREATE TABLE B2B_APP_MESSAGE
PARTITION BY RANGE(CPST_INST_CREATED_TIME)
INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))
(
PARTITION AM_2011 VALUES LESS
THAN(TO_TIMESTAMP('01/01/2012','DD/MM/YYYY')),
PARTITION AM_JAN_12 VALUES LESS
THAN(TO_TIMESTAMP('01/02/2012','DD/MM/YYYY')),
PARTITION AM_FEB_12 VALUES LESS
THAN(TO_TIMESTAMP('01/03/2012','DD/MM/YYYY')),
PARTITION AM_MAR_12 VALUES LESS
THAN(TO_TIMESTAMP('01/04/2012','DD/MM/YYYY')),
PARTITION AM_APR_12 VALUES LESS
THAN(TO_TIMESTAMP('01/05/2012','DD/MM/YYYY')),
PARTITION AM_MAY_12 VALUES LESS
THAN(TO_TIMESTAMP('01/06/2012','DD/MM/YYYY')),
PARTITION AM_JUN_12 VALUES LESS
THAN(TO_TIMESTAMP('01/07/2012','DD/MM/YYYY')),
PARTITION AM_JUL_12 VALUES LESS
THAN(TO_TIMESTAMP('01/08/2012','DD/MM/YYYY')),
PARTITION AM_AUG_12 VALUES LESS
THAN(TO_TIMESTAMP('01/09/2012','DD/MM/YYYY'))
)
AS SELECT * FROM B2B_APP_MESSAGE_BKP;

CREATE TABLE B2B_BUSINESS_MESSAGE
PARTITION BY RANGE(CPST_INST_CREATED_TIME)
INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))
(
PARTITION BM_2011 VALUES LESS
THAN(TO_TIMESTAMP('01/01/2012','DD/MM/YYYY')),
PARTITION BM_JAN_12 VALUES LESS
THAN(TO_TIMESTAMP('01/02/2012','DD/MM/YYYY')),
PARTITION BM_FEB_12 VALUES LESS
THAN(TO_TIMESTAMP('01/03/2012','DD/MM/YYYY')),
PARTITION BM_MAR_12 VALUES LESS
THAN(TO_TIMESTAMP('01/04/2012','DD/MM/YYYY')),
PARTITION BM_APR_12 VALUES LESS
THAN(TO_TIMESTAMP('01/05/2012','DD/MM/YYYY')),
PARTITION BM_MAY_12 VALUES LESS
THAN(TO_TIMESTAMP('01/06/2012','DD/MM/YYYY')),
PARTITION BM_JUN_12 VALUES LESS
THAN(TO_TIMESTAMP('01/07/2012','DD/MM/YYYY')),
PARTITION BM_JUL_12 VALUES LESS
THAN(TO_TIMESTAMP('01/08/2012','DD/MM/YYYY')),
PARTITION BM_AUG_12 VALUES LESS
THAN(TO_TIMESTAMP('01/09/2012','DD/MM/YYYY'))
)
AS SELECT * FROM B2B_BUSINESS_MESSAGE_BKP;

CREATE TABLE B2B_DATA_STORAGE
PARTITION BY RANGE(CPST_INST_CREATED_TIME)
INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))
(
PARTITION DS_2011 VALUES LESS
THAN(TO_TIMESTAMP('01/01/2012','DD/MM/YYYY')),
PARTITION DS_JAN_12 VALUES LESS
THAN(TO_TIMESTAMP('01/02/2012','DD/MM/YYYY')),
PARTITION DS_FEB_12 VALUES LESS
THAN(TO_TIMESTAMP('01/03/2012','DD/MM/YYYY')),
PARTITION DS_MAR_12 VALUES LESS
THAN(TO_TIMESTAMP('01/04/2012','DD/MM/YYYY')),
PARTITION DS_APR_12 VALUES LESS
THAN(TO_TIMESTAMP('01/05/2012','DD/MM/YYYY')),
PARTITION DS_MAY_12 VALUES LESS
THAN(TO_TIMESTAMP('01/06/2012','DD/MM/YYYY')),
PARTITION DS_JUN_12 VALUES LESS
THAN(TO_TIMESTAMP('01/07/2012','DD/MM/YYYY')),
PARTITION DS_JUL_12 VALUES LESS
THAN(TO_TIMESTAMP('01/08/2012','DD/MM/YYYY')),
PARTITION DS_AUG_12 VALUES LESS
THAN(TO_TIMESTAMP('01/09/2012','DD/MM/YYYY'))
)AS SELECT * FROM B2B_DATA_STORAGE_BKP;

CREATE TABLE B2B_EXT_BUSINESS_MESSAGE
PARTITION BY RANGE(CPST_INST_CREATED_TIME)
INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))
(
PARTITION EM_2011 VALUES LESS
THAN(TO_TIMESTAMP('01/01/2012','DD/MM/YYYY')),
PARTITION EM_JAN_12 VALUES LESS
THAN(TO_TIMESTAMP('01/02/2012','DD/MM/YYYY')),
PARTITION EM_FEB_12 VALUES LESS
THAN(TO_TIMESTAMP('01/03/2012','DD/MM/YYYY')),
PARTITION EM_MAR_12 VALUES LESS
THAN(TO_TIMESTAMP('01/04/2012','DD/MM/YYYY')),
PARTITION EM_APR_12 VALUES LESS
THAN(TO_TIMESTAMP('01/05/2012','DD/MM/YYYY')),
PARTITION EM_MAY_12 VALUES LESS
THAN(TO_TIMESTAMP('01/06/2012','DD/MM/YYYY')),
PARTITION EM_JUN_12 VALUES LESS
THAN(TO_TIMESTAMP('01/07/2012','DD/MM/YYYY')),
PARTITION EM_JUL_12 VALUES LESS
THAN(TO_TIMESTAMP('01/08/2012','DD/MM/YYYY')),
PARTITION EM_AUG_12 VALUES LESS
THAN(TO_TIMESTAMP('01/09/2012','DD/MM/YYYY'))
)AS SELECT * FROM B2B_EXT_BUSINESS_MESSAGE_BKP;

CREATE TABLE B2B_WIRE_MESSAGE
PARTITION BY RANGE(CPST_INST_CREATED_TIME)
INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))
(
PARTITION WM_2011 VALUES LESS
THAN(TO_TIMESTAMP('01/01/2012','DD/MM/YYYY')),
PARTITION WM_JAN_12 VALUES LESS
THAN(TO_TIMESTAMP('01/02/2012','DD/MM/YYYY')),
PARTITION WM_FEB_12 VALUES LESS
THAN(TO_TIMESTAMP('01/03/2012','DD/MM/YYYY')),
PARTITION WM_MAR_12 VALUES LESS
THAN(TO_TIMESTAMP('01/04/2012','DD/MM/YYYY')),
PARTITION WM_APR_12 VALUES LESS
THAN(TO_TIMESTAMP('01/05/2012','DD/MM/YYYY')),
PARTITION WM_MAY_12 VALUES LESS
THAN(TO_TIMESTAMP('01/06/2012','DD/MM/YYYY')),
PARTITION WM_JUN_12 VALUES LESS
THAN(TO_TIMESTAMP('01/07/2012','DD/MM/YYYY')),
PARTITION WM_JUL_12 VALUES LESS
THAN(TO_TIMESTAMP('01/08/2012','DD/MM/YYYY')),
PARTITION WM_AUG_12 VALUES LESS
THAN(TO_TIMESTAMP('01/09/2012','DD/MM/YYYY'))
)AS SELECT * FROM B2B_WIRE_MESSAGE_BKP;

//Creates the materialized view logs

CREATE MATERIALIZED VIEW LOG ON B2B_BUSINESS_MESSAGE WITH ROWID,SEQUENCE
(ext_business_message, channel_name, direction, created,
native_msg_size, doctype_name, doc_protocol_version, doc_protocol_name)
INCLUDING NEW VALUES;

CREATE MATERIALIZED VIEW LOG ON B2B_EXT_BUSINESS_MESSAGE WITH ROWID, SEQUENCE
(id, processing_time, error_code) INCLUDING NEW VALUES;

//refresh the materialized view logs

EXEC b2b_refresh_mv;

//Drops the backup tables

DROP TABLE B2B_APP_MESSAGE_BKP PURGE;
DROP TABLE B2B_BUSINESS_MESSAGE_BKP PURGE;
DROP TABLE B2B_EXT_BUSINESS_MESSAGE_BKP PURGE;
DROP TABLE B2B_WIRE_MESSAGE_BKP PURGE;
DROP TABLE B2B_DATA_STORAGE_BKP PURGE;

J セルフサービス・ユーティリティのプロトコル、識別、セキュリティ仕様およびパラメータ

この付録では、selfserviceユーティリティで使用されるプロトコル、識別、セキュリティ仕様およびパラメータの値について説明します。

この付録には次のトピックがあります。

- 第J.1項 プロトコル

- 第J.2項 識別

- 第J.3項 セキュリティ仕様

- 第J.4項 交換プロトコルのパラメータ値

- 第J.5項 トランスポート・プロトコルのパラメータ値

- 第J.6項 ドキュメント・プロトコルのパラメータ値

J.1 プロトコル

表J-1 ドキュメント・プロトコル

ドキュメント・プロトコル名

EDI_X12

EDI_EDIFACT

HL7

RosettaNet

カスタム

表J-2 交換プロトコル

交換プロトコル名

AS2

MLLP

ebMS2

ebMS1

RNIF20

RNIF11

AS1

Generic-File

Generic-AQ

Generic-FTP

Generic-SFTP

Generic-JMS

Generic-HTTP

Generic-Email

表J-3 トランスポート・プロトコル

トランスポート・プロトコル名

HTTP

File

AQ

JMS

FTP

SFTP

AS1

TCP

Email

J.2 識別

次のすべての列値をセルフサービスで識別名として使用できます。名前識別子は、セルフサービスによって取引パートナ名を使用して作成されます。

表J-4 識別

識別名

識別ID

Generic識別子

Generic

DUNS

DUNS

ebMS識別子

ebMS

AS2識別子

AS2

MLLP ID

MLLP

AS1識別子

AS1

EDI交換ID

InterchangeID

EDI交換ID修飾子

InterchangeIDQualifier

EDIグループID

GroupID

EDI交換内部ID

InterchangeInternalID

EDI交換内部サブID

InterchangeInternalSubID

EDIグループID修飾子

GroupIDQualifier

HL7メッセージ・アプリケーションID

Message-ApplicationID

HL7メッセージ・アプリケーション共通ID

Message-ApplicationUniversalID

HL7メッセージ・アプリケーション共通IDタイプ

Message-ApplicationUniversalIDType

HL7メッセージ機能ID

Message-FacilityID

HL7メッセージ機能共通ID

Message-FacilityUniversalID

HL7メッセージ機能共通IDタイプ

Message-FacilityUniversalIDType

HL7バッチ・アプリケーションID

Batch-ApplicationID

HL7バッチ・アプリケーション共通ID

Batch-ApplicationUniversalID

HL7バッチ・アプリケーション共通IDタイプ

Batch-ApplicationUniversalIDType

HL7バッチ機能ID

Batch-FacilityID

HL7バッチ機能共通ID

Batch-FacilityUniversalID

HL7バッチ機能共通IDタイプ

Batch-FacilityUniversalIDType

HL7ファイル・アプリケーションID

File-ApplicationID

HL7ファイル・アプリケーション共通ID

File-ApplicationUniversalID

HL7ファイル・アプリケーション共通IDタイプ

File-ApplicationUniversalIDType

HL7ファイル機能ID

File-FacilityID

HL7ファイル機能共通ID

File-FacilityUniversalID

HL7ファイル機能共通IDタイプ

File-FacilityUniversalIDType

J.3 セキュリティ仕様

次のすべての列値をセルフサービスで識別名として使用できます。

表J-5 セキュリティ仕様

セキュリティ仕様名

セキュリティ仕様ID

SMIME 3.0 with MD5 - RSA

SMIME-3_0-MD5-RSA

SMIME 3.0 with SHA1 - RSA

SMIME-3_0-SHA-RSA

SMIME 2.0 with MD5 - RSA

SMIME-2_0-MD5-RSA

SMIME 2.0 with SHA1 - RSA

SMIME-2_0-SHA-RSA

XMLDSIG with SHA1 - DSA

XMLDSIG-1_0-SHA-DSA

XMLDSIG with SHA1 - RSA

XMLDSIG-1_0-SHA-RSA

SMIME 3.0 with DES

SMIME-3_0-DES

SMIME 3.0 With 3DES

SMIME-3_0-3DES

SMIME 3.0 with RC2-40

SMIME-3_0-RC2-40

SMIME 3.0 with RC2-64

SMIME-3_0-RC2-64

SMIME 3.0 with RC2-128

SMIME-3_0-RC2-128

SMIME 2.0 with DES

SMIME-2_0-DES

SMIME 2.0 With 3DES

SMIME-2_0-3DES

SMIME 2.0 with RC2-40

SMIME-2_0-RC2-40

SMIME 2.0 with RC2-64

SMIME-2_0-RC2-64

SMIME 2.0 with RC2-128

SMIME-2_0-RC2-128

XMLENC with 3DES-RSA-v1.5

XMLENC-1_0-3DES-RSA-V1_5

XMLENC with AES-128 - RSA-OAEP

XMLENC-1_0-AES128-RSA-OAEP

XMLENC with AES-192 - RSA-OAEP

XMLENC-1_0-AES192-RSA-OAEP

XMLENC with AES-256 - RSA-OAEP

XMLENC-1_0-AES256-RSA-OAEP

J.4 交換プロトコルのパラメータ値

表J-6 交換プロトコルのパラメータ値

交換

パラメータ値名

ドメイン

必須

AS2

Receipt-Delivery-Option

文字列、任意のURL

いいえ

Signed-And-Compressed

ブール、false (デフォルト)、true

いいえ

MLLP

ImmediateACK

文字列、None (デフォルト)、Default、Simple、Customのいずれかの値

いいえ

ImmediateACK-Custom-File

絶対ファイル・パス

いいえ

ImmediateACK-mapAckControlID

ブール、false (デフォルト)、true

いいえ

ImmediateACK-MapImmTriggerEvt

ブール、false (デフォルト)、true

いいえ

DiscardHL7ACK

文字列、None (デフォルト)、AA、AE、AR、CA、CE、CRのいずれかの値

いいえ

Start-Block-Char

16進数、0x0B (デフォルト)

いいえ

End-Block-Char

16進数、0x1C (デフォルト)

いいえ

Carriage-Return-Char

16進数、0x0D (デフォルト)

いいえ

Identify-TP-by-delivery-channel

ブール、false (デフォルト)、true

いいえ

ebMS2.0

Duplicate-Elimination

ブール、false (デフォルト)、true

いいえ

messageOrderSemantics

文字列

いいえ

PersistDuration

文字列

いいえ

SendPartyTypeAndValue

ブール、false (デフォルト)、true

いいえ

ebMS1.0

Duplicate-Elimination

ブール、false (デフォルト)、true

いいえ

SendPartyTypeAndValue

ブール、false (デフォルト)、true

いいえ

AS1

Signed-And-Compressed

ブール、false (デフォルト)、true

いいえ

J.5 トランスポート・プロトコルのパラメータ値

表J-7

トランスポート

パラメータ名の値

ドメイン

必須

HTTP

url

文字列、任意のURL

はい

user

文字列

いいえ

password

文字列

いいえ

additional_headers

文字列

いいえ

use_proxy

ブール、false (デフォルト)、true

いいえ

File

polling_interval

整数、5 (デフォルト)

いいえ

folder

文字列

はい

filename_format

文字列

いいえ

AQ

sid

文字列、orcl (デフォルト)

いいえ

port

整数、1521 (デフォルト)

いいえ

schema

文字列

いいえ

queue_name

文字列

いいえ

password

文字列

いいえ

host

文字列

いいえ

polling_interval

整数

いいえ

recipient

文字列

いいえ

consumer

文字列

いいえ

datasource

文字列、datasourceまたはjdbc(host,sid,port,schema)のいずれか

いいえ

JMS

queue_name

文字列

いいえ

jndi_connection_factory_location

文字列

いいえ

Is_topic

ブール、false (デフォルト)、true

いいえ

is_map_message

文字列、BYTES、TEXT、MAPのいずれかの値

いいえ

is_map_payload_alone

ブール、false (デフォルト)、true

いいえ

Subscriber_ID

文字列

いいえ

user

文字列

いいえ

password

文字列

いいえ

polling_interval

整数、5 (デフォルト)

いいえ

FTP

host

文字列

はい

polling_interval

整数、5 (デフォルト)

いいえ

folder

文字列

はい

user

文字列

はい

password

文字列

いいえ

channel_mask

文字列、None (デフォルト)

いいえ

cipher_suites

文字列

いいえ

control_port

整数

いいえ

data_port

整数

いいえ

use_proxy

ブール、false (デフォルト)、true

いいえ

filename_format

文字列

いいえ

sourcefile_encoding

文字列

いいえ

SFTP

host

文字列

はい

port

整数

いいえ

polling_interval

整数、5 (デフォルト)

いいえ

folder

文字列

はい

user

文字列

はい

password

文字列

いいえ

private_key

文字列

いいえ

pass_phrase

文字列

いいえ

use_proxy

ブール、false (デフォルト)、true

いいえ

filename_format

文字列

いいえ

TCP

sockettype

文字列、ServerまたはClient (デフォルト)のいずれか

いいえ

host

文字列

いいえ

port

整数

いいえ

PermanentConnectionType

ブール、false (デフォルト)、true

いいえ

順序付け

ブール、false (デフォルト)、true

いいえ

pollinterval

整数、10 (デフォルト)

いいえ

timeout

整数、300 (デフォルト)

いいえ

電子メール

host

文字列

はい

password

文字列

いいえ

user

文字列

いいえ

polling_interval

整数

いいえ

content-type

文字列

いいえ

send_as_attachment

文字列

いいえ

folder

文字列

いいえ

email-id

文字列

はい

subject

文字列

いいえ

server

文字列、IMAP (デフォルト)またはPoP3のいずれか

はい

J.6 ドキュメント・プロトコルのパラメータ値

この項では、次の表を示します。

- 表J-8 EDI_X12ドキュメント・プロトコルのパラメータ値

- 表J-9 EDI_EDIFACTドキュメント・プロトコルのパラメータ値

- 表J-10 HL7ドキュメント・プロトコルのパラメータ値

- 表J-11 RosettaNetドキュメント・プロトコルのパラメータ値

- 表J-12 カスタム・ドキュメント・プロトコルのパラメータ値

- 表J-13 共通のパラメータ値

- 表J-14 AgrDocTypeのパラメータ値

表J-8 EDI_X12ドキュメント・プロトコルのパラメータ値

ドキュメント

パラメータ値名

ドメイン

必須

ドキュメント・プロトコル・バージョン

InterchangeAuthorizationInfoQual

文字列、00 (デフォルト)

いいえ

InterchangeAuthorizationInfo

文字列

いいえ

InterchangeSecurityInfoQual

文字列、00 (デフォルト)

いいえ

InterchangeSecurityInfo

文字列

いいえ

InterchangeDate

日付、#SystemDate(YYMMDD)# (デフォルト)

いいえ

InterchangeTime

時刻、#SystemTime(HHMM)# (デフォルト)

いいえ

InterchangeControlStandard_RepeatingSeparator

文字列、U (デフォルト)

いいえ

InterchangeControlVersion

文字列、00401 (デフォルト)

いいえ

InterchangeAckRequested

文字列、0 (デフォルト)

いいえ

InterchangeUsageIndicator

文字列、P (デフォルト)

いいえ

InterchangeECSFileBlob

ecsの絶対ファイル・パス

いいえ

GroupDate

日付、#SystemDate(CCYYMMDD)# (デフォルト)

いいえ

GroupTime

時刻、#SystemTime(HHMM)# (デフォルト)

いいえ

GroupAgencyCode

文字列、X (デフォルト)

いいえ

GroupVersionNumber

文字列

いいえ

GroupECSFileBlob

ecsの絶対ファイル・パス

いいえ

SegmentDelimiter

16進数、0x7e (デフォルト)

いいえ

ElementDelimiter

16進数、0x2a (デフォルト)

いいえ

SubelementDelimiter

16進数、0x5c (デフォルト)

いいえ

DecimalSeparator

16進数、0x2e (デフォルト)

いいえ

ReplacementChar

16進数、0x7c (デフォルト)

いいえ

RepeatingSeparator

16進数、0x5e (デフォルト)

いいえ

ドキュメント・タイプ

GroupID

文字列

はい

TransactionID

文字列

はい

TransactionImplementationReference

文字列

いいえ

TransactionPurposeCode

文字列

いいえ

ドキュメント定義

TransactionECSFileBlob

ecsの絶対ファイル・パス

はい

DocumentRoutingID

文字列

いいえ

共通のパラメータ値(表J-13「共通のパラメータ値」を参照)

表J-9 EDI_EDIFACTドキュメント・プロトコルのパラメータ値

ドキュメント

パラメータ値名

ドメイン

必須

ドキュメント・プロトコル・バージョン

UNACreation

文字列、次のいずれかの値

always、never、delimiter-based

いいえ

CharSet

文字列、UNOB (デフォルト)

いいえ

InterchangeControlVersion

文字列、1 (デフォルト)

いいえ

InterchangeServiceCodeList

文字列

いいえ

InterchangeCharacterEncoding

文字列

いいえ

InterchangeDate

日付、#SystemDate(YYMMDD)# (デフォルト)

いいえ

InterchangeTime

日付、#SystemTime(HHMM)# (デフォルト)

いいえ

InterchangeRecipientRefPassword

文字列

いいえ

InterchangeRecipientRefPasswordQual

文字列

いいえ

InterchangeApplicationRef

文字列

いいえ

InterchangeProcessingPriority

文字列

いいえ

InterchangeAgreementIdentifier

文字列

いいえ

InterchangeTestIndicator

文字列

いいえ

InterchangeECSFileBlob

ecsの絶対ファイル・パス

いいえ

FunctionalGroupCreation

文字列

いいえ

GroupDate

日付、#SystemDate(YYMMDD)# (デフォルト)

いいえ

GroupTime

時刻、#SystemTime(HHMM)# (デフォルト)

いいえ

GroupAgencyCode

文字列、UN (デフォルト)

いいえ

GroupAssociationCode

文字列

いいえ

GroupApplicationPassword

文字列

いいえ

GroupECSFileBlob

ecsの絶対ファイル・パス

いいえ

SegmentDelimiter

16進数、0x27 (デフォルト)

いいえ

ElementDelimiter

16進数、0x2b (デフォルト)

いいえ

SubelementDelimiter

16進数、0x3a (デフォルト)

いいえ

DecimalSeparator

16進数、0x2e (デフォルト)

いいえ

ReleaseCharacter

16進数、0x3f (デフォルト)

いいえ

ReplacementChar

16進数、0x7c (デフォルト)

いいえ

RepeatingSeparator

16進数、0x2a (デフォルト)

いいえ

ドキュメント・タイプ

GroupID

文字列

はい

TransactionControllingAgency

文字列

いいえ

TransactionAssociationAssignedCode

文字列

いいえ

TransactionCommonAccessRef

文字列

いいえ

ドキュメント定義

TransactionECSFileBlob

ecsの絶対ファイル・パス

はい

DocumentRoutingID

文字列

いいえ

FAAssocAssignedCode

文字列

いいえ

FAMessageVersionNumber

文字列

いいえ

FAMessageReleaseNumber

文字列

いいえ

RemoveFASegments

文字列

いいえ

共通のパラメータ値(表J-13「共通のパラメータ値」を参照)

表J-10 HL7ドキュメント・プロトコルのパラメータ値

ドキュメント

パラメータ名の値

ドメイン

必須

ドキュメント・プロトコル・バージョン

Security

文字列

いいえ

ProcessingID

文字列、P (デフォルト)

いいえ

AcceptacknowledgmentType

文字列、AL (デフォルト)

いいえ

AppacknowledgmentType

文字列、AL (デフォルト)

いいえ

CountryCode

文字列、US (デフォルト)

いいえ

CharacterSet

文字列、ASCII (デフォルト)

いいえ

BatchCreation

ブール、false (デフォルト)、true

いいえ

BatchECSFile

ecsの絶対ファイル・パス

いいえ

FileCreation

ブール、false (デフォルト)、true

いいえ

FileECSFile

ecsの絶対ファイル・パス

いいえ

InternatCodeID

文字列

いいえ

InternatCodeText

文字列

いいえ

InternatCodeSystem

文字列

いいえ

InternatCodeAlternateID

文字列

いいえ

InternatCodeAlternateText

文字列

いいえ

InternatCodeAlternateSystem

文字列

いいえ

InternationalVersionID

文字列

いいえ

InternationalVersionIDText

文字列

いいえ

InternationalVersionIDSystem

文字列

いいえ

InternationalVersionIDAlternateID

文字列

いいえ

InternationalVersionIDAlternateText

文字列

いいえ

InternationalVersionIDAlternateSystem

文字列

いいえ

ElementDelimiter

16進数、0x7c (デフォルト)

いいえ

ReleaseCharacter

16進数、0x5c (デフォルト)

いいえ

Repeating-Separator

16進数、0x7e (デフォルト)

いいえ

SegmentDelimiter

16進数、0x0d (デフォルト)

いいえ

SubcomponentDelimiter

16進数、0x26 (デフォルト)

いいえ

SubelementDelimiter

16進数、0x5e (デフォルト)

いいえ

BatchSecurity

文字列

いいえ

FileSecurity

文字列

いいえ

FileDate

日付、#SystemDateTime(CCYYMMDDHHMM)# (デフォルト)

いいえ

BatchDate

日付、#SystemDateTime(CCYYMMDDHHMM)# (デフォルト)

いいえ

ドキュメント・タイプ

hl7-gen-Ack

ブール、false (デフォルト)、true

いいえ

hl7-mapAckControlID

ブール、false (デフォルト)、true

いいえ

hl7-acceptacknowledgment

文字列、None、AL、ER、SUのいずれかの値

いいえ

ドキュメント定義

MessageECSFileBlob

ecsの絶対ファイル・パス

はい

DocumentRoutingID

文字列

いいえ

共通のパラメータ値(表J-13「共通のパラメータ値」を参照)

表J-11 RosettaNetドキュメント・プロトコルのパラメータ値

ドキュメント

パラメータ値名

ドメイン

必須

ドキュメント・タイプ

FromRole

文字列

はい

ToRole

文字列

はい

ServiceHeader

文字列

はい

ToService

文字列

はい

BusinessTransaction

文字列

はい

ServiceHeader

文字列

はい

CollaborationTimeToPerform

文字列

はい

CollaborationName

文字列

はい

CollaborationCode

文字列

はい

ドキュメント定義

DocumentRoutingID

文字列

いいえ

DTDXSDNamespaceConversion

文字列、Both、Inbound、Outbound、Noneのいずれかの値

いいえ

共通のパラメータ値(表J-13「共通のパラメータ値」を参照)

表J-12 カスタム・ドキュメント・プロトコルのパラメータ値

ドキュメント

パラメータ値名

ドメイン

必須

ドキュメント・タイプ

ActionName

文字列

いいえ

Service

文字列

いいえ

ServiceType

文字列

いいえ

FromRole

文字列

いいえ

ToRole

文字列

いいえ

ドキュメント定義

IdentificationExpression

文字列

いいえ

IdentificationExpressionValue

文字列

いいえ

DTDXSDNamespaceConversion

文字列、None、Both、Inbound、Outboundのいずれかの値

いいえ

IdentificationStartPosition

文字列

いいえ

IdentificationEndPosition

文字列

いいえ

FlatIdentificationExpressionValue

文字列

いいえ

DocumentRoutingID

文字列

いいえ

共通のパラメータ値(表J-13「共通のパラメータ値」を参照)

表J-13 共通のパラメータ値

パラメータ値名

ドメイン

必須

XPathName1

文字列、XPathName1 (デフォルト)

いいえ

XPathExpression1

文字列

いいえ

XPathName2

文字列、XPathName2 (デフォルト)

いいえ

XPathExpression2

文字列

いいえ

XPathName3

文字列、XpathName3 (デフォルト)

いいえ

XPathExpression3

文字列

いいえ

CorrelationFromXPathName

文字列、CorrelationFromXPathName (デフォルト)

いいえ

CorrelationFromXPathXPR

文字列

いいえ

CorrelationToXPathName

文字列、CorrelationToXPathName (デフォルト)

いいえ

CorrelationToXPathXPR

文字列

いいえ

表J-14 AgrDocTypeのパラメータ値

パラメータ値名

ドメイン

必須

適用可能なドキュメント

validate

ブール

いいえ

X12、EDIFACT、HL7、RosettaNet、カスタム

translate

ブール

いいえ

X12、EDIFACT、HL7

fa

ブール

いいえ

X12、EDIFACT、HL7

K TA1確認

この付録では、Oracle B2BのTA1確認機能について説明します。

HIPAAメッセージは、情報交換に使用します。HIPAAメッセージは、交換確認(TA1)の送信に必要です。

この付録の項は次のとおりです。

- 第K.1項 概要

- 第K.2項 TA1の構成

K.1 概要

HIPAAドキュメントの場合、起案者と応答者の間で様々な確認を交換します。

起案者がメッセージを送信した場合の様々な確認を、優先度順に次に示します。

- TA1: 交換レベル確認

- 997/999: 機能確認(5010以降のバージョンの場合は999)

図K-1に示すように、インバウンド・ビジネス・メッセージに対してTA1または997/999が送信されると、メッセージ・フローが完了します。

図K-1 TA1確認

注意:

TA1ドキュメントは、Oracle B2Bでは事前にシードされているZIPファイルとして用意されています。

図K-2に、TA1ドキュメント定義のサンプルを示します。

図K-2 TA1ドキュメント定義のサンプル

図K-3に、TA1アグリーメントのサンプルを示します。

図K-3 TA1アグリーメントのサンプル

K.2 TA1の構成

インバウンド・メッセージとアウトバウンド・メッセージの両方向でTA1を使用するように、Oracle B2Bを構成できます。

K.2.1 インバウンド方向のTA1

インバウンド・メッセージの場合、EDI位置のISA14ペイロード値が0または1のどちらであるかによって、Oracle B2BがTA1確認を送信する必要があるかどうかが決まります。この値が1の場合、交換をチェックし、取引パートナにTA1を送信します。

K.2.2 アウトバウンド方向のTA1

アウトバウンド・メッセージの場合、Oracle B2Bコンソールで、Oracle B2Bが取引パートナからのTA1確認を待機する必要があるかどうかを構成できます。

TA1を構成するには:

1. Oracle B2Bコンソールにログオンします。

2. 「管理」をクリックし、「ドキュメント」をクリックします。

3. 「ドキュメント」ナビゲーション・パネルの「ドキュメント・プロトコル」で、EDI_X12をクリックします。

4. ドキュメント・プロトコル・バージョンを作成し、4010という名前を付けます。

5. 右側の「ドキュメント・プロトコル・バージョン」セクションの「交換」タブをクリックします。

6. 図K-4に示すように、「TA1」リストから次のどちらかを選択します。

- 常に: 常にTA1確認を受信します。

- OnError: メッセージにエラーが存在する場合のみTA1確認を受信します。

図K-4 TA1の構成

7. 「保存」をクリックします。

L IBM WebSphere MQによるメッセージの交換

この付録では、Oracle B2BによるIBM Websphere MQとの通信について説明します。

この項は、次の項目で構成されています。

- 第L.1項 概要

- 第L.2項 前提条件

- 第L.3項 IBM MQへの接続

L.1 概要

Oracle B2Bには、標準設定でIBM MQに接続してメッセージを交換できる機能が用意されています。これは、Oracle B2BのJMS製品を使用してサポートされます。

この機能は、Oracle B2Bに既存の取引パートナ通信機能の拡張です。

L.2 前提条件

IBM MQに接続するための前提条件として、クラスパスに次のライブラリを指定する必要があります。

- com.ibm.mqjms.jar

- dhbcore.jar

- com.ibm.mq.jar

- com.ibm.mq.jmqi.jar

- mqcontext.jar

- com.ibm.mq.pcf.jar

- com.ibm.mq.commonservices.jar

- com.ibm.mq.headers.jar

- fscontext.jar

- jms.jar

前述のjarをドメイン・ライブラリ・ディレクトリに追加します。このディレクトリは通常、$DOMAIN_DIR/libです。

$DOMAIN_DIR/libディレクトリにあるjarは、サーバー起動時に動的に取得され、サーバーのクラスパスの末尾に追加されます。

例: <$fmwhome>/user_projects/domains//lib/

または、jarをsetDomainEnv.shファイルの一部として追加することもできます。

L.3 IBM MQへの接続

Oracle B2BからIBM MQに接続するには、次の2つの方法があります。

- 資格証明を使用する接続の構成

- バインディングを使用する接続の構成

L.3.1 資格証明を使用する接続の構成

資格証明を使用する接続の場合、アウトバウンド・チャネルとインバウンド・チャネルの両方を構成する必要があります。

アウトバウンドの場合、Generic JMSプロトコルを使用するように取引パートナ・デリバリ・チャネルを構成する必要があります。

インバウンドの場合、次のパラメータを使用して、Generic JMSプロトコルを使用するように内部デリバリ・チャネルを構成する必要があります。

- 接続先名: MQキュー名

- 接続ファクトリ: MQキュー・マネージャ名

- 接続先プロバイダ: java.naming.factory.initial=com.ibm.mq.jms.context.WMQInitialContextFactory
java.naming.provider.url=<host>:<QM Listen port>/<MQ Channel Name>;

- ユーザー名: MQユーザー名

- パスワード: MQパスワード

L.3.2 バインディングを使用する接続の構成

前提条件として、MQServerで.bindingsファイルを取得または生成する必要があります。MQ管理者は、これを実行できます。

アウトバウンドとインバウンドについて、それぞれのデリバリ・チャネルで次の値を設定します。

- 接続先名: MQキュー名

- 接続ファクトリ: MQキュー・マネージャ名

- 接続先プロバイダ: java.naming.factory.initial=com.ibm.mq.jms.context.WMQInitialContextFactory
java.naming.provider.url=file:///<location of .bindings file>

索引
A  B  C  D  E  F  G  H  I  J  L  M  N  O  P  R  S  T  U  V  X

A

管理ページ, 2.3.1

管理者ロール, 5.3

アグリーメント

アクティブ, 9.2.3

エクスポート, 9.2.3

作成, 6.2 定義, 6.1 削除, 6.4 デプロイ, 2.4, 6.3 デプロイメント状態, 9.1 機能確認, 6.2 再デプロイ, 6.3.1 取引パートナ, 2.4 変換, 6.2 検証, 6.2 アナライザ, 3.3 Applicability Statement 1 (AS1)

チャネル, 5.5

識別子, 10.1

Applicability Statement 2 (AS2)

交換プロトコル, 5.5

識別子, 10.1

アプリケーション・メッセージ・レポート, 18.4 B2Bビジネス・メッセージのアーカイブ, 23.2 AS2

Applicability Statement 2 (AS2)交換プロトコルを参照

アグリーメントの自動作成, 5.6

B

B2Bバインディング・コンポーネント

SOAコンポジット, 2.5.1

B2B構成ウィザード, 2.5.1 B2B IP_MESSAGE_TYPE, E.1 B2B参照, 2.5.1 B2Bサービス, 2.5.1 B2Bトランザクション、作成, 2.4 b2b.addebMSHeadersプロパティ, D.1 b2b.attachments.dirプロパティ, D.1 b2b.checkDuplicate, D.1 b2bcpaexportコマンドライン・ツール, 20.11.3 b2bcpaimportコマンドライン・ツール, 20.11.2 b2bcreate-cpapropコマンドライン・ツール, 20.11.1 b2b.defaultThreadCountプロパティ, D.1 b2b.defaultThreadSleepTimeプロパティ, D.1 b2bdeployコマンドライン・ツール, 20.9 b2b.deploy.validationプロパティ, D.1 b2b.edi.enablePreprocessプロパティ, D.1 b2b.edi.identifyToTPプロパティ, D.1 b2b.errorsCumulativeReported, D.1 b2bexportコマンドライン・ツール, 20.5 b2b.FACorrelatedByInterchangeIdプロパティ, D.1 b2b.fa.inbound.validationプロパティ, D.1 b2b.fa.outbound.validationプロパティ, D.1 b2b.HAInstanceNameプロパティ, D.1 B2BHeader.sendExceptionフラグ, H.1.1, H.1.1 b2b.hl7.ignoreValidationプロパティ, D.1 b2bimportコマンドライン・ツール, 20.4 b2b.inboundThreadCountプロパティ, D.1 b2b.inboundThreadSleepTimeプロパティ, D.1 b2b.mdsCacheプロパティ, D.1 b2b.OutboundDispatchIntervalプロパティ, D.1 b2b.outboundOneErrorAllErrorプロパティ, D.1 b2b.outboundThreadCountプロパティ, D.1 b2b.outboundThreadSleepTimeプロパティ, D.1 b2b.payloadObfuscationプロパティ, D.1 b2bpurgeコマンドライン・ツール, 20.3 b2b.rowLockingForCorrelationプロパティ, D.1 b2b.setDynamicNameSpaceプロパティ, D.1 B2BUser, 7.2 b2buser, 8.10 b2bvalidateコマンドライン・ツール, 20.10 バッチ処理されたメッセージ

作成, 11.1

管理, 11.2

スケジュール設定, 11.1

アグリーメントの検索, 11.1

設定, 11.1

ビジネス・メッセージ・レポート、作成, 18.2 ビジネス・メッセージ

アーカイブ, 23.2

リストア, 23.3

Business-to-Business E-Commerce

従来のトランザクションとの比較, 1.1

説明, 1.1

C

「コールアウト・ディレクトリ」パラメータ, 13.2

コールアウト

コード例, 13.4

作成, 13.2

ライブラリJARファイルの作成, 13.1.2

コールアウトのJARファイル・ライブラリの場所の定義, 13.2

定義, 13.1

異なる書式のXMLメッセージ, 13.1

実装クラス, 13.2

実装, 13.4

アグリーメントへのインクルード, 13.3

ライブラリ名, 13.2

パラメータ属性, 13.2

事前定義済のXSLTCalloutImplクラス・ファイル, 13.2

トランスポート, 13.1.1

チャネル属性

構成, 5.5

CLIENT-CERT認証方式, 1.4 取引パートナのクローニング, 5.2 コマンドライン・ツール

b2bcpaexport, 20.11.3

b2bcpaimport, 20.11.2

b2bcreate-cpaprop, 20.11.1

b2bdeploy, 20.9

b2bexport, 20.5

b2bimport, 20.4

b2bpurge, 20.3

b2bvalidate, 20.10

概要, 20

実行の前提条件, 20.1

構成パラメータ、設定, 17.1 管理番号情報、パージ, 15.1 対話レポート、作成, 18.6 CPP/CPA

エクスポート, 20.11.3

インポート、20.11.2

テンプレート、作成, 20.11.1

カスタム連絡先情報タイプ、作成, 10.2 カスタム・ドキュメント・プロトコル

XPath式の構成, 8.1.1

定義, 8.1

ドキュメント定義パラメータ, 8.1

ドキュメント・タイプ・パラメータ, 8.1

ドキュメント・バージョン・パラメータ, 8.1

カスタム・ヘッダー

抽出, 5.5.2.4

カスタム識別子タイプ、作成, 10.1 カスタム取引パートナ・パラメータ・タイプ、作成, 10.3

D

データ・ジェネレータ, 3.3

データ変換, 14.1

削除

マップセット, 14.2.3

デプロイ済アグリーメントの状態

アクティブ, 9.2

変更, 9.2.2

非アクティブ, 9.2

パージ, 9.2

リタイア, 9.2

デプロイ済アグリーメント

管理, 9.2

メトリック, 2.3.4

検索, 9.2.1

アグリーメントのデプロイ, 20.9 デキュー

Javaデキュー・コマンドを参照

設計メタデータ, 15.1 設計時リポジトリ

説明, 7.1

エクスポートしたファイル, 7.3

エクスポート, 7.1

インポート、7.1

インポートまたはエクスポートされる内容, 7.2

ドキュメント定義

追加, 5.4

メタデータをインポートした後の変更, 8.9.2

作成, 2.4, 4.2

定義, 4

削除, 4.3

EDI EDIFACT, 8.2

例, 4.1.1

取引パートナ・アグリーメント, 6.2

ドキュメント・ガイドライン

使用可能なタイプ, 3.1

例, 3.3

ドキュメント・プロトコル

カスタム, 8.1

定義, 8

EDI, 3.1

EDI EDIFACT, 8.2

EDI X12, 4.1.1, 8.3

EDIEL, 1.2

HL7, 1.1, 1.7, 3.1, 8.4

概要, 4.1

管理, 2.3.1

NCPDP Telecom, 1.2, 3.1

OAG, 1.2, 8.5

ParserSchema, 3.1

パートナ・インタフェース・プロセス(PIP), 8.7.1

位置指定フラット・ファイル・ドキュメント・プロトコル, 8.6

固有のトランザクション, 8.1

RosettaNet, 1.1, 1.2, 1.7, 3.1, 8.7

サポート対象, 1.2

UCCnet, 1.1, 1.2, 8.8

ドキュメント・ルーティングID, 8.10 ドキュメント・タイプ

アクセス制限, 1.4.2

DUNS, 10.1 動的エンドポイント, 5.5.2.3

E

ebMS識別子, 10.1

ebMS-1.0, 1.2, 5.5, 5.5

ebMS-2.0, 5.5, 5.5

ebXMLメッセージ・サービス(ebMS)パラメータ, 8.1

EDI

ドキュメント・ガイドライン, 3.1

グループID, 10.1

グループID修飾子, 10.1

交換ID, 10.1

交換ID修飾子, 10.1

交換内部ID, 10.1

交換内部サブID, 10.1

EDI EDIFACT

定義, 8.2

ドキュメント定義パラメータ, 8.2

ドキュメント定義, 8.2

ドキュメント・プロトコル, 8.2

ドキュメント・タイプ・パラメータ, 8.2

ドキュメント・バージョン・パラメータ, 8.2

Oracle B2Bサポート, 1.2

サンプル, 1.7

従来のトランザクションとの比較, 1.1

UNA, 8.2

EDI X12

定義, 8.3

ドキュメント定義パラメータ, 8.3

ドキュメント階層, 4.1.1

ドキュメント・タイプ・パラメータ, 8.3

ドキュメント・バージョン・パラメータ, 8.3

Oracle B2Bサポート, 1.2

サンプル, 1.7

従来のトランザクションとの比較, 1.1

EDIEL

Oracle B2Bサポート, 1.2

エンキュー、JMS JCAアダプタ, 24.2.2 エンキュー

Javaエンキュー・コマンドを参照

エンキューおよびデキュー, 24 エラー・メッセージ・レポート、作成, 18.5 errorDescription, H.1.1 errorText, H.1.1 例外処理

説明, H

インバウンド例外処理シナリオ, H.5

インバウンド・メッセージ, H.1

確認メッセージ, H.1.2

ドキュメントの識別に失敗, H.5

ドキュメントの処理に失敗, H.5

ebMS、AS1およびAS2のエラー, H.1.1.1

例外メッセージ, H.1.3

交換の識別に失敗, H.5

交換がサポートされていない, H.5

メッセージのデコードに失敗, H.5

メッセージが重複, H.5

メッセージの解凍に失敗, H.5

リクエスト・メッセージまたはレスポンス・メッセージ, H.1.1

シナリオ, H.5

取引パートナ・アグリーメントの失敗, H.5

アウトバウンド・メッセージ, H.2 ペイロード定義, H.6 「例外キュー」パラメータ, 17.1, H.3 交換プロトコル・パラメータ

構成, 5.5

エクスポート

アクティブなアグリーメント, 9.2.3

CPP/CPAファイル, 20.11.3

データ, 20.5

説明, 7.1

設計時リポジトリからファイル, 7.1

制限事項, 7.1, 9.2.3

サポートされているエクスポートのタイプ, 7.1

F

FusionOrderDemo_R1PS1.zip, 2.5.3

G

Generic AQ-1.0, 1.2, 5.5

Generic Email-1.0, 1.2, 5.5

Generic File-1.0, 1.2, 5.5

Generic FTP-1.0, 1.2, 5.5

Generic HTTP-1.0, 1.2, 5.5

Generic識別子, 10.1

Generic JMS-1.0, 1.2, 5.5

Generic SFTP-1.0, 1.2, 5.5

TCPの一般的なサポート, 5.5.2.2

H

Health Level 7 (HL7)

バッチ・アプリケーションID, 10.1

バッチ・アプリケーション共通ID, 10.1

バッチ・アプリケーション共通IDタイプ, 10.1

バッチ機能ID, 10.1

バッチ機能共通ID, 10.1

バッチ機能共通IDタイプ, 10.1

定義, 8.4

ドキュメント定義パラメータ, 8.4

ドキュメント・ガイドライン, 3.1

ドキュメント・タイプ・パラメータ, 8.4

ドキュメント・バージョン・パラメータ, 8.4

ファイル・アプリケーションID, 10.1

ファイル・アプリケーション共通ID, 10.1

ファイル・アプリケーション共通IDタイプ, 10.1

ファイル機能ID, 10.1

ファイル機能共通ID, 10.1

ファイル機能共通IDタイプ, 10.1

即時確認, 8.4

メッセージ・アプリケーションID, 10.1

メッセージ・アプリケーション共通ID, 10.1

メッセージ・アプリケーション共通IDタイプ, 10.1

メッセージ機能ID, 10.1

メッセージ機能共通ID, 10.1

メッセージ機能共通IDタイプ, 10.1

否定確認メッセージ, 8.4

Oracle B2Bサポート, 1.2

サンプル, 1.7

従来のトランザクションとの比較, 1.1

HIPAA, 14.1, 14.2 ホスト管理者ロール, 1.4 ホスト監視ロール, 1.4 ホスト取引パートナ, 5.1

アグリーメント, 6.2

キー・ストア情報, 5.2

I

アイデンティティ・ストア、新規ユーザーの作成, 5.3

iDoc, 1.2

インポート・エラー, 20.18

インポート

CPP/CPAファイル, 20.11.2

データ, 20.4

説明, 7.1

ファイルから設計時リポジトリ, 7.1

インスタンス・データ, 2.3.3, 15.1 インスタンス・メタデータ, 15.1 ipException.xsdファイル, H.2

エンキューされる例外, H.1.1, H.1.2, H.1.3, H.2

例外ペイロード定義, H.6

J

Javaデキュー・コマンド, 24.1

Javaエンキュー・コマンド, 24.1

JMS

デキュー・プロパティ, 24.2.3

エンキューおよびデキュー, 24.2

エンキュー・プロパティ, 24.2.1

JCAアダプタ, 24.2.2

JMSアダプタのプロパティ, 2.5.2 JMS統合タイプ, 2.5.2

L

大きなペイロード

32ビットのWindows, A.1.2

説明, A.1

インバウンドの設定, A.1.1

アウトバウンドの設定, A.1.1

リスニング・チャネル

追加, 16.1

チャネル属性の追加, 16.4

詳細の追加, 16.3

交換プロトコル・パラメータの追加, 16.4

トランスポート・プロトコル・パラメータの追加, 16.4

構成, 16.4

定義, 16

プロトコル, 16.1

ログイン、ユーザー・インタフェース・ツール, 2.2 logPayloadプロパティ, A.1.1

M

マップセット

概要, 14.1

削除, 14.2.3

HIPAA, 14.2

Oracle B2B, 14.2

メッセージ交換プロトコル

ebMS-1.0, 1.2

ebMS-2.0, 1.2

Generic AQ-1.0, 1.2

Generic Email-1.0, 1.2

Generic File-1.0, 1.2

Generic FTP-1.0, 1.2

Generic HTTP-1.0, 1.2

Generic JMS-1.0, 1.2

Generic SFTP-1.0, 1.2

MLLP-1.0, 1.2

RosettaNet-01.10, 1.2

RosettaNet-V02.00, 1.2

メッセージの順序付け, 5.5.4 メッセージ、パージ, 18.1.2 メタデータ・サービス(MDS)

メタデータの管理, 1.3

リポジトリ, 1.4

メトリック

概要, 19

サマリー・データ, 19.2

「メトリック」ページ, 2.3.4 MIME, 1.1 Minimum Lower Layer Protocol (MLLP)

デリバリ・チャネル, 5.5.2

説明, 5.5

ID, 10.1

メッセージ交換プロトコル, 1.2

監視ロール, 18.1.1 監視ロール, 5.3

N

NCPDP Telecom

ドキュメント・ガイドライン, 3.1

Oracle B2Bサポート, 1.2

正規化されたメッセージのプロパティ, E.2

IP_MESSAGE_TYPEのマッピング, E.1

O

OAM-SSO保護URL, 1.4

Open Applications Group (OAG)

ドキュメント定義パラメータ, 8.5

ドキュメント・タイプ・パラメータ, 8.5

ドキュメント・バージョン・パラメータ, 8.5

概要, 8.5

Oracle B2Bサポート, 1.2

Oracle B2B

チャネルの追加, 5.5

ユーザーの追加, 5.3

管理ページ, 2.3.1

バインディング・コンポーネントとして, 1.5

使用可能なチャネル, 5.5

チャネル属性, 5.5

コマンドライン・ツール, 20

構成パラメータ, 17.1

ドキュメント・プロトコル, 4.1

例外処理, H

スタート・ガイド, 2.1

SOA実装, 1.5

JDeveloper環境, 2.5

概要, 1

ログイン, 2.2

メタデータ, 1.3

メトリック, 19

「メトリック」ページ, 2.3.4

パートナ・メトリック, 19.3

「パートナ」ページ, 2.3.2

ポート情報, 2.2.1

プロセス・フロー, 3

「レポート」ページ, 2.3.3

メッセージの再発行, 18.1.3

サンプル, 1.7

セキュリティ機能, 1.4

サポートされているプロトコル, 1.2

トランスポート・プロトコル, 16.2

ユーザー・インタフェース, 2.3

ユーザー・インタフェース、アクセス, 2.2

Oracle B2Bドキュメント・エディタ, 2.1, 2.4

アナライザ, 3.3

データ・ジェネレータ, 3.3

ドキュメント定義, 4.2

ドキュメント・ガイドライン, 3.1

インストール, 3.2

概要, 3.1

Oracle BPEL Process Manager, 1.6 Oracle Business Activity Monitoring (BAM), 1.6 Oracle Data Pump, 23.1 Oracle Enterprise Manager Fusion Middleware Control, 1.8 Oracle JDeveloper, 2.1, 2.5 Oracle Mediator, 1.6, 1.6 Oracle Metadata Serviceリポジトリ, 23.1 Oracle Platform Security Services, 1.4 Oracle SOA Suiteの概要, 1.5 Oracle WebLogic Server管理コンソール

Oracle B2Bの管理, 1.8

セキュリティ・レルム, 5.3

P

ParameterValue, 7.2

ParserSchema、ドキュメント・ガイドライン, 3.1

パートナ・インタフェース・プロセス(PIP)

ドキュメント定義パラメータ, 8.7.1

ドキュメント・タイプ・パラメータ, 8.7.1

ドキュメント・バージョン・パラメータ, 8.7.1

概要, 8.7.1

パートナ・メトリック, 19.3 「パートナ」ページ, 2.3.2 ペイロードの不明瞭化, 1.4.1 パフォーマンスのチューニング, 1.8

大きなペイロード, A.1

スレッド数, D.1

位置指定フラット・ファイル, 1.2 位置指定フラット・ファイル

ドキュメント定義パラメータ, 8.6

ドキュメント・タイプ・パラメータ, 8.6

ドキュメント・バージョン・パラメータ, 8.6

概要, 8.6

事前定義済の識別子タイプ, 10.1 プロセス・フロー、概要, 2.4 プロパティ

Enterprise Managerでの設定, D

「構成」タブでの設定, 17

固有のトランザクション, 8.1 プロトコル

カスタム, 8.1

ドキュメント, 8

EDI EDIFACT, 8.2

EDI X12, 8.3

HL7, 8.4

OAG, 8.5

位置指定フラット・ファイル, 8.6

RosettaNet, 8.7

UCCnet, 8.8

パージ

データ, 20.3

設計メタデータ, 15.1

メッセージ, 18.1.2

R

参照, 1.5

リモート管理者ロール, 1.4

リモート監視ロール, 1.4

リモート取引パートナ, 5.2

アグリーメント, 6.2

定義, 5.1

レポート

ビジネス・メッセージ・ステータス, 18.2

対話メッセージ・ステータス, 18.6

説明, 18.1

エラー・メッセージ・ステータス, 18.5

監視ユーザー・ロール, 18.1.1

「レポート」ページ, 2.3.3 B2Bビジネス・メッセージのリストア, 23.3 ドキュメント・タイプへのアクセス制限, 1.4.2 メッセージの再発行, 18.1.3 ロール

管理者ロール, 5.3

ホスト管理者, 1.4

ホスト監視, 1.4

監視ロール, 5.3

リモート管理者, 1.4

リモート監視, 1.4

RosettaNet

定義, 8.7

ディクショナリ, 8.7

ドキュメント・ガイドライン, 3.1

ドキュメント・タイプ定義(DTD), 8.7

メッセージ・ガイドライン仕様, 8.7.3

Oracle B2Bサポート, 1.2

パートナ・インタフェース・プロセス(PIP), 8.7.

サンプル, 1.7

従来のトランザクションとの比較, 1.1

検証, 8.7.3

RosettaNet-01.10, 1.2, 5.5, 5.5 RosettaNet-V02.00, 1.2, 5.5, 5.5 ランタイム

データ, 2.3.3

メタデータ, 15.1

S

サンプルSOA実装, 1.6

SAP iDoc, 1.2

SCAの正規化されたメッセージ・プロパティ, E.1

Secure Socket Layer, 1.4

セキュリティ

構成, 5.5

機能, 1.4

セキュリティ・レルム, 5.3 SegmentCountマクロ, 3.3 サービス, 1.5 サービス・コンポーネント

概要, 2.5.1

SMIME, 1.1 SOAコンポジット・アプリケーション, 1.5 SOAサーバー, 1.8 SOAP, 1.1 サポートされているプロトコル, 1.2 システム・パラメータ、設定, 17.1

T

取引パートナ・アグリーメント, 14.2.2

取引パートナ・アグリーメント

作成, 2.4, 6.1, 6.2

定義, 6.1

削除, 6.4

デプロイ, 6.3

機能確認, 6.2

ホスト取引パートナ, 6.2

再デプロイ, 6.3.1

リモート取引パートナ, 6.2

変換, 6.2

検証, 6.2

取引パートナ, 2.3.2, 2.4

ユーザーの追加, 5.3

クローニング, 5.2

構成, 5.1

連絡先情報, 5.2

プロファイルの作成, 5.2

カスタム・パラメータ・タイプの作成, 10.3

カスタム識別子タイプ, 10.1

定義, 5.1

ホスト, 5.1

ホスト・キー・ストア情報, 5.2

識別子タイプおよび値, 5.2

概要, 5.1

パラメータと値, 5.2

リモート, 5.1, 5.2

データの変換, 14.1 トランスポート・コールアウト, 5.5.2.4, 13.1.1 トランスポート・プロトコル・パラメータ

構成, 5.5

トランスポート・プロトコル

Oracle B2Bで使用可能, 16.2

使用, 16.2

U

UCCnet

定義, 8.8

ドキュメント定義パラメータ, 8.8

ドキュメント・タイプ・パラメータ, 8.8

ドキュメント・バージョン・パラメータ, 8.8

Oracle B2Bサポート, 1.2

従来のトランザクションとの比較, 1.1

UNA, 8.2 Unicodeのサポート, 2.5.1 「JMSキューをデフォルトとして使用」パラメータ, 17.1, H.3 ユーザー・インタフェース

アクセス, 2.2

メイン・ページ, 2.2

ユーザー

ユーザー・インタフェース・ツールへのアクセス, 2.2

adminユーザー名, 2.2

V

B2Bメタデータの検証, 20.10

X

XMLDSig, 1.1

XMLEncrypt, 1.1

XMLSchema、ドキュメント・ガイドライン, 3.1

XSLTCalloutImplクラス・ファイル, 13.2

オラクル社の法律上の注意点について

コピーライトについて

Copyright © 1994-2014, Oracle and/or its affiliates.All rights reserved.

商標と登録商標について

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

制限付権利

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション（人的傷害を発生させる可能性があるアプリケーションを含む）への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性（redundancy）、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。