BO定義(XSD)

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

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

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

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

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



データ構造名項目型説明
OrderorderNumberint注文番号
orderedDatedate注文日
deliveredDatedate配送日
customerCustomer顧客情報
orderedProductOrderedProduct(配列)注文商品情報
表3:注文情報のデータ構造

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



データ構造名項目型説明
Customernamestring名前
addressstring住所
mailAddressstringメールアドレス
表4:顧客情報のデータ構造

データ構造名項目型説明
OrderedProductnamestring名前
pricestring価格
quantitystring注文数
表5:注文商品情報のデータ構造

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

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



          xmlns:bons0="http:// OrderProcess"
          targetNamespace="http:// OrderProcess">
     
     
     
     
          
          
          
          
          
     


仕様に記述されている情報からこのXSDを直接作成できればBO定義の成果物を作成できたことになる。しかし、実際にはXSDを直接作成するよりも自動的に作成してくれるツールを利用して開発を行うのが一般的である。

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



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

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

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

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30