非 XML データ マッピング サンプル

WebLogic Integration ソフトウェアには、Format Builder を使用して非 XML データのメッセージ フォーマット定義を作成およびテストする基本テクニックの例示を目的とする Purchase Order サンプルが含まれています。Purchase Order サンプルは MFL ファイルと DATA ファイルで構成されています。このサンプルを利用すると、WebLogic Integration での非 XML データの使い方を詳しく学習したり、WebLogic Integration の非 XML マッピング機能のインストールをテストしたりできます。

この節では、以下のトピックを取り上げます。

関連トピック

WebLogic Integration での非 XML データの使い方、および Format Builder を使用したメッセージ フォーマット定義の作成とテストの詳細については、データ トランスフォーメーション ガイドを参照してください。

Format Builder の詳細については、Format Builder の実行ファイルに含まれているヘルプを参照してください。Format Builder のヘルプを表示するには、手順 1. Format Builder の起動とメッセージ フォーマットの作成の説明に従って Format Builder を起動し、Format Builder のメニュー バーから [HelpHelp Topics] を選択します。

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

次の表では、Purchase Order サンプル アプリケーションに付属のファイルについて説明します。ディレクトリ名はすべて、WebLogic Integration のサンプル ディレクトリ (WLP_HOME\integration\samples\di) を基準とした相対的なものです。WLP_HOME は、WebLogic Platform の最上位ディレクトリです。たとえば、WebLogic Platform を c:\bea ディレクトリにインストールした場合、di ディレクトリは c:\bea\weblogic81\integration\samples\di に位置します。

ディレクトリ
ファイル
説明

po

po_01.data

非 XML フォーマットの発注書データ

po_02.data

非 XML フォーマットの追加発注書データ

po.mfl

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

前提となる事項

Format Builder の使い方を理解するには、WebLogic Integration に付属のデータ統合ツールで使用されるデータ フォーマット (非 XML データ、XML、および MFL) を理解しておくと役立ちます。まだそれらのフォーマットが理解できていない場合は、Format Builder ヘルプのサポートされるデータ型のセクションを参照してください。Format Builder のヘルプを表示するには、手順 1. Format Builder の起動とメッセージ フォーマットの作成の説明に従って Format Builder を起動し、Format Builder のメニュー バーから [HelpHelp Topics] を選択します。

非 XML から XML へのトランスフォーメーションを実行する

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

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

変換するデータを解析する

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

次のリストは、WLP_HOME\integration\samples\di\po\po_01.data ファイルに含まれているサンプルの非 XML データを示しています。WLP_HOME は、WebLogic Platform の最上位ディレクトリです。たとえば、WebLogic Platform を c:\bea ディレクトリにインストールした場合、po ディレクトリは c:\bea\weblogic81\integration\samples\di\po に位置します。

この例では、サンプル データは XYZ Corporation が使用する専用システムにある架空の発注書から取得されます。この会社は、XML データを受け取る別のシステムと情報交換したいと考えています。

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. データの定義を生成します。データの定義を生成するには、印刷された仕様書または内部資料を使用しなければならない場合があります。このサンプルでは、発注書フォーマットを表 2-2に記述してあります。
  2. カテゴリ
    フィールド名
    データ型
    長さ
    説明

    Basic Information

    Purchase Request Number

    数値

    セミコロンで区切る

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

    Supplier ID

    数値

    セミコロンで区切る

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

    Supplier Name

    文字

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

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

    Requested Delivery Date

    日付 MM/DD/YYYY

    10 文字

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

    Shipping Address

    Street

    文字

    セミコロンで区切る

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

    City

    文字

    セミコロンで区切る

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

    State

    文字

    セミコロンで区切る

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

    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

    文字

    セミコロンで区切る

    依頼された品目の説明

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

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

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

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

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

図 : 発注書データの分析

image

フォーマット定義の作成とトランスフォーメーションのテスト

