GeronimoカーネルとGBeanアーキテクチャTomcat、Jetty、ActiveMQ、OpenEJBなど、至難と思われたさまざまなオープンソースミドルウェアの柔軟な統合を実現したGeronimo。今回は、その統合を強力に支えるGeronimo特有の柔軟なアーキテクチャを紹介。統合用部品GBeanの疎結合連携を実現するDIカーネル機構などを通して、Geronimoが秘めた本当のポテンシャルを体験しよう。true;});PRこの連載のバックナンバーは以下の通りです。併せてお楽しみください。連載第1回:勇気を出してジェロニモとお近づきになってみる連載第2回:WTPを使用したWebアプリケーション開発Geronimoアーキテクチャ各方面で紹介されはじめたGeronimoですが、特徴としてその内部アーキテクチャが挙げられることも多いようです。ここからはGeronimoのポテンシャルを最大限に引き出すべく、その内部を探っていきます。Geronimoは、図1にあるような「カーネル」と「周辺コンポーネント」によるマイクロカーネルアーキテクチャ*を採用しています。カーネルはコンポーネント管理に専念する一方、EJBを動作させたりMQ*電文を交換したりという具体的機能は各周辺コンポーネントが担当します。Geronimo」も実現可能なのです。このようなアーキテクチャ構成のキーとなるのは、GBeanとデプロイメントプランです。部品化用ブロックGBeanGeronimoの世界の外にあるミドルウェアやコンポーネントのGeronimoへの統合は、その橋渡し役となるGBeanクラスを開発/デプロイすることで実現します。Tomcatなどのミドルウェアはもちろん、その上にデプロイされたアプリケーションなども内部的には1つのGBeanとして存在します。開発者は、ほかのGBeanに対する依存関係や通常外部定義するような各種設定値をハードコードする必要はありません。それらは後述のプランによってデプロイ時に指定します。デプロイメントプランGBeanを実際にデプロイする際には、デプロイメントプラン(以後、プラン)と呼ばれる情報が必要となり、通常プランファイルと呼ばれるXMLの形を取ります(リスト1)。プランには以下の2つの重要な役割があります。汎用型プランファイルの例コンフィギュレーションの定義1つ以上のGBeanの論理的なグループがコンフィギュレーション*です。起動停止やデプロイなどはすべてこの単位で行われます。プランでは、このコンフィギュレーションを定義し、どのGBeanをグループに属させるかを記述します。各GBeanへの設定情報の流し込みGBeanの外出し設定情報を、プランファイル内部で記述できます。単なる設定情報だけでなく、ほかのGBeanへの依存情報なども指定できます。プランファイルのスキーマ*は1つではありません。ミドルウェア統合には汎用型プラン形式を、J2EEアプリケーションの場合はgeronimo-web.xmlなどの特化した形式を利用します。Geronimoへの統合手順いかなるコンポーネントも、Geronimoに統合するには次の3ステップが必要となります。前記3手順すべてを実施する必要があります。GBeanクラスを開発し、プランファイルは汎用型スキーマに従って記述します(手順は後述)。最後にミドルウェアのコードやGBeanを含むJARと、プランファイルを指定してデプロイを実施します。mw.planJ2EEアプリケーションの場合WARやEARも、GBeanとしてデプロイされますが、GBean開発の手順は省略できます*。J2EE用スキーマに従い記述したプランファイルをデプロイ時に指定することも可能ですが、省略するとEARやWAR内部に含まれるものが自動的に利用されます。コンフィギュレーションを起動したい場合、次のようなコマンドを与えます(複数指定可能)。myconfig-id2......各コンフィギュレーションは、グループ配下のすべてのGBeanを起動します(停止時も同様)。Injection)の仕組みを解説します。このページで出てきた専門用語マイクロカーネルアーキテクチャ小さくシンプルで安定したカーネルが、機能豊富で交換可能な部品をつなぎ合わせることで高い柔軟性を保つアーキテクチャ。連携するアプリケーション間でデータ交換をする際、キューを使って非同期にデータ交換を行う方式。コンフィギュレーションコンフィギュレーションはクラスローダーの単位にもなる。プランファイル内のparentId属性を用いて親子関係を構築できる。Schemasとして掲載されている。用いるのは汎用型プランとJ2EE関連プランだろう。GBean開発の手順は省略できますソースを見たところ、ディストリビューションに含まれるTomcatModuleBuilderやJettyModuleBuilderが、デプロイ時にGBeanとなるモジュールクラスをビルドするようである。Apacheの戦士Geronimoが持つ実力」を再構成したものです。システムズ・エンジニアリング株式会社(ISE)は、日本アイ・ビー・エムグループにおけるSE技術者の専門家集団として1992年7月に設立された。発足以来、IBM製品を中心とした難易度の高い複雑なシステム構築や先進技術の適用場面において、卓越したITスキルによりお客様と開発現場を支援してきた。2.0・オープンソースソフトウェア等々の先進技術分野での支援も展開している。Geronimo」が静かにブレイクの兆しを見せている。本連載では、このGeronimoの魅力に迫っていく。Platformを使った開発の流れを紹介しよう。Platform(WTP)をインストールしました。今回は、WTPを使用して簡単なWebアプリケーションを開発する方法を紹介します。称して情報を盗む「ご注意!!OFFICEのプロダクトキーが不正コピーされています。Japanスマートジャパン3Dモデラボキャリア@IT自分戦略研究所エンジニアライフディルバートアプリITmediaねとらぼねこらぼついトピ!ITmediaはアイティメディア株式会社の登録商標です。