UML2.0がリリースして間もないことから、現在はUML2.xやUML3.0に関する記述は見当たらない。今はMDAを意識して大幅に改善したUML2.0の普及啓蒙に力を注いでいる時期なのだろう。
そんな中、筆者自身が気になるのは、ビジネスプロセスモデルに関わるモデリングとUMLの関係である。
ここ最近、BPM(Business Process Management)やSOA(Service Oriented Architecture)に対して注目度が高まっていることから、ビジネスプロセスモデルへの注目度が高まっており、リアル世界のビジネスプロセスをビジネスプロセスモデルとして「より多くの情報を、より正確に」に伝達することは重要な要素となりつつある。
これに対応したビジネスプロセスモデルの表記法には、BPMI(Business Process Management Inisiative)が策定しているBPMN(Business Process Modeling Notation)がある。BPMNは、BPMI自体がBPMのシステム開発を支援するために組織された団体であることから、BPEL(Business Process Execution Language)に代表されるビジネスプロセスの実行言語をサポートしている点に特徴がある。
UMLモデリング・ツールに目を向けると、ツール自体にビジネスプロセスモデリング機能が追加され、ビジネスプロセスモデルが記述できるようになりつつあるが、その表記法は、UML(主にアクティビティ図)なのか、BPMNなのか、それ以外なのかはUMLモデリング・ツールによって異なるのが現状である。
ビジネスプロセスモデリングの対応
Borlandが2005年8月末にリリース予定のTogetherの新バージョンでは、BPMNのサポートを新機能として提供している。また、Compuwareの新バージョン「OptimalJ 4.0」では、「UML 2.0 Activety Diagramへの対応によってプロセス指向開発機能を追加した」としている。
本来のモデリングとは情報伝達手段として効果があるため、異なるモデル表記法が乱立することは望ましくない。可能であれば1つの表記法に統一されてほしいものだが、UML(主にアクティビティ図)によるビジネスプロセスモデルの表現力は現状高いとはいえず、即座にUMLに統一するという選択肢には無理がある。
しかしながら、2005年6月29日にBPMIとOMGがBPMにおける標準化活動を合併することを発表した。この合併により、これまでBPMIとOMGがそれぞれ行ってきた先進的な活動を継承しつつ、次のようなビジネスプロセス管理(BPM)の諸問題に総合的に取り組むことになるとしている。
- BPMIのビジネスプロセス・モデリング表記法(BPMN)の改良と普及
- BPMIのビジネスプロセス定義メタモデル(BPDM)の提供
- ビジネス言語、語彙、およびルール
- ビジネス情報管理(BIM)
- エンタープライズアプリケーション統合(EAI)
- ビジネス間協調(B2B)
- Webサービスの情報およびプロセス
- セキュリティポリシーおよび管理
- ビジネスプロセス管理の原理、アプローチの産業界における発展と普及啓発
これでビジネスプロセスモデルの統一がはかられると同時に、UMLはプログラムコードのみならずBPELなどのビジネスプロセス実行言語の自動生成を行う基点として、その重要性が増すことになるだろう。
BPMNがUMLに統合される場合、BPMNとアクティビティ図が整理統合されることになると思われる。図2、3で現状のBPMNとアクティビティ図を簡単に紹介しておこう。
図2:BPMNとUMLの違い(1)
図2は単純なシーケンスを表現した図であるが、ビジネスプロセス図とアクティビティ図の間に主な違いはない。強いていえば、アクティビティの角の丸みの違いと矢印の形に違いがある。
図3:BPMNとUMLの違い(2)
図3の例では、アクティビティ図の表現力の弱さが垣間見られる。この2つのモデルでは、排他的なゲートウェイ(ビジネスプロセス図の菱形)に到着するトークンは、1つ以外すべて排除される(つまり、ゲートウェイは最初のトークンの通過を許可し、残りのトークンをブロックする)ことを表現しているが、アクティビティ図に関しては、このパターンを表現するメカニズムを持っていないため、どうしても曖昧な日本語による注釈で補うしかない。総じてBPMNのビジネスプロセス図は、分岐や合流における表現力に長けており、シンプルかつ自然に表現できるメカニズムを持っている。
このようなビジネスプロセスモデルがBPELなどのビジネスプロセスの実行言語に変換されることを考えると、やはりUML(アクティビティ図)では物足りなさを感じる。
|