.NETテクノロジーとSOAの関係(3/5 ページ)

» 2005年08月15日 03時28分 公開
[下村恭(ハンズシステム),ITmedia]

.NETテクノロジーはどのようにSOAをサポートするのか

 では、ここから.NETテクノロジーがどのようにSOAをサポートしていくのかについて見てみることにしよう。

 まず、インフラ部分について見てみると、もちろん、WebサービスはSOAを支える1つの柱と言える。そして、今後のSOA接続テクノロジーとしてWSE 3.0やIndigoといった次世代の接続テクノロジーが用意されようとしている。特にIndigoはWindows Vista(Longhorn)と共に登場する次世代プログラミングフレームワークの一部で、.NET Remoteをより強力にし、さまざまなプログラミングモデルやプロトコルを統一したものだ。もちろん、XML、HTTP、SOAPといった標準プロトコルも包含するため、従来のWebサービスも統合された形となる。

 また、.NET Framework 2.0では、SOAを支えるべくさまざまな機能が追加、あるいは機能強化されている。例えば、Webサービスの呼び出しを非同期に実行させるためのコードを、イベントモデルを使用して簡単に実装できるようにする仕組みがサポートされたり、IXmlSerializableが拡張され、任意のクラスをXMLにシリアライズできるようになる。またHttpListenerクラスが強化され、IISが稼動していない環境でも、簡単にWebサービスを公開できるようになるなど、強化ポイントがたくさんある。

 さらに、Visual Studio 2005の登場で、SOAの設計手法を用いたシステム開発がスムーズに行えるような環境が整うことになる。その理由が、Visual Studio 2005 Team Editionに搭載される分散システムデザイナだ。

 分散システムデザイナは、アプリケーションデザイナ、システムデザイナ、論理データセンタデザイナ、配置デザイナの4種類のダイアグラムを作成し、管理できるようになっている。これらのダイアグラムはSDM(System Definition Model:システム定義モデル)で定義され、DSL(Domain Specific Language)と呼ばれる、ある特定の領域に特化した記述言語を用いて記述されたデータの形で管理する。詳しい方はUMLはどうなのかと思われたかもしれないが、分散システムデザイナでは、より実際に即した記述を行うため、より抽象化されたUMLではなく、より具体的なDSLを使用する。

Visual StudioによるSOAベースデザイン

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