JBoss Enterprise Application Platformの全貌 1

JBoss Enterprise Application Platform

JBoss Enterprise Application Platform

ここではすべてのプラットフォームのベースとなるJBoss EAPを掘り下げて紹介します。JBoss EAPは100%Javaで実装されたJava EE(Java Platform, Enterprise Edition)アプリケーションサーバです。このJBoss EAPはアプリケーションサーバであるJBoss Application Serverがコアとなっており、さらに開発を容易にするため、JBoss SeamとJBoss Hibernateの2つのフレームワークが含まれています。


JBoss Enterprise Application Platform
図3:JBoss Enterprise Application Platform

現在のバージョンは4.2.0であり、J2EE(Java 2 Platform, Enterprise Edition)1.4に準拠しています。併せてJava EE 5.0に含まれるEJB(Enterprise JavaBeans)3.0とJSF(JavaServer Faces)1.2も利用可能です。なおJBoss EAPのJava EE 5.0準拠は次期メジャーバージョンアップで対応予定となっています。

JBoss EAP 4.2.0には従来のStrutsベースのWebアプリケーションやSpringやSeasarを用いてデザインされたアプリケーション、そしてEJB 2.xでデザインされたコンポーネントを配備、実行することが可能です。またEJB 3.0とJSF 1.2の比較的新しい技術を利用してアプリケーションをデザインすることも可能です。

EJB 3.0は旧バージョンの基本概念を継承しつつ、さらに洗礼されたコンポーネントとして生まれ変わっています。基本コンセプトの変更はなく、従来どおりEJBはコンポーネントベースの開発を促進し、セッションBeanとメッセージ駆動型Beanを提供します(EJB 3については第5回で説明します)。

EJB 3.0ではEJBとしてのエンティティBeanは姿を消し、ドメインモデル中のエンティティオブジェクトを永続化する仕組みとしてJava Persistence APIが提供されます。JBoss EAPではこのJava Persistence APIの実行フレームワークとして、O/R(Object/Relational)マッピングツールとして定評のあるJBoss Hibernateを利用しています。もちろん開発者はJBoss Hibernateを直接利用することも可能であり、サポートもされます。

J2EE 1.4までは標準のWeb層のフレームワークが存在していませんでしたが、Java EE 5.0でJSF 1.2がWeb層の標準フレームワークとなりました。これまでは上述したいくつかのメジャーなアプリケーションフレームワークを適用し、モデル、ビュー、コントローラと役割を分離してWebアプリケーションの開発を行ってきましたが、これからはJava EE標準のフレームワークであるJSFを利用することができます。

JSFはユーザインターフェースコンポーネントとイベントリスナーコンポーネントを組み合わせ、イベントベースのWebアプリケーションを容易にかつ再利用性を考慮してデザインすることができます。しかし、JSFにはビジネスロジックを実装するEJB 3.0との統合がうまく考慮されていません。そこでJBoss EAPに含まれているアプリケーションフレームワークJBoss Seamが利用できます。

JBoss Seamの仕様は「JSR 299: Web Beans」として提案されており、Java EE6.0の仕様に取り込む方向です作業が進められています。JBoss Seamの名前の由来はJSFとEJBをシームレス(Seamless)に統合することができるというところから来ています(JBoss Seamについては第6回で説明します)。




また大規模システムでのノンストップシステムを実現するため、クラスタリング機能を用いて冗長構成やフォールトトレラント構成をとることが可能です。複数インスタンスを並列に並べることによりシステム全体のスループットを向上させることができます。

クラスタリングでは、JBoss CacheとJBoss Groupsの技術を利用したインメモリによるオブジェクトのレプリケーション機能により、JBossのインスタンスを超えた会話情報の保証が可能にな り、無停止システムを実現します。あわせてオブジェクトのレプリケーションは全クラスタメンバへ、または特定数のメンバへのレプリケーションの設定もでき ます。

JBoss Enterprise Portal Platform

JBoss Enterprise Portal Platformは、標準ベースのポータルフレームワークを提供するエンタープライズクラスのポータル基盤です。


JBoss Enterprise Portal Platform
図4:JBoss Enterprise Portal Platform

JBoss Enterprise Portal PlatformはJBoss EAPをコアとし基本機能を提供しつつ、各種ポータル標準技術である「JSR 168: Portlet Specification」と「JSR 170 Content Repository for Java technology API」に対応しています。あわせてAjaxやJSF、Spring、Seamに対応したポートレットの開発も可能です。コンテンツの管理では検索エンジンにHibernate SearchとApache Luceneを利用することもできます。


JBoss Enterprise Portal Platformの画面
図5:JBoss Enterprise Portal Platformの画面
(画像をクリックすると別ウィンドウに拡大図を表示します)

Apache LuceneはApacheから提供されるエンタープライズでの利用を目指して開発された大規模向け全文検索エンジンライブラリです。もちろん日本語の全文検索にも対応しています(Apache Luceneについては第8回で説明します)。




またHibernate SearchはO/RマッピングツールのJBoss Hibernateを利用しつつ、オブジェクトのマッピング先をリレーショナルデータベースではなくApache Luceneの検索インデックスにするものです。これにより従来データベースでは不得手であった大量レコードの全文検索やあいまいキーワードによる検索を 実現することが可能になります(Hibernate Searchについては第9回で説明します)。




ほかにも高機能なポートレットにJBoss Forum、JBoss Wiki、JBoss Blog、Collaborationなどを利用することが可能です。さらにGoogle Gadgetとの連携も可能にしています。これにより、SOAを目指す企業ポータルのユーザインターフェースをより早く、低コストで提供することが可能で す。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る