BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA
 ドキュメントのダウンロード   サイト マップ   用語集 
検索

WebLogic Integration データの変換

 前 次 目次 索引 PDF で表示  

Purchase Order サンプルの実行

WebLogic Integration ソフトウェアには、Format Builder を使用してバイナリ データのメッセージ フォーマット定義を作成する基本テクニックを例示することを目的とする Purchase Order サンプルが含まれます。Purchase Order サンプルは DTD、MFL、および DATA ファイルから成ります。これらのサンプルは WebLogic Integration の Data Integration コンポーネントのインストールをテストするのに使用できます。

この章では、以下の内容について説明します。

 


Purchase Order サンプルに含まれるもの

次の表では、Purchase Order サンプル アプリケーションに付属のファイルについて説明します。すべてのディレクトリ名は、WebLogic Integration サンプル ディレクトリ(SAMPLES_HOME¥integration)からの相対パスで示します。ここで、SAMPLES_HOME は、WebLogic Platform をインストールした位置にあるサンプル ディレクトリを示します。

表 C-1 Purchase Order サンプル アプリケーション ファイルのリスト

ディレクトリ

ファイル

説明

samples¥di¥po

po_01.data

バイナリ フォーマットの発注書データ

po_02.data

バイナリ フォーマットの追加発注書データ

po.dtd

発注書文書型定義

po.mfl

事前にビルドされた発注書データのメッセージ フォーマット記述


 

 


前提となる事項

Purchase Order サンプルを実行する前に、必ず、特定のソフトウェア アプリケーションをインストールし、特定のタスクを完了しておいてください。詳細については、『WebLogic Integration リリース ノート』を参照してください。

Format Builder の使い方を把握するには、WebLogic Integration に付属の Data Integration ツールで使用されるデータ フォーマット、すなわちバイナリ データ、XML、および MFL について理解しておくと役に立ちます。これらの項目についてまだよくわからない場合は、データ フォーマットについてを参照してください。

 


バイナリから XML への変換の実行

以下の節では、サンプルの発注書のフォーマット定義をビルドして、バイナリ データのXML フォーマットへの変換をテストする方法について説明します。

バイナリ データと XML との間での変換に必要な情報を提供するフォーマット定義をビルドできます。フォーマット定義は、バイナリ データ ファイルの内容を解析するために使用されるメタデータです。

変換するデータの分析

XML との間でバイナリ データを変換するには、バイナリ データの正確な記述を作成することが必要です。バイナリ データ(自己記述型でないデータ)の場合、以下の要素を指定する必要があります。

リストC-1 は、WebLogic Integration の CD-ROM (およびダウンロード) に収録されている ¥samp;es¥di¥po¥po_01.data という名前のバイナリ データのサンプルを示します。この例では、サンプル データは XYZ Corporation が使用する専用システムにある架空の発注書から取得されます。この会社は、XML データを受け取る別のシステムと情報交換したいと考えています。

コード リスト C-1 バイナリ フォーマットのサンプル発注書

1234;88844321;SUP:21Sprockley's Sprockets01/15/2000123 Main St.;
Austin;TX;75222;555 State St.;Austin;TX;75222;PO12345678;
666123;150;Red Sprocket;

