8 コンポジットの実行のスケジューリング
この章の内容は次のとおりです。
8.1 ビジネス課題
会社Xは、十分なインベントリを維持するというビジネス課題に直面しています。注文が処理されると、ウェアハウスのアイテムのストックが減るため、インベントリを補充する必要があります。注文される製品のカテゴリごとに、会社Xには異なるサプライヤがあります。一日の終わりに、注文された各製品のアイテム数を識別し、インベントリを元のレベルに戻すため、各サプライヤに対して個別のレポートが実行される必要があります。
8.2 ビジネス・ソリューション
これらのビジネス課題に対処するために、会社Xは表8-1のコンポーネントを使用するビジネス・ソリューションを設計します。
表8-1 ビジネス・ソリューションを提供するコンポーネント
コンポーネント | このコンポーネントがビジネス課題に対処する方法 | コンポーネントの説明 |
---|---|---|
SOAコンポジット・アプリケーション |
問合せインベントリ・コンポジットは、指定されたカテゴリに対してその日に注文された製品ごとの合計アイテム数を識別します。この問合せは、その日の間に減ったインベントリ数を識別します。 |
SOAコンポジット・アプリケーションの詳細は、表3-1を参照してください。 |
Oracle Enterprise Schedulerジョブ |
Oracle Enterprise Schedulerを使用して、問合せインベントリ・コンポジットのWebサービス・ジョブを定義し、指定された時刻での実行をスケジューリングしてそのジョブを送信します。 |
Oracle Enterprise Schedulerでは、Oracle Enterprise Manager Fusion Middleware Controlで、ジョブ・リクエストの管理、メタデータの定義およびジョブのスケジューリングを実行できます。 |
Oracle Enterprise Schedulerアダプタのアクティブ化および非アクティブ化 |
Oracle Enterprise Schedulerは、アクティブ化と非アクティブ化の繰返しスケジュールを使用して、「注文の履行」で作成した履行サービスのデータベース・アダプタをアクティブ化および非アクティブ化します。 |
Oracle Enterprise Schedulerにより、指定された時刻にアクティブ化および非アクティブ化するようにコンポジットのアダプタをスケジューリングできます。 |
この章の後続の項では、表8-1のコンポーネントを使用してクレジット検証ビジネス課題に対処する方法について、より詳細に説明します。
8.2.1 Webサービス・ジョブ定義の作成
十分なインベントリ・レベルを識別および維持するための要件に対処するため、会社Xは、Oracle Enterprise Schedulerを使用します。
Oracle Enterprise Schedulerを使用すると、より大規模なトランザクションを後でジョブとして実行するために遅延させたり、定義されたスケジュールに基づいたアプリケーション・メンテナンス作業の実行を自動化することができます。また、Oracle Enterprise Schedulerを使用して、Oracle WebLogic Serverクラスタのノード全体に分散されたJava、PL/SQL、バイナリ・スクリプト、Webサービス、EJBなどの各種ジョブ・タイプを実行することもできます。Oracle Enterprise Schedulerは、これらのジョブを安全に実行すると同時に、高可用性とスケーラビリティを実現し、ロード・バランシングを行います。また、Oracle Enterprise Schedulerは、Oracle Enterprise Manager Fusion Middleware Controlコンソールを使用したモニタリングと管理を提供します。
会社Xは、インベントリを問い合せるqueryInventoryコンポジットのジョブ定義を作成します。コンポジットには、同期BPELプロセスとWebサービスがサービス・バインディング・コンポーネントとして含まれています。リクエスト固有のメタデータをジョブ定義として関連付けます。
会社Xは、Oracle Enterprise Manager Fusion Middleware Controlナビゲータで「ESSAPP」を選択し、「スケジューリング・サービス」メニューから「ジョブ・メタデータ」→「ジョブ定義」を選択して、ジョブ定義を作成します。図8-1に詳細を示します。
会社Xは、次の詳細でジョブ定義を構成します。
-
QueryInventoryのジョブ名と表示名
-
soaのパッケージ値
-
syncWebServiceJobTypeのジョブ・タイプ
完了後、構成は図8-2のようになります。
8.2.2 スケジュールに基づくジョブ・リクエストの発行
会社Xは、「Webサービス・ジョブ定義の作成」で作成したジョブ定義を実行するスケジュールを作成します。スケジュールは、ジョブがいつ実行されるかを決定します。
Oracle Enterprise Manager Fusion Middleware Controlナビゲータの「スケジューリング・サービス」メニューから、会社は、「ジョブ・リクエスト」→「ジョブ・リクエストの発行」を選択します。QueryInventoryジョブ定義を選択し、ジョブを実行するためのスケジュールを定義します。図8-3に詳細を示します。
ジョブの実行後、出力を確認できます。会社Xは、「スケジューリング・サービス」メニューから、「ジョブ・リクエスト」→「ジョブ・リクエストの検索」を選択し、「リクエスト詳細」ページに移動します。ページ下部の「ログおよび出力」セクションで、Webサービス・レスポンスに関する詳細がXMLファイルとして提供されます。図8-4に詳細を示します。
8.2.3 アダプタへのスケジュールの適用
Oracle Enterprise Schedulerにより、指定された時刻にアクティブ化および非アクティブ化するようにコンポジットのアダプタをスケジューリングすることもできます。システム負荷が最小であるときにアダプタをアクティブ化するようにスケジュールできます。「注文の履行」で設計した履行コンポジットには、サービス入力としてデータベース・アダプタが含まれます。
会社Xは、Oracle Enterprise Schedulerで繰返しスケジュールを使用して、データベース・アダプタをアクティブ化および非アクティブ化します。会社Xは、「スケジューリング・サービス」リストから、「ジョブ・リクエスト」→「スケジュールの定義」を選択します。会社Xは、表8-2に表示されている詳細で、データベース・アダプタのアクティブ化および非アクティブ化のジョブ定義を構成します。データベース・アダプタは、10分ごとにアクティブ化してから、10分ごとに非アクティブ化するように構成されます。
表8-2 アダプタのアクティブ化と非アクティブ化の構成
要素 | アダプタのアクティブ化 | アダプタの非アクティブ化 |
---|---|---|
名前 |
activateSched |
deactivateSched |
表示名 |
activateSched |
deactivateSched |
パッケージ |
soa |
soa |
頻度 |
毎時/分 |
毎時/分 |
毎 |
10分 |
10分 非アクティブ化は、5分、15分、25分ごとに発生します。アクティブ化は、10分、20分、30分ごとに発生します。 |
開始日 |
今から10分 |
今から5分 |
終了日の使用 |
未チェック |
未チェック |
完了後、アダプタのアクティブ化および非アクティブ化の構成は図8-5のようになります。
会社Xは、Oracle Enterprise Manager Fusion Middleware Controlのデータベース・アダプタ・ホーム・ページに移動し、データベース・アダプタのアクティブ化および非アクティブ化を選択します。図8-6に詳細を示します。
図8-6 データベース・アダプタ・ホーム・ページのデータベース・アダプタのアクティブ化および非アクティブ化
![図8-6の説明が続きます 図8-6の説明が続きます](img/soa-sched-adapter-db-config.png)
「図8-6 データベース・アダプタ・ホーム・ページのデータベース・アダプタのアクティブ化および非アクティブ化」の説明
会社Xは、指定された時刻に、データベース・アダプタをアクティブ化および非アクティブ化することを選択します。図8-7に詳細を示します。
8.3 関連ドキュメント
表8-3では、この章で説明したコンポーネントと機能をより詳しく説明するドキュメントの参照先を示します。
表8-3 関連ドキュメント
参照内容 | 参照先 |
---|---|
ジョブ定義とスケジュールの作成 |
『Oracle Enterprise Schedulerの管理』のOracle Enterprise Schedulerリクエストの管理に関する項 |
アダプタのアクティブ化および非アクティブ化 |
『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』のOracle Enterprise Schedulerを使用したJCAアダプタ・エンドポイントのアクティブ化および非アクティブ化のスケジューリングに関する項 |