本文へジャンプ


WebSphere > WebSphere Developer Domain > 

WebSphereでビジネス統合を実現する

第5回 プロセス統合(コントロール要素)

 
レベル: 初級・中級者向け
2006年2月15日(水)
Software TS&S WebSphere TS&S
IT Specialist 豊村明彦
Process Services
プロセス・サービスは、さまざまなサービスを連携してひとつのビジネス・ロジックとして処理手順を実行するためのエンジンです。プロセス・サービスによって、ビジネス・ロジックをサービスの集合体として実装することで、より適切な仕事の流れ(ビジネス・プロセス)の選択を可能にします。つまりプロセス・サービスは、ビジネス・プロセスを構成するサービス・コンポーネントをより効果的・効率的なサービスで置き換えることを簡単にするので、オンデマンド・ビジネスの実現にとって極めて重要なコンポーネントとして位置づけることができます。プロセス・サービスを実行するエンジンとして提供されているオペレーティング環境がWebSphere Process Serverです。
図1 SOA Reference Architecture
図1 SOA Reference Architecture 拡大図

上に戻る
WebSphere Process Server
WebSphere Process ServerはWebSphere Application Server(WAS)の最上位製品として位置づけられ、WAS V6の持つ基本的な環境と、SOAを支える各種サービス、ビジネス・プロセスを実行するための各種の実行エンジンから成り立っています。

WebSphere Process Serverが扱うサービスには、ビジネスに直結する巨視的なロジックと、ビジネスには直結しないけれどもオペレーティング環境が提供するレベルの微視的なロジックなどがあります。ビジネス・プロセスを実装するためには、さまざまなサービスを統合することになります。それがSOAの考え方です。このサービスはさまざまな種類と粒度を持っており、人が対話的に判断する業務、データベース・サービス、既存のアプリケーションによるサービス、外部企業のシステムが提供するサービスなどの巨視的なサービスから、データ変換サービス、コード変換サービス、メッセージ・ルーティング・サービス、Webサービスのインターフェイスを持つテクノロジー・アダプターなどのより微視的(IT的)なサービスまで全てがWebSphere Process Serverが実行を制御できるサービスです。

プロセスをデザインし実行する手順は、次のようになります。
1. WebSphere Business Modelerでビジネス・プロセスを作成する(成果物はBPELとして出力される)  
2. WebSphere Integration Developerで実行するサービスを組み立てる(BPELをインポート後、実装する)  
3. WebSphere Process Serverで実行する(完成したモジュールをデプロイする)  

ビジネス・プロセスの開発は役割を分担して行われるべきです。ビジネス・プロセスの開発者は本来、JavaやJ2EEを操るコーディングの専門家ではなく、ビジネス・アナリストとして位置づけます。ビジネス・プロセスを構築するのに必要なJavaやJ2EEの実行モジュールは、プロセスの開発者とは別の実行モジュール開発担当者によって標準的なサービス・コンポーネントとして開発されることになります。ビジネス・プロセスの開発者は、事前に開発されたそれらの実行モジュールをWebSphere Integration Developerが提供するGUI環境で使用することができます。ビジネス・プロセスの開発者はビジネス・ロジックの開発に集中し、WebSphere Business Modelerを使用したデザインからWebSphere Integration Developerによる実装まで、Javaのコーディングをほとんど知らなくてもアプリケーションを開発することができるのです。

上に戻る
WebSphere Business Modeler
ビジネス・プロセスをエンジン上で動かすためには、まずビジネス・プロセスをデザインする必要があります。そのデザインを元にビジネス・プロセス・エンジンは複数のサービスを決められた手順で実行していきます。ビジネス・プロセスをデザインするためのツールとして提供されている製品がWebSphere Business Modelerです。
図2 WebSphere Business Modeler
図2 WebSphere Business Modeler

WebSphere Business Modelerは、Eclipse 3.0ベースのGUI環境を提供しています。(ちなみにWebSphere製品の開発環境は全てEclipseベースに統一されています)
この製品を使うユーザーはビジネス・アナリストが対象とされています。もちろん、IT的な定義も必要ですので最初はIT技術者と協業することが必要ですが、プロセスの定義になればビジネス・ロジックに集中して開発を進めることができます。
非常に便利な機能としてコストやワークロードの詳細なシミュレーションができるようになっており、プロセス開発の途中や実稼働後のプロセス改善の際に、より効率的なプロセスのデザインに変更することができます。
さらに、モデリングの最中に設定された各種ビジネス指標やKPI(Key Performance Indicator)は、WebSphere Business MonitorにてIMPORTすることができ、実稼働時に監視対象とすることができます。
図3 ビジネス・プロセスのデザインとライフ・サイクル
図3 ビジネス・プロセスのデザインとライフ・サイクル
上に戻る

WebSphere Business Monitor
実稼働時のデータを採取して、状況をリアルタイムでモニターすることができます。ビジネス・プロセスが動いている中でリアルタイムに問題に対するアクションをとることができるのです。同時に、収集した結果の統計的データはWebSphere Business Modelerに再度フィードバックされ、ビジネス・プロセス・モデルの見直しに利用することができ、オンデマンド・ビジネスの最適化を進めることができます。
図4 WebSphere Business Monitorダッシュボード
図4 WebSphere Business Monitorダッシュボード

