サービス指向モデリングとは、アプリケーションアーキテクチャ、サービス指向アーキテクチャ、マイクロサービス、クラウドコンピューティングなど、さまざまなアーキテクチャスタイルやパラダイムの中で、サービス指向のビジネスシステムを設計および仕様化することを目的として、ビジネスシステムやソフトウェアシステムをモデリングする分野です。
サービス指向のモデリング手法には、通常、「問題領域組織」(企業)と「ソリューション領域組織」(情報技術部門)の両方が利用できるモデリング言語が含まれています。これらの組織独自の視点は、サービス開発ライフサイクル戦略や、その戦略を用いて実施されるプロジェクトに影響を与えるのが一般的です。
サービス指向モデリングでは、通常、組織内のすべてのソフトウェアエンティティの分析、設計、アーキテクチャを包括的に把握できるモデルを作成することを目指します。このモデルは、ビジネスや技術に関する理解度が異なる様々なレベルの人々が理解できるものでなければなりません。サービス指向モデリングでは、ソフトウェアエンティティを「資産」(サービス指向資産)として捉え、これらの資産を総称して「サービス」と呼びます。サービス設計における重要な課題は、ビジネス(ドメイン)レベルと技術(インターフェース契約)レベルの両方において、適切なサービス粒度を見つけることです。
サービスの設計とモデリングに特化したアプローチとして、SDDM、SOMA、SOMFなど、いくつかの手法が提案されている。
サービス指向設計および開発手法 (SDDM) は、M. Papazoglou と WJ van den Heuvel によって作成およびコンパイルされた融合手法です。[ 1 ]この論文では、SOA 設計者とサービス開発者は、健全な設計および開発手法に頼らずに複雑なサービス指向開発プロジェクトを監督することは期待できないと主張しています。サービス指向設計で使用される手法と技術の概要を示し、サービスプロデューサーとリクエスターの両方の観点からサービス開発手法にアプローチし、これらの役割で使用できる SDDM 要素の範囲をレビューします。
SDDM のアップデートは、後にM. Papazoglou 著のWeb Services and SOA: Principles and Technologyに掲載されました。 [ 2 ]
IBMは2004年にSOA関連の手法としてサービス指向モデリングとアーキテクチャ(SOMA)を発表し、その後その一部を公開しました。[ 3 ] SOMAは、SOAの設計と作成に必要なサービスモデリングのより一般的な領域を指します。SOMAはより広い範囲をカバーし、サービス、それらのサービスを実現するコンポーネント(別名「サービスコンポーネント」)、およびサービスを構成するために使用できるフローの識別、仕様化、および実現を通じて、サービス指向分析と設計(SOAD)を実装します。
SOMAは、従来のオブジェクト指向およびコンポーネントベースの分析・設計手法を拡張し、SOAに関連する、またはSOAをサポートする懸念事項を含める分析・設計手法です。SOMAは、SOAの3つの主要要素、すなわちサービス、それらのサービスを実現するコンポーネント(サービスコンポーネントとも呼ばれる)、およびサービスを構成するために使用できるフローの識別、仕様策定、および実現という3つの主要フェーズで構成されています。
SOMAは、サービス(情報サービスを含む)、コンポーネント、フロー(プロセス/構成)の識別、仕様策定、実現、実装のためのエンドツーエンドのSOA手法です。SOMAは、ドメイン分析、機能領域のグループ化、可変性指向分析(VOA)プロセスモデリング、コンポーネントベース開発、オブジェクト指向分析・設計、ユースケースモデリングといった既存の手法に基づいています。SOMAは、目標サービスモデリング、サービスモデル作成、サービスリトマス試験といった新しい手法を導入し、サービスの粒度を判断するのに役立ちます。
SOMA は、ドメイン分解、目標サービスモデリング、既存資産分析などの補完的な手法を通じて、サービス、コンポーネント境界、フロー、構成、および情報を識別します。SOMA のサービスライフサイクルは、識別、仕様、実現、実装、展開、管理の各フェーズで構成され、各フェーズで SOA の基本構成要素が識別され、洗練され、実装されます。SOA の基本構成要素は、サービス、コンポーネント、フロー、およびそれらに関連する情報、ポリシー、契約で構成されます。[ 4 ]
サービス指向モデリングフレームワーク(SOMF)は、著者マイケル・ベルによって、企業の問題に対する戦術的および戦略的なソリューションを提供するために、規律と普遍的な言語を使用する、ソフトウェア開発のための包括的で人間的なモデリング言語として考案されました。 [ 5 ]「包括的言語」という用語は、ローカル、分散、またはフェデレーションのいずれであっても、あらゆるアプリケーション、ビジネス、および技術環境を設計するために使用できるモデリング言語を指します。この普遍性には、SOAランドスケープ、クラウドコンピューティング、ビッグデータ環境など、アプリケーションレベルおよびエンタープライズレベルのソリューションの設計が含まれる場合があります。一方、「人間的」という用語は、SOMF言語を実装の直感性と使用のシンプルさと関連付けています。
SOMFは、サービス指向開発ライフサイクル手法であり、分野固有のモデリングプロセスです。プロジェクトにおけるサービス指向ライフサイクル開発とモデリングの成功に貢献する、数多くのモデリング手法と関連分野を提供します。下の図は、サービス開発計画の「実行すべきこと」を特定する主要な要素を示しています。これらは、実務者が効果的なプロジェクト計画を作成し、小規模または大規模なビジネス、あるいは技術ベンチャーといったサービス指向イニシアチブのマイルストーンを特定できるようにするモデリングの柱となります。

さらに、以下のビデオクリップでは、サービス指向モデリングプロセスを推進する3つのSOMF構成要素、つまりセグメントを示しています。