BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース SOAとBPMの距離を縮める

SOAとBPMの距離を縮める

ブックマーク

原文(投稿日:2009/09/30)へのリンク

JP Morgenthal氏は最近の「Keep Your SOA and BPM Initiatives Separate(SOAとBPMを切り離しましょう)」というブログ記事でこう述べている。

・・・SOAとBPMを一体化させようとする試みでは問題と失敗の山が築かれています。それぞれの方法について見解を示し明確な目標を設定すべきです。しかしその目標では、それぞれが他方を成果の一部として記述するものであってはいけません。SOAによる合理化によってあるビジネスプロセスの実装を単純化するサービスが登場したとしたら、それは大いに結構です。しかし、SOAとBPMはそれぞれの成功指標があり成功への障害があるものです。両方をひとつにするという話を聞くと「海を蒸発させる(多くの大きな問題を解決しようとする無駄な試み)」という言葉を思い出させます。

しかし氏はその前にこう書いている。

歴史的にSOAとBPMは同時期に人気が高まりました。主に技術的実践者たちによって主導されたSOAがBPMの実践者の要望に応えて、新設計の有効な組織横断ビジネスプロセスを掌握して実装するフレームワークをつくりました。

氏の論点はプロセス中心のSOAの見方を広めているZapthinkのJason Bloomberg氏によって強調され、疎結合なビジネスサービスをつくる上で重要なのはビジネスプロセスを実装するサービスをメタデータによって構成できるようにすることだという。このようなアプローチはプロセス同型(Process Isomorphism)というパターンをベースにしている。これはBPMとSOAの効果をまとめるのに役立つものだ。そしてプロセス同型によってコアとなるビジネスを実際におこなう人たちとSOAの連携が向上する。

もしビジネスプロセスをモデリングするとき、そしてそれとは別にそのプロセスを実装するサービスの構成をモデリングするとき、2つのモデルが同じ構造の時にそれらが同型であるといえます。

プロセスの細分化はサービス定義の基盤にも利用でき、それによってビジネスとITの間に共通言語をつくることができる、ただしそれはSOAが正しく設計されている時だけだ、とBloomberg氏は説明する。

・・・プロセスのサブタスクとサービスが1対1に対応することは決して必然のものではありません。実際には、そのような対応のあるサービス構成の設計に多くの組織が失敗しています。よく問題になるのは、SOAの取り組みが過度にボトムアップであり、アーキテクトが既存のポテンシャルを元にしてサービスの仕様を決めることです。このようなボトムアップのアプローチは大抵プロセス要求にマッチしないサービスを作り出します。同様に、BPMの取り組みは過度にトップダウンであり、サービスがプロセスのステップを実装できるようプロセスの詳細を顧みることをしないままプロセスを最適化しようとします。各イテレーションでトップダウンな設計とボトムアップな設計を結びつけるような反復的アプローチによってのみプロセス同型が実現可能になるのです。

Bloomberg氏によると、プロセス同型の本質的な利点は、プロセスでサービス構成を表すことができ、逆にサービス構成でプロセスを表すことができることにある。

形式張らないこの等価性にはさまざまな利点があります。たとえば、プロセスのステップがサービスに直接対応するなら、ステップとサービスの対応があまり明確でない場合よりサービスの再利用が簡単におこなえます。サービスの再利用の議論はプロセスのオーバーラップという文脈においておこなうことができます。もし2つのプロセスがタスクを共有するなら、それらのプロセスを実装するサービス指向ビジネスアプリケーション間でサービスを共有することもできます。さらに、構成ロジックをメタデータ(たとえばBPELファイル)で表すことはプロセスロジック自体を表すことになります。プロセス同型がないと、BPMのチームが作ったプロセスロジックが、サービス構成を記述するBPELロジックに直接対応しなくなります。この非対応はITのポテンシャルとビジネス要件のギャップへとつながります。またプロセスとサービス構成の関係に明確さが欠けると両者の間に意図しない密結合ができる可能性があり、それはビジネスの俊敏さを制限するものになります。

結合可能であること(composability)はビジネスサービスの大きな特徴だ。同じサービスの集まりから相異なるビジネスソリューションを作りだせるのはサービスが結合可能であるためだ。結合可能でありビジネスとも合うサービスを作るための方法でもっとも一般的な方法の一つは、プロセスの細分化に基づいてサービスを定義することだ。一方で、特定のサービス群をビジネスソリューションとして構成するための方法としてビジネスプロセスが広く利用されている。Bloomberg氏によるプロセス同型パターンは、サービスとプロセスを整合させ両方ともを改善しうる重要な手段となる。

この記事に星をつける

おすすめ度
スタイル

BT