上に戻る

WebSphere Integration Developer
WebSphere Business Modelerから出力されたBPELに基づき、実際に稼働するモジュールやサービスを関係づけ、出来上がったモジュールをプロセス・サーバーで実行できるモジュールを作成するツールがWebSphere Integration Developerです。WebSphere Integration Developerで完成したモジュールを、実行エンジンであるWebSphere Process Serverにデプロイ(配置)することによってビジネス・プロセスが実行できるようになります。
図5 WebSphere Integration DeveloperのBPELエディター
図5 WebSphere Integration DeveloperのBPELエディター

WebSphere Integration Developerは、WebSphere Process Serverにて実行するモジュールを開発するツールですので、BPEL以外にも、開発担当者がビジネス・プロセスを実装するためのツールが揃っています。 それらのツールで実装するものは、ビジネス・プロセスに必須である人間系の作業を定義するヒューマン・タスク、イベント・ドリブンなプロセスを定義するビジネス・ステート・マシン、日付/時刻によって処理が変更されるようなビジネス・ルール、プロセス間を流れるデータ(ビジネス・オブジェクト)のマッピングやフォーマット変換、ルーティングを行なうメディエーション・サービスなどです。

上に戻る

テクノロジー
WebSphere Process Serverでは、サービスをビジネス・プロセスとして統合するためにいくつかのテクノロジーを用いています。特徴的なものをリストアップしておきましょう。

BPEL
WebSphere Process Serverは、BPEL(Business Process Execution Language) 2.0をサポートします。BPELはプロセスを記述するための標準言語で、WebSphere Business Modelerの成果物であるビジネス・プロセスをEXPORTするとBPEL文書が出力されます。また、WebSphere Integration DeveloperにはBPELエディターが用意されており、下図のようなエレメントをドラッグ・アンド・ドロップで配置し関係付けることによってビジネス・プロセスを完成することができます。
図6 BPELのエレメント
図6 BPELのエレメント 拡大図

SCA
SCA(Service Component Architecture)は、標準化されたサービス指向のコンポーネント・モデルです。SCAコンポーネントは、サービスの実装ツールであるWebSphere Integration Developer上で再利用可能なサービス・コンポーネントです。WebSphere Integration Developerでは、このSCAコンポーネントを組み立ててSCAモジュールを生成します。プロセスの開発者は、JCAアダプターやその他の出来上がったSCAモジュール(WebSphere ESBのメディエーション機能もSCAに準拠しています)を組み合わせてビジネス・ロジックを組み立てるのです。SCAによってプログラミング・モデルが抽象化かつ標準化され従来のプログラミング・コーディングの複雑さを隠蔽することができます。アプリケーションから(つまりはWebSphere Process Serverのプロセスからも同様に)、SCAモジュールを呼び出すためには、Web Services、JMS、EJB、SCAの呼び出しメカニズムが使用できます。またSCAモジュールからは外部のSCAモジュール、Web Servicesプロバイダー、JMSプロバイダー、EJBなどを呼び出すことができます。
SDO
SDO(Service Data Objects)は、IBMとBEAによって提唱された汎用のプログラミング・モデルです。このデータ・オブジェクトはさまざまなデータ・アクセス・モデルの差異を吸収するので、プログラマーはアクセス方法(JDBC、JAX-RPC、JMSなど)やメッセージのトランスポート(XML、SOAP、JMSなど)を意識することなしに扱うことができます。
ESB
Enterprise Services Busのことです。ESBという言葉は標準技術を採用したデータ(サービス・リクエストなど)の通り道という概念です。ESBに求められる機能は、さまざまなプロトコルに対応したメッセージの変換やルーティングですが、これをメディエーション(仲介)機能ということがあります。例えばWebSphere Process Serverは、メディエーション機能を提供する製品として発表されているWebSphere ESBの機能も含んでいます。このWebSphere ESBでは、フォーマット変換やデータベースのLook up、条件によるルーティングなど機能別のプリミティブが提供されています。WebSphere Process Serverでメディエーション機能を使うには、このプリミティブを組み合わせたSCAモジュールを生成することになります。このSCAモジュールを呼び出すことで、SDOのフォーマット変換やデータベースのLook up、条件によるルーティングなどを実装することができます。

上に戻る

参考資料へのリンク
プロセス・インテグレーションの世界へようこそ!  
【資料公開】 WebSphere Process Server V6テクニカル・ワークショップ  
Business Process Managementを実現! (WBI Modeler&Monitor)  
使ってみよう!WBI Modeler V5.1  
【特集】WebSphere Process Server V6解体新書 (Service Component Architectureガイド)  

上に戻る
前頁へ
レベルマークについて

このページで紹介されている情報はレベル別にカテゴライズされています。

上級者向け
中級者向け
初級者向け
入門者向け

製品紹介
WebSphere Process Server

製品技術情報
WebSphere Business Integration