Service Oriented Architecture (SOA)は、必要とする結果を得るために人々・組織・システムがどのようにサービスと関わるのかを定義するアーキテクチャパラダイムです。
サービスとは、明確に定義された(well-defined)インターフェースを通して他の存在に価値を提供し、必要とする存在から自由に利用できる存在です。複数のサービスが連携して価値を提供する場合もあります。
Service Oriented Architecture (SOA)は、アジリティ・規模・透過性を最大限にするため、組織・コミュニティやシステムをまとめ、そして把握するための方法です。SOAのアプローチはシンプルです。人々・組織・システムがお互いにサービスを提供し合います。これらのサービスを利用して、どのように、誰が実現するのかがわからないようなことをサービス群に依頼し、結果を得ることができます。
Enterprise ArchitectでService Oriented Architectureをモデリングし、開発する際には、以下の内容が関係します。
- XMLスキーマ定義 (XSD) あるいはXMLスキーマ - XMLドキュメントが遵守すべきルールを明示するためのXMLの技術です。Enterprise Architectではスキーマコンポーザーを利用してXSDを定義・生成できます。
- XSL変換は、XSLスタイルシートを参照し、入力されたXMLドキュメントを別の内容に変換する仕組みです。Enterprise Architectでは、XSLTのデバッガとエディタを搭載しています。
- Web Services Description Language 1.1 (WSDL) - Webサービスを記述するためのXMLベースの言語です。
- Service oriented architecture Modeling Language (SoaML) - UMLを利用してSOAのソリューションを記述する標準的な方法です。
- Service-Oriented Modeling Framework (SOMF) - サービス指向の開発ライフサイクルに関する方法論です。モデリングの考え方やルールが含まれています。
- National Information Exchange Modeling (NIEM) - システムと政府の関係者や部署の間で情報をどのように共有するかを記述する際に利用される共通のフレームワークです。
- Meta-Object Facility (MOF) - Object Management Group (OMG)が定義する、メタモデリングのための標準です。UMLなどの言語の文法定義に利用されます。
参照: