SOA


SOA(Service Oriented Architecture:サービス指向アーキテクチャ)は,アプリケーションなどをコンポーネント化(部品化)し,それらを組み合わせてシステムを作る設計手法で、ビジネスの変化を即座に情報システムに反映、柔軟に変更できることなどができる設計思想であります。
システムの変更箇所を極小化することで実現します。

(1)ビジネスの一連の流れ(ビジネスプロセス)を記述するモデリング技術
(2)記述したモデル通りにシステムの処理を実行させる技術
(3)ソフトのコンポーネント化技術
(4)システム連携技術
(5)データを仮想的に一元化する技術
(6)ユーザごとに最適な画面を提供する技術

(1)はビジネスプロセスをそのままシステムにマッピングするために必要で、両者が直接変更箇所を把握できるので、 素早い対応を見込めます。BPMN(Business Process Modeling Notation)といった表記法を用いたモデリング・ツールを使用します。

(1)で記述したビジネスプロセス通りにシステムを実装するために必要になるのが、 (2)と(3)で、(3)は、CORBAやWebサービスといった単一機能を外部から呼び出して実行させる技術です。

soa


これらを用いて(1)で記述したビジネスプロセスの構成単位ごとに、在庫の検索、 売上の算出といった単一機能しか持たないコンポーネント(ソフト部品)を開発します。

このコンポーネントをサービスと呼び、既存システムをサービスとして呼び出せるようにすることをサービス化と呼びます。

サービスの機能を順番に呼び出して、あたかも一つのアプリケーションのように動作させるのが(2)です。

Wサービスを呼び出す順番を規定することに特化したS-BPELなどの言語とそれを解釈する実行エンジンで構成されます。

(1)のモデリング・ツールで記述したビジネスプロセスはWS-BPELなどの言語に変換できるため、利用者が指摘した変更箇所を即座に(2)に反映させられます。
(2)を使って、既存システムをサービス化する場合、個別にインターフェースを開発している時間を短縮したいなら(4)が必要となります。
具体的には、プロトコル変換やデータ型変換を実施し、既存システムのサービス化容易にします。

既存システムの一部機能も含めた、複数サービスを連携させて利用するには、データの整合性が不可欠となります。
それを実施するのが(5)になります。

また、頻繁にシステムを変更するようになれば、それを利用者に意識させない仕組みが必要になります。
それが(6)で、EIP(企業情報ポータル)製品などが役割を担います。

このほか、組み合わせるサービスの数が多くなれば、どのようなサービスが存在するか登録しておき、検索可能にする、サービスリポジトリ仕組みもご提供いたします。
ナレッジクリエーションテクノロジーの知識を凝縮したシステム化のガイダンス提供と、さらなる開発生産性向上で、変化に即応するITシステムをご提案いたします。