この節では、非 XML データを XML に変換するために、メッセージ フォーマットを作成するプロセスを順を追って説明します。発注書のメッセージ フォーマットを正しく作成するために、作成したファイルを WebLogic Integration に含まれている WLP_HOME\integration\samples\di\po\po.mfl ファイルと比較することができます。WLP_HOME は、WebLogic Platform の最上位ディレクトリです。たとえば、WebLogic Platform を c:\bea ディレクトリにインストールした場合、po ディレクトリは c:\bea\weblogic81\integration\samples\di\po に位置します。

手順 1. Format Builder の起動とメッセージ フォーマットの作成

Format Builder を起動してメッセージ フォーマットを作成するには、次の手順に従います。

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

  3. [FileNew] を選択します。
  4. 新しいメッセージ フォーマット ルート ノードが作成され、ナビゲーション ツリーに表示されます。

  5. [Name/XML Root] フィールドに「PurchaseRequest」と入力します。
  6. [適用] をクリックします。
  7. メッセージ フォーマット ルート ノードの名前が更新されます。

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

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

  1. PR_Number フィールドを作成するには、[InsertFieldAs Child] を選択します。
  2. ナビゲーション ツリー (左ペイン) に新しいフィールドが追加されます。詳細ウィンドウ (右ペイン) に、デフォルトのフィールド プロパティが表示されます。

  3. 次の表の説明に従ってフィールドのプロパティを定義します。
  4. 対象となるセクション
    実行する操作

    [Field Description]

    [Name] フィールドに「PR_Number」と入力する。

    [Type] ドロップダウン リストから [Numeric] を選択する。

    [Field Occurrence]

    [Once] チェックボックスが選択されていることを確認する。

    [Field Attributes:|Termination]

    [Delimiter] チェックボックスを選択する。

    注意 : 選択するのは [Delimiter] オプションであり、[Delimiter Field] オプションではない。

    [Delimiter] タブの [Value] フィールドにセミコロン (;) を入力する。

    [Field Attributes:|Code Page]

    [Code Page] ドロップダウン リストから目的のコード ページを選択する。コード ページは、各フィールドの非 XML データの文字エンコーディングを指定する。

    たとえば、デフォルトの windows-1252 - Windows Latin-1 を選択したままにする。

    注意 : 詳細ウィンドウ (右ペイン) のチェックボックスとフィールドの詳細については、〔F1〕を選択してください。チェックボックスとフィールドの説明がブラウザに表示されます。

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

  5. [適用] をクリックします。
  6. フィールドのプロパティが更新されます。

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

  7. ナビゲーション ツリー (左ペイン) で PR_Number フィールドを右クリックし、ドロップダウン メニューから [Duplicate] を選択します。
  8. 複製されたフィールド (NewPR_Number) が兄弟として追加され、ナビゲーション ツリーで選択されます。

  9. [Name] フィールドに「Supplier_ID」と入力し、[Apply] をクリックして更新します。
  10. メッセージ フォーマット ドキュメントに加えた変更を保存する手順は次のとおりです。
    1. [FileSave As] を選択します。
    2. [Save As] ダイアログ ボックスが表示されます。

    3. WLP_HOME\integration\samples\di\po ディレクトリに移動します。WLP_HOME は、WebLogic Platform の最上位ディレクトリです。たとえば、WebLogic Platform を c:\bea ディレクトリにインストールした場合、po ディレクトリは c:\bea\weblogic81\integration\samples\di\po に位置します。
    4. ファイル名 (my_po.mfl など) を入力します。
    5. 注意 : 拡張子を指定しない場合は、自動的に .mfl という拡張子がメッセージ フォーマット ファイルに割り当てられます。

    6. [Save As] をクリックします。
  11. Supplier_Name フィールドを追加するには、[InsertFieldAs Sibling] を選択します。
  12. ナビゲーション ツリー (左ペイン) に新しいフィールドが追加されます。詳細ウィンドウに、デフォルトのフィールド プロパティが表示されます。

  13. 次の表の説明に従って、Supplier_Name フィールドのプロパティを定義します。
  14. 対象となるセクション
    実行する操作

    [Field Description]

    [Name] フィールドに「Supplier_Name」と入力する。

    [Optional] チェックボックスを選択する。

    [Type] ドロップダウン メニューから [String] を選択する。

    [Field Occurrence]

    [Once] チェックボックスが選択されていることを確認する。

    [Field Attributes]

    [Field is Tagged] チェックボックスを選択する。

    [Field is Tagged] フィールドに次のように入力する。

    SUP:

    [Field Attributes:|Termination]

    [Imbedded Length] チェックボックスを選択する。

    [Description] タブの [Type] ドロップダウン メニューから [Numeric] を選択する。

    [Length] チェックボックスが選択されていることを確認し、[Length] テキスト ボックスに「2」と入力する。

    注意 : 詳細ウィンドウ (右ペイン) のチェックボックスとフィールドの詳細については、〔F1〕を選択してください。チェックボックスとフィールドの説明がブラウザに表示されます。

  15. [適用] をクリックします。
  16. フィールドのプロパティが更新されます。

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

  17. Requested_Delivery_Date フィールドを追加するには、[InsertFieldAs Sibling] を選択します。 .
  18. ナビゲーション ツリーに新しいフィールドが追加されます。詳細ウィンドウに、デフォルトのフィールド プロパティが表示されます。

  19. 次の表の説明に従って、Requested_Delivery_Date フィールドのプロパティを定義します。
  20. 対象となるセクション
    実行する操作

    [Field Description]

    [Name] フィールドに「Requested_Delivery_Date」と入力する。

    [Type] ドロップダウン メニューから [Date: MM/DD/YYYY] を選択する。

    [Field Occurrence]

    [Once] チェックボックスが選択されていることを確認する。

    [Field Attributes]

    [Data Base Type] ドロップダウン メニューで、[String] が選択されていることを確認する。

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

    注意 : 詳細ウィンドウ (右ペイン) のチェックボックスとフィールドの詳細については、〔F1〕を選択してください。チェックボックスとフィールドの説明がブラウザに表示されます。

  21. [適用] をクリックします。
  22. フィールドのプロパティが更新されます。

  23. [FileSave] を選択して、変更を保存します。

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

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

  1. ナビゲーション ツリーで任意のフィールドを選択し、[InsertGroupAs Sibling] を選択します。
  2. ナビゲーション ツリーに新しいグループが追加されます。詳細ウィンドウに、デフォルトのグループ プロパティが表示されます。

  3. 次の表の説明に従って、Shipping_Address グループのプロパティを定義します。
  4. 対象となるセクション
    実行する操作

    [Group Description]

    [Name] フィールドで、「Shipping_Address」と入力する。

    [Group Occurrence]

    [Once] チェックボックスが選択されていることを確認する。

    [Group Attributes]

    [Group Delimiter] で [None] チェックボックスが選択されていることを確認する。

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

    注意 : 詳細ウィンドウ (右ペイン) のチェックボックスとフィールドの詳細については、〔F1〕を選択してください。チェックボックスとフィールドの説明がブラウザに表示されます。

  5. [適用] をクリックします。
  6. グループのプロパティが更新されます。

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

  7. ナビゲーション ツリー (左ペイン) で Shipping_Address グループを右クリックし、ドロップダウン メニューから [Duplicate] を選択します。
  8. 複製されたグループ (NewShipping_Address) が兄弟として追加され、ナビゲーション ツリーで選択されます。

  9. [Name] フィールドで「Billing_Address」と入力し、[Apply] をクリックして更新します。
  10. Shipping_Address グループと Billing_Address グループは、同じ属性の同じフィールドを含むので、Shipping_Address グループで Address グループを定義して、Billing_Address グループでは Address グループを参照として設定できます。

  11. ナビゲーション ツリー (左ペイン) で Shipping_Address グループを選択し、[InsertGroupAs Child] を選択します。
  12. 図 : 発注書データの分析のデータを使用して Address グループを作成し、[Apply] をクリックしてグループ プロパティを更新します。
  13. 手順 2. 基本情報フィールドの作成の手順と図 : 発注書データの分析のデータに従って、StreetCityState、および Zip フィールドを Address グループの子として作成します。
  14. 注意 : Street フィールドを作成すれば、[Duplicate] ボタンを使用して City フィールドと State フィールドを作成できます。

  15. Address グループへの参照を作成するには、Shipping_Address の下の Address グループを右クリックして、ドロップダウン メニューから [Copy] を選択します。
  16. Address グループのプロパティ (子フィールドを含む) がコピーされ、クリップボードに置かれます。

  17. Billing_Address グループを右クリックして、ドロップダウン メニューから [Paste As Reference] を選択します。
  18. Billing_Address グループのすぐ後に、Address 参照が貼り付けられます。アイコンの矢印は、グループが参照グループであることを示します。

    image

  19. Address グループ参照を Billing_Address グループの子にするには、その参照を選択してから [EditDemote] を選択します。
  20. Address 参照は、Billing_Address グループの子になります。

  21. [FileSave] を選択して、変更を保存します。

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

