TOP
>
システム開発
> JBoss Enterprise Application Platform
JBoss Enterprise Application Platformの全貌
第1回:Red Hatが提供するJBoss Enterprise Middlewareとは
著者:
レッドハット 田澤 孝之
2007/8/24
前のページ
1
2
3
4
次のページ
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つのフレームワークが含まれています。
図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回で説明します)。
JSR 299: Web Beans
http://www.jcp.org/en/jsr/detail?id=299
また大規模システムでのノンストップシステムを実現するため、クラスタリング機能を用いて冗長構成やフォールトトレラント構成をとることが可能です。複数インスタンスを並列に並べることによりシステム全体のスループットを向上させることができます。
クラスタリングでは、JBoss CacheとJBoss Groupsの技術を利用したインメモリによるオブジェクトのレプリケーション機能により、JBossのインスタンスを超えた会話情報の保証が可能になり、無停止システムを実現します。あわせてオブジェクトのレプリケーションは全クラスタメンバへ、または特定数のメンバへのレプリケーションの設定もできます。
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を利用することもできます。
図5:JBoss Enterprise Portal Platformの画面
(画像をクリックすると別ウィンドウに拡大図を表示します)
Apache LuceneはApacheから提供されるエンタープライズでの利用を目指して開発された大規模向け全文検索エンジンライブラリです。もちろん日本語の全文検索にも対応しています(Apache Luceneについては第8回で説明します)。
Apache Lucene
http://lucene.apache.org/
またHibernate SearchはO/RマッピングツールのJBoss Hibernateを利用しつつ、オブジェクトのマッピング先をリレーショナルデータベースではなくApache Luceneの検索インデックスにするものです。これにより従来データベースでは不得手であった大量レコードの全文検索やあいまいキーワードによる検索を実現することが可能になります(Hibernate Searchについては第9回で説明します)。
Hibernate Search
http://www.hibernate.org/410.html
ほかにも高機能なポートレットにJBoss Forum、JBoss Wiki、JBoss Blog、Collaborationなどを利用することが可能です。さらにGoogle Gadgetとの連携も可能にしています。これにより、SOAを目指す企業ポータルのユーザインターフェースをより早く、低コストで提供することが可能です。
前のページ
1
2
3
4
次のページ
著者プロフィール
レッドハット株式会社 田澤 孝之
JBossグループ マネージャ
1989年より日立製作所にてIT業界に身をおく。1998年より日本BEAシステムズにてTPモニタ、サーバサイドJavaにフォーカス。特にJ2EEに特化しプリセールス、インストラクタ、SOAコンサルタント業務に従事。2006年よりファストサーチ&トランスファで企業向けサーチソリューションコンサルタントを経て、2007年よりレッドハットにてJBossの販売提案と導入技術支援を行う。「EJB 2.0 徹底攻略」(技術評論社)など著書、共著多数。
INDEX
第1回:Red Hatが提供するJBoss Enterprise Middlewareとは
「JBoss, a division of Red Hat」の意味するもの
JBoss Enterprise Application Platform
JBoss Enterprise SOA Platform
JBoss jBPM