Comments
Transcript
Oracle BPM 11g Complex Gateway アプリケーション作成ハンズオン
<Insert Picture Here> Oracle BPM 11g Complex Gateway アプリケーション作成ハンズオン 日本オラクル株式会社 Agenda • ハンズオンの目的 • 環境準備 • Complex Gateway アプリケーションの作成 (以下のプロジェクトを作成する) ComplexGateway 複合ゲートウェイをパラレルゲートウェイのマージ・ゲートウェイ として利用して、すべてのトークンが到着しない場合でもインス タンスを続行できる条件を設定 • 補足情報 • リファレンス Copyright© 2012, Oracle. All rights reserved. 2 ハンズオンの目的 • Oracle BPMアプリケーション開発ライフサイクルの理解 • 複合ゲートウェイをパラレルゲートウェイのマージ・ゲートウェイ として利用して、すべてのトークンが到着しない場合でもインス タンスを続行する方法を理解 Copyright© 2012, Oracle. All rights reserved. 3 環境準備 (1/2) • • • • WebLogic Server 10.3.5 のインストール SOA Suite 11gPS4 Feature Pack のインストール BPM 11gPS4 Feature Pack のインストール Oracle JDeveloper 11gR1 のインストール Copyright© 2012, Oracle. All rights reserved. 4 環境準備 (2/2) • Demo Community Seed Application の実行 右側のzipファイルをローカルに解凍してインストール インストール方法: http://otn.oracle.co.jp/obe/fmw/obpm/11g/r1/install/installing_obpm11g. htm#t4 Copyright© 2012, Oracle. All rights reserved. 5 ComplexGateway アプリケーションの作成 ImmigrationClearanceプロセス テスト モデリ ング 実装と デプロイ Copyright© 2012, Oracle. All rights reserved. 6 プロセスのモデリング 作成するプロセスの全体像 入国審査をおこなうサンプル です。 3種類のチェックが、それぞれ 違う部門で平行で実施されま す。 3種類のチェックのうち、2つの チェックが「承認」されれば、残 りのチェックが取り消しされ、 処理が完了します。 Copyright© 2012, Oracle. All rights reserved. 7 プロセスのモデリング (1/18) • Oracle JDeveloper を開き、「新規アプリケーション」をクリック 2 1 Copyright© 2012, Oracle. All rights reserved. 8 プロセスのモデリング (2/18) • アプリケーション名を入力し、「BPMアプリケーション」を選択し て「次へ」をクリック 1 アプリケーション名: ComplexGateway 2 Copyright© 2012, Oracle. All rights reserved. 9 プロセスのモデリング (3/18) • プロジェクト名を入力して「次へ」をクリック プロジェクト名: ComplexGateway Copyright© 2012, Oracle. All rights reserved. 10 プロセスのモデリング (4/18) • 「次のものを使用するコンポジット BPMN Process」を選択し、 「終了」をクリック 1 2 Copyright© 2012, Oracle. All rights reserved. 11 プロセスのモデリング (5/18) • BPMNプロセスの名前を入力し、タイプとして「非同期サービス」 を選択して「終了」をクリック 名称: 1 ImmigrationClearance 2 3 Copyright© 2012, Oracle. All rights reserved. 12 プロセスのモデリング (6/18) • 「End」 イベントを右クリックし、プロパティを開き、「実装タイプ」 を「なし」に変更して「OK」をクリック 1 2 3 Copyright© 2012, Oracle. All rights reserved. 13 プロセスのモデリング (7/18) • 「Start」 イベントの名前「Start」をダブルクリックし、名前を「Start Immigration Clearance」に変更 • 「End」 イベントをクリックし、右側にドラッグしてデザイン・パネル の右側にドロップ Copyright© 2012, Oracle. All rights reserved. 14 プロセスのモデリング (8/18) • 「ゲートウェイ > 複合」を選択 • 「Start Immigration Clearance」と「End」イベントの間の シーケンス・フロー上にドロップ 1 注意: アクティビティを接続するため には、 オブジェクトをドロップす る時に遷移線が 青くなってい る必要があります。 2 Copyright© 2012, Oracle. All rights reserved. 15 プロセスのモデリング (9/18) • 名前に「Complete Checks」を設定して、「OK」をクリック 1 2 • 複合ゲートウェイ「Complete Checks」を右クリックし、「ゲートウ ェイ構成を次のように変更 > パラレルと複合」を選択して、表示さ れるダイアログで「OK」をクリック 3 4 Copyright© 2012, Oracle. All rights reserved. 16 プロセスのモデリング (10/18) • 複合ゲートウェイの「InclusiveGateway」スプリット・パラレル・ ゲートウェイを左側へ移動し、名前を「Start Checks」に変更 • 複合ゲートウェイの「Complete Checks」マージ複合ゲートウ ェイは右側へ移動 Copyright© 2012, Oracle. All rights reserved. 17 プロセスのモデリング (11/18) • 「対話型 > ユーザー」を選択し、「Start Checks」ゲートウェイと 「Complete Checks」ゲートウェイの間のシーケンス・フロー上 にドロップし、「名前」に「Check Criminal Record」を入力 3 1 4 2 Copyright© 2012, Oracle. All rights reserved. 18 プロセスのモデリング (12/18) • 「ロールのプロパティ」が表示されるので、「新規」をクリックし、 「Police」ロールを新規追加する 1 4 2 3 Copyright© 2012, Oracle. All rights reserved. 19 プロセスのモデリング (13/18) • 同様に「対話型 > ユーザー」を選択し、ロール「Police」のレーンの 下の空白にドロップし、表示されるプロパティ・ダイアログで「名前」 に「Check Credit Record」を入力して、「OK」をクリック 1 2 Copyright© 2012, Oracle. All rights reserved. 20 プロセスのモデリング (14/18) • 「ロールのプロパティ」が表示されるので、「新規」をクリックし、 「CreditAgency」ロールを新規追加する 1 4 2 3 Copyright© 2012, Oracle. All rights reserved. 21 プロセスのモデリング (15/18) • 同じ方法で、ユーザー・タスク「Check Drivers license」を新規 作成した「DMV」ロール・レーンにドロップ Copyright© 2012, Oracle. All rights reserved. 22 プロセスのモデリング (16/18) • 以下の「シーケンス・フロー」を追加 Copyright© 2012, Oracle. All rights reserved. 23 プロセスのモデリング (17/18) • 「アーティファクト > テキスト注釈」を選択し、以下のメモを追加 メモ内容: 3つのチェックの中に2つ のチェックさえ完成すれば 処理続行します。 Copyright© 2012, Oracle. All rights reserved. 24 プロセスのモデリング (18/18) • 「すべて保存」をし、「ComplexGateway」タブと 「composite.xml」タブを閉じる 1 2 Copyright© 2012, Oracle. All rights reserved. 3 25 ComplexGateway アプリケーションの作成 ImmigrationClearanceプロセス データ・オブジェクトの作成 テスト モデリ ング 実装と デプロイ 各要素の実装 BPMプロセス・ロールの メンバーのセット プロセスのデプロイ Copyright© 2012, Oracle. All rights reserved. 26 データ・オブジェクトの作成 (1/4) • プロセス・データ・オブジェクトの定義 • passportID (String型、入力データ) • CriminalCheckOutcome (String型、「Check Criminal Record」ユーザー・タスクの出力結果) • CreditCheckOutcome (String型、「Check Credit Record」ユーザー・タスクの出力結果) • DriversLicenseCheckOutcome (String型、「Check Drivers license」ユーザー・タスクの出力結果) Copyright© 2012, Oracle. All rights reserved. 27 データ・オブジェクトの作成 (2/4) • BPMプロジェクト・ナビゲータで、「ImmigrationClearance」プロセ スを選択し、左下に表示される構造情報の「プロセス・データ・オブ ジェクト」を右クリックし、「新規」よりデータ・オブジェクトを新規作成 1 2 Copyright© 2012, Oracle. All rights reserved. 28 データ・オブジェクトの作成 (3/4) • 以下の4つのデータ・オブジェクトを作成 1 1 2 2 1 2 1 2 Copyright© 2012, Oracle. All rights reserved. 29 データ・オブジェクトの作成 (4/4) • 「すべて保存」をする 1 Copyright© 2012, Oracle. All rights reserved. 30 ComplexGateway アプリケーションの作成 ImmigrationClearanceプロセス データ・オブジェクトの作成 テスト モデリ ング 実装と デプロイ 各要素の実装 BPMプロセス・ロールの メンバーのセット プロセスのデプロイ Copyright© 2012, Oracle. All rights reserved. 31 各要素の実装 Startイベントの実装 (1/4) • プロセス・エディタで、「Start Immigration Clearance」イベント をダブル・クリックし、プロパティを開き、「実装」タブで引数 「passportID」を追加 1 3 2 Copyright© 2012, Oracle. All rights reserved. 4 32 各要素の実装 Startイベントの実装 (2/4) • 「操作名」に「startImmigrationClearance」を設定し、データ・ アソシエーション・リンクをクリック 1 2 Copyright© 2012, Oracle. All rights reserved. 33 各要素の実装 Startイベントの実装 (3/4) • 「出力」タブで、左の引数から「passportID」をドラッグし、右側の プロセスのデータ・オブジェクトの「passportID」にドロップし、マッ ピングを追加して、「OK」をクリック Copyright© 2012, Oracle. All rights reserved. 34 各要素の実装 Startイベントの実装 (4/4) • 「OK」をクリックして、「すべて保存」をし、「Start Immigration Clearance」イベントの実装が完了 Copyright© 2012, Oracle. All rights reserved. 35 各要素の実装 各ユーザー・タスクの実装 (1/8) • プロセス・エディタで「Check Criminal Record」のユーザー・タス クをダブル・クリックし、「プロパティ」を開く 1 • 「実装」タブでヒューマン・タスクの右側のプラス・アイコンをクリック 2 Copyright© 2012, Oracle. All rights reserved. 36 各要素の実装 各ユーザー・タスクの実装 (2/8) • 「実装」タブでタスクの「名前」、「タイトル」を設定し、緑色のプラス・ アイコンでパラメータと結果ターゲットを追加して「OK」をクリック 1 項目 値 名前 CheckCriminalRecord タイトル Check Criminal Record パラメータ passportID 結果ターゲット CriminalCheckOutcome 2 3 4 Copyright© 2012, Oracle. All rights reserved. 37 各要素の実装 各ユーザー・タスクの実装 (3/8) • 「OK」をクリックし、「Check Criminal Record」ユーザー・タスク の実装が完了 Copyright© 2012, Oracle. All rights reserved. 38 各要素の実装 各ユーザー・タスクの実装 (3/8) • プロセス・エディタで「Check Credit Record」のユーザー・タスク をダブル・クリックし、「プロパティ」を開く 1 • 「実装」タブでヒューマン・タスクの右側のプラス・アイコンをクリック 2 Copyright© 2012, Oracle. All rights reserved. 39 各要素の実装 各ユーザー・タスクの実装 (4/8) • 「実装」タブでタスクの「名前」、「タイトル」を設定し、緑色のプラス・ アイコンでパラメータと結果ターゲットを追加して「OK」をクリック 1 項目 値 名前 CheckCredit タイトル Check Credit パラメータ passportID 結果ターゲット CreditCheckOutcome 2 3 4 Copyright© 2012, Oracle. All rights reserved. 40 各要素の実装 各ユーザー・タスクの実装 (5/8) • 「OK」をクリックし、「Check Credit Record」ユーザー・タスクの 実装が完了 Copyright© 2012, Oracle. All rights reserved. 41 各要素の実装 各ユーザー・タスクの実装 (6/8) • プロセス・エディタで「Check Drivers license」のユーザー・タスク をダブル・クリックし、「プロパティ」を開く 1 • 「実装」タブでヒューマン・タスクの右側のプラス・アイコンをクリック 2 Copyright© 2012, Oracle. All rights reserved. 42 各要素の実装 各ユーザー・タスクの実装 (7/8) • 「実装」タブでタスクの「名前」、「タイトル」を設定し、緑色のプラス・ アイコンでパラメータと結果ターゲットを追加して「OK」をクリック 1 項目 値 名前 CheckDriverLicense タイトル Check Driver License パラメータ passportID 結果ターゲット DriversLicenseCheckOutcome 2 3 4 Copyright© 2012, Oracle. All rights reserved. 43 各要素の実装 各ユーザー・タスクの実装 (8/8) • 「OK」をクリックし、「Check Drivers license」ユーザー・タスクの 実装が完了 Copyright© 2012, Oracle. All rights reserved. 44 各要素の実装 複合ゲートウェイの実装 (1/3) • プロセス・エディタで「Complete Checks」のユーザー・タスクを ダブル・クリックし、「プロパティ」を開く 1 Copyright© 2012, Oracle. All rights reserved. 45 各要素の実装 複合ゲートウェイの実装 (2/3) • 「実装」タブで評価時にブール値となる条件式を入力し、「保留中 のフローを中止」をチェックして「OK」をクリック 式: activationCount >=2 and ((CriminalCheckOutcome == “APPROVE” and CreditCheckOutcome == “APPROVE”) or (CriminalCheckOutcome == “APPROVE” and DriversLicenseCheckOutcome == "APPROVE") or (CreditCheckOutcome == "APPROVE" and DriversLicenseCheckOutcome == "APPROVE")) activationCount: 上記の条件を満たす場合、未処理のタスクを取消して プロセスを完了させるために、「保留中のフローを中 止」をチェックする必要があります。 既に複合ゲートウェイに到着したシーケンス・フロー数を 表す事前定義済みの変数です。 Copyright© 2012, Oracle. All rights reserved. 46 各要素の実装 複合ゲートウェイの実装 (3/3) • 「すべて保存」をする Copyright© 2012, Oracle. All rights reserved. 47 ComplexGateway アプリケーションの作成 ImmigrationClearanceプロセス データ・オブジェクトの作成 テスト モデリ ング 実装と デプロイ 各要素の実装 BPMプロセス・ロールの メンバーのセット プロセスのデプロイ Copyright© 2012, Oracle. All rights reserved. 48 BPMプロセス・ロールのメンバーのセット (1/4) • BPMプロジェクト・ナビゲータから「組織」をダブル・クリック • 「組織」タブのロールの「CreditAgency」を選択し、メンバー欄 の追加アイコンをクリックしてユーザー「cdoyle」を追加 2 1 3 4 Copyright© 2012, Oracle. All rights reserved. 49 BPMプロセス・ロールのメンバーのセット (2/4) • 同じようにロール「DMV」を選択し、メンバーにユーザー 「jcooper」を追加 1 2 3 Copyright© 2012, Oracle. All rights reserved. 50 BPMプロセス・ロールのメンバーのセット (3/4) • ロール「Police」を選択し、メンバーにユーザー「cdickens」を 追加 1 2 3 Copyright© 2012, Oracle. All rights reserved. 51 BPMプロセス・ロールのメンバーのセット (4/4) • 「すべて保存」をし、「組織」タブを閉じる 1 2 Copyright© 2012, Oracle. All rights reserved. 52 ComplexGateway アプリケーションの作成 ImmigrationClearanceプロセス データ・オブジェクトの作成 テスト モデリ ング 実装と デプロイ 各要素の実装 BPMプロセス・ロールの メンバーのセット プロセスのデプロイ Copyright© 2012, Oracle. All rights reserved. 53 プロジェクトのデプロイ (1/8) • 「アプリケーション・ナビゲータ」で、 プロジェクト「ComplexGateway」を右クリックし、 「デプロイ > ComplexGateway」を選択 Copyright© 2012, Oracle. All rights reserved. 54 プロジェクトのデプロイ (2/8) • 「アプリケーション・サーバーにデプロイ」を選択して「次へ」を クリック 1 2 Copyright© 2012, Oracle. All rights reserved. 55 プロジェクトのデプロイ (3/8) • 「同じビジョンIDで既存のコンポジットを上書きします。」を チェックして「次へ」をクリック 1 2 Copyright© 2012, Oracle. All rights reserved. 56 プロジェクトのデプロイ (4/8) • プロジェクトのチェックボックスをチェックして、「既存のアプリケー ションを上書き」をチェックして、「OK」をクリック 2 1 3 Copyright© 2012, Oracle. All rights reserved. 57 プロジェクトのデプロイ (5/8) • 「WLS_Remote」を選択して、「次へ」をクリック 1 注意: 「WLS_Remote」の作成方法は、最後の補足情報「[補足] アプリケーション・サーバ接続の作成」を参照してください。 事前に接続する管理サーバーとSOAサーバーを起動して おく必要があります。 2 Copyright© 2012, Oracle. All rights reserved. 58 プロジェクトのデプロイ (6/8) • 検出されたSOAサーバーを選択されたまま「次へ」をクリック Copyright© 2012, Oracle. All rights reserved. 59 プロジェクトのデプロイ (7/8) • 「終了」をクリックし、デプロイを開始する Copyright© 2012, Oracle. All rights reserved. 60 プロジェクトのデプロイ (8/8) • デプロイ完了した後のログは、以下となる Copyright© 2012, Oracle. All rights reserved. 61 ComplexGateway アプリケーションの作成 ImmigrationClearanceプロセス 連続2回承認 のケース 手順 テスト モデリ ング ユーザー 処理 1 weblogic passportIDを入力してプロ セス起動 2 cdickens 承認する 3 jcooper 承認する 承認 > 却下 > 承認のケース 手順 実装と デプロイ ユーザー 処理 1 weblogic passportIDを入力してプロ セス起動 2 cdickens 承認する 3 cdoyle 却下する 3 jcooper 承認する Copyright© 2012, Oracle. All rights reserved. 62 プロセスのテスト 連続2回承認 のケース (1/7) • 「weblogic」ユーザーでEMにログインし、左側のパネルから 「SOA > soa-infra > default > ComplexGateway」を選択し、 右側の「テスト」をクリック 2 1 Copyright© 2012, Oracle. All rights reserved. 63 プロセスのテスト 連続2回承認 のケース (2/7) • 引数「passportID」に任意値を入力して「Webサービスのテスト」 をクリック 2 1 Copyright© 2012, Oracle. All rights reserved. 64 プロセスのテスト 連続2回承認 のケース (3/7) • フロー・トレースを起動 注意: 3つのチェック・タスクが全部実行中 の状態です。 Copyright© 2012, Oracle. All rights reserved. 65 プロセスのテスト 連続2回承認 のケース (4/7) • ユーザー「cdickens」でBPM Workspaceにログインし、アクション の「Approve」をクリックしてアサインされたタスクを処理する 1 2 Copyright© 2012, Oracle. All rights reserved. 3 66 プロセスのテスト 連続2回承認 のケース (5/7) • ユーザー「jcooper」でBPM Workspaceにログインし、アクション の「Approve」をクリックしてアサインされたタスクを処理する 2 Copyright© 2012, Oracle. All rights reserved. 3 67 プロセスのテスト 連続2回承認 のケース (6/7) • 再度「フローのトレース」ページで「リフレッシュ」をし、プロセスと タスクの状態を確認して、「ImmigrationClearance」をクリック 注意: 未処理のタスク「CheckCredit」は、 取消しされたため状態も「完了」とな っており、プロセスも「完了」です。 Copyright© 2012, Oracle. All rights reserved. 68 プロセスのテスト 連続2回承認 のケース (7/7) • 表示される監査証跡ページで「フロー」を確認 Copyright© 2012, Oracle. All rights reserved. 69 プロセスのテスト 承認 > 却下 > 承認のケース (1/8) • 「weblogic」ユーザーでEMにログインし、左側のパネルから 「SOA > soa-infra > default > ComplexGateway」を選択し、 右側の「テスト」をクリック 2 1 Copyright© 2012, Oracle. All rights reserved. 70 プロセスのテスト 連続2回承認 のケース (2/8) • 引数「passportID」に任意値を入力して「Webサービスのテスト」 をクリック 2 1 Copyright© 2012, Oracle. All rights reserved. 71 プロセスのテスト 連続2回承認 のケース (3/8) • フロー・トレースを起動 注意: 3つのチェック・タスクが全部実行中 の状態です。 Copyright© 2012, Oracle. All rights reserved. 72 プロセスのテスト 連続2回承認 のケース (4/8) • ユーザー「cdickens」でBPM Workspaceにログインし、アクション の「Approve」をクリックしてアサインされたタスクを処理する 1 2 Copyright© 2012, Oracle. All rights reserved. 3 73 プロセスのテスト 連続2回承認 のケース (4/8) • ユーザー「cdoyle」でBPM Workspaceにログインし、アクション の「Reject」をクリックしてアサインされたタスクを処理する 1 2 Copyright© 2012, Oracle. All rights reserved. 3 74 プロセスのテスト 連続2回承認 のケース (6/8) • 再度「フローのトレース」ページで「リフレッシュ」をし、プロセスと タスクの状態を確認 注意: 複合ゲートウェイの条件式を満たしていないため、 未処理のタスク「CheckDriverLicense」は、まだ 「実行中」の状態であることを確認 Copyright© 2012, Oracle. All rights reserved. 75 プロセスのテスト 連続2回承認 のケース (5/8) • ユーザー「jcooper」でBPM Workspaceにログインし、アクション の「Approve」をクリックしてアサインされたタスクを処理する 2 Copyright© 2012, Oracle. All rights reserved. 3 76 プロセスのテスト 連続2回承認 のケース (6/8) • 再度「フローのトレース」ページで、「リフレッシュ」をしてプロセス とタスクの状態が全て完了であることを確認し、 「ImmigrationClearance」をクリックして監査証跡を確認 Copyright© 2012, Oracle. All rights reserved. 77 プロセスのテスト 連続2回承認 のケース (8/8) • 表示される監査証跡ページで「フロー」を確認 Copyright© 2012, Oracle. All rights reserved. 78 [補足] アプリケーション・サーバ接続の作成 (1/7) • メニューから「表示 > アプリケーション・サーバー・ナビゲータ」 を選択して、アプリケーション・サーバー・ナビゲータを表示さ せる Copyright© 2012, Oracle. All rights reserved. 79 [補足] アプリケーション・サーバ接続の作成 (2/7) • アプリケーション・サーバー・ナビゲータで、ルートの「アプリケ ーション・サーバー」を右クリックし、「新規アプリケーション・サ ーバー」をクリック Copyright© 2012, Oracle. All rights reserved. 80 [補足] アプリケーション・サーバ接続の作成 (3/7) • 作成ウィザードが表示され、「スタンドアロン・サーバー」を選択 し、「次へ」をクリック Copyright© 2012, Oracle. All rights reserved. 81 [補足] アプリケーション・サーバ接続の作成 (4/7) • 「接続名」に「WLS_Remote」を入力し、「次へ」をクリック Copyright© 2012, Oracle. All rights reserved. 82 [補足] アプリケーション・サーバ接続の作成 (5/7) • 管理ユーザーの「weblogic」とパスワードを入力し、「次へ」をク リック Copyright© 2012, Oracle. All rights reserved. 83 [補足] アプリケーション・サーバ接続の作成 (6/7) • 接続するWeblogicホスト名(管理サーバー)の情報を入力し、 「次へ」をクリック 項目 値 Weblogic ホスト名 soa11gps4 環境に合わせ て変更必要 ポート 7001 環境に合わせ て変更必要 Weblogic ドメイン base_domain 環境に合わせ て変更必要 Copyright© 2012, Oracle. All rights reserved. 84 [補足] アプリケーション・サーバ接続の作成 (7/7) • 接続テストをおこない、正常の場合、「終了」をクリック Copyright© 2012, Oracle. All rights reserved. 85 リファレンス • 英語版のComplex Gatewayサンプル・アプリケーション・ガイド http://java.net/projects/oraclebpmsuite11g/downloads/download/Samples/ bpm-106ComplexGateway/BPM%2011g%20Sample_Complexgateway.pdf • 複合ゲートウェイの概要について http://docs.oracle.com/cd/E24001_01/doc.1111/b61409/model_bus_proc s_bpmpd.htm#sthref230 • 複合ゲートウェイでの式の記述について http://docs.oracle.com/cd/E24001_01/doc.1111/b61409/exps_conds_bpm pd.htm#CHDIFADH Copyright© 2012, Oracle. All rights reserved. 86 Copyright© 2012, Oracle. All rights reserved. Copyright© 2012, Oracle. All rights reserved. 88