SOAとは何か?『SOA―サービス指向アーキテクチャ』から転載(3/5 ページ)

» 2005年06月14日 16時55分 公開
[翔泳社]

システム機能の共同利用による重複開発の削減

 個別の業務システムですべての機能を開発し、保持するのではなく、複数のシステムが共同利用できる機能を共有し、システム機能の重複開発を排除、開発コストを削減する。

バリューチェーンの実現

 一連の業務をいくつかのシステムで分割して運用する形態から、システムを一連のプロセスに基づいて連携させることで業務処理の高速化・自動化を実現する。

 これらのシステムアーキテクチャは、これまでの分散システム技術やEAI(Enterprise Application Integration:アプリケーション統合技術)、Webサービスによっても実現は可能であった。しかし、現在求められているのは既存資産である業務システムと今後開発する業務システムを最大限に有効活用できるものにするためのシステムアーキテクチャ、つまり長期的に活用可能なシステムアーキテクチャである。同時に、市場のニーズやビジネスの状況に応じて業務システムそのものが常に変化することを前提とする必要がある。こうしたニーズに対して、既存のシステム技術では部分的な適用は可能ではあるがそのニーズ全体を網羅できたわけではなかった。

 また、その実現に要するコストも決して低くはなく、どんな企業でも導入できるというものではなかった。SOAは、「サービス」という概念をベースにシステムアーキテクチャを構成することで、企業が求める投資対効果や生産性の向上を実現する。

 図1.1で示したように、サービスはさまざまなシステムにおける機能の一群(複数のコンポーネントやデータベースアクセスを含む共有モジュール、あるいはサブシステムなど)であり、自立している。図1.1の左上の既存システムでは、「在庫確認」や「発送処理」などを1つのまとまった処理を実現する機能をサービスという単位として捉えている。このサービスは、オブジェクト指向におけるコンポーネントや既存の開発方法論におけるモジュールなどの考え方にとらわれるものではなく、「機能が自立的に実行されること」が重要なのである。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