I-16-5. アプリケーションサーバJBossの機能と特徴

アプリケーションサーバについて、例として代表的なアプリケーションサーバであるJBossを取り上げ、その位置づけ、特徴を解説する。またTomcatとの連携やEJBコンテナ機能、アプリケーションサーバ機能など、JBossの持つ様々な機能を紹介する。

【学習の要点】

* Java EE規格に準拠したソフトウェアはJavaアプリケーションサーバと呼ばれ、アプリケーションサーバの主流をなす。

* JBossは、欧米では企業システムや政府機関システムでの導入実績もあり、他の商用アプリケーションサーバに劣らない機能と性能を実現している。

図I-16-5. JBossの構成

【解説】

1) JBossとは

JBoss (JBoss Application Server)は、OSSのJavaアプリケーションサーバである。Javaアプリケーションサーバとは、Java EEに準拠したソフトウェアを指す名称である。JBossはLGPLライセンスで提供される。

2) JBossの位置づけと特徴

JBossにはWebコンテナ(Tomcat)やデータベース管理システム(HSQLDB)が同梱されているので、JBossを導入するだけでWebアプリケーションの動作環境が構築できるようになっている。また、プログラムをアップデートする際、特定のディレクトリにファイルを設置すれば、JBossが自動でデプロイする。JBoss本体を動作させたままプログラムのアップデートが可能なため、この機能は「ホットデプロイ」と呼ばれる。

3) Java EE (Java Platform, Enterprise Edition)

Java EEは、Java SE(Java Platform, Standard Edition)を主に企業の大規模システム向けに拡張した、Javaの機能セットの仕様であり、次のような機能(抜粋)が定められている。

* Webコンテナ(Java Servlet、JSPのサポート)

* EJB(Enterprise JavaBeans)コンテナ

* JMS(Java Message Service)による非同期メッセージ通信

* JAAS(Java Authentication and Authorization Service)やJACC(Java Authorization Contract for Containers)による認証

* JMX(Java Management Extensions)によるシステム管理

* Java RMI(Remote Method Invocation)やIIOP(Internet Inter-ORB Protocol)による分散処理

4) Tomcatとの連携

JBossのパッケージにはTomcatが同梱されており、Tomcatと連携することで、Webコンテナの機能を実現している。

5) EJBコンテナ

JBossはEJBコンテナ機能を有する。EJBとは、JavaBeans(Javaアプリケーション開発における部品の作成や利用に関する規格)を企業向けに拡張した仕様である。EJBでは、ネットワークシステムにおけるサーバプログラミングのための機能が追加されており、セッション処理のためのSession Bean、データ保存のためのEntity Bean、非同期処理などのためのMDB(Message-Driven Bean)の3つに大別される。EJBは低レベルな処理の一切を引き受けているので、開発者はビジネスロジックだけに専念することができる。

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。