
タブの始まり
ビジネス・サービスを利用したビジネス・プロセス・マネージメントをご紹介します。
ビジネス・サービスの実装
IBMの提供するビジネス・サービスは、WebSphere® Business Services Fabric(WBSF)というソフトウェアで実行されます。また、ビジネスの開発にはWebSphere Integration Developer(WID)というソフトウェアを利用します。
ビジネス・サービスの実行環境
WBSFはビジネス・サービスの実行環境です。WBSFでは、ビジネス・サービスからWebサービスを呼び出すための条件として、ビジネス・プロセスから渡される情報の他に、ビジネス・サービス・リポジトリー(BSR)というデータベース中の情報も、条件として利用することができます。このBSRのデータを変更することで、呼び出すWebサービスをダイナミックに追加・変更することが可能となっています。このダイナミックな変更を可能にしている機能を、ダイナミック・アセンブラー(DA)と呼びます。
WBSFでは、サービスを呼び出すための条件を定義したものをポリシーと呼んでいます。ポリシーが、ビジネス・プロセスから渡される情報とBSRの情報を合わせて、実行するWebサービスを決定します。以下の例は、家電を受注できるシステムが日本とアメリカにあり、呼び出すWebサービスを切り替えるための組織情報を、BSRから取得している例となります。
次の例では、旧システムから新システムに移行する場合にBSRを利用した例となります。BSRからサービスの停止日と開始日を取得することで、ビジネス・プロセスからの呼び出しを停止することなく、呼び出すWebサービスを切り替えることができます。
DAにはビジネス・サービスをテストするためのポリシー・シミュレーターが用意されています。ビジネス・サービス内で定義されたサービスが数十から数百になる場合、条件と選択されるサービスの網羅性をテストするには多大な工数がかかりますが、ポリシー・シミュレーターでは条件を入力するだけで、サービスが正しく選択されるかどうかを簡単にテストすることができるため、テスト工数を削減することに貢献します。
ビジネス・プロセスとビジネス・サービスの開発環境
WIDはSOAベースのアプリケーションを開発するためのツールです。WIDではビジネス・サービスの開発の他に、ビジネス・プロセス、メディエーション、アダプター、またはコード・コンポーネントなどのSOAの考え方を実現するための複雑なビジネス・ソリューションを開発することができます。また、Javaの知識がなくても、ドラッグ・アンド・ドロップでアプリケーションを開発することが可能です。
次にWIDのビジネス・プロセスとビジネス・サービスの定義画面をご紹介します。
ビジネス・プロセス定義

WIDのビジネス・プロセス
定義 拡大図
ビジネス・プロセスは通常、XML形式のテキストであるBPELによって定義されますが、WIDではBPELをグラフィカルに定義することができます。また、以下の画面にあるような順次処理の他に、分岐処理、並列処理、ループ処理等のビジネス・プロセスも定義することもできます。
ビジネス・サービス定義
WIDでビジネス・サービスを定義するには、DA、ポリシー、エンドポイント等の定義をしていきます。
DA定義
DA定義では利用するインターフェイスを定義します。インターフェイスとは、ビジネス・サービスが呼ばれるときに使用されるパラメーターの形式です。例えば、受注インターフェイスには以下のような項目が含まれます。

WIDのDA定義 拡大図
例) 受注インターフェイス
- 取引先コード
- 要求納期
- 品目コード
- 数量
ポリシー定義

WIDのポリシー定義 拡大図
ポリシー定義では、ビジネス・サービスからWebサービスを呼び出すための条件を定義します。WBSFでは、単にビジネス・プロセスから渡されるパラメーターを条件に使うだけではなく、利用ユーザーやロール、利用期間、トランザクション量、ポリシーの優先順位等、さまざま条件を組み合わせることができます。
エンドポイント定義

エンドポイント定義 拡大図
エンドポイント定義では、ビジネス・サービスから実際に呼び出すWebサービスを定義します。また、エンドポイントを利用することができるかどうかのOn/Offを指定することも可能です。例えば、同じWebサービスを提供する複数のシステムがある場合、普段は両方のWebサービスを、条件により切り分けて使い、片方のWebサービスがシステムメンテナンス等により停止するようなケースでは、エンドポイントをOffすることにより、メンテナンス期間中は動いている方のエンドポイントを利用するというような使い方もできます。
現時点でIBMのWBSFのみがビジネス・サービスという概念をサポートしています。
ビジネス・サービスを利用したサンプルアプリケーションのシナリオ

