BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース WebSphere 7 Feature PackがOSGiベースのアプリケーション デプロイとSCAとの統合をサポート

WebSphere 7 Feature PackがOSGiベースのアプリケーション デプロイとSCAとの統合をサポート

原文(投稿日:2010/07/26)へのリンク

WebSphere Application Server V7の OSGiアプリケーション と Java Persistence API 2.0用の Feature Pack(フィーチャーパック) は、OSGi Blueprint Container 仕様書と Java EE 6 JPA 2.0に準拠する標準ベースの実装を提供している。また、Javaアプリケーションをバージョン管理されたOSGiバンドルのコレクションとして、組み立て、デプロイしそして管理するフィーチャーもオプションで提供している。 IBM WebSphereチームは、最近、 Apacheプロジェクトの AriesOpenJPAをベースにしたフィーチャーパックのGA(General Availability、一般公開版) リリースをアナウンスした。WebSphere Application Server Feature Packは、新しい関連の標準とフィーチャのセットを提供するアプリケーション サーバーに、オプション的にインストール可能な製品拡張モジュールである。

新しい OSGi と JPAフィーチャは、別々でも、いっしょでもインストールでき、webアプリケーションの開発とユニットテストための POJOベースのコンポーネント モデル、永続化フレームワーク、そしてモジュール形式のデプロイ システムを提供する。 OSGiアプリケーション フィーチャは、エンタプライズ アプリケーションの開発とデプロイをモジュールの組合せの形でサポートし、 WebSphereのアプリケーションをデプロイするプロセスに、構成可能なOSGiバンドルのリポジトリを持ち込んだ。これによって、共通のバンドルは、個々のエンタプライズ アプリケーションのアーカイブから切り出されて、中心のバンドル リポジトリで管理される。複数バージョンのバンドルがバンドル リポジトリにインストールでき、エンタプライズ アプリケーション中の特定のメタデータに従って、適切なバージョンのものが、個々のエンタプライズ アプリケーションに紐付けされる。 OSGiアプリケーション フィーチャは、WASランタイムに統合された OSGi V4.2 Blueprint Containerを含み、簡単なPOJOコンポーネントの開発と構成を簡単にし、 OSGiサービスを発行(パブリッシュ)したり、消費(コンシューム)するこれらの beansに宣言的なメカニズムを提供している。 beanコンポーネントではなく、コンテナは、 OSGiフレームワークとサーバーのランタイムに、Java package依存性があるので、beanコンポーネントは、サーバー環境の外でユニットテストができる。 OSGi アプリケーション用の開発ツールは、Rational Application Developer (RAD) V8 Beta バージョンで提供されている。

RADは、OSGi Bundle プロジェクトとOSGiアプリケーション プロジェクト用の新しいプロジェクト タイプを導入し、マニフェストを自動生成し、それを編集するためのフォーム ベースのエディタも持っている。OSGiのモジュール方式セマンティックは、光栄にもプロジェクト ビルドパスにあり、モジュール化のデザインをサポートする環境を提供している。RADのファセット ベースの構成によって、OSGi は、 OSGi Webプロジェクト、あるいは、OSGi JPA プロジェクトとして構成できる。 web.xml、persistence.xml と blueprint.xmlをオーサリングするツールも統合している。OSGi アプリケーションのプロジェクトは、エンタプライズ バンドル アーカイブからインポートできるし、あるいは、逆にエクスポートもできる。また、RADワークスペースから走らせることができる。RADワークスペースは、オプションでRADとともにインストールされた WebSphere Application Sever V7上にあるか、 OSGiアプリケーションのフィーチャを持った、リモートにインストールされたWAS V7上にあればよい。

新しいJPA 2.0 の標準ベースのフィーチャは、永続化ドメイン モデリングの改善(例えば、継承されたIdentityによって、Embeddableをサポート)、新しいメタモデルと Criteria API、エンティティ bean 検証、 JPQLへのアップデート、そして更にオブジェクト/リレーショナル マッピングするメタデータを含んでいる。 JPA 2.0は、ポータブルな レベル 2 キャッシュ統合を提供し、 OpenJPA 2.0は、使用可能であれば、WebSphere extremeScale をレベル2キャッシュとして使い、データ アクセスのパフォーマンスを改善する。