必要に応じて、フィールドおよびグループの作成または複製のプロセスを繰り返し、発注書メッセージ フォーマット ドキュメントを完成させます。図 : 発注書データの分析で示す発注書の生データの分析を利用して各項目に入力する必要がある値を決定します。サポート情報として、WLP_HOME\integration\samples\di\po\po.mfl ファイルを参照してください。WLP_HOME は、WebLogic Platform の最上位ディレクトリです。たとえば、WebLogic Platform を c:\bea ディレクトリにインストールした場合、po ディレクトリは c:\bea\weblogic81\integration\samples\di\po に位置します。

必要な項目の入力が終わると、ナビゲーション ツリー (左ペイン) が図 : 完成した Purchase Order サンプルのナビゲーション ツリーのように表示されるはずです。

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

image

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

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

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

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

  1. [ToolsTest] を選択して、[Format Tester] ダイアログ ボックスを表示します。
  2. [FileOpen Non-XML] を選択して、[Open] ダイアログ ボックスを表示します。
  3. WLP_HOME\integration\samples\di\po ディレクトリに移動します。WLP_HOME は、WebLogic Platform の最上位ディレクトリです。たとえば、WebLogic Platform を c:\bea ディレクトリにインストールした場合、po ディレクトリは c:\bea\weblogic81\integration\samples\di\po に位置します。
  4. PO_01.DATA ファイルを選択して、[Open] をクリックします。
  5. 非 XML データが [Non-XML] ウィンドウに表示されます。

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

    注意 : トランスフォーメーションの各ステップの説明を参照するには、[DisplayDebug] を選択して [Debug] ウィンドウを開き、[TransformNon-XML To XML] を選択します。プロセスの各ステップでメッセージが表示されます。

  8. 変換されたデータに問題がない場合は、[FileSave XML] を選択します。
  9. [File name] フィールドに「po.xml」という名前を入力し、[Save] をクリックして XML 出力を保存します。

