TOPプロジェクト管理> BO定義(XSD)
実践!BPI
実践!ビジネス・プロセス・インテグレーション

第1回:BO定義とインターフェース定義
著者:日本アイ・ビー・エム  小倉 弘敬、佐藤 泉、津田 佳一
2005/12/8
前のページ  1  2  3   4  次のページ
BO定義(XSD)

   BOとはBusiness Objectの略であり、ビジネスプロセスを構成する各システムの間で受け渡されるデータ構造を定義したものである。各システムの入出力の仕様を決める際には、そのシステムがどのような情報を入力として必要とし、どのような情報を出力として戻すのかを定義する必要があり、BOはそのような入出力操作のパラメータとして指定されるものである。

   ここでは、BO定義の具体的な作成方法を今回のネット注文システムのビジネスプロセスにおける、「表2の2の注文情報」の入力の実装を行う場合について詳しく説明する。

   注文情報の入力の場合、プロセスは購買部門にある注文管理システムに対して注文データをパラメータとして「注文情報の入力処理」を呼び出す操作を行う。この操作では、プロセスは注文管理システムと以下のような情報のやりとりを行うことになる。

注文管理システムとの情報の受け渡し
図3:注文管理システムとの情報の受け渡し

   注文管理システムは注文に関する情報として、注文番号や注文日付などの注文自体に属する情報とそのときに注文された商品や顧客の情報を保存しておく必要がある。これらの要件から、注文情報のデータ構造の仕様を表3のように決める。

データ構造名 項目 説明
Order orderNumber int 注文番号
orderedDate date 注文日
deliveredDate date 配送日
customer Customer 顧客情報
orderedProduct OrderedProduct(配列) 注文商品情報

表3:注文情報のデータ構造

   ここで定義した注文情報のデータ構造にはintやdate型などのprimitive型に加えてCustomerとOrderedProductというそれぞれ顧客と注文商品をあらわすデータ構造が含まれている。これらの仕様も要件に基づいて定めていく。

データ構造名 項目 説明
Customer name string 名前
address string 住所
mailAddress string メールアドレス

表4:顧客情報のデータ構造

データ構造名 項目 説明
OrderedProduct name string 名前
price string 価格
quantity string 注文数

表5:注文商品情報のデータ構造

   注文管理システムから戻される結果情報についてはprimitive型のbooleanを使って成功か失敗かをあらわすことにする。この場合、特にBO定義を作成する必要はない。

   以上でプロセスが注文管理システムとの間でやりとりするデータ構造の仕様を定めた。次に、この仕様から成果物であるBO定義(XSD)を作成する方法を見ていこう。今回作成するOrderデータ構造の最終的な内容は以下の通りである。

<?xml version="1.0" encoding="UTF - 8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          xmlns:bons0="http:// OrderProcess"
          targetNamespace="http:// OrderProcess">
     <xsd:include schemaLocation="OrderedProduct.xsd"/>
     <xsd:include schemaLocation="Customer.xsd"/>
     <xsd:complexType name="Order">
     <xsd:sequence>
          <xsd:element minOccurs="0" name="orderNumber" type="xsd:int"/>
          <xsd:element minOccurs="0" name="orderedDate" type="xsd:date"/>
          <xsd:element minOccurs="0" name="deliveryDate" type="xsd:date"/>
          <xsd:element minOccurs="0" name="customer" type="bons0:Customer"/>
          <xsd:element minOccurs="0" name="orderedProduct" type="bons0:OrderedProduct" axOccurs ="unbounded"/>
     </xsd:sequence>
</xsd:complexType>
</xsd:schema>
   仕様に記述されている情報からこのXSDを直接作成できればBO定義の成果物を作成できたことになる。しかし、実際にはXSDを直接作成するよりも自動的に作成してくれるツールを利用して開発を行うのが一般的である。

   WIDを使用した場合、BO定義の成果物であるXSDは図4のようなGUIのエディタを使って直感的な操作で作成することができる(上記のXSDもこのツールで作成している)。

WIDによるBO定義の作成
図4:WIDによるBO定義の作成
(画像をクリックすると別ウィンドウに拡大図を表示します)

   このエディタ上で、データ構造の仕様において定めたデータ項目を指定していくだけで、それに対応するXSDファイルが作成されるようになっている。そのため、WIDを使用した場合、ツール上でのデータ構造定義がそのままデータ構造の成果物となる。

   以上の説明でBO定義について、仕様の策定から実際の成果物の作成までの一連の流れを見ていただけたと思う。ここでは注文管理システムとのやりとりにのみ注目したが、実際の開発ではすべてのインターフェースについて同様にBO定義を行っていくこととなる。

前のページ  1  2  3   4  次のページ


日本アイ・ビー・エム株式会社 小倉 弘敬
著者プロフィール
日本アイ・ビー・エム株式会社  小倉 弘敬
日本アイ・ビー・エムソリューション開発 インテグレーション所属
ソフトウェア・エバンジェリスト。担当分野は、ビジネス・プロセス・インテグレーション(BPI:Business Process Integration)。WebSphere Business Integration(WBI)ソリューションセンターで、BPIソリューションの開発/提供に従事する。


日本アイ・ビー・エム株式会社 佐藤 泉
著者プロフィール
日本アイ・ビー・エム株式会社  佐藤 泉
入社以来、ワークフロー、ビジネスプロセスエンジン、ビジネスプロセスモニターなどのソフトウェア製品の開発やそれらの製品をベースとしたソリューションの提案活動に従事。
特に、SOAに則ったBPI(Business Process Integration)やBIO(Business Innovation and Optimization)を得意分野とする。


日本アイ・ビー・エム株式会社 津田 佳一
著者プロフィール
日本アイ・ビー・エム株式会社  津田 佳一
日本アイ・ビー・エム ソリューション開発 インテグレーション所属
BPIソリューションの開発/提供に従事する。


INDEX
第1回:BO定義とインターフェース定義
  はじめに
  O社のネット注文システム用ビジネスプロセス
BO定義(XSD)
  インターフェース定義(WSDL)