composite applications / 複合アプリケーション
ソフトウェアモジュールやコンポーネント、個別の業務アプリケーション、サービスなどのソフトウェアパーツを要素として、これらの組み合わせによって構築されたアプリケーション・ソフトウェアのこと。
複数のソフトウェアパーツが連携してソフトウェアを構成するというのは当たり前の話だが、コンポジット・アプリケーションという場合のソフトウェアパーツは、「整合性のある設計」「統一された情報モデル」「合意されたインターフェイス」「共通のアーキテクチャ」の下に作られたものではなく、別々の開発者が別々の時期に作ったものの組み合わせであることを含意する。
こうした異種混合環境で、システム同士が“会話”し、一連のビジネスプロセスをサポートするような連携が実現できれば、それは特定の業務機能をサポートするアプリケーションだと見なすことができる。こうした視点で見た分散システム間連携のことをコンポジット・アプリケーションといった。
しかし従来、相互接続が想定されていないアプリケーション同士の連携は、相互(あるいはどちらか)のシステムでインターフェイス開発を行い、単純なデータ交換やメッセージ交換をするだけのものが多かった。コンポジット・アプリケーションは実装が極めて困難な、コンセプトレベルの用語だったといえる。
それが今日、Webサービスなどの技術の登場により、SOAのコンセプトに基づいて“サービス”を要素としたコンポジット・アプリケーションが現実的なソリューションとして登場してきている。
コンポジット・アプリケーションを実現するには、データの変換、複雑なルーティング、レガシーシステムのサービス化、ビジネスプロセスの管理などが必要となるが、これら機能を実装して、コンポジット・アプリケーションの基盤となるESB、BPMなど各種ミドルウェアが登場している。またSAPのxAppsなど、コンポジット・アプリケーションを前提にしたソフトウェア製品も登場してきている。
Copyright © ITmedia, Inc. All Rights Reserved.