連載第12-2回
UMLの基礎と応用

(株)NTTデータ 技術開発本部 副本部長
山本修一郎


Carlson法
Carlsonは、UMLのクラス図とユースケース図からDTDとXMLスキーマを作成することにより、B2Bアプリケーション統合を実現するWebアプリケーションを作成する方法を提案している。

 Carlson法は、図4に示すようにXMLメッセージなどのビジネス語彙の定義、ビジネスプロセスのモデル化、アプリケーションや既存システムに対するアダプタなどのクラスを定義するシステム統合の方法から構成されている。文献にはCatML というカタログショッピングのための専用の例題言語を用いてXMLアプリケーションをUMLから作成する方法が述べられている。また文献ではMDA (Model-driven Architecture)やUDDI(Universal Description,Discovery and Integration)などからXMLスキーマに変換するための方法が述べられている。

図4 eビジネス統合のユースケース図
図4 eビジネス統合のユースケース図

Web エンジニアリング・フレームワーク
 GoeschkaとSchranzが提案しているWebエンジニアリング・フレームワークでは、図5に示すようにユーザーインタフェース層、ビジネスオブジェクト層、データベースアクセス層によりWeb情報システムを3層構造で構築する。既存情報システムにはデータベースアクセス層を介して接続する。ビジネスオブジェクト層とデータベースアクセス層でUMLを用いる。クラス図とシーケンス図を用いてビジネスオブジェクトを定義する。状態図を用いてデータベースアクセスを定義する。ユーザーインタフェースの処理で必要となるレイアウトやナビゲーションをXMLにより定義し動的にWebページを生成する。JessicaはWebコンポーネントとそれらの相互関係をXMLで定義できる。Jessicaコンパイラでは、Jessicaで定義されたWebコンポーネントモデルを、レイアウトコンポ-ネントやナビゲーションコンポ-ネント、ビジネスオブジェクト、データベースアクセスメソッドと連携させることにより、整合性のあるWebサイトとして生成する。

図5 Webエンジニアリングフレームワーク
図5 Webエンジニアリングフレームワーク

 PHC(Passive HTML Control)はデータベースをアクセスする対話インタフェースに対応していて、データベースから情報を検索するための参照リンクに対応するアンカータグと、リンクの結果として出力される情報に対応するタグコンテンツからなる。このようなハイパーリンクをブラウジングする対話プロセスを状態図で定義することができる。

CWM(Common Warehouse Metamodel)
 CWMの目的は標準インタフェースを提供することにより、企業内の情報やビジネスインテリジェンスに関するメタモデルを、異種分散環境の下で異なるデータウェアハウス・ツールやデータウェアハウスのメタモデルリポジトリ間で共有することである。図6にCWMのメタモデルの階層アーキテクチャーを示す。CWMの実現例ではこの22個の階層構成要素ごとにUMLパッケージによりメタモデルが204個のクラスで定義されている。

図6 CWMのメタモデル
図6 CWMのメタモデル

 CWMでXML DTDやXMLスキーマではなくUMLによりメタモデルを定義する理由は次のようである。

 XML DTDでは、継承関係、操作、制約言語が使えないことや、基本的なデータ型しかないため、文字型なども定義できないなどの問題がある。XMLスキーマでは、データ型はDTDよりも拡張されているが、継承関係、操作、制約言語などを扱えない問題がある。

 これに対して、UMLでは関係や制約など豊富なオブジェクト指向の概念を利用できるだけでなく、データ型を拡張できること、UMLからDTDやXMLスキーマを生成するXMIを提供できる。

UBOT(UML-based Ontology Toolset)
 UBOTアーキテクチャーを図7に示す。DAML(DARPA Agent Markup Language)ではオントロジエンジニアがUMLの図式を用いて新しいオントロジや既存のオントロジを拡張してモデル化する。このモデルはUML図式からXMI 形式で出力され、Slangに変換されてSpecwareによりUMLの一貫性がチェックされる。Specwareはカテゴリ理論に基づく形式的な検証システムである。SlangはSpecwareの言語である[14]。オントロジエンジニアが、この一貫性チェックの結果に基
づいてUMLで記述されたオントロジを修正した上でDAMLに変換される。DAMLへの注釈付けでは、DAMLオントロジやWebリソースなどを入力してWebページの単語と適切なオントロジの個所とを対応付けることができる。DAMLの目的はWebページだけではなく、センサ、サービス、家電器具などの資源を機械で検索できるようにすることである。

図7 UBOTアーキテクチャー
図7 UBOTアーキテクチャー

まとめ
 本稿ではXMLへのUMLの代表的な適用事例を列挙し、UMLを用いたXMLアプリケーションのモデル化などについて紹介した。ebXMLではビジネスプロセスをUMLで記述しておきXMLメッセージを交換する手順を標準化している。UMLをビジネス分野に適用する試みとしては、この他にもEDOCのビジネスプロセス記法なども提案されている。OASISでは、UBL (Universal Business Language)による企業間でのXMLメッセージ交換の仕様化も進められている[15]

 なお、本稿では具体的なクラス図からXMLへの変換については紹介しなかったが、たとえば文献[7][8][9][16]などにも具体例が紹介されている。

 このように図式的で強力な表現力を持つUMLを用いて図式からXMLを自動生成することにより、XMLの作成が容易化できるようになってきた。

 また、UMLの表現能力を用いてXML で記述された情報モデルからUMLを逆に作成する方法[17]も検討されている。

参考文献
[1]UN/CEFACT 痴Modeling Methodology(UMM),http://www.gefeg.com/tmwg/n090r10.htm
[2]Electronic Business XML Initiative(ebXML),http://xml.coverpages.org/ebXML.html
[3]ebXML Initiative, Enabling Electronic Business with ebXML,http://www.ebxml.org/white_papers/whitepaper.htm
[4]ebXML が実現する電子ビジネスコラボレーション,ECOM Journal 第4号,http://www.ecom.jp/
[5]森田勝弘、菅又久直、遠城秀和、XMLによるEC構築技術、ソフト・リサーチ・センター
[6]UML to XML Design Rules project,http://xml.coverpages.org/uml 2 xmlDesignRules.html
[7]Carlson,D.,Modeling XML Applications,Addison Wesley, 2002. 依田智夫監訳,UMLによるXML アプリケーションモデリング
[8]Carlson,D.,Modeling the UDDI Schema with UML,http://xmlmodeling.com/examples/uddi/ModelingUDDI.pdf
[9]Carlson,D.,Modeling XML Applications,Software Development Magazine,http://www.sdmagazine.com
[10]Howery,W.,Application Development Using UML,Java TM Technology and XML,http://servlet.java.sun.com/javaone/javaone 2000 /pdfs/TS-641.pdf
[11]Goeschka,K.and Schranz,M.,Legacy Integration in Object-Oriented Web Engineering,IEEE Multi Media,Jan.-Mar.,pp.32 -41 ,2001 .
[12]CWM: Common Warehouse Metamodel,http://www.cwmforum.org/
[13]DAML,http://www.daml.org/ inthenews.html
[14]Smith,J.DeLoach,S.,Kokar,M.,and Baclawski,K.,Category Theoretic Approaches of Representing Precise UML Semantics,http://www.cis.ksu.edu/~sdeloach/publications/Conference/ecoop-pUML 2000.pdf
[15]OASIS Universal Business Language(UBL),http://oasis-open.org/ committees/ubl/
[16]伊藤喜一,UML によるXML 設計ガイド(改訂版),http://www.ogis-ri.co.jp/otc/hiroba/technical/UML2XML/
[17]Jensen,M.,Converting XML Data To UML Diagrams For Conceptual Data Integration,http://www.cs.auc.dk/~mrj/publications/diweb.pdf
E-mail:yamamotos@rd.nttdata.co.jp

●執筆者にメールを出す
yamamotosui@nttdata.co.jp
連載第13回へ >>
・連載第1回

・連載第2回

・連載第3回

・連載第4回

・連載第5回

・連載第6回

・連載第7回

・連載第8回

・連載第9回

・連載第10回

・連載第11回

・連載第12回

・連載第13回

・連載第14回

・連載第15回

・連載第16回

・連載第17回