第1章 はじめに

JBoss Enterprise Application Platform 5 は新しい JBoss Microcontainer 上に構築されています。JBoss Microcontainer は、POJO (Plain Old Java Object) の直接デプロイや設定、ライフサイクルをサポートする軽量コンテナーです。 このスタンドアローンの JBoss Microcontainer プロジェクトは、JBoss Enterprise Application Platform 4.x で使用された JBoss JMX Microkernel を置き換えるものとなっています。
JBoss Microcontainer は JBoss Aspect Oriented Programming フレームワーク (JBoss AOP) とスムーズに統合することができます。 JBoss AOP については 10章JBoss AOP に説明されています。 JBoss Enterprise Application Platform 5 でも JMX に対するサポートは継続されるため、 従来の Microkernel 向けに書かれた MBean サービスも動作するはずです。
JBoss Enterprise Application Platform 5.0.0.GA 以降のバージョン上で実行可能で、興味深い技術を多数保持するサンプル Java EE 5 アプリケーションが本ディストリビューションで提供される Seam Booking Application となっています。このサンプルアプリケーションは、JBoss Enterprise Application Platform 5 上で稼働する以下の技術を利用しています。
  • EJB3
  • ステートフルセッション Bean
  • ステートレスセッション Bean
  • JPA (Hibernate 検証あり)
  • JSF
  • Facelets
  • Ajax4JSF
  • Seam
JBoss Enterprise Application Platform 5 にある主要機能の多くは、次のようなスタンドアロン JBoss プロジェクトを統合して提供されます。
  • JBoss Enterprise Application Platform 5 に含まれる JBoss EJB3 は、Enterprise Java Beans (EJB) 仕様の最新バージョンを実装します。EJB 3.0 は EJB 仕様が大幅に改良、簡素化されています。EJB 3.0 の目標は、開発の簡素化やテスト駆動型アプローチの推進を図るとともに、複雑な EJB API に対するコード化ではなくPOJO (Plain Old Java Object) の書き込みに焦点を置いています。
  • JBoss Messaging は、 JBoss Enterprise Application Platform 5 のデフォルトのメッセージプロバイダーとして提供される高パフォーマンス JMS プロバイダーです。JBoss ESB インフラストラクチャーのバックボーンでもあります。 JBoss Messaging は、 JBoss Enterprise Application Platform 4.2 のデフォルトの JMS プロバイダーである JBossMQ を完全に書き直したものです。
  • JBoss Cache は、従来のツリー構造のノードベースキャッシュと、 PojoCache の 2 種類のキャッシュを提供します。PojoCache はインメモリでレプリケーション型のトランザクションキャッシュシステムで、レプリケーションや永続性アスペクトのユーザー管理をアクティブに行わなくてもユーザーが簡単な POJO を透過的に操作できるようにします。
  • JBossWS 3.x は、 Java EE 互換 Web サービス JAXWS-2.x を提供する JBoss Enterprise Application Platform 5 の Web サービススタックです。
  • JBoss Transactions は、 JBoss Enterprise Application Platform 5 のデフォルトのトランザクションマネージャーです。JBoss Transactions は業界で定評のある技術を基盤とし、分散トランザクションのリーダーとして 18 年の実績を持っています。JBoss Transactions は最も相互操作性に優れた実装の 1 つです。
  • JBoss Web は JBoss Enterprise Application Platform 5 の Web コンテナーで、APR (Apache Portable Runtime) と Tomcat ネイティブ技術を含む Apache Tomcat を基盤とした実装となっており、Apache Http サーバー以上のパフォーマンス特性やスケーラビリティを実現します。

1.1. JBoss Enterprise Application Platform ユースケース

  • 99% の Web アプリケーションがデータベースを活用している場合
  • クラスター化される可能性の高いミッションクリティカルな Web アプリケーション
  • JSP/サーブレットを持つ簡単な Web アプリケーションがTomcat 組み込みの JBoss Enterprise Application Platform にアップグレードされる場合
  • JSP/ サーブレットを持ち、 Struts、 Java Server Faces、 Cocoon、 Tapestry、 Spring、 Expresso、 Avalon、 Turbine などの Web フレームワークを使用する中級ウェブアプリケーション。
  • JSP/サーブレット、 SEAM、 EJB (Enterprise Java Bean)、 JMS (Java Messaging)、 キャッシングなどを持つ複雑な Web アプリケーション
  • アプリケーション間共通のミドルウェア (JMS、Corba、JMX など)