BO定義(XSD)
BO定義(XSD)
BOとはBusiness Objectの略であり、ビジネスプロセスを構成する各システムの間で受け渡されるデータ構造を定義したものである。各システムの入出力の仕様を決める際 には、そのシステムがどのような情報を入力として必要とし、どのような情報を出力として戻すのかを定義する必要があり、BOはそのような入出力操作のパラメータとして指定されるものである。
ここでは、BO定義の具体的な作成方法を今回のネット注文システムのビジネスプロセスにおける、「表2の2の注文情報」の入力の実装を行う場合について詳しく説明する。
注文情報の入力の場合、プロセスは購買部門にある注文管理システムに対して注文データをパラメータとして「注文情報の入力処理」を呼び出す操作を行う。この操作では、プロセスは注文管理システムと以下のような情報のやりとりを行うことになる。

図3:注文管理システムとの情報の受け渡し
注文管理システムは注文に関する情報として、注文番号や注文日付などの注文自体に属する情報とそのときに注文された商品や顧客の情報を保存しておく必要がある。これらの要件から、注文情報のデータ構造の仕様を表3のように決める。
| データ構造名 | 項目 | 型 | 説明 |
| Order | orderNumber | int | 注文番号 |
| orderedDate | date | 注文日 | |
| deliveredDate | date | 配送日 | |
| customer | Customer | 顧客情報 | |
| orderedProduct | OrderedProduct(配列) | 注文商品情報 |
ここで定義した注文情報のデータ構造にはintやdate型などのprimitive型に加えてCustomerとOrderedProductというそれぞれ顧客と注文商品をあらわすデータ構造が含まれている。これらの仕様も要件に基づいて定めていく。
| データ構造名 | 項目 | 型 | 説明 |
| Customer | name | string | 名前 |
| address | string | 住所 | |
| mailAddress | string | メールアドレス |
| データ構造名 | 項目 | 型 | 説明 |
| OrderedProduct | name | string | 名前 |
| price | string | 価格 | |
| quantity | string | 注文数 |
注文管理システムから戻される結果情報についてはprimitive型のbooleanを使って成功か失敗かをあらわすことにする。この場合、特にBO定義を作成する必要はない。
以上でプロセスが注文管理システムとの間でやりとりするデータ構造の仕様を定めた。次に、この仕様から成果物であるBO定義(XSD)を作成する方法を見ていこう。今回作成するOrderデータ構造の最終的な内容は以下の通りである。
xmlns:bons0="http:// OrderProcess"
targetNamespace="http:// OrderProcess">
仕様に記述されている情報からこのXSDを直接作成できればBO定義の成果物を作成できたことになる。しかし、実際にはXSDを直接作成するよりも自動的に作成してくれるツールを利用して開発を行うのが一般的である。
WIDを使用した場合、BO定義の成果物であるXSDは図4のようなGUIのエディタを使って直感的な操作で作成することができる(上記のXSDもこのツールで作成している)。
このエディタ上で、データ構造の仕様において定めたデータ項目を指定していくだけで、それに対応するXSDファイルが作成されるようになっている。そのため、WIDを使用した場合、ツール上でのデータ構造定義がそのままデータ構造の成果物となる。
以上の説明でBO定義について、仕様の策定から実際の成果物の作成までの一連の流れを見ていただけたと思う。ここでは注文管理システムとのやりとりにのみ注目したが、実際の開発ではすべてのインターフェースについて同様にBO定義を行っていくこととなる。
