SCAとは?
Service Component Architecture(以下、SCA)は、SOA技術をベースとし、各種の実装言語で作成されたコンポーネントを結合してアプリケーションを構築するためのプログラミングモデルである。
SCAが登場した背景には、近年のITシステムの大規模化/複雑化がある。ITシステムの複雑化が進んだことにより、最近では、部品単位の開発や部品の再利用が可能となる「コンポーネント指向開発」の必要性が声高に叫ばれるようになっている。しかし、コンポーネント指向の開発を実践するうえではさまざまな困難が付きまとうことは、皆さんご存じのとおりだ。
例えば、既存の資産をコンポーネントとして再利用してシステムを構築したいが、それらが様々な実装言語で記述されていた場合はどうすべきか? また、非常に低レベル/細粒度のコンポーネントを組み合わせて中粒度のコンポーネントを構築すべき場合があれば、そうした詳細には踏み込まず、中粒度のコンポーネントからシステム全体を組み立てたい場合もある。こうした大小様々な規模のコンポーネントを一貫性を持って管理するにはどうしたらよいのか?
コンポーネント指向開発に伴うこうした問題を解消すべく生まれた技術がSCAである。
SCAは、3月21日にバージョン1.0が策定され、同時に標準化団体OASISに提出された。その内容はOASISのWebサイトからPDFファイルをダウンロードして閲覧することができる。SCAの仕様を策定したのはOpen SOA Collaborationという団体である。SOA技術の発展、推進を目的としたグループで、BEA Systems、IBM Corporationをはじめとした18のベンダーから成る。
SCA仕様の実装としては「Apache Tuscany(以下、Tuscany)」がある。これは、SCA仕様の完全な実装を提供することを目的に、Apacheソフトウェアファウンデーション内の同名プロジェクトで開発されているオープンソースプロダクトだ。本稿では、このTuscanyを用いて実際にSCAを動作させながら、最新SOA技術がもたらすメリットについて検証していきたい。