ページの先頭行へ戻る
Interstage Application Server V13.0.0 GlassFish 設計・構築・運用ガイド
FUJITSU Software

1.1 GlassFishの概要と構成

本製品のGlassFishは、Java SE環境をベースとして企業規模の多階層サービスの実装に必要とされる様々な機能を提供します。また、アプリケーションの移植性を最大限に向上させるために、Eclipse GlassFishをベースとし、当社独自の機能を追加しています。

GlassFishの構成

以下にGlassFishの構成について説明します。



Jakarta EEコンポーネント

GlassFishは、Jakarta EEアプリケーションクライアント、Servlet/JSP、Enterprise JavaBeanという3つのアプリケーションコンポーネントの実行環境を提供します。これらを、Jakarta EEコンポーネントと呼びます。Jakarta EEコンポーネントは、配備という操作をすることで実行環境にセットアップされます。

Jakarta EEアプリケーションクライアント

Jakarta EEアプリケーションクライアントは、アプリケーションクライアントコンテナ上で実行するJavaアプリケーションです。クライアントからサーバー環境のアプリケーションにアクセスします。

Servlet/JSP/WebSocket

Servlet/JSPは、WebブラウザからHTTPプロトコル、または、よりセキュアーなHTTPSプロトコルでWebサーバーに送信されたリクエストで動作します。また、Webサービスとして公開することもできます。Servlet、JSPまたはJSFを使用して作成されたページ、Webフィルター、Webイベントリスナーを総称してWebコンポーネントと呼びます。
また、WebSocketを利用するという方法で、サーバー・クライアント双方向での通信を実施することができます。

Enterprise JavaBeans(EJB)

Enterprise JavaBeans(EJB)は、サーバーで動作するアプリケーションです。Servletからアクセスする、または、IIOPプロトコルによりORB(Object Request Broker)を介してクライアントから直接アクセスもできます。クライアントからの要求を受けたEnterprise JavaBeansにデータベースアクセス処理などの実際のビジネスロジックを実装します。Webサービスとして公開することや、非同期メッセージを受信するMessage-driven Beanも使用できます。
リモート呼び出しが可能なRemoteインターフェイスと、同一Java VM内でのみ呼び出し可能なLocalインターフェイスが使用できます。Remoteインターフェイスを使用した場合でも同一Java VM内で呼び出した場合にはORBが自動的にIIOP通信を介さずにアプリケーションを呼び出し、不要なネットワーク通信が抑止されるため、性能が最適化されます。

また、クライアントアプリケーションとして以下のアプリケーションコンポーネントの実行も可能です。

Java SEスタンドアロンアプリケーション

Java SEスタンドアロンアプリケーションは、スタンドアロンクライアント(javaコマンドで起動されたJava SE実行環境)上で実行するJavaアプリケーションです。クライアントからサーバー環境のアプリケーションにアクセスします。ただし、Jakarta EEアプリケーションクライアントと異なり依存性の注入(Dependency Injection)やdeployment descriptorファイル(application-client.xml)の利用ができません。このため、汎用的なアプリケーションではないため、Jakarta EEアプリケーションクライアントの利用が推奨されます。

コンテナ

コンテナは、Jakarta EEコンポーネントのセキュリティやトランザクションを管理するサービスを提供する実行環境です。ServletやJSPなどのWebコンポーネントは、Webコンテナで実行されます。Enterprise Java Beansは、EJBコンテナ内で実行されます。Jakarta EEアプリケーションクライアントは、アプリケーションクライアントコンテナで実行されます。
GlassFishは、WebコンテナとEJBコンテナの上位に位置づけられる論理的な概念をGlassFish Serverクラスターと呼びます。

サービス

Jakarta EEコンポーネントは、コンテナが提供する各種サービスを使用できます。Jakarta EEコンポーネントは、deployment descriptorというJakarta EEコンポーネントごとの定義ファイルに定義をするか、または、Dependency Injectionを使用することで、コンテナが提供するネーミングサービス、セキュリティサービス、トランザクションサービスなどの各種サービスを使用できます。

API

GlassFishは、コンテナが提供する各種サービスの動作を制御するAPIや外部の各種システムにアクセスできるAPIを提供します。Jakarta EEコンポーネントは、リソースと呼ばれるオブジェクトを介して外部システムにアクセスします。ツールを使用してリソースを定義することで、アプリケーションコンポーネントからAPIを使用してリソースにアクセスできます。APIには、データベースにアクセスするJDBC、EISにアクセスするconnector、非同期メッセージの送受信をするJMS、メールサーバーにメールの送受信をするJakarta Mailなどが用意されています。

ツール

GlassFishは、アプリケーションコンポーネントの配備、サービス設定、リソース定義などの設定を行うために各種コマンドを提供しています。

各種コマンド

asadminコマンドなど提供する各種コマンドを使用することで、GlassFishの各種設定を行うことができます。

関連ドキュメント

Eclipse GlassFishドキュメント

https://eclipse-ee4j.github.io/glassfish/docs/

Jakarta EE Platformのドキュメント

https://jakarta.ee/specifications/platform/8/

ベースとなるEclipse GlassFishのバージョン

Eclipse GlassFish V5.1.0 をベースとしています。