XML から非 XML へのトランスフォーメーションを実行する

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

  1. Format Builder のメニューから [FileOpen] を選択します。
  2. 発注書のメッセージ フォーマット ドキュメントを選択します。
  3. [開く] をクリックします。
  4. ナビゲーション ツリーに、メッセージ フォーマット ドキュメントが表示されます。

  5. [ToolsTest] を選択して、[Format Tester] ダイアログ ボックスを表示します。
  6. Format Tester のメニューから [FileOpen XML] を選択します。
  7. WLP_HOME\integration\samples\di\po ディレクトリに移動します。WLP_HOME は、WebLogic Platform の最上位ディレクトリです。たとえば、WebLogic Platform を c:\bea ディレクトリにインストールした場合、po ディレクトリは c:\bea\weblogic81\integration\samples\di\po に位置します。
  8. po.xml ファイルを選択して、[Open] をクリックします。
  9. 右ペインに XML データ ページが表示されます。

  10. [TransformXML to Non-XML] を選択します。
  11. XML データが変換され、右ペインに発注書データが非 XML フォーマットで表示されます。

    注意 : トランスフォーメーションの各ステップの説明を参照するには、[DisplayDebug] を選択して [Debug] ウィンドウを開き、[TransformXML to Non-XML] を選択します。プロセスの各ステップでメッセージが表示されます。

  12. 変換されたデータに問題がない場合は、[FileSave Non-XML] を選択します。
  13. [File name] フィールドに名前 (たとえば、test_po.data) を入力し、[Save] をクリックして非 XML 出力を保存します。

Previous Document Next Document