発注書 のデータを解析する手順は次のとおりです。

  1. データの定義を生成します。データの定義を生成するには、印刷された仕様書または内部資料を使用しなければならない場合があります。このサンプルでは、発注書フォーマットを表 C-2 に記述してあります。

    表 C-2 発注書マスタ レコード

    カテゴリ

    フィールド名

    データ型

    長さ

    説明

    Basic Information

    Purchase Request Number

    数値

    セミコロンで区切る

    購買部門によって割り当てられる発注依頼番号。この番号は、発注のステータスを購買依頼から納入、そして支払いまで追跡するために使用される。

    Supplier ID

    数値

    セミコロンで区切る

    企業のサプライヤ データベースに定義されている指定サプライヤの ID。承認済みサプライヤの指定は、バイヤが購買依頼から発注依頼を作成するときに行う。

    Supplier Name

    文字

    リテラル “SUP” が前に付く。このフィールドの後ろに 2 桁の数字の長さフィールドが続く

    企業のサプライヤ データベースに定義されている指定サプライヤの名前。このフィールドの前には、それが存在することを示すリテラルが付く。

    Requested Delivery Date

    日付 MM/DD/YYYY

    10 文字

    購買依頼担当者が指定した納期

    Shipping Address

    Street

    文字

    セミコロンで区切る

    依頼された品目の配送に使用される町名

    City

    文字

    セミコロンで区切る

    依頼された品目の配送に使用される市町村名


    文字

    セミコロンで区切る

    依頼された品目の配送に使用される州

    Zip

    数値

    セミコロンで区切る

    依頼された品目の配送に使用される ZIP コード

    Billing Address

    Street

    文字

    セミコロンで区切る

    請求に使用される住所(町名)

    City

    文字

    セミコロンで区切る

    請求に使用される市町村名

    State

    文字

    セミコロンで区切る

    請求に使用される州

    Zip

    数値

    セミコロンで区切る

    請求に使用される ZIP コード

    Payment Terms

    サポートされる支払い条件は発注書かクレジット カード。支払い情報の前に付くリテラルがタイプを示す。

    PO Type

    文字

    リテラル “PO”

    PO の支払い条件を示す。

    PO Number

    数値

    セミコロンで区切る

    発注書番号

    Credit Card Type

    文字

    リテラル “CC”

    クレジット カードの支払い条件を示す。

    Credit Card Number

    数値

    セミコロンで区切る

    クレジット カード番号

    Credit Card Expiration Month

    数値

    セミコロンで区切る

    クレジット カードの有効期限の月

    Credit Card Expiration Year

    数値

    セミコロンで区切る

    クレジット カードの有効期限の年

    Purchase Items

    以下のフィールドでは、購入する品目を指定する。この情報は、同じ購買依頼に含まれる品目ごとに繰り返すことが可能。少なくとも 1 品目が必要。

    Part Number

    数値

    セミコロンで区切る

    依頼品目のサプライヤ部品番号

    Quantity

    数値

    セミコロンで区切る

    依頼数量。ゼロより大きい数が必要。

    Description

    文字

    セミコロンで区切る

    依頼された品目の説明


     

  2. フィールドを確認します。

    フィールドとは、アプリケーションにとって意味のあるバイト シーケンスです。たとえば、図C-2の、Purchase Request Number、Supplier ID、Supplier Name などはすべてフィールドです。

  3. フィールド属性を指定します。

    フィールド属性には、フィールド名、フィールドに格納されるデータの型、フィールドの長さ、またはフィールドの終了を示す区切り記号があります。たとえば、[Supplier ID] フィールドはセミコロン(;)で区切られ、フィールド データの終了を示しますが、[Requested Delivery Date] の長さは 10 桁に決まっています。

  4. 階層グループを指定します。

    グループはなんらかの関連があるフィールド、コメントおよびその他のグループまたは参照の集合です。表 C-1 のサンプル データでは、はっきりと区別されるいくつかのグループ(Shipping Address、Billing Address、Payment Terms、および Purchase Items)が定義されています。

  5. グループ属性を指定します。

    階層グループの属性を定義する必要があります。グループ属性には、グループの名前、グループが省略可能、繰り返し、区切りのいずれであるか、別のグループへの参照として定義されているかどうかが含まれます。たとえば、Shipping Address と Billing Address の両方で同じフィールド(StreetCity, StateZip)を定義する必要があるので、Shipping_Address グループの Address グループを定義して、Billing_Address グループから、Address グループへの参照を設定できます。

上記の手順を完了したら、図C-1 のサンプルに示すように、データをスプレッドシートに入力できます。このスプレッドシートは、発注書のメッセージ定義を作成する際にガイドとして役立てることができます。

図 C-1 発注書データの分析


 

フォーマット定義の作成と変換のテスト

この節では、表 C-1 で説明したバイナリ データを XML に変換するために、メッセージ フォーマットを作成するプロセスを順を追って説明します。発注書のメッセージ フォーマットを正しく作成するために、作成したファイルを製品 CD-ROM に収録されている ¥samples¥di¥po¥po.mfl ファイルと比較することができます。

手順 1. Format Builder の呼び出しとメッセージ フォーマットの作成

Format Builder を呼び出してメッセージ フォーマットを作成する手順は次のとおりです。

  1. [スタート|プログラム|BEA WebLogic Platform 7.0|WebLogic Integration 7.0|Format Builder] を選択します。Format Builder のメイン ウィンドウが表示されます。

  2. [File|New] を選択します。

    新しいメッセージ フォーマット ルート ノードが作成され、ナビゲーション ツリーに表示されます。

  3. [Name/XML Root] フィールドに「PurchaseRequest」と入力します。

  4. [Apply] をクリックします。

    メッセージ フォーマット ルート ノードの名前が更新されます。

手順 2. 基本情報フィールドの作成

