 |
|
| 前のページ 1 2 3 4 次のページ |
 |
| CRMシステムとの連携 |
表2の1のCRMシステムへの注文情報更新処理について詳しく見ていく。CRMシステムとの連携処理が追加されたことにより、従来のビジネスプロセスにはCRMシステムへの連携処理を行う"Invoke"アクティビティーが追加される(図2)。
 図2:CRMシステムへの注文情報更新処理 この追加された"Invoke"アクティビティーからCRMシステムが提供する注文情報更新処理用のサービス呼び出しを行うことになる。
サービス呼び出しの設計ではビジネスプロセスから直接CRMシステムが提供しているインターフェースを呼び出しても構わないが、ビジネスプロセスをより柔軟にするためには連携するシステム固有のデータ構造やシグニチャがビジネスプロセス自身には含まれないほうが都合がよい。
ビジネスプロセスは一般的なインターフェースに対して処理を行い、システム固有の具体的なインターフェースへのマッピングはビジネスプロセスの外部で実装するようにしておけば、プロセスの汎用性が高くなり、同種のデータを扱う多くのシステムとの連携や連携対象システムの変更などが容易になる。
 図3:サービス呼び出しの設計
|
| データ構造とマッピング |
そこで、今回の例ではもともと注文情報の入力に使用していたデータ構造を一般的なものと想定し、CRMシステムが提供するインターフェースで定義されているデータ構造へのマッピングをビジネスプロセスの外部で実装することを考える。
ビジネスプロセスで使用している一般的なデータ構造、およびCRMシステムが提供するインターフェースで定義されているデータ構造は次のとおりである。
| データ構造名 | 項目 | 型 | 説明 |
|---|
| Order | orderNumber | int | 注文番号 | | orderedDate | date | 注文日 | | deliveredDate | date | 配送日 | | customer | Customer | 顧客情報 | | orderedProduct | OrderedProduct (配列) | 注文商品情報 | | Customer | id | int | お客様番号 | | name | string | 名前 | | address | string | 住所 | | mailAddress | string | メールアドレス | | OrderedProduct | id | int | 商品番号 | | name | string | 名前 | | price | string | 価格 | | quantity | string | 注文数 |
表3:ビジネスプロセス内でのデータ構造
| データ構造名 | 項目 | 型 | 説明 |
|---|
| CRMCustomer | custID | int | 顧客ID | | custName | String | 顧客名 | | custAddress | String | 顧客住所 | | custEmail | String | メールアドレス | | orderInfo | CRMOrderInfo | 注文情報 | | CRMOrderInfo | orderID | int | 注文番号 | | orderDate | date | 注文日 | | orderProduct | CRMProduct | 商品 | | orderStatus | String | 注文状況 | | CRMProduct | productID | int | 商品番号 | | quantity | int | 注文数 |
表4:CRMシステムが要求するデータ構造
このとき、マッピングの仕様は以下のようになる。なお、表5ではOrderオブジェクトのorderNumber項目であればOrder.orderNumber、のようにオブジェクトとその項目をドットでつなげてどのオブジェクトのどの項目であるかをあらわしている。
| マッピング元 | マッピング先 | 備考 |
|---|
| Order.orderNumber | CRMOrderInfo.orderID | | | Order.orderedDate | CRMOrderInfo.orderDate | | | N/A | CRMOrderInfo.orderStatus | ステータスを設定 | | Customer.id | CRMCustomer.custID | | | Customer.name | Customer.name | | | Customer.address | CRMCustomer.custAddress | | | Customer.mailAddress | CRMCustomer.custEmail | | | OrderedProduct.id | CRMProduct.productID | | | OrderedProduct.quantity | CRMProduct.quantity | |
表5:マッピング仕様
従って、注文情報更新処理では、表3に定義されるデータを用いてビジネスプロセス内からサービスの呼び出しを行い、外部のマッピング処理により表5の仕様に基づいて表4のデータへ変換を行う。その後、変換されたデータをCRMシステムへ渡すことにより処理を実現することになる。
|
前のページ 1 2 3 4 次のページ
|

|
 |

| 著者プロフィール 日本アイ・ビー・エム株式会社 小倉 弘敬 日本アイ・ビー・エムソリューション開発 インテグレーション所属 ソフトウェア・エバンジェリスト。担当分野は、ビジネス・プロセス・インテグレーション(BPI:Business Process Integration)。WebSphere Business Integration(WBI)ソリューションセンターで、BPIソリューションの開発/提供に従事する。
| 
| 著者プロフィール 日本アイ・ビー・エム株式会社 佐藤 泉 入社以来、ワークフロー、ビジネスプロセスエンジン、ビジネスプロセスモニターなどのソフトウェア製品の開発やそれらの製品をベースとしたソリューションの提案活動に従事。 特に、SOAに則ったBPI(Business Process Integration)やBIO(Business Innovation and Optimization)を得意分野とする。
| 
| 著者プロフィール 日本アイ・ビー・エム株式会社 津田 佳一 日本アイ・ビー・エム ソリューション開発 インテグレーション所属 BPIソリューションの開発/提供に従事する。
|
|
 |
|
 |
|
 |
|