西ヨーロッパの販社業務例
拡大図
例えば、西ヨーロッパでの販社業務を考えてみます。
西ヨーロッパ各国の販社にはそれぞれ自社倉庫があり、売れ筋商品を中心に在庫を持ちます。受注数が少なく、かつ、高価な商品は不動在庫を削減するため、Third Party Logistics(3PL)の中央倉庫に在庫します。

サンプルアプリケーションの
ビジネス概要図 拡大図
取引の流れは、
- 売れ筋商品で、自社在庫があるものは、自社倉庫から出荷します。
- 売れ筋商品が在庫切れの場合は、即時に自動にて仕入先に発注します。
- 3PL倉庫商品は、中央倉庫から直送します。
となります。

サンプルアプリケーションの
システム概要図 拡大図
システム概要の想定は右図の通りとなります。
ビジネス・サービスを利用したサンプルアプリケーションの設計
この西ヨーロッパの販社業務を元に、ビジネス・プロセスとビジネス・サービスを考えて見ます。
ビジネス・プロセスは注文受付-在庫確認-在庫確認の結果を判断して、最後に受注となります。受注サービスは、自社倉庫に在庫がある場合の受注(パターン[1])、在庫切れを起こしている場合の受注(パターン[2])、3PLでのみ扱っている品目の受注(パターン[3])、その3パターンが想定されますので、その部分にビジネス・サービスを適用してみます。

従来のビジネス・プロセス
との違い 拡大図
右の図は、今回のWBSFを利用したビジネス・プロセスと、従来のビジネス・プロセスとの比較であり、WBSFを利用したビジネス・プロセスが条件分岐もなく、シンプルになっていることが判ります。
ビジネス・プロセスとビジネス・サービス以外の実装は以下のとおりです。
- 注文画面の実装
ビジネス・プロセスを呼び出す注文画面は、JSPで開発しWebSphere Application Serverで実行しています。 -
受注サービスの実装
ビジネス・サービスから、呼ばれる受注サービスはSAP ERPのEnterprise Service、仕入先システム(Javaカスタムシステム)、3PLシステム(Javaカスタムシステム)を受注パターンにより、組み合わせて利用しています。
パターン[1] 在庫がある場合は、SAP ERPで受注伝票登録を実行します。
パターン[2] 在庫切れの場合は、SAP ERPで受注伝票登録をすると同時に購買発注登録を実行します。
パターン[3] 3PLでのみ扱っている品目の場合は、SAP ERPで受注伝票登録をすると同時に、3PLシステムで引当登録を実行します。

サンプルアプリケーションで
利用している技術 拡大図
それでは、西ヨーロッパの販社業務例としたサンプルアプリケーションをご覧頂きますが、注文画面の品目により3パターンの受注サービスが切り替わることを、SAP ERPの登録結果とともに確認してください。
ビジネス・サービスの効果
サンプルアプリケーションでは、3パターンの受注サービスを1つのビジネス・サービスとしていますが、更に多くの受注サービスがあった場合、また、呼び出す受注サービスに変更、追加が発生した場合でも、ビジネス・プロセスに影響することはありません。Webサービスの数が多い個所にビジネス・サービスを適用することで、効果が上がります。

モニタリングによるビジネス・プロセスの改善
シンプル化され、管理しやすいビジネス・プロセスで、プロセスのモニタリング、改善、実行を繰り返し、ビジネス・プロセスを最適にしていきます。ビジネス・プロセスのモニタリングでは、ビジネス・パフォーマンスを評価するプロセスを明確にし、あらかじめ、ビジネス指標を設定しておく必要があります。ビジネス・プロセスの実行時には、プロセスがあらかじめ設定されたビジネス指標に対してどのくらいのパフォーマンスをあげているかをモニタリングします。モニタリングした結果は、経営者が迅速な判断ができるように必要な加工を行って表示できる必要があります。実績が目標値に届かない場合は、更なる継続的なプロセス改善を行います。実績をビジネス指標に関連したイベントや、異常な状況を検知し、適切なアクションをとるためのアラートとしてリアルタイムで受け取り、目標と実績のギャップにすばやく対処できるようにするのが理想です。
BPMにおいて、継続的にビジネス・プロセスの改善を行うためには、モデリングフェーズから、実現すべき経営目標や業績指標収集をビジネス・プロセスの設計に盛り込みます。収集した実測値は改善プロセスにつなげるため、またモデリングにフィードバックします。
IBM, IBMロゴ, WebSphereは、International Business Machines Corporationの米国およびその他の国における商標。
JavaおよびすべてのJava関連の商標およびロゴは Sun Microsystems, Inc.の米国およびその他の国における商標。
Adobe, Adobeロゴは、Adobe Systems Incorporatedの米国およびその他の国における登録商標または商標。
他の会社名、製品名およびサービス名等はそれぞれ各社の商標。