発注書の基本識別情報を取り出すために必要なフィールドを作成する手順は次のとおりです。

  1. [PR_Number] フィールドを作成するには、[Insert|Field|As Child] を選択します。

    ナビゲーション ツリーに新しいフィールドが追加されます。詳細ウィンドウに、デフォルトのフィールド プロパティが表示されます。

  2. 次の表の説明に従ってフィールドのプロパティを定義します。


     

    注意: これらの値は、図C-1 で示した発注書の生データを分析した結果決められました。

  3. [Apply] をクリックします。

    フィールドのプロパティが更新されます。

    注意: [PR_Number] フィールドと [Supplier_ID] フィールドの違いは名前だけなので、[Supplier_ID] フィールドの作成には、Format Builder の複製機能を使用できます。

  4. [PR_Number] フィールドを右クリックします。

  5. ショートカット メニューから [Duplicate] を選択します。

    複製されたフィールド(NewPR_Number)が兄弟として追加され、ナビゲーション ツリーで選択されます。

  6. [Name] フィールドに「Supplier_ID」と入力し、[Apply] をクリックして更新します。

  7. メッセージ フォーマット ドキュメントに対して行った変更を保存する手順は次のとおりです。

    1. [File|Save As] を選択して、[Save As] ダイアログ ボックスを表示します。

    2. samples/di/po ディレクトリに移動します。

    3. 任意のファイル名を入力します。たとえば、「my_po.mfl」と入力します。

      注意: 拡張子を指定しない場合、Format Builder により、自動的に.mfl 拡張子がメッセージ フォーマット ファイルに割り当てられます。

    4. [Save As] をクリックします。

  8. [Supplier_Name] フィールドを追加するには、[Insert|Field|As Sibling] を選択します。

    ナビゲーション ツリーに新しいフィールドが追加されます。詳細ウィンドウに、デフォルトのフィールド プロパティが表示されます。

  9. 次の表の説明に従って、[Supplier_Name] フィールドのプロパティを定義します。


     

  10. [Apply] をクリックします。

    フィールドのプロパティが更新されます。

    注意: ナビゲーション ツリーでフィールド アイコンの周囲が点線のボックスで表示される場合、そのフィールドは、省略可能です。

  11. [Requested_Delivery_Date] フィールドを追加するには、[Insert|Field|As Sibling] を選択します。

    ナビゲーション ツリーに新しいフィールドが追加されます。詳細ウィンドウに、デフォルトのフィールド プロパティが表示されます。

  12. 次の表の説明に従って、[Requested_Delivery_Date] フィールドのプロパティを定義します。


     

    注意: フィールドの詳細ウィンドウの内容は、[Type] 設定によって決まります。ドロップダウン リストからデータ型を選択すると、長さは指定しなくても決定されます。このため、[Field Attributes:] の [Termination]プロパティは表示されません。

  13. [Apply] をクリックします。

    フィールドのプロパティが更新されます。

  14. [File|Save] を選択して、変更を保存します。

手順3. Shipping Address グループとBilling Address グループの作成

Shipping Address グループと Billing Address グループを作成する手順は次のとおりです。

  1. ナビゲーション ツリーで任意のフィールドを選択し、[Insert|Group|As Sibling] を選択します。

    ナビゲーション ツリーに新しいグループが追加されます。詳細ウィンドウに、デフォルトのグループ プロパティが表示されます。

  2. 次の表の説明に従って、[Shipping_Address] グループのプロパティを定義します。


     

    注意: これらの値は 表 C-1 で示す発注書の生データを分析した結果決められました。

  3. [Apply] をクリックします。

    グループのプロパティが更新されます。

    注意: [_Shipping_Address] グループと [Billing_Address] グループの違いは名前だけなので、[Billing_Address] のフィールドは、Format Builder の複製機能を使用して作成できます。

  4. [Shipping_Address] グループを右クリックします。

  5. ショートカット メニューから [Duplicate] を選択します。

    複製されたグループ(NewShipping_Address)が兄弟として追加され、ナビゲーション ツリーで選択されます。

  6. [Name] フィールドに「Billing_Address」と入力し、[Apply] をクリックして更新します。

    [Shipping_Address] グループと [Billing_Address ] グループは、同じ属性の同じフィールドを含むので、[Shipping_Address] グループで [Address] グループを定義して、[Billing_Address ] グループでは [Address] グループを参照として設定できます。

  7. ナビゲーション ツリーで [Shipping_Address] グループを選択し、[Insert|Group|As Child] を選択します。

  8. 図C-1 のデータを使用して、[Address] グループを作成し、[Apply] をクリックしてグループのプロパティを更新します。

  9. 手順 2. 基本情報フィールドの作成、 で説明する手順と図C-1 のデータに従い、[Street]、[City]、[State_]、および [Zip] の各フィールドを [Address] グループの子として作成します。

    注意: [Street] フィールドを作成すれば、[Duplicate] ボタンを使用して [City] フィールドと [State] フィールドを作成できます。

  10. [Address] グループへの参照を作成するには、[Shipping_Address] の下の [Address] グループを右クリックして、ショートカット メニューから [Copy] を選択します。

    [Address] グループのプロパティ(子フィールドを含む)がコピーされ、クリップボードに置かれます。

  11. [Billing_Address] グループを右クリックして、ショートカット メニューから [Paste As Reference] を選択します。

    [Billing_Address] グループのすぐ後に、[Address] 参照が貼り付けられます。アイコンの矢印は、グループが参照グループであることを示します。


     

  12. [Address] グループ参照を [Billing_Address] グループの子にするには、[Address] グループ参照を選択してから [Edit|Demote] を選択します。

    [Address] 参照は、[Billing_Address] グループの子になります。

  13. [File|Save] を選択して、変更を保存します。

