|
||||||||||||||||||
| 1 2 3 次のページ | ||||||||||||||||||
| ESBに求められるデータの違いを吸収する機能 | ||||||||||||||||||
|
「第2回:ESBからSOAを理解する」では、ESBが備えるべき最も基本的な機能として「コネクティビティ」を取り上げました。 ESBがコネクティビティを提供することにより、アプリケーション間のプロトコルの違いをESBが吸収し、アプリケーション側では相手アプリケーションのプロトコルを意識しないですむようになります。 これと同様に、アプリケーション間のデータの違いを吸収する機能がESBには求められます。これは、アプリケーション間のデータの違いがアプリケーションを統合する場合に必ずといっていいほど発生する、避けて通れない課題だからです。 しかしながら、そこには簡単には解消できないやっかいな問題が存在します。そこで今回から2回に渡り、この問題について触れながらESBに求められる機能を考察し、さらにESBでは解消できない問題点についても取り上げます。 |
||||||||||||||||||
| アプリケーション間のデータ整合性 | ||||||||||||||||||
|
アプリケーションを統合する場合、やり取りするデータについてアプリケーション間で整合性が取れている必要があります。 データの整合性を確保するための理想的な方法は、企業内のすべてのデータを標準化し、個々のアプリケーションに固有なデータ構造やセマンティクスを排除しておくことです。しかしながら、この方法はあまりにも理想的すぎ、多くのアプリケーションがすでに稼動している状況では非現実的です。 また、SOAの目的の1つであるアジャイルなITシステムでは、ビジネス環境の変化に応じて統合するアプリケーションの変更や置き換えを迅速に実現することが求められます。データ設計からやり直している時間的余裕はないのです。 アプリケーション間のデータ整合性の問題は、SOAが登場する前から存在する普遍的な課題です。このため、EAIやETLなどに代表される従来の統合ツールやミドルウェアにおいても、アプリケーション間のデータ整合性を確保する機能が設けられていました。ESBにおいても同様に、アプリケーション間のデータの違いを吸収する機能が必要となります。 具体的には、図1に示すように、送る側のデータを受け取り側のアプリケーションが受け付け可能な形式に変換する「データ変換」機能をESBのデータストリーム上に設けることで実現します。 ![]() 図1:ESBにおけるデータ変換機能の位置づけ ESB上のデータ変換機能によって、相手アプリケーションのデータ構造が透過なものとなり、相手アプリケーションの変更や置き換えによる影響を受けなくてすむようになります。 しかしながら、データ変換には多くの複雑な問題があり、「単純な変換機能」では完全にデータの違いを吸収できないという側面があることに留意する必要があります。 |
||||||||||||||||||
|
1 2 3 次のページ |
||||||||||||||||||
|
|
||||||||||||||||||
|
|
||||||||||||||||||
|
||||||||||||||||||
|
|
||||||||||||||||||
|
||||||||||||||||||
|
|
||||||||||||||||||
|
||||||||||||||||||


