− 第6回 −
XMLからSOAへ。
第三世代Webサービス。
〜次世代情報システムの基盤アーキテクチャ〜
アプリケーション統合の壁
ここ10年間、アプリケーションは、抽象度を上げながらさまざまな制約を取り払ってきた。たとえば、昔はUNIXやWindowsなど、それぞれのプラットフォームに合わせてソフトウェアのコードを書いていた。また、違うプラットフォームでアプリケーションを走らせる移植作業は、膨大な時間と労力を必要とした。
このプラットフォーム依存型プログラミングは、Javaの登場で大きく変わった。OSとアプリケーションの間に仮想の実行環境をおく仮想機械(バーチャルマシン)の導入にともない、アプリケーションをプラットフォームの制約から解き放ったのである。米国サン・マイクロシステムズ社が提唱した「Write Once, Run Anywhere」というJavaのコンセプトは、ネットワーク依存型アプリケーションの基礎を切り拓いたと言える。もちろん、マイクロソフト社が提唱している.Net Frameworkでも、こうした仮想機械が採用されている。
こうしてプラットフォーム依存から解き放たれても、アプリケーションがネットワークを介して共同作業(協労)をする場合、やり取りするデータの定義が大きな問題となっていた。たとえば、受発注管理や決済で広く利用されているEDI(Electronic Data Interchange)では、事前にデータ形式や通信手段などを細かく取り決めておかなければならなかった。
XML(Extensible Markup Language)の登場は、この問題に大きな前進をもたらした。XMLは、自己記述性(self-describing)を持つ新しいデータ交換、データ共有の方法だったからだ。 XML以前のコンピュータのデータは、事前にフォーマットなどを詳細に取り決めたり、プラットフォーム間でのコンバージョンを行ったり、あるいは組み込み情報を使わなければ、解釈ができなかった。これに対しXMLでは、取り扱うデータだけではなく、その取扱の方式についても、各プラットフォームで共通して使われているテキストのデータとして記述ができる(=自己記述性)仕様となっている。
この結果、テキストだけで記述されたデータ(=XMLドキュメント)が、それのみによって意味を明確にできるようになり、各種のプラットフォームが混在するネットワーク間でのデータのやり取りが格段に改善された。また、XMLの通信手順であるSOAP(Simple Object Access Protocol)の整備によって安全で確実なデータ通信ができるようになったことも、XMLの利用拡大における重要なステップとなった。











