このチュートリアルでは、同期および非同期サービス、実行のパラレル・フロー、条件分岐ロジック、フォルト処理と例外管理、変換、ファイル・アダプタおよびデータベース・アダプタ機能、ヒューマン・ワークフロー、通知、センサー機能を使用する高度なプロセスを設計および実行する方法について説明します。
この章の内容は次のとおりです。
GlobalCompanyは、次の複数の販売チャネルを通して顧客に組立済の装置および装置のパーツを販売する大手OEMです。
Web上の小売り
営業担当者による直接販売
大口顧客からの自動化されたビジネス・トゥ・ビジネス(B2B)注文
GlobalCompanyは、仮想在庫ビジネス・モデルを使用しています。GlobalCompanyは、製品の製造と流通を行う契約サプライヤを擁しています。これらのサプライヤの専門分野は製品設計とマーケティングです。
GlobalCompanyは現在、注文の規模と地域に基づいて、受注のフルフィルメントを2つの主要サプライヤに委託しています。
Select Manufacturing(地元の契約メーカー)
Rapid Distributors(商品を海外の低コスト・メーカーから仕入れる国外の流通業者)
GlobalCompanyでは、注文のチャネルや注文のタイプには関係なく、すべての顧客に同じサービスを提供し、同等の対応をすることができていません。
GlobalCompanyでは、直近の2四半期にわたって売上高は増加していますが、利益は減少しています。このため、強力な管理メカニズムをただちに導入することを決定しました。
GlobalCompanyは、サプライヤに対して、これまでの固定割当て指定システムではなく競争システムを導入したいと考えています。
GlobalCompanyの目標は次のとおりです。
すべての販売チャネルにわたって一貫した受注処理およびフルフィルメント
サプライヤはすべての注文に入札、受注は最低価格を提示したサプライヤ
サプライヤの入札に基づく利幅が少ない場合に、フルフィルメントを承認された注文を無効化できる機能
既存のシステムおよびアプリケーションを使用した受注処理の完全自動化
顧客への注文確認の自動送信機能
注文の受領を確認する電子メール通知の送信機能
GlobalCompanyは、Oracle BPEL Process Managerを使用して、Order Booking複合アプリケーションを作成することを決定しました。GlobalCompanyは、Oracle Applications Serverプラットフォームを使用して、社内でサービス指向アーキテクチャ(SOA)を実現します。
Oracle BPEL Process Managerは、任意のチャネルから会社に送られた注文を受け取るビジネス・プロセスの実装に使用されます。また、このプロセスは、プロセスのビジネス・ルールに基づいて社内の既存のすべてのサービスを組織化して、適切なサプライヤを使用して注文を処理します。
図1-1にこのソリューションの概要を示します。
OrderBookingプロセスは、次のシステムおよびアプリケーションから受注します。
B2Bシステム
Webシステム
新規カスタマ・リレーションシップ・マネジメント(CRM)アプリケーション
ファイルを介した古いレガシー・オーダー取得システム
注文から顧客が識別され、既存の信用格付けサービスに照らしてチェックされます。信用チェック・システムが顧客の格付けを返します。
価格の見積りのために、注文の明細項目が2つのサプライヤに渡されます。Select Manufacturingは、直販メーカーであるため通常は低価格を提示しますが、レスポンスに時間がかかります。Rapid Distributorsは、価格見積りに自動レスポンス・システムを使用するため、数秒でレスポンスがありますが、見積り額は高めです。両社とも、30分以内に応答する必要があります。機密保持のため、注文したエンド・ユーザーの詳細(顧客の連絡先、電話番号、電子メール・アドレスなど)は、これらの会社に送信されません。価格の見積りに関連する注文の部分のみが送信されます。
見積りが収集され、最も見積り額の低いサプライヤが発注先として選択されます。
注文の詳細とともにすべての情報をビジネス・マネージャに渡し、受注のフルフィルメントの承認を受ける手順は重要です。この詳細には、利幅を確認するための販売価格とサプライヤの見積り額が含まれます。
注文が承認されると、フルフィルメントのために送信されます。注文管理システム内の注文を取り込み、サプライヤに発注通知を送信するために、古いフルフィルメント・サービスが再パッケージ化されています。
その後、該当する受注チャネルに、注文の受付または却下を通知する注文確認が送信されます。
このチュートリアルは、12のフェーズに分かれています。各フェーズはその前のフェーズを終了していることを前提としています。このチュートリアルで説明する順序で各フェーズを完了する必要があります。このチュートリアルで使用するファイルは、次のディレクトリにあります。
SOA_Oracle_Home\bpel\samples\tutorials\127.OrderBookingTutorial
127.OrderBookingTutorial
のPracticeFiles
という名前のサブディレクトリには、このチュートリアルのプロジェクト・ディレクトリにコピーする重要なスキーマ・ファイルが含まれています。これで、チュートリアルを始める準備ができました。
Oracle Application Server SOA Suiteのインストール手順は、使用しているオペレーティング・システム用の『Oracle Application Serverインストレーション・ガイド10g リリース3(10.1.3.1)』を参照してください。
Oracle Application Server SOA Suite 10.1.3.1.0インストール・ウィンドウで、「基本インストール」を選択します。
注意:
|
「インストール」をクリックします。
インストールが完了したら「終了」をクリックします。
インストール時に自動構成されたいくつかのポート番号を識別します。 これらのポート番号は、アプリケーション・サーバーおよびOracle BPEL Serverへの統合サーバー接続を作成するときに使用します。
テキスト・エディタを使用してSOA_Oracle_Home
\bpel\utilities\ant-orabpel.properties
ファイルを開きます。
次のプロパティで使用されているポート番号をメモします。
http.port
opmn.requestport
これらのポート値は、後で「Oracle Application Serverおよび統合サーバー接続のインストール」で接続を作成するときに必要です。
次の手順に従って、Oracle BPEL Process Managerの主要なコンポーネントを起動します。
Oracle BPEL Serverおよびその他のSOAコンポーネントを起動するには、「スタート」→「すべてのプログラム」→「Oracle - Oracle_Home」→「Start SOA Suite」を選択します。
SOA_Oracle_Home
\bpel\samples
ディレクトリでコマンド・プロンプトを開くには、「スタート」→「すべてのプログラム」→「Oracle - Oracle_Home」→「Oracle BPEL Process Manager」→Developer Promptを選択します。 これで、デモにアクセスし、必要なWebサービスを開始できます。
注意: このチュートリアルでオペレーティング・システムのコマンド・プロンプトを開くには、常にDeveloper Promptを使用してください。 これで、必要なパスがすべて設定されます。 これ以外の方法でオペレーティング・システムのコマンド・プロンプトを開いて、チュートリアルのコマンドを実行することはできません。 |
Oracle BPEL Controlを起動するには、「スタート」→「すべてのプログラム」→「Oracle - Oracle_Home」→「Oracle BPEL Process Manager」→「BPEL Control」を選択します。
BPELサンプルおよび使用可能な追加チュートリアルの詳細を確認するには、「スタート」→「すべてのプログラム」→「Oracle - Oracle_Home」→「Oracle BPEL Process Manager」→「Getting Started with Samples」を選択します。
Oracle BPEL Worklist Applicationのログイン・ウィンドウにアクセスするには、「スタート」→「すべてのプログラム」→「Oracle - Oracle_Home」→「Oracle BPEL Process Manager」→「Sample Worklist Application」を選択します。
Oracle JDeveloperの「表示」メイン・メニューから「接続ナビゲータ」を選択します。
「アプリケーション・サーバー」を右クリックします。
「アプリケーション・サーバー接続の作成」を選択します。
「ようこそ」ページで「次へ」をクリックします。
アプリケーション・サーバーに接続するための、わかりやすい名前を指定します。 この名前は、手順19で統合サーバー接続を作成するときに選択するので、覚えておきます。
「接続タイプ」リストから、「Oracle Application Server 10g 10.1.3」を選択します。
「次へ」をクリックします。
次の詳細を入力します。
フィールド | 値 |
---|---|
ユーザー名 | oc4jadmin |
Password | 「Oracle Application Server SOA Suiteのインストール」で入力したものと同じ管理者パスワードを入力します。 |
パスワードを配布 | このチェック・ボックスを選択します。選択しないと、プロセスをデプロイするたびに認証が必要となります。 |
「次へ」をクリックします。
次の詳細を入力します。
「次へ」をクリックします。
「接続のテスト」をクリックして接続をテストします。 接続に成功した場合は、次のメッセージが表示されます。
成功
「終了」をクリックします。
「接続ナビゲータ」の「統合サーバー」を右クリックします。
「新規統合サーバー接続」を選択します。
BPELプロセスをすべてデプロイする場合に、この統合サーバー接続を使用します。
「ようこそ」ページで「次へ」をクリックします。
サーバーに接続するための、わかりやすい名前を指定します。
「次へ」をクリックします。
手順5で指定したアプリケーション・サーバー接続名を、「アプリケーション・サーバー」リストから選択します。
次の詳細を入力します。
「次へ」をクリックします。
「接続のテスト」をクリックして接続をテストします。 接続に成功した場合は、次のメッセージが表示されます。
アプリケーション・サーバー: OK BPEL Process Managerサーバー: OK ESBサーバー: OK
「終了」をクリックします。
使用しているコンピュータのホスト名は、インストール時に自動的にOracle JDeveloperのプリファレンス設定に追加されます。 ホスト名がプリファレンス設定に表示されない場合、パートナ・リンクの作成時にサービス・エクスプローラ・ウィンドウでWSDLファイルを選択すると、解析エラーが表示されることがあります。
「ツール」メイン・メニューから「設定」を選択します。
「Webブラウザとプロキシ」をクリックします。
「例外」フィールドにホスト名が表示されていることを確認します。たとえば、ホスト名がmyhost-pc
の場合は、次のように設定します。
us.acme.com|*.us.acme.com|localhost|myhost-pc|127.0.0.1
「例外」フィールドにlocalhost
が表示されていることを確認します。
「OK」をクリックします。
これで、BPELプロセスを設計する準備ができました。