ビジネス環境の変化にあわせて情報システムを柔軟に変更できることは、企業活動を進めるうえで重要なポイントである。そのため、多くのソフトハウスやシステムインテグレーターが「柔軟で変化に適応できるシステムの実現」のためのソリューションが提供するようになってきた。中でもこれらのソリューションに多く採用されている方法は、SOA(サービス指向アーキテクチャ)である。
SOAは、情報システムの機能を「サービス」という単位で構築していく方法である。しかし、実際にそれが何を意味し、なぜ「柔軟で変化に適応できるシステムの実現」に役立つのかは、分散処理技術に関するかなりの背景知識が必要となるため、SOAを専門とする者以外には極めて分かりにくい。そのため、ここでは歴史的な面からSOAへのトレンドが生じている理由について説明してみたい。
初期の情報システムは大型汎用機を用いて構築されていた。それが、80年代からクライアントサーバーと呼ばれる方式に主流が移行していった。そして、90年代後半からは、Webを用いた3層クライアントサーバーが用いられることが多くなった。この流れの中で、もともとホスト上で明確な区別無く作成されていたアプリケーションプログラムを複数の層に分けて作成されるようになった。
クライアントサーバーにおいては、低価格なパソコンやワークステーションの利用によるダウンサイジングが、Webシステムにおいてはインターネット環境の普及が移行の理由としてあげられることが多かったため、プログラムを分離することのメリットはあまり注目されてこなかった。そのメリットを企業は享受していたにもかかわらず、ダウンサイジングなどのより注目度の高い要因の影に隠れていたのである。
クライアントサーバー方式では、パソコンで動くプログラム部分とサーバー側で動くプログラム部分に分離され、情報システムの柔軟性が増加した。さらにWebシステムでは、プログラムは3層に分けられることが多い。SOAはこの流れをさらに推し進めていき、プログラムを更に多くの層に分けていく動きと捉えることができる。層に分けることにより、プログラム変更の影響を限定することができるため、情報システムの柔軟性は一段と増していく。
SOAにおいては、一部のプログラムを切り出し、一つの層(サービス層)に属するプログラムとして明確化することが求められる。そのため、クライアントサーバーやWebシステムとは異なる新しい動向のように受け止められることが多いが、ソフトウェアの変化としては、「層構造を用いることによる柔軟性の向上」という継続性のある変化と捉えることができる。
SOAは層構造によって「柔軟で変化に適応できるシステムの実現」に役立つ。ただし、サービス層に属するプログラムを明確化するだけでシステムの柔軟化が最大限に実現できるわけではないことに注意が必要であろう。SOAへの移行に先行している米国では、SOAの実現プロセスを管理すること(SOAガバナンス)の難しさ、重要さが強く認識されるようになっている。また、SOA実現のためにEAを始める企業も多い。EAのような全社的かつ業務の視点を含めた広い視野からSOAの実現をコントロールしていくこと、すなわちSOAガバナンスがSOAのメリットを最大限に享受するためには必要とされている。
(システムコンサルティング部 近藤 佳大)
※本稿は、みずほ情報総研が2006年01月10日に発表したものです。