TOP業務システム> 単純なデータ変換機能
SOA/ESB
SOA/ESBの真の姿とは

第3回:ESBにおけるデータ変換(前編)

著者:Fiorano Software  青島 茂   2007/8/28
前のページ  1  2  3  次のページ
単純なデータ変換機能

   現在、各ベンダーから販売されているESB製品に設けられているデータ変換の機能の多くは、次にあげた2つの前提のもとで動作するようになっています。
  • ESBに接続するアプリケーションは、XMLを送受信する
  • アプリケーション間のデータの違いは、一方のアプリケーションが出力してきたXMLデータを、受け側のアプリケーションが受け取れるXMLデータに変換することによって吸収する

表1:現行のESB製品に多くみられるデータ変換方式

   これは、図2に示したように、XML変換によってアプリケーション間のデータの違いを吸収しようとするものです。

XMLをベースとしたデータ変換機能
図2:XMLをベースとしたデータ変換機能

   なお、XMLデータ変換内容の指定には、XSLT(XMLスタイルシート)を用いている製品が多いようです。


XMLの採用

   XMLなどのデータスキーマを定義できる技術が誕生する以前、アプリケーション間でのデータ転送には、バイトストリームのデータやCSV形式のデータなどの非構造のデータが用いられていました。

   これらの方法では図3に示すように、データ内容の意味づけ(セマンティクス)に関する取り決めをアプリケーション間で定義しておく必要があります。これらの取り決めは、アプリケーション内のロジックとして実現されます。なお、図3では日本語1文字も1バイトであらわしていますが、実際には2バイト分必要です。数値データについても同様になります。

バイトストリームおよびCSV形式
図3:バイトストリームおよびCSV形式

   バイトストリームやCSVなどを転送する方法では、一方のアプリケーションでデータスキーマが変更されると、相手側アプリケーションでもそれに伴うロジックの変更が必要となります。

   つまりアプリケーション間の依存性が高く、アプリケーションの変更や置き換えが困難なものとなり、アプリケーション統合のアジャイル性を損ねてしまうことになります。

   一方XMLは、データスキーマおよびデータの意味を示すタグをデータ自身の中に持っています。このため、XMLデータを受け取ったアプリケーションは、以下のようなタグを解釈することでデータのセマンティクスを理解できるようになります。

<Order>
  <seihin>
     <seihin id>0001</seihinn id>
    <seihin name>プリンタ-A</seihin name>
    <price>100000</price>
  </seihin>
  <quantity>25</quantity>
</Order>

   XMLを採用することで、アプリケーション間におけるセマンティクスの事前取り決めの負荷を減少させることができます。

   これは、受け取ったデータそのものにセマンティクスが記述されているため、データのセマンティクス的な構造を事前に定義しておかなくても、XMLのタグを解読することでデータスキーマとその意味を理解することができるからです。

   XMLのこの自己記述性は、アプリケーション統合におけるXML採用の大きなメリットです。XMLでは一般的にデータの処理効率が落ちますが、それを補って余りあるだけのアジャイル性をシステムにもたらします。ただし、これには次節で述べるようにタグ名についてアプリケーション間で合意が取れているという大前提が必要になります。

前のページ  1  2  3  次のページ


Fiorano Software, Inc. 日本オフィス ジャパン オペレーション マネージャ 青島 茂
著者プロフィール
Fiorano Software, Inc.
日本オフィス ジャパン オペレーション マネージャ
青島 茂
SOA/ESBの分野に2003年1月からたずさわる。2005年3月にFiorano Softwareの日本オフィスを開設し、現在SOA/ESB製品の国内市場への普及に専心している。


INDEX
第3回:ESBにおけるデータ変換(前編)
  ESBに求められるデータの違いを吸収する機能
単純なデータ変換機能
  XML変換(XSLTによるデータマッピング)