この章の内容は次のとおりです。
会社Xには、バック・エンド・アプリケーションに影響を及ぼすことなく、レガシー・システムで通常の区切り形式で発注するという要件があります。「注文処理システムの作成」で設計したProcessOrderコンポジットのバック・エンド・ビジネス・ロジックの中断を最小化するために、プロトコルおよびデータ変換が提供される必要があります。
これらのビジネス課題に対処するために、会社Xは表5-1のコンポーネントを使用するビジネス・ソリューションを設計します。
表5-1 ビジネス・ソリューションを提供するコンポーネント
コンポーネント | このコンポーネントがビジネス課題に対処する方法 | コンポーネントの説明 |
---|---|---|
Oracle Service Busファイルベース・プロキシ |
Oracle Service Busパイプラインは、プロキシ・サービスをファイル注文チャネルに接続します。プロキシは、受信された顧客注文をファイルごとに処理します。 |
パイプラインは、起動前のアプリケーションを検証します。プロキシにより、顧客はコンポジットに直接接続するかわりに、プロキシを介してコンポジットを起動できます。 |
ネイティブ・フォーマット・ビルダー・ウィザード |
ファイル・アダプタは、注文処理コンポジットで使用するために、カンマ区切りの注文をXMLスキーマ・ファイルに変換します。 |
ネイティブ・フォーマット・ビルダー・ウィザードにより、区切り、固定長、複合タイプ、データ型記述(DTD)、COBOLコピーブックなどの様々なファイル形式からネイティブ・スキーマ・ファイルを作成できます。 |
Oracle Service Busデバッガ |
Oracle Service Busパイプラインに設定されるブレークポイント・デバッガは、エンドツーエンド・アプリケーションをテストおよびデバッグします。 |
Oracle Service Busデバッガでは、パイプラインおよび分割-結合をトラブルシューティングするために、Oracle JDeveloper内で直接ブレークポイントを設定できます。 |
Oracle Enterprise Manager Fusion Middleware Control。 |
Oracle Enterprise Managerにより、Oracle Service Busアプリケーションをモニターおよび管理できます。 |
Oracle Enterprise Manager Fusion Middleware Controlは、デプロイ済アプリケーションをモニターおよび管理するためのWebブラウザ・ベースのグラフィカル・ユーザー・インタフェースを提供します。 |
図5-1に、このビジネス・ソリューションの実装方法の概要を示します。
この章の後続の項では、表5-1のコンポーネントを使用して、新規注文チャネルのビジネス課題に対処する方法について、より詳細に説明します。
会社Xの顧客ベースには、XML形式で注文を発行できないレガシーな会社が含まれます。この場合、かわりにカンマ区切り形式を使用します。会社Xは、これらのカンマ区切りの注文を有効なXML形式に変換できる必要があります。
Oracle SOA Suiteには、アダプタ構成ウィザードが含まれており、アプリケーションをファイル・システム、データベース表、データベース・キュー、FTPサーバー、Java Message Services (JMS)、IBM WebSphere MQおよび他のシステムと統合できます。12c (12.2.1)では、アダプタ構成ウィザードを、Oracle SOA SuiteとOracle Service Busの両方で使用できます。
会社Xは、Oracle JDeveloperの「アプリケーション」ウィンドウのOracle Service Busアプリケーションで「ProcessOrder」プロジェクトを開きます。図5-2に詳細を示します。
会社Xは、「コンポーネント」ウィンドウから「公開されたサービス」スイムレーンに「ファイル」アイコンをドラッグします。これにより、ProcessOrderコンポジットの新規ファイルベース・プロキシを追加するためのアダプタ構成ウィザードが起動します。
ファイル・アダプタにより、ローカル・ファイル・システム上で、Oracle Service Busのビジネス・サービスとプロキシ・サービスが交換(読取りおよび書込み)可能になります。ファイル・コンテンツは、XMLデータ・フォーマットと非XMLデータ・フォーマットのどちらでも構いません。このシナリオでは、ファイル・アダプタは、毎分ポーリングされる指定のディレクトリからカンマ区切り値(.csv
)ファイルを読み取るように構成されます。ウィザードの最後のページで、会社Xは、顧客が提出したネイティブのカンマ区切り形式から有効なXMLスキーマ・ファイルを作成するオプションを選択します。これを選択すると、ネイティブ・フォーマット・ビルダー・ウィザードが起動します。図5-3に詳細を示します。
ネイティブ・フォーマット・ビルダー・ウィザードにより、区切り、固定長、複合タイプ、データ型記述(DTD)、COBOLコピーブックなどの様々なファイル形式からネイティブ・スキーマ・ファイルを作成できます。ネイティブ・スキーマは注釈と追加属性付きのXMLスキーマ定義であり、これを使用してネイティブ・フォーマット・ファイルをXMLに変換できます(逆も同様)。このネイティブ・スキーマにより、アダプタ構成ウィザードで、アダプタがアプリケーションと通信するためのWSDLファイルを作成できます。
このシナリオでは、次のようにネイティブ・フォーマット・ビルダー・ウィザードを構成します。
スキーマを作成するネイティブ・メッセージ形式として、「複合タイプ」(フィールドそのものがレコードで複数のデリミタ・タイプを持つ可能性があるレコードが含まれています)を選択します。
ネイティブ・フォーマット・ファイルとルート要素(Order
)を指定します。
住所、請求、出荷およびアイテムに対応するデータの複合タイプを指定します。
データのデリミタ(カンマ)を指定します。
データ・ファイルのフィールドに対応するスキーマ要素を指定します。
自動生成される要素C1,C2.....C7の名前を、生成されるXMLファイルで予期される要素名に変更します。
図5-4に、FirstName、LastName、AddressLine、City、State、ZipCodeおよびPhoneNumberの定義されたスキーマ要素を持つ複合タイプAddressTypeを示します。カンマ区切りファイルは、ページの右側に表示されます。
図5-5に示すように、構成プロセスはすべての必要な複合タイプに対して繰り返されます。
完了すると、スキーマ・ファイルが作成されます。図5-6に詳細を示します。
会社Xは、新規作成されたProcessPS_FileプロキシをProcessPPパイプラインにワイヤリングします。図5-7に詳細を示します。
Oracle JDeveloperは、Oracle Service Busプロジェクト・コンポーネントを評価し、修復するための包括的なデバッガを提供します。デバッガは、Oracle JDeveloper内に直接トラブルシューティング環境を提供することにより、開発サイクルを短縮します。つまり、Oracle JDeveloperでOracle Service Busアプリケーションを構築して実行したり、コンソールを起動して監査証跡とフロー・トレースをテストまたは表示したり、Oracle JDeveloperに戻って問題を修正したり、これらの手順を繰り返す必要はありません。かわりに、パイプラインと分割-結合をトラブルシューティングするためのブレークポイントをOracle JDeveloper内で直接設定できます。
会社Xは、validatePaymentパイプラインに移動して、Oracle JDeveloperでパイプラインをデバッグします。パイプライン・エディタで「レポート」アクションを選択し、メニューから「ブレークポイントの切替え」を選択します。
図5-8に詳細を示します。
ブレークポイントを設定した後、会社Xはプロキシを右クリックし、「実行」を選択してデバッガを起動します。図5-9に詳細を示します。
これにより、テスト・コンソールへのサンプル・データの入力、変数の確認、デバッグ・モードでのパイプラインのステップ実行、および必要に応じたデータ変更が可能になります。図5-10に詳細を示します。
会社Xは、Oracle Service Busアプリケーションをデプロイします(図5-11を参照)。
会社Xは、Oracle Enterprise Manager Fusion Middleware ControlからOracle Service Busをモニターします。Oracle Enterprise Manager Fusion Middleware ControlはWebブラウザ・ベースのグラフィカル・ユーザー・インタフェースで、デプロイ済コンポジットをモニターおよび管理するために使用します。
12c (12.2.1)以降、Oracle Service BusとOracle SOA Suiteの管理は、単一の統合されたOracle Enterprise Manager Fusion Middleware Controlから実行されます。
パフォーマンスを最適化するため、サービスはデフォルトでは表示されません。したがって、会社Xは、ナビゲータで「ProcessOrderSB」を選択し、「操作」タブをクリックしてから「検索」をクリックし、ProcessOrderSBのすべてのサービスを表示します。図5-12に詳細を示します。
「タイプ」リストでは、詳細の表示をフィルタリングできます(図5-13を参照)。
会社Xは、Oracle Service Busホーム・ページを使用して、ページの上部に表示される各タブの下にある追加の詳細をモニターします。図5-14に、「グローバル設定」タブの詳細を示します。
表5-2では、この章で説明したコンポーネントと機能をより詳しく説明するドキュメントの参照先を示します。
表5-2 関連ドキュメント
参照内容 | 参照先 |
---|---|
アダプタ構成ウィザードでのファイル・アダプタの構成 |
『テクノロジ・アダプタの理解』のOracle JCA Adapters for Files/FTPに関する項 |
ネイティブ・フォーマット・ビルダー・ウィザードを使用したネイティブ・スキーマ・ファイルの作成 |
『テクノロジ・アダプタの理解』のネイティブ・フォーマット・ビルダー・ウィザードに関する項 |
Oracle Enterprise Manager Fusion Middleware ControlでのOracle Service Busのモニタリング |
『Oracle Service Busの管理』のOracle Service Bus管理のスタート・ガイドに関する項 |
Oracle JDeveloperでのOracle Service Busアプリケーションのデバッグ |
『Oracle Service Busでのサービスの開発』のOracle Service Busアプリケーションのデバッグに関する項 |