手順 4. 残りの項目の作成

必要に応じて、フィールドおよびグループの作成または複製のプロセスを繰り返し、発注書メッセージ フォーマット ドキュメントを完成させます。図C-1 で示す発注書生データの分析を利用して各項目に入力する必要がある値を決定します。サポート情報として、¥samples¥di¥po¥po.mfl ファイルを参照してください。

必要な項目の入力を終えると、ナビゲーション ツリーは図C-2のようになるはずです。

図 C-2 完成した Purchase Order サンプルのナビゲーション ツリー


 

手順 5. 完成したメッセージ フォーマットの保存

[File|Save] を選択して、完成したメッセージ フォーマットを保存します。

完成した MFL ドキュメントが保存されます。現在設定されている Format Builder オプションによっては、MFL ドキュメントで取り込まれたコンテンツ モデルを記述する DTD や XML スキーマも保存されます。

Format Builder を以下の方法で設定すると、作成したメッセージ フォーマット ドキュメントの DTD やXML スキーマを自動的に生成できます。

  1. [Tools|Options] を選択し、[Format Builder Options] ダイアログ ボックスを表示します。

  2. ダイアログ ボックスの下部の [XML Content Model] セクションで、必要に応じて、[Auto-generate DTD] や [Auto-generate Schema] をチェックします。

  3. [OK] をクリックするとオプションが更新されます。

これで、メッセージ フォーマット ドキュメントを保存すると必ず、Format Builder によって、各メッセージ フォーマット ドキュメントの指定したファイルが生成されます。

手順 6. メッセージ フォーマットのテスト

メッセージ フォーマットを使用してデータを変換する前に、メッセージ フォーマットをテストしてエラーがないかどうかを確認する手順は次のとおりです。

  1. [Tools|Test] を選択し、[Format Tester] ダイアログ ボックスを表示します。

  2. [File|Open Binary] を選択して、[開く] ダイアログ ボックスを表示します。

  3. samples/di/po ディレクトリに移動します。

  4. ファイルを選択し、[開く] をクリックします。

    [バイナリ] ウィンドウにバイナリ データが表示されます。

  5. [Translate|Binary To XML] をクリックします。

    アクティブな MFL ドキュメントを基にして、PO_01.DATA ファイルの内容が XML に変換されます。[XML] ウィンドウに XML 出力が表示されます。

    注意: 各変換手順の説明を表示するには、[Display|Debug] を選択し、[Debug] ウィンドウを開きます。次に、[Translate|Binary To XML] を選択します。プロセスの各手順でメッセージが表示されます。

  6. 変換されたデータが正しければ、[File|Save XML] を選択します。

  7. [ファイル名] フィールドに「PO.XML」という名前をタイプし、次に、[保存] をクリックして XML 出力を保存します。

 


XML からバイナリへの変換の実行

Format Builder を使用してメッセージ定義を作成して、XML データのバイナリへの変換をテストすることもできます。この操作を実行するのに必要な手順は、バイナリ データを XML に変換する場合と基本的に同じです。XML データをバイナリに変換するためには、最初にバイナリ フォーマットの MFL 記述を作成します。Purchase Order サンプル ファイルを、プロセスのテストに使用する手順は次のとおりです

  1. Format Builder メニューで [File|Open] を選択します。

  2. 発注書のメッセージ フォーマット ドキュメントを選択します。

  3. [開く] をクリックします。

    ナビゲーション ツリーに、メッセージ フォーマット ドキュメントが表示されます。

  4. [Tools|Test] を選択し、[Format Tester] ダイアログ ボックスを表示します。

  5. Format Tester メニューで [File|Open XML] を選択します。

  6. samples¥di¥po ディレクトリに移動します。

  7. po.xml ファイルを選択し、[開く] をクリックします。右ペインに XML データ ページが表示されます。

  8. [Translate|XML to Binary] を選択します。

    XML データが変換され、右ペインに発注書データがバイナリ フォーマットで表示されます。

    注意: 各変換手順の説明を表示するには、[Display|Debug] を選択し、[Debug] ウィンドウを開きます。次に、[Translate|XML to Binary] を選択します。プロセスの各手順でメッセージが表示されます。

  9. 変換されたデータが正しければ、[File|Save Binary] を選択します。

  10. [ファイル名] フィールドに名前(たとえば、test_po.data)をタイプし、次に、[保存] をクリックして バイナリ出力を保存します。

 

ページの先頭 前 次