Oracle BPEL Process Manager クイック・スタート・ガイド 10g(10.1.3.1.0) B31876-01 |
|
このチュートリアルでは、Oracle JDeveloperを使用して、初めてのBPELプロセスを設計、デプロイおよびテストする方法について説明します。
このチュートリアルの内容は次のとおりです。
このチュートリアルでは、Oracle JDeveloperを使用して、初めてのBPELプロセスを作成、デプロイおよびテストする方法について説明します。このプロセスは、信用格付けサービスをコールするように作成するフローです。このプロセスを実行する際には、社会保障番号をHTMLユーザー・インタフェースに入力します。信用格付けサービスは、その社会保障番号を受け取り、信用格付けを返します。このプロセスは、第3章「融資調達BPELプロセスの確認」で示すような、さらに高度なアプリケーションを作成するための第1歩として作成します。
このチュートリアルの内容は次のとおりです。
Oracle JDeveloperとOracle BPEL Serverが起動していることを確認します。 手順は、「Oracle BPEL Process Managerコンポーネントの起動および停止」を参照してください。
このチュートリアル中に、設計するBPELプロセスと「信用フローの概要」で説明した信用格付けサービスとの通信が行われます。まず、このサービスを起動し、動作することをテストする必要があります。
SOA_Oracle_Home
¥bpel¥samples
ディレクトリで開きます。
utils¥CreditRatingService
サブディレクトリに移動します。
cd utils¥CreditRatingService
ant
これにより、このチュートリアルで使用するために、信用格付けサービスがデプロイおよび起動されます。正常に行われた場合は、次のようなメッセージが最後に表示されます。
BUILD SUCCESSFUL
フィールド | 値 |
---|---|
ユーザー名 |
|
パスワード |
|
password
は、インストール時に「Oracle Application Server SOA Suiteのインストール」で入力した値です。
CreditRatingService、TaskActionHandlerおよびTaskManagerの各サービスが「ダッシュボード」タブに表示されていれば、サービスはすべて稼働しています。
はじめに、アプリケーションとプロジェクトを作成する必要があります。BPELプロセスの基本的な要素は、プロジェクトによって自動的に作成されます。これには、次のものが含まれます。
projectname
.bpel
)
projectname
.wsdl
)
bpel.xml
)
次の手順に従って、信用フロー・プロジェクトを新規作成します。
JDev_Oracle_Home
¥jdev¥mywork¥myBPELapplication¥myCreditFlow¥bpel
ディレクトリに作成されます。
ここでは、WSDLファイルのセクションを確認します。
<portType name="myCreditFlow"> <operation name="initiate"> <input message="client:myCreditFlowRequestMessage"/> </operation> </portType> <!-- portType implemented by the requester of myCreditFlow BPEL process for asynchronous callback purposes --> <portType name="myCreditFlowCallback"> <operation name="onResult"> <input message="client:myCreditFlowResponseMessage"/> </operation> </portType>
partnerLinkType
には、2つのロールがあります。一方のロールはサービス・プロバイダ用、他方のロールはリクエスト元用です。
<plnk:partnerLinkType name="myCreditFlow"> <plnk:role name="myCreditFlowProvider"> <plnk:portType name="client:myCreditFlow"/> </plnk:role> <plnk:role name="myCreditFlowRequester"> <plnk:portType name="client:myCreditFlowCallback"/> </plnk:role> </plnk:partnerLinkType>
ここでは、BPELファイルのセクションを確認します。
partnerLink
には、myRole
とpartnerRole
の2つのロールがあります。通常、非同期BPELプロセスには、クライアント・インタフェース用のロールが2つあります。一方はフロー自体のためのロールで、入力操作を公開します。他方はクライアント用のロールで、非同期にコールバックされます。
<partnerLinks> <partnerLink name="client" partnerLinkType="client:myCreditFlow" myRole="myCreditFlowProvider" partnerRole="myCreditFlowRequester"/> </partnerLinks>
<receive>
アクティビティに続いて、リクエスト元への非同期コールバックを実行する<invoke>
アクティビティが指定されています。非同期プロセスと同期プロセスの違いに注意してください。同期プロセスは、<reply>
アクティビティを使用して、コール元へ同期的に応答します。
<sequence name="main"> <!-- Receive input from requestor. Note: This maps to operation defined in myCreditFlow.wsdl --> <receive name="receiveInput" partnerLink="client" portType="client:myCreditFlow" operation="initiate" variable="inputVariable" createInstance="yes"/> <!-- Asynchronous callback to the requester. Note: the callback location and correlation id is transparently handled using WS-addressing. --> <invoke name="callbackClient" partnerLink="client" portType="client:myCreditFlowCallback" operation="onResult" inputVariable="outputVariable"/> </sequence> </process>
BPELプロジェクトを作成したときに、デフォルトのXSDファイルが作成されています。
myCreditFlowProcessRequest
要素が入力に使用されます。myCreditFlowProcessResponse
要素が出力として返されます。
<schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/myCreditFlow" xmlns="http://www.w3.org/2001/XMLSchema"> <element name="myCreditFlowProcessRequest"> <complexType> <sequence> <element name="input" type="string"/> </sequence> </complexType> </element> <element name="myCreditFlowProcessResponse"> <complexType> <sequence> <element name="result" type="string"/> </sequence> </complexType> </element> </schema>
ここでは、WSDLファイルの入出力メッセージを編集します。 このWSDLファイルは、「信用フロー・プロセスの実行」でBPELプロセスを実行し、信用格付けをリクエストするときの対話に使用するユーザー・インタフェースに相当します。
XSDファイルのグラフィカル・ビューが「設計」ウィンドウに表示されます。 左下の「構造」セクションに、完全に開いた状態で編集できるようにXSDファイルの要素が表示されます。
変更内容がXSDファイルの設計ビューに表示されます。
BPELプロジェクトの設計時に、黄色の小さなフラグがアクティビティの上側に表示される場合があります。 これらのアクティビティは、正常に構成しても検証が済んでいない場合があります。
アクティビティが正しく検証されると、フラグの表示がなくなります。
プロセスをデプロイするとき、「信用フロー・プロセスの検証、コンパイルおよびデプロイ」に説明されているように、プロセスが自動的に検証、コンパイルされ、正常に終了した場合にはデプロイも実行されます。
注意:
ここでは、同期型の信用格付けサービス用のパートナ・リンクを作成および構成します。
この項では、次のタスクについて説明します。
「パートナ・リンクの作成」ウィンドウが表示されます。
下側の「WSDLファイル」フィールドでは、「サービスの起動とテスト」でデプロイした信用格付けサービスを自動的に選択するために、懐中電灯(左から2番目の「サービス・エクスプローラ」という名前のアイコン)をクリックして、次の図に示す「サービス・エクスプローラ」ウィンドウにアクセスします。
注意:
フィールド | 値 |
---|---|
名前 |
CreditRatingService |
WSDLファイル |
このURLにアクセスするには、「サービス・エクスプローラ」の懐中電灯アイコンをクリックしてBPEL Services→「my_integration_server_connection」→「プロセス」→「デフォルト」→「CreditRatingService」の順に開いて選択します。 my_integration_server_connectionは、手順17で指定したサーバー接続名です。 http://localhost:8888/orabpel/default/CreditRatingService/CreditRatingService?wsdl 関連項目: 「サービス・エクスプローラ」ウィンドウでWSDLファイルを追加しようとして、解析エラーが表示された場合は、「Webブラウザ設定でのホスト名の確認」を参照してください。 |
パートナ・リンク・タイプ |
CreditRatingService |
パートナ・ロール |
CreditRatingServiceProvider |
マイ・ロール |
未指定のままにします。これは同期パートナ・リンクであり、ロールは必要ないためです。 |
「CreditRatingService」パートナ・リンクが設計ウィンドウの右側に表示されます。
フィールド | 値 |
---|---|
名前 |
invokeCRS |
パートナ・リンク |
CreditRatingService |
「操作」(process)フィールドは自動的に入力されます。
invokeCRS_process_InputVariableという名前の変数が「入力変数」フィールドに自動的に作成されます。この変数には、メッセージ・タイプのCreditRatingServiceRequestMessageが自動的に割り当てられます。
invokeCRS_process_OutputVariableという名前の変数が「出力変数」フィールドに自動的に作成されます。この変数には、メッセージ・タイプのCreditRatingServiceResponseMessageが自動的に割り当てられます。
このScopeアクティビティは次のようになります。
これで、信用格付けサービスの設計が完了し、次の項で説明する検証、コンパイルおよびデプロイの各タスクに進む準備ができました。
この時点で、BPELプロセスをデプロイする準備ができています。
my_integration_server_connectionは、手順17で指定した統合サーバー接続名です。
これにより、BPELプロセスがコンパイルされます。エラーがないかウィンドウの下部を確認します。エラーがない場合は、次のメッセージが表示されます。
BUILD SUCCESSFUL
エラーがない場合、デプロイメントは成功しました。 エラーがある場合は、そのエラーをダブルクリックしてエラーのタイプと場所の詳細を表示します。
この時点で、融資の申込みと融資提案の受取りのプロセスを起動する準備ができています。
フィールド | 値 |
---|---|
ユーザー名 |
|
パスワード |
|
Oracle Enterprise Manager 10g BPEL Controlの「ダッシュボード」タブが表示されます。
「BPELプロセス」タブに次のようなメッセージが表示されます。
テスト・インスタンスが開始されました インスタンス''39e706a46ad531be:858bf1:fcc240f310:-7ffc''は非同期で処理中です。
プロセスの現在の状態を示す監査証跡が表示されます。これは、信用格付けサービスが正常に起動したことを示します。
|
Copyright © 2006 Oracle Corporation. All Rights Reserved. |
|