InfoQは、 WebSphere Architectureチームで IBM Distinguished Engineerの Ian Robinson氏に新フィーチャ パックのリリースについて聞いた。彼が言うには、 これまでOSGiは、IBMの戦略の一部だったが、主に内部のプロジェクト(WebSphere と Eclipseのような)に使われてきた。OSGi Enterprise バージョン 4.2のリリースとエンタプライズ アプリケーションのデプロイの世界で OSGiが果たせる役割によって、デプロイ プロセスを単純化し、そして開発者とIT運用スタッフの両方をサポートするためのバンドルとして、アプリケーション モジュールをデプロイするのが、 OSGiのメイン テーマになってきている。彼は、最近、 OSGi と SCAの統合そして、これらの新しいフィーチャを利用し始めるための、ツールのサポートについて 書いている。 SCA v1.0.1.5あるいは、それ以降用の WAS V7 Feature Packがインストールされていれば、 OSGiフィーチャをWebSphere Application Serverの Service Component Architecture (SCA) サポートといっしょに使うことができる。SCAが提供するアセンブリ モデルは、異質なコンポーネントをまとめて粗い粒度のコンポジット(合成物)にする。そのコンポジットは、外部サービスや異なったバインドが構成できるリファレンスを定義する。SCAコンポーネントへのアセンブリによって、 OSGiアプリケーションは、 リモートで、Blueprint構成された OSGiサービスのどれでも、SCAサービスとして見せることができ、そして、これらのサービスためのリモート バインドを構成できる。

InfoQ: どのように OSGi Blueprint Containerが機能し、SpringDM Projectのような他のOSGiフレームワークと比べてどうなんですか?

Blueprint Containerは、 OSGi Enterprise V4.2の一部として機能します。OSGi アプリケーションために、細かい粒度のbean アセンブリ モデルをサポートします。同時に、POJO bean コンポーネントで提供される、OSGi サービスをパブリッシュするための、簡単な宣言型の手段も提供しています。Blueprint コンテナは、 POJO beanコンポーネントのライフサイクルと依存性注入を管理し、 SpringDM bean 定義の XMLファイルが標準ベースに進化した、bundleレベルのXML bean 定義ファイルによって設定できます。 Blueprint containerに準拠した実装がいくつかあります-例えば、Apache Aries プロジェクトで開発されているものもあります(これは、 OSGiアプリケーション フィーチャがインストールされると、WASに統合される)、また SpringDM プロジェクト自体もそうで、これは、VMWareEclipse Geminiプロジェクトに提供したものです。 Apache Aries Blueprint containerには、いくつかのエンタプライズ拡張機能があり、その中には、コンテナがWASのようなエンタプライズ環境に統合された際に、コンテナ管理のトランザクションやコンテナ管理の永続化のサポートがあります。

InfoQ: WebSphere Application Server と統合するために、 IBMがOpenJPA 2.0に行った機能強化について、もっと詳しく話してくれますか?

JPAフィーチャがインストールされると、 OpenJPA 2.0によって提供される JPA 2.0 の機能が WebSphere Application Serverランタイムの一部として利用できます。WASの管理、デバッグ、モニタリング、そしてセキュリティと統合されるのと同時に、JPA 2.0 ランタイムは、利用可能であれば Data Studio pureQueryランタイム(今は、Optim pureQuery Runtime)と呼ばれている)とも統合できるように拡張されています。PureQuery ランタイムは、高パフォーマンスなJavaデータ アクセス プラットフォームでデータ アクセスするアプリケーションを管理するのに役立ちます。 PureQueryは、既存のJavaクラスをイントロスペクトでき、アプリケーションを実行せずに、SQLを集めてバインドし、静的なパッケージにします、そして DB2 の静的なSQLの実行による利点を透過的に活用できます。PureQueryにより、DBAは、アプリケーションの修正無しにSQLを最適化し、ロックダウンできるようになりました。またPureQueryは、SQLをそのソースまで即座に遡るのに必要な情報を提供します。

InfoQ: 新しいフィーチャや機能拡張の点で、 WebSphere v7 OSGi と JPA Feature Packの将来のロードマップについて、お聞かせください。

将来、これらのフィーチャへの更なる機能拡張があります、例えば、 OSGi Enterprise仕様書の新バージョンが発行された時にですね。我々は、オープンソースの広範囲のコミュニティと一緒に基盤技術を開発していますから、将来WASに統合される技術について詳しく知りたければ、Apache OpenJPA プロジェクトや Aries プロジェクトを見れば、わかると思います。

この記事に星をつける

おすすめ度
スタイル

BT