ページの先頭行へ戻る
Enterprise Application Platform V1.0.0 GlassFishユーザーズガイド
FUJITSU Software

1.1 GlassFishの概要と構成

本製品のGlassFishは、Java SE環境をベースとして企業規模の多階層サービスの実装に必要とされる様々な機能を提供します。

また、アプリケーションの移植性を最大限に向上させるために、Eclipse GlassFishをベースとし、当社独自の機能を追加しています。

Eclipse GlassFishとの差異については「第2章 Eclipse GlassFishとの差異」を参照してください。

また、本書はEclipse GlassFishのドキュメントを参照しながら読むことを前提として記述しています。

GlassFishの機能の詳細な説明についてはGlassFishのドキュメントを参照してください。

本書は、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 をベースとしています。

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が提供するAPI(JNDI APIやEnterprise JavaBeansの呼び出し)は実行できません。

コンテナ

コンテナは、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の各種設定ができます。