Universal Business Language (UBL) OASIS技術委員会は、私が以前の記事で報告したように、2001年10月17日に発表されました。UBLは、大規模な組織だけでなく、中小規模の組織の立場も考慮して設計された、商取り引き用の文書ライブラリーです。UBLを推進する委員会 (UBL TC) は、彼らの抱負を表す、すぐれた要約を発表しました。
UBL TCの目的は、XMLスキーマの既存ライブラリーに変更を加え、他の既存XMLビジネス・ライブラリーの最もすぐれた機能を組み合わせることにより、XMLビジネス文書 (購買注文、送り状、その他) の標準ライブラリーを開発することです。TCは、その後で、共通UBLソース・ライブラリーに変換規則を適用してコンテキスト特定のビジネス・スキーマを生成するための、メカニズムを設計する予定です。UBLは、ライセンスやその他の料金なしで誰でも自由に使用することのできる、エレクトロニック・コマースのための国際標準になることが見込まれています。
UBL TCは最近、一般的なレビューを受けるために、最初の主要な製品であるUBL Library Content 0p70を作成しました。ホーム・ページからレビュー・パッケージをダウンロードすることができます (参考文献を参照)。興味のある方は、UBLをじっくり吟味して、UBL TCにコメントを寄せてください。この製品は、使用料なしで使うことができ、知的所有権による制約を回避するために、あらゆる努力が払われています。このように重要な成果がこれほど自由に使用できることは、めったにない公共の利益であり、これを推進することにより、私たちすべてが多くのものを得られるはずです。今回のリリースに含まれている素材は、最終的な形式のものではありません。これらは、今年の中ごろに仕上げられる予定であり、しかもそのときに完成するのは最終的なUBL素材のごく一部にすぎないため、コメントを寄せたり、開発に参加したりする時間は十分にあります。UBLとそれに類似したイニシアチブに関する一般的な予備知識、およびこうしたイニシアチブを推進する中核となっている事情を知るためには、このコラムにおける最近のいくつかの記事を読み返すことをお勧めします。
UBLに関して最初に注意しなければならないことは、それが非常に大規模で、非常に包括的であることです。最初のリリースは、5.6 MB ZIPファイルの形で行われ、最も共通的なビジネス・フォームと思われるもの (そしてまた、XML文書としておそらく最も頻繁に提供されるもの) に対応しています。具体的には、以下の取り引きのための仕様が含まれています。
- 注文
- 単純な形式および複雑な形式による注文への応答
- 注文の取り消し
- 発送案内 (出荷通知とも呼ばれています)
- 受領案内
- 送り状
基本的なビジネス概念の集まりにより、上記の仕様のための構築ブロックが作られます。これらは基本ビジネス情報エンティティー (BBIE) と呼ばれ、共通UBLスキーマではコア・コンポーネント・タイプ (CCT) として表現されます。BBIEのほかに、さまざまな仕様により、独自に特殊化されたビジネス情報エンティティー (BIE) が定義されます。これらはUBLの概念モデルを構成し、ビジネス概念をクラスおよびアソシエーションに編成します。UBL概念モデルは、Unified Modeling Language (UML) やエンティティー/リレーショナル・モデリングなどの、他のモデリング・システムに基づいています。実際に、UBLはUMLを使用して概念モデルの高水準ビューを提供します。
ただし、具体的な詳細はすべてスプレッドシートで管理されます。そう、スプレッドシートです。つまり、ユーザー・フレンドリーな情報管理として代表的な、お手本のような方法です。UBL TCは、概念の詳細を維持するためには、スプレッドシートが最も用途が広く、管理が容易であると考えました。UMLクラス・ダイアグラムは、こうしたスプレッドシートから生成されます。スプレッドシートはMicrosoft Excelフォーマットで提供されていますが、私はこれをOpenOffice.org で問題なくオープンすることができました。UMLダイアグラムは単純なGIFの形で提供されています。
こうした概念モデルは、関連するビジネス文書のためのXMLスキーマの基礎となります。これらのスキーマを派生させるプロセスは、非常に厳密です。UBL TCは、UBL Naming and Design Rules (命名および設計ルール、NDR) のための小委員会を設けました。この小委員会は、UBL XMLコンポーネントの命名および全体的な設計のためのルールに関する、73ページにも及ぶ包括的な文書を作成しました。これらのルールは、UBLに含まれる広範なXMLコンポーネント間で整合性を確保するために設定されたものです。UBLの命名ルールの例を次に示します。
XML構造の名前にはcamel-caseを使用して、名前に含まれる各語の先頭を大文字にし、その後に小文字を続けなければならない (例: AmountContentType)....
XMLの設計ルールの例を次に示します。
オブジェクト・クラスに基づくそれぞれの複合タイプ定義では、オブジェクト・クラスの各プロパティーが要素宣言に反映され、構文に中立なモデルの詳細によってコンテンツ・モデル内のカーディナリティーと位置決めが決定されるような方法で、コンテンツ・モデルを定義しなければならない。
上記のデータ・タイプ化機能は、W3C XML Schemas (WXS) データ・タイプに関して言及した部分であり、実際に、WXSがUBLの規範スキーマ言語として選択されています。2番目のフォーマットとして、Abstract Syntax Notation number One (ASN.1) スキーマで文書タイプ (転送フォーマット) が定義されています。ASN.1は1980年代の半ばから存在するもので、通信プロトコルで使用されるデータ・フォーマットを指定するためのISO標準となっています。UBL用のASN.1スキーマは、広範なASN.1ツールのために開放され、また、ASN.1のPacked Encoding Rulesを使用してUBLをきわめて効率よくエンコードできるようになっています。Packed Encoding Rulesは、実質的にはバイナリー・エンコード方式であるため、非常にコンパクトになっています。実際、XMLに関する多くの議論では、XMLの冗長性が問題視されてXMLのバイナリー・シリアライゼーションが提案されるような場合、気の利いた人々は常にASN.1へのマッピングを提案しています。UBL TCはこの助言に留意しています。
一般的なレビューのためのパッケージには、UBL文書を (XSL-FOを使用して) 人間の目で読みやすいHTMLまたはPDFに変換するためにCrane Softwrights Ltd. によって開発された、XSLスタイル・シートのセットが含まれています。その結果は、トラックの運転手が積み降ろしホームに進入して積荷を下ろす際に、安全保護要員に提示する文書のようなものになっています。このスタイル・シートのパッケージには、サンプルのXML UBL文書も含まれています (testサブディレクトリーにあります)。リスト1 は、そのうちの1つから抜粋したもので、注文取り引きの例です。
リスト1. UBL注文取り引き文書の例
<po:Order xmlns:po="urn:oasis:names:tc:ubl:Order:1.0:0.70"
xmlns="urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70">
<ID>4500004875</ID>
<IssueDate>2001-12-17</IssueDate>
<!-- Cut to the buyer info -->
<BuyerParty>
<ID>R300</ID>
<PartyName>
<Name>IDES Retail INC US</Name>
</PartyName>
<Address>
<ID></ID>
<Street>West Chester Pike</Street>
<CityName>Parsippany</CityName>
<CountrySub-EntityCode listID="3166-2" listAgencyID="ISO">NY</CountrySub-EntityCode>
<Country>
<Code listID="3166-1" listAgencyID="ISO">US</Code>
</Country>
</Address>
<BuyerContact>
<ID></ID>
<Name>Joe Bloggs</Name>
</BuyerContact>
</BuyerParty>
<!-- Cut to the order line -->
<OrderLine>
<BuyersID></BuyersID>
<Quantity unitCode="unit">10</Quantity>
<Item>
<ID>R100016</ID>
<Description>Tuner X300</Description>
<BasePrice>
<PriceAmount currencyID="USD">350</PriceAmount>
</BasePrice>
</Item>
<!-- Cut to end -->
</OrderLine>
</po:Order>
|
UBLは概念IDと、標準化されたボキャブラリーに大きく依存しています。取り引き文書には固有の数値IDが割り当てられ、すべてのBIEにIDを関連付けることができるようになっています。Country/Code 要素は、標準ボキャブラリーであるISO 3166 (International Country Code Standard) への参照を示しています。ただし、一般には、XMLフォーマットはかなり単純なものと考えて差し支えありません。
私は、このコラムでUBLについて最後に述べたときには、UBLがビジネス向けのXMLボキャブラリーの混とんとした世界を統一するための決定打 になるのだろうかと、疑問に思っていました。UBLは確かに、支配的なフォーマットとなりうる多くの可能性を秘めています。UBLは非常に厳密に定義され、必要に応じて他の作業成果の利点を受け入れ、ロイヤリティーを無料に維持して広い範囲での採用と開発への参加を促しています。また、他の類似システムの開発作業が活気のない状態になっている中で、UBLの開発はきわめて活発に行われています。
とはいえ、ビジネスで使用されるさまざまなタイプの取り引きのすべてに適用できるようにUBLを拡張するためには、まだ多くの作業が必要です。例えば、EDIのANSI X12およびUN/EDIFACTフレーバーではそれぞれ、300を超える取り引きセットが定義されていますが、いくつかの業界でUBLが本格的に使用され始めるまでに、その多くをUBLで使用できるようにする必要があります。確かに、UBLの包括的なコア・モデルおよび拡張性によって管理することのできるボキャブラリーには、多くの重複部分がありますが、UBL TCの抱負を実現するためには、やるべきことがたくさん残っていることは間違いありません。それでも、UBLが今年の後半に仕上がればすぐに使用可能になる、以下のような便利な製品が、多数用意されています。
- 共通ビジネス・フォームの初期セットとして使用できる、中核的な取り引きフォーマットのセット
- 再使用可能な概念モデルおよびボキャブラリー
- さまざまな規約から最良のアイデアを借用した、いくつかの設計慣行
- UBLを処理するアプリケーションをブートストラップするのに十分な量のコード
ぜひ読者自身で詳しく検討し、UBL TCにアイデアをお寄せください。
-
OASIS Universal Business Language TC によって提供されている、一般的なレビューを受けるためのUBL 0p70 Library Contentのパッケージを含む、膨大な量の情報をブラウズしてください。UBL Naming and Design Rules Subcommittee の作業成果である、XMLコンポーネント設計製品を詳しく検討してください。
- UBL TCで以前に開発されたXMlとUBLの創始者である、Jon Bosakとのインタビューをお読みください。
- XMLの場合と同様に、少なくともASN.1 の基本を十分に理解している必要があります。ASN.1は、データ表記のための強力で複雑な機能を提案しています。UBL ASN.1スキーマにより、役に立つ例が用意されています。
- 主要な地域コード指定のセットとして最も権威があるのは、1974年から開発が進められているISO 3166 です。
- Uche Ogbuji氏の 『XML的思索』 コラムのこれまでの記事をすべて参照してください。
- 「ナレッジ管理のための基本的なXMLおよびRDF技法」シリーズ
- その1: XSLTによるRDFの生成 (developerWorks、2001年7月)
- その2: RDFモデルへのファイルの組み込み、および基本的なRDF照会 (developerWorks、2001年9月)
- その3: 意味体系からの知識 (developerWorks、2001年11月)
- その4: 問題追跡機能のスキーマ (developerWorks、2002年2月)
- その5: RDFおよびDAML+OILスキーマの定義 (developerWorks、2002年3月)
- その6: Versaを使用したRDF照会 (developerWorks、2002年4月)
- その7: これまでに登場した技法の検討と妥当性 (developerWorks、2002年7月)
- XMLと意味体系の出会い: その現状 (developerWorks、2001年2月)
- XMLと意味体系の出会い: 新参者たち、および古い隣人の1人との出会い (developerWorks、2001年5月)
- 意味論の世界を行く (developerWorks、2001年5月)
- 寄り道をもう一度: XMLにおける意味構造の透過性の最新研究 (developerWorks、2002年1月)
- XMLと意味体系の出会い: XMLはその約束を果たせるのか? (developerWorks、2002年6月)
- PRISMを解明する: 出版のための標準メタデータ・ボキャブラリー (developerWorks、2002年10月)
- MusicBrainzを使用したメタデータ管理: ディジタル・メディアのメタデータベースにおけるRDFの使用 (developerWorks、2002年12月)
- OpenOfficeファイル・フォーマット: フロント・オフィス文書用のXMLフォーマット (developerWorks、2003年1月)
- 「ナレッジ管理のための基本的なXMLおよびRDF技法」シリーズ
- この記事で述べられているテクノロジーの詳細については、developerWorksXMLゾーン を調べてください。
-
IBM WebSphere Studio(日本語サイト) より、Javaと他の言語の両方で、XML開発を自動化するためのツール・スイートが提供されています。これは、WebSphere Application Server
と密接に統合されたものですが、他のJ2EEサーバーでも使用することができます。
-
XMLおよび関連テクノロジーのIBM認証開発者になる方法を参照してください。
