Oracle BPM SuiteによるBPMNモデリング
-
Upload
oracle-fusion-middleware -
Category
Technology
-
view
1.465 -
download
3
description
Transcript of Oracle BPM SuiteによるBPMNモデリング
<Insert Picture Here>
BPMNによるビジネスプロセス・モデリング
日本オラクル株式会社
Copyright© 2012, Oracle and/or its affiliates. All rights reserved. 2
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。
OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
はじめに
•本ドキュメントは、Oracle BPM Suite 11.1.1.6を対象にしています。
3
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
Agenda
• BPMNの基本
• BPMN イントロダクション
• BPMN における主要概念
• Oracle BPMで使用可能なアクティビティ
• プロセス・モデリング・パターン例
• 基本的なパターン
• 拡張的な分岐と同期パターン
• マルチインスタンス・パターン
• キャンセル・パターン
4
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
BPMNの基本
5
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
BPMN イントロダクション
• BPMN とは?
• Business Process Modeling Notation(BPMN)とは、ビジネス・プロセスを描画するグラフィカルな標準記法です
• ビジネス・プロセスとその相互関係をフロー形式で表現します
• OMGコンソーシアムによって策定され、最新バージョンは2.0 (2011年1月に正式リリース) です
• ビジネス・フレンドリー
• ハイレベルなプロセス・フローから、詳細レベルのフローまでを記述することが 可能です
• ビジネス・ユーザにも理解しやすい簡単な表現でありながら、開発者が設計で利用するのにも、十分な機能を有しています
• Execution Ready
• BPMNで定義された図と要素だけで、ビジネス・プロセス自体を一般化し、かつそのプロセスを実行するのに十分な情報を表現することが可能です
6
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
BPMN における主要概念 – オブジェクト
• BPMN は主に以下のオブジェクトで構成されます
• アクティビティ:プロセスが処理する作業を表します
• ゲートウェイ:分割やマージなどプロセスのフロー・ロジックを制御します。
• イベント:プロセスの開始、終了や他のプロセスとの通信、エラー・ハンドリングなどのプロセス内で発生する事柄を定義します
• シーケンス:フロー:プロセス内で実行されるアクティビティの順序を示します
7
終了イベント シーケンス・フロー
アクティビティ
開始イベント ゲートウェイ
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
BPMN における主要概念 – スイムレーン
• スイムレーンは、プロセスに属するロールをグラフィカルに表現する方法であり、アクティビティを組織等で分類するために利用されます
8
スイムレーン
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
Oracle BPMで使用可能なアクティビティ (1/4)
マーカー 種類 説明
対話型
• アプリケーションを介して人が実行するアクティビティを表します
• 対話のパターンに応じて、以下のアクティビティを使用できます
• ユーザー:シンプルな対話パターン
• イニシエータ:プロセスを開始
• グループ:グループ投票パターン
• 管理:管理チェーンパターン
• FYI:FYI通知パターン
• 複合:複雑なルーティングパターン
手動
• アプリケーションを介さずに人が実行するアクティビティを表します
• BPMNエンジンは、手動アクティビティの実行・管理は行いません
9
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
Oracle BPMで使用可能なアクティビティ (2/4)
マーカー 種類 説明
サービス • 他のプロセスやサービスを、同期的に呼び出します
受信 • 他のプロセスやサービスからの呼び出しを、非同期で受信します
送信 • 他のプロセスやサービスを、非同期で呼び出します
コール • 再利用可能プロセスを、同期的に呼び出します
ビジネス・ルール • ビジネス・ルール・エンジン (Oracle Business
Rules) を呼び出します
スクリプト
• データ・オブジェクトの値を変更します
• XPathで記述します
10
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
Oracle BPMで使用可能なアクティビティ (3/4)
マーカー 種類 説明
更新
• 1つ以上の対話型アクティビティに対して、操作を実行します
• 以下の操作が可能です • 結果の更新
• 優先順位の更新
• 取消
• 一時停止
• 再開
• エスカレート
• 再割当て
• 一時停止タイマー
サブプロセス • プロセスの一部をグループ化します
イベント・サブプロセス
• プロセスの実行中に発生する例外を、サブプロセスとして捕捉します
11
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
Oracle BPMで使用可能なアクティビティ (4/4)
マーカー 種類 説明
通知
• ユーザーまたはグループに対して、通知を送信します
• 以下の通知が可能です • 電子メール
• SMS
• インスタント・メッセージ
• ボイスメール
• ユーザー (アクティビティ実行時に通知タイプを指定します)
12
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
サブプロセス
• サブプロセスは、BPMNプロセスエディタ内でアクティビティ内部のプロセスを展開したり、折りたたんだりすることができます
• サブプロセスの中にさらにサブプロセスを配置するなど、入れ子にすることが可能です
• サブプロセスの繰り返し処理を記述することが可能です
• ループ:サブプロセス内のプロセスを指定回数実行
• マルチインスタンス:サブプロセスに対してインスタンスが生成され、 (シリアルもしくはパラレルで)指定回数実行
13
サブプロセスを折りたたんだ状態 サブプロセスの展開状態
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
サブプロセスの記述上の注意
正しくない記述
正しい記述
サブプロセスのフローから外部のアクティビティに直接接続してはならない
14
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
ゲートウェイ
• シーケンス・フローの分岐や収束など、プロセスのフロー・ロジックを制御するのがゲートウェイです
• Oracle BPM Suiteには、「排他」、「イベント・ベース」、「パラレル」、「包含」、「複合」の、5種類のゲートウェイがあります
• ゲートウェイには、シーケンス・フローをいつくかのフローに分ける
「分岐」と、分岐させたフローを集約させる「収束」があります
15
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
排他ゲートウェイ
• 排他ゲートウェイは、 のマーカーで表します
• 分岐で設定した真偽条件によって、複数のパスの中から一つのパスが選択されます
デフォルト・パス
真偽条件に応じて、いずれかのパスが選択されます
16
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
排他ゲートウェイによる収束
収束がない排他ゲートウェイ 収束がある排他ゲートウェイ
排他ゲートウェイでは、収束を使用しなくても問題ありません
17
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
パラレル・ゲートウェイ
• パラレル・ゲートウェイは、 のマーカーで表します
• 分岐から分かれた複数のパスを同時に実行します
• 分岐したパスは、全てのパスが収束で合流するか、別々の終了イベントに向かいます
両方のパスを実行します
18
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
包含ゲートウェイ
• 包含ゲートウェイは、 のマーカーで表します
• 条件式が真となる全てのパスを実行します
• 下記の例では、金額が5,100万の場合、社長、上長、経理の承認タスクを通過するパスを実行しますが、金額が3,200万の場合、上長、経理の承認タスクのパスしか実行しません
19
100万以上
5,000万以上
デフォルト
5,100万 3,200万
デフォルト・パス
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
複合ゲートウェイの使用法
• 複合ゲートウェイは、 のマーカーで表します
• 収束で設定された条件式が真となれば、全てのフローが戻らなくても先に進みます
• 下記の例では、承認マージ・ゲートウェイの条件として社長承認があれば、上長、経理承認が無くてもフローを進めます
20
5,100万
社長承認があるので フローを進める
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
イベント
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
イベント
• プロセスの進行タイミングを制御するもので、ある事象の発生地点を表現します
• イベントを表すマークには、3つの意味があります。
• イベントの発生点
• イベントのスロー/キャッチ
• イベント内容
• イベントの発生点は、「開始」、「中間」、「終了」の3種類あります
• イベントの発生側/受信側によって、「スロー・イベント」、「キャッチ・イベント」に分けられます
• イベント内容は、発生タイミングや発生/受信方法によって「なし」、「メッセージ」、「シグナル」、「タイマー」、「エラー」の5つに分けられます
22
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
イベント発生点
• 円の線の種類でイベント発生点を区別します。
23
マーカー 種類 説明
開始イベント
• プロセスの開始点を表します
• 細線で表現されます
終了イベント
• プロセスの終了点を表します
• 太線で表現されます
中間イベント • 開始イベントと終了イベントの間で、イベントが発生する場所を表します
• 二重線で表現されます
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
イベントのスロー/キャッチ
• 中心にあるアイコンの塗りつぶし方で区別します
24
マーカー 種類 説明
スロー
• 指定した種類のイベントをスローします
• スローは、中間イベント、終了イベントで利用可能です
• 中心にあるアイコンが濃く塗りつぶされて表現されます
キャッチ
• 指定したイベントをキャッチします
• キャッチは、開始イベント、中間イベントで利用可能です
• 中心にあるアイコンは塗りつぶされずに表現されます
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
イベント内容
• 中心にあるアイコンの種類で区別します
25
マーカー 種類 説明
なし • 発生や受信のタイミングを持たないイベントです
メッセージ • メッセージの送受信のためのイベントです
シグナル
• シグナルの送受信のためのイベントです
• 複数のシグナルイベントに同時に送信することが可能です
タイマー • 設定した日時、または時間間隔で発生するイベントです
エラー • エラーに関するイベントです
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
開始イベント・タイプ
• プロセスの開始点を表します
• 1つのプロセスに対して、複数の開始イベントを配置可能です
26
マーカー 種類 説明
なし • イニシエーターもしくは受信アクティビティからプロセスを起動する場合に使用します
• サブ・プロセスは必ず「なし」イベントから開始します
メッセージ • メッセージの受信をトリガーとしてプロセスを起動します
シグナル • シグナルの受信をトリガーとしてプロセスを起動します
タイマー • 設定した特定の日時または時間間隔をトリガーとしてプロセスを起動します
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
終了イベント
• プロセスの終了点を表します
• 1つのプロセスに対して、複数の終了イベントを配置可能です
27
マーカー 種類 説明
なし
• プロセス完了時にアクションを実行しません
• サブプロセスでは、制御がメインプロセスに戻り、引き続きメインプロセスの処理が行われます。
メッセージ • プロセス完了時に、他のプロセスやサービスにメッセージを送信します
シグナル • プロセス完了時に、他のシグナル・イベントにシグナルを送信します
エラー
• エラー・イベントをスローしてプロセスを終了します
• 通常サブプロセス内で使用され、親プロセスやイベント・サブプロセス内のエラー・キャッチ・イベントをトリガーします
終了 • プロセスを即時に強制終了します
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
中間イベント (1/2)
• プロセスの開始点と終了点ではなく、プロセス中に配置するイベントを中間イベントと呼びます
• 中間イベントには、スローとキャッチ・イベントがあります
• キャッチ・イベントは、該当するシグナルまたはメッセージをスロー・イベントが送信するまで、処理をブロックします
28
マーカー 種類 説明
なし • 何も行いません
メッセージ
• メッセージをスローします
• メッセージは他のプロセスにある、指定のメッセージ・キャッチ・イベントをトリガーします。
シグナル
• シグナルをスローします
• スローしたシグナルをキャッチする、1つ以上のシグナル・キャッチ・イベントをトリガーします。
スロー・中間イベント
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
マーカー 種類 説明
エラー
• エラー・イベントをキャッチします
• エラーのキャッチがトリガーとなって、エラー・イベント後の処理を実行します
メッセージ
• メッセージをキャッチします
• メッセージのキャッチがトリガーとなって、プロセスを再開します
シグナル
• シグナルをキャッチします
• シグナルのキャッチがトリガーとなって、プロセスを再開します
タイマー • 設定した特定の日時または時間間隔がトリガーとなって、プロセスを再開します
中間イベント (2/2)
29
キャッチ・中間イベント
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
メッセージ・イベント例
• メッセージの送信側でメッセージ・スロー・イベント、受信側でメッセージ・キャッチ・イベントを使用します
• 呼び出し引数や返り値を指定できます
30
承認プロセスの開始 イベントにメッセージを送信
見積プロセスの中間・キャッチ イベントにメッセージを送信
メッセージをスロー メッセージ受信後プロセスを進める
それまで受信待ち
メッセージを受信することで プロセスを開始する
メッセージをスロー してプロセスを終了
見積プロセス
承認プロセス
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
シグナル・イベント例
• イベントの送信側でイベント・スロー・イベント、受信側でイベント・キャッチ・イベントを使用します
• スローされたシグナルには識別子があり、キャッチ・イベントで捕捉すべきシグナルを判別できます
31
シグナル1をスロー
シグナル1をキャッチ する全てのプロセスが
実行
シグナル2をスロー
シグナル2をキャッチ する全てのプロセスが
実行
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
タイマー・イベント例
• タイマーを使ったプロセス制御が可能です
• タイマーとして、設定日時、または時間サイクルが利用可能です
32
四半期に一度 プロセスを開始する。
1週間経ってもパスワードが 変更されなければ催促メール
送信タスクに進む。
午前0時になるまでプロセスは中断。
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
エラー・イベント例
• プロセス内のエラー制御を行う場合に使用します
• システム・エラーの他、独自のエラーを定義して制御することも可能です
33
与信が無い場合 エラーを送信
与信エラー捕捉し カード受付拒否 イベントに進む
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
プロセス・モデリング・パターン例
34
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
プロセス・モデリング・パターン
• ここでは、プロセス・モデリングの典型的なパターンについて記述します
• その他のパターンについては、以下のサイトを参考にしてください
• http://www.workflowpatterns.com/patterns/control/index.php
35
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
基本的なパターン (1/3) ~ 基本的なプロセス制御
• 直列
• アクティビティを直列に処理するパターン
• 並列スプリット
• 複数の並列パスに分岐し、並列に実行するパターン
36
パラレル・ゲートウェイを使用
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
基本的なパターン (2/3)
• 同期
• 並列パスを、一つのパスに収束するパターン
• 排他選択
• 条件に基づいて、分岐パスから一つのパスを選択するパターン
37
排他ゲートウェイを使用
パラレル・ゲートウェイを使用
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
基本的なパターン (3/3)
• シンプル・マージ
• 複数のパスを一つのパスにマージするパターン
38
排他ゲートウェイを使用
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
拡張的な分岐と同期パターン (1/2) ~ より複雑な分岐とマージによるプロセス制御
• 複数選択
• 条件に基づいて、複数のパスから1つ以上のパスを選択するパターン
• 同期マージ
• 複数選択パターンにて分岐した複数のパスを、1つのパスに収束するパターン
• すべてのトークンが同期される
39
包括ゲートウェイを使用 包括ゲートウェイ
を使用
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
拡張的な分岐と同期パターン (2/2)
• 複数マージ
• 複数選択パターンにて分岐した複数のパスを、1つのパスに収束するパターン
• トークンはマージされない
• 構造化された弁別器
• 並列スプリットにて分岐したパスを、1つのパスに収束するパターン
• 最初のトークンのみ流す
40
排他ゲートウェイを使用
複合ゲートウェイを使用
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
マルチインスタンス・パターン (1/2) ~ プロセスの一部をマルチスレッドで実行
• 非同期マルチインスタンス
• 複数のインスタンスが生成され、互いに独立して同時実行されるパターン
• 設計時認知マルチインスタンス
• 複数のインスタンスが生成され、互いに独立して同時実行されるパターン
• インスタンス数は事前に決定
41
マルチインスタンスのサブプロセスを使用
インスタンス数を固定値としたマルチインスタンスのサブプロセスを使用
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
マルチインスタンス・パターン (2/2)
• 実行時認知マルチインスタンス
• 複数のインスタンスが生成され、互いに独立して同時実行されるパターン
• インスタンス数は実行時に決定
42
インスタンス数を変数値としたマルチインスタンスのサブプロセス
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
キャンセル・パターン ~ アクティブなインスタンスを停止させるパターン
• キャンセル・タスク
• タスクを実行前に停止させるパターン
• キャンセル・ケース
• プロセス・インスタンスを停止させるパターン
• プロセス・インスタンスは未完了の状態で停止
43
更新タスクによるタスクの停止 エラー・キャッチ・イベントと終了イベント
によるプロセス・インスタンスの停止
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
オラクルのミドルウェア関連情報
44
最新情報つぶやき中
OracleMiddle_jp
twitter.com/OracleMiddle_jp/
slideshare.net/OracleMiddleJP
製品資料
顧客事例
ホワイトペーパー
などなど
最新情報
おすすめ情報
セミナ情報
などなど
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
Copyright© 2012, Oracle and/or its affiliates. All rights reserved. 46
■パフォーマンス診断サービス
•Webシステム ボトルネック診断サービス
•データベースパフォーマンス 診断サービス
オラクル社のエンジニアが 直接ご支援します お気軽にご活用ください!
オラクル 無償支援 検索
NEW
■システム構成診断サービス
•Oracle Database構成相談サービス
•サーバー統合支援サービス
•仮想化アセスメントサービス
•メインフレーム資産活用相談サービス
•BI EEアセスメントサービス
•簡易業務診断サービス
■バージョンアップ支援サービス
•Oracle Databaseバージョンアップ支援サービス
•Weblogic Serverバージョンアップ支援サービス
•Oracle Developer/2000(Froms/Reports) Webアップグレード相談サービス
■移行支援サービス
•SQL Serverからの移行支援サービス
•DB2からの移行支援サービス
•Sybaseからの移行支援サービス
•MySQLからの移行支援サービス
•Postgre SQLからの移行支援サービス
•Accessからの移行支援サービス
•Oracle Application ServerからWeblogicへ 移行支援サービス
ITプロジェクト全般に渡る無償支援サービス
Oracle Direct Conciergeサービス
NEW
NEW
Copyright© 2012, Oracle and/or its affiliates. All rights reserved. 47
インストールすることなく、すぐに体験いただけます
製品無償評価サービス
http://www.oracle.com/jp/direct/services/didemo-195748-ja.html
Web問い合わせフォーム 「ダイデモ」をキーワードに検索することで申し込みホームページにアクセスできます
提供シナリオ一例
・データベースチューニング
・アプリケーション性能・負荷検証
・無停止アップグレード
・Webシステム障害解析
1日5組限定!
※サービスご提供には事前予約が必要です
• サービスご提供までの流れ
1. お問合せフォームより「製品評価サービス希望」と必要事項を明記し送信下さい
2. 弊社より接続方法手順書およびハンズオン手順書を送付致します
3. 当日は、弊社サーバー環境でインターネット越しに製品を体感頂けます
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
http://www.oracle.com/jp/direct/inquiry-form-182185-ja.html
Oracle Direct 検索
あなたにいちばん近いオラクル
Oracle Direct まずはお問合せください
Web問い合わせフォーム フリーダイヤル
専用お問い合わせフォームにてご相談内容を承ります。
※こちらから詳細確認のお電話を差し上げる場合がありますので、ご登録さ れている連絡先が最新のものになっているか、ご確認下さい。
0120-155-096
※月曜~金曜 9:00~12:00、13:00~18:00
(祝日および年末年始除く)
システムの検討・構築から運用まで、ITプロジェクト全般の相談窓口としてご支援いたします。
システム構成やライセンス/購入方法などお気軽にお問い合わせ下さい。
Copyright© 2012, Oracle and/or its affiliates. All rights reserved.
Copyright© 2012, Oracle and/or its affiliates. All rights reserved. 50