ITmedia NEWS >
コラム
» 2005年02月25日 08時30分 公開

SOA―サービス指向アーキテクチャー(前)ITソリューションフロンティア:技術

企業合併や事業部門の再編、統合が相次ぎ、ビジネスプロセスを迅速に変更、拡張したいというニーズが高まっている。こうしたビジネス環境の変化に対し、柔軟かつ迅速に対応可能なITシステムを実現できるものとしてSOA(Service Oriented Architecture)が注目を集めている。本稿では、SOAの概念と効果的導入のためのポイントについて考察する。前編。

[城田真琴,野村総合研究所]

 近年、ビジネス環境の変化が著しい。企業合併や事業部門の再編、統合などが相次ぎ、システムの適用範囲が拡大、縮小されると同時に、ビジネスプロセスも見直されるケースが多くなっている。また、こうしたドラスティックな変化を伴わないケースでも、事業の合理化、効率化の追求により、ビジネスプロセス自体が変化、拡張されるケースも少なくない。こうした時代にあって、システムが硬直的なもので変化に対応できないものであれば、システムが足枷となって、事業そのものの競争力が失われることになってしまう。ひいては、たちまち企業そのものの存亡に関わることとなる。

 このため、今日のITシステムは、「変化に柔軟かつ迅速に対応できる」ことが求められ、かつ、それにかかるコストも、それまで使ってきたアプリケーションの再利用などにより軽減されることが望ましい。

 システムアーキテクチャーが、大型汎用コンピュータに代表されるモノリシックな(巨大な一枚岩的な)構造から、クライアントサーバー型、さらには、Web 3階層型のアーキテクチャーへと主流が移ってきていることなど、一連のIT革新はこうした時代の要請に対するものととらえることができる。そんななか、現在高い注目を集めているのがSOAである。

粒度の粗いコンポーネント化という発想

 SOAは、直訳すればサービス指向型アーキテクチャーだが、このままでは何のことかわからない。その具体的な内容は、アプリケーションの機能を「サービス」としてコンポーネント化(部品化)しておき、このサービスを必要に応じて組み合わせることによって、新たなアプリケーションを構成しようとするシステム構築の考え方を表している(図1参照)。

図1 (クリックで拡大表示)

 ここで言うサービスとは、標準的なインタフェースを備え、独立して稼動するソフトウェア部品で、外部から自由に呼び出すことができるものを指す。これらの条件を満たしていれば、サービスの実装方法やプラットフォームの種類は問わない(図2参照)。

図2

 実のところ、ソフトウェア部品をコンポーネント化して再利用するという考え方自体は決して新しいものではない。むしろ、システム構築のコストカットという視点から、一般的に取り組まれてきたものである。

 しかし、同じ「ソフトウェア部品のコンポーネント化」と言っても、SOAは、従来の考え方と決定的に異なるところがある。それは、再利用するソフトウェア部品の粒度の大きさにある。すなわち、SOAで言うところの「サービス」は、“在庫検索サービス”“発注サービス”“決済サービス”といった、現実のビジネスプロセスを構成できる業務処理をコンポーネント化の単位とするのが一般的であり、従来のコンポーネント(部品)の概念よりも大きい。

 SOAの場合、コンポーネントをこうした比較的大きな単位でとらえるため、ビジネスの変化にともなってプロセスの変更や拡張を行う必要があるとき、それまで使っていたサービスを新しいサービスに置き換えるだけで済み、システム全体を一から作り直す必要がない。すなわち、変化に対して迅速かつ柔軟に対応することが可能となるのである。

(後編はこちら

Copyright (c) 2005 Nomura Research Institute, Ltd. All rights reserved. No reproduction or republication without written permission .



Copyright © ITmedia, Inc. All Rights Reserved.