そごうソフトウェア研究所

SOA、開発プロセス、ITアーキテクチャなどについて書いています。Twitterやってます@rsogo

BPELを使う理由 その1

BPELを敢えて使って、ビジネスプロセスを実装する理由ってなんでしょうか。よくお客さまからは、それってJavaでもできるよね、と言われます。


確かに。できます。


じゃあ、BPELを使うことのメリットとしてはどんなことがあるでしょうか。

  1. プロセス実装のための抽象度が上がる
  2. XMLというプラットフォーム、プログラム言語から独立したフォーマットで記述方法が標準化されている
  3. 変化対応力がある?
  4. 生産性は高い?


1の抽象度が上がることによって、よりシステム的な視点から離れ、業務の流れを組むということに集中できます。これは言い換えれば、プログラマではなく業務に詳しい人がフローを作ることができるということです。
(はい。現状は難しいですね。これからBPELから呼び出せるサービスが増えてきて、そのサービスの抽象度がいわゆるサービスというところまで上がってくれば、実現可能じゃないでしょうか)


2はBPEL/XMLも言語なので(LはLanguageのL)、Javaや.Netに依存してない代わりにBPELという言語に依存しているわけですが、実情を見るとBPELJavaなどの上で動いているわけで、環境さえ整えばJavaだろうが.Net FrameworkだろうがBPELで作ったものが動くことになります。


また、Javaなどのプログラミング言語は自由度がかなりあるのでUMLなどを使ったGUIでの開発は(いろいろな所で試みられていますが)実用的なレベルまで達していないという実感です。


BPELというMarkup言語をベースとした、ある程度、仕様によって機能の制限されたものを使うことで、UMLツールや業務フロー設計ツールからBPELファイルを生成することが簡単にできます。実際、世の中にはBPELを組んでいくためのGUIツールが沢山あります。


残り二つは、また今度。