exteNd Workbench 4.1
コアヘルプ

 

    First Previous Next Last 開発ガイド  05/16/03 09:21:28 

第2章    J2EEの概要

企業コンピューティングをインターネットやWWW (World Wide Web)に移行することは、アプリケーションプロバイダにとって大きな課題となります。これまで以上に、企業アプリケーションは反応が迅速で、容易にアップデート、配布、およびスケール可能な上、クロスプラットフォームで、さまざまな既存のバックエンド情報システムに統合できることが求められています。SunのJ2EE (Java 2, Enterprise Edition)では、これらの課題を実現しています。

この章では、J2EEの概説を示し、Novell exteNd WorkbenchのJ2EE機能について紹介します。トピックは次のとおりです。

 
Top of page

J2EEとは

J2EEは、複数階層の企業レベルアプリケーションの設計、実装、および配備に対してコンポーネントベースの方法を提供する標準です。J2EEを使用すると、コンポーネントを再使用したり移植が可能となるだけではなく、トランザクションサポートや統合セキュリティモデルなどを得ることができます。

このセクションでは、次を含むJ2EEの基本について説明します。

 
Top of section

J2EEの機能

J2EEプラットフォームには次の利点があります。

 
Top of section

2種類のアプリケーション

J2EEアプリケーションには、次の2種類があります。

Sunの J2EE Blueprintsドキュメントでは、Webアプリケーションをできる限り使用するように推奨しています。Webブラウザは標準で、ユーザのデスクトップにクライアントソフトウェアを配備する必要はありません。サポートされている技術(JavaScript、DHTML、XML/XLSなど)とともに使用すると、Webアプリケーションを非常にインタラクティブにすることができます。さらに、ブラウザ技術は継続的に発展しているため、ブラウザはクライアント環境としてより魅力的になります。

 
Top of section

J2EE技術

J2EE技術は、次のカテゴリに分類できます。

J2EEコンポーネント

J2EEには、次の種類のコンポーネントが含まれます。

また、J2EEでは、J2SE (Java 2, Standard Edition)の一部であるJavaBeanコンポーネントもサポートしています。

Webコンポーネント

Webアプリケーションは、Webコンポーネントと、ともにバンドルされたその他のリソースから構成されます。Webコンポーネントには、次の主要な2種類があります。

Webコンポーネント

説明

サーブレット

サーブレットでは、CGI (Common Gateway Interface)プログラムと同様に、Webサーバの機能を拡張します。サーブレットは、CGIプログラムとは異なり、移植性(Javaで記述されている)およびスケーラビリティに優れ、維持が簡単であるため、より良い選択肢です。

サーブレットは、HTTPリクエストを処理して応答を生成する方法を説明します。サーブレットは、ダイナミックコンテンツを配布するために使用できます。

JSPページ(JavaServer Pages)

サーブレットと同様、JSPページは、HTTPリクエストを処理してHTTPリクエストに応答する方法を説明します。サーブレットと異なり、JSPページは、HTMLおよびJSPタグの組み合わせ、Javaコード、およびその他の情報を含むテキストベースのドキュメントです。

JSPページおよびサーブレットでは、両方とも同じ問題を解決しますが、JSPページには、アプリケーション論理(Javaでコード化)から表示(HTMLで表現)が区別されるという利点があります。サーブレットを使用すると、表示とアプリケーション論理は同じJavaファイルに互いに混在します。JSPページを使用すると、UI開発者には情報の表示を作業させる一方、Javaプログラマにはアプリケーション論理の開発を別に行わせることができます。

ほとんどのWebアプリケーションでは、JSPページを使用します。

Webアプリケーションには、他のいくつかのサポートコンポーネントが含まれることもあります。

For more information    Webコンポーネントの詳細については、 および を参照してください。

Enterprise JavaBeanコンポーネント

J2EEアプリケーションのビジネス論理は、EJB (Enterprise JavaBeans)に常駐します。EJBは、アプリケーションの表示(Webブラウザで表示)とバックエンド企業情報システムのデータの間にある階層です。EJBコンポーネントには、次の3種類があります。

EJBコンポーネント

説明

セッションBean

セッションBeanは、1つのクライアントセッションに固有な論理を実装します。たとえば、ショッピングカートアプリケーションでは、セッションBeanでクライアントの状態(クライアントのショッピングカートのアイテムなど)を維持します。セッションBeanはクライアント間で共有されません。

エンティティBean

エンティティBeanは、リレーショナルデータベースの行など、持続的なビジネスデータを表します。エンティティBeanはオブジェクトモデルです。すなわち、データに影響するメソッドとともにデータをカプセル化します。エンティティBeanはクライアント間で共有でき、データが持続的である限り持続させることができます。

メッセージ駆動型Bean

メッセージ駆動型Beanは、JMS (Java Messaging Service)メッセージの着信によって非同期に呼び出されるステートレスEJBです。メッセージの受信後、メッセージ駆動型Beanは、そのメッセージを処理するためにビジネス論理を実行し、次のメッセージを待機します。クライアントでは、適切なJMSキューまたはトピックにメッセージを送信することにより、メッセージ駆動型Beanにアクセスします。

For more information    EJBコンポーネントの詳細については、 を参照してください。

クライアントコンポーネント

ほとんどのJ2EEアプリケーションでは、プライマリまたは唯一のクライアントとして一般的なWebブラウザを使用しますが、J2EEでは、Java仮想マシンを実行する1組のクライアントもサポートしています。

For more information    クライアントコンポーネントの詳細については、 を参照してください。

J2EEサービス

J2EEでは、次を含む広範囲の標準サービスを提供します。

サービス

説明

配備

J2EEアプリケーションは、「モジュール」のセットとして配備されます。各モジュールには、ランタイム環境でモジュールをアセンブルして配備する方法を指定する「配備記述子」が1つ含まれています。カスタマイズされた情報は、アプリケーションオブジェクトを再コンパイルする必要なく、アセンブリ時と配備時に提供できます。

For more information    配備タスクを実行する人については、 J2EE開発における役割を参照してください。

ネーミング

J2EEアプリケーションは配布されるため、EJBやデータソースなどのリモートオブジェクトやリソースを検索してアクセスする方法が必要になります。これは、JNDI (Java Naming and Directory Interface)を通じてサポートされます。

データアクセス

J2EEでは、宣言型およびプログラム的なデータアクセスの両方をサポートしています。また、リレーショナルデータベースシステムへの接続に対して、JDBC (Java Database Connectivity) APIを備えています。さらに、アプリケーションからさまざまな企業情報システムに均一にアクセスできるように、「Connectorアーキテクチャ」(リソースアダプタ)も備えています。

For more information    Connectorアーキテクチャの詳細については、 を参照してください。

トランザクション

J2EEでは、宣言型およびプログラム的なトランザクションの両方をサポートしています。また、トランザクションを処理するために、JTA (Java Transaction API)も備えています。

セキュリティ

J2EEでは、宣言型およびプログラム的なセキュリティの両方をサポートしています。また、ユーザに対して認証とアクセス制御を実行するために、JAAS (Java Authentication and Authorization Service)も備えています。

メッセージング

J2EEでは、非同期にメッセージを送受信するJavaMailおよびJMS (Java Messaging Service)を備えています。JavaMailは電子メールメッセージ用で、JMSはプログラム間メッセージ用です。

通信

J2EEでは、次のプロトコルをサポートしています。

  • インターネットプロトコル — TCP/IP、HTTP 1.0、およびSSL 3.0が含まれます(安全な通信用)。

  • RMIプロトコル — RMI (Remote Method Invocation) は、EJBを含むJava分散アプリケーションにより使用されるAPIのセットです。

  • OMGプロトコル — OMG (Object Management Group)プロトコルは、J2EEアプリケーションがリモートCORBAオブジェクトと通信できるようにします。

ファイルサポート

J2EEの実装では、HTML 3.2ファイル、GIFとJPEGファイル、JARファイル、Java CLASSファイル、およびXMLファイルという「ファイルタイプ」がサポートされている必要があります。XML操作は、JAXP (Java API for XML Parsing)を通じてサポートされます。

 
Top of page

J2EEアプリケーションをまとめる方法

このセクションでは、J2EEアプリケーションの実装について詳細に説明します。

 
Top of section

3つの階層

J2EEアプリケーションは、次の3つの階層で実行されます。

階層

説明

クライアント階層

Webブラウザまたはスタンドアロンアプリケーションクライアント。J2EE Blueprintsドキュメントでは、Webブラウザをクライアントとしてできる限り使用するように推奨しています。

中央階層

次の2つの下位階層から構成されます。

  • Web階層 : J2EE Blueprintsドキュメントでは、アプリケーションに対するユーザインタフェースのコアを提供するためにJSPページ(サポートサーブレットとともに)を使用することを推奨しています。

  • EJB階層(またはビジネス階層) : これは、データアクセスを含むビジネス論理が常駐する場所です。

企業情報システム階層

バックエンドデータベースおよびその他の情報ソース。

これらの階層の単純な図は、次のとおりです。

devJ2EETiers

コンテナ   J2EEコンポーネントモデルの中心には、「コンテナ」があります。コンテナは、J2EEプラットフォームプロバイダにより実装されるランタイム環境です。コンテナではライフサイクル管理およびその他のサービスが提供されるため、アプリケーション開発者はアプリケーションの表示およびビジネス論理に集中することができます。

たとえば、「Webコンテナ」(主にJSPページおよびサーブレットを含む)では、クライアントリクエストを受信して応答するためのサポートが提供されます。「EJBコンテナ」では、(特に)トランザクション管理に対する組み込みサポートが提供されます。また、コンテナでは、リレーショナルデータベースにアクセスするためのサポートJDBCなど、企業情報システムにアクセスするための組み込みアクセスも提供されます。

WebコンテナおよびEJBコンテナは、J2EE互換アプリケーションサーバ内で実行されます。

 
Top of section

J2EEアプリケーションはアーカイブファイルで配布される

J2EEアプリケーションは、拡張子が.EARのJARファイルであるEAR (Enterprise Archive)ファイルにパッケージ化された、1つまたは複数のJ2EEモジュールおよび1つの配備記述子から構成されます。

devJ2EEApps

配備記述子   配備記述子は、J2EEアプリケーションまたはモジュールをランタイム環境でアセンブルして配備する方法を説明するXMLドキュメントです。

J2EEモジュール   J2EEモジュールは、同じタイプの1つまたは複数のJ2EEコンポーネントおよび1つのコンポーネント配備記述子から構成されます。J2EEモジュールには、次の4種類があります。

モジュール

説明

ファイルの保存場所

Webモジュール

JSPファイル、サーブレットのクラス、HTMLまたはXMLファイル、配備記述子、およびグラフィックファイルから構成されます。

WAR (Web Archive)ファイル

EJBモジュール

EJBクラス、インタフェース、および配備記述子から構成されます。

EJB JAR (EJB Archive)ファイル

アプリケーションクライアントモジュール

クラスファイルおよび配備記述子から構成されます。

クライアントJAR (Client Archive)ファイル

リソースアダプタモジュール

クラスファイルおよび配備記述子から構成されます。

RAR (Resource Adapter Archive)ファイル

 
Top of section

J2EE開発における役割

J2EEプラットフォームの1つの長所は、違ったスキルを持つ異なる個人が実行できる役割に実装プロセスが自然に分けられる点です。

この役割ベースの開発のために、スタッフを効率的に使用することができます。たとえば、開発者には、UIの詳細について心配する必要なく、パフォーマンスの高いアプリケーションをコード化するなど、最も得意なことを行ってもらうことが可能です。また、設計者には、たとえば、アプリケーションのコーディングに関与せずに、魅力的で容易に使用できるインタフェースを設計するなど、最も得意とする別なことを行ってもらうことができます。

J2EEの役割は次のとおりです。

役割

機能

J2EE製品プロバイダ

アプリケーションをサポートするJ2EE互換サーバを含むJ2EEプラットフォームを提供します。

アプリケーションコンポーネントプロバイダ

J2EEアプリケーションで使用するためのWebコンポーネント(JSPページおよびサーブレット)およびEJBを作成します。このため、独自のコンポーネントを開発したり、他からコンポーネントを購入したりできるようになります。

アプリケーションアセンブラ

コンポーネントプロバイダからアプリケーションコンポーネントを取得し、EAR (Enterprise Archive)ファイルにアセンブルします。

このプロセス中、アセンブラは、コンポーネントが互いに適切に機能するように定義されていることを確認します。また、アセンブラは、アプリケーションの配備記述子の作成や変更も行います。

配備担当者

ランタイム環境(J2EEサーバ)でアプリケーションを配備します。最終セキュリティ、トランザクション、およびその他のマッピングを、必要に応じて定義します。

システム管理者

ランタイム環境を設定し、管理します。

ツールプロバイダ

J2EE開発、アセンブリ、および開発ツールを提供します。Workbenchは、J2EEツールセットの例です。

 
Top of section

Model-View-Controllerアプリケーションモデル

J2EEアプリケーションは、次の3つの要素から構成されるMVC (Model-View-Controller)アプリケーションモデルを使用して最も適切に開発されます。

要素

説明

モデル

アプリケーションデータと、そのデータを管理するビジネスルールを表します。J2EEアプリケーションでは、モデルは、通常EJBにより表されます。

表示

アプリケーションのユーザにモデルのコンテンツをレンダリングします。J2EEアプリケーションでは、表示は、通常「JSPページ」により提供されます。

コントローラ

アプリケーションの動作方法を定義します。これにより、ユーザアクション(ボタンクリックなど)が、モデルにより実行される操作(データベースの情報の更新など)にマップされます。コントローラは、表示とモデルの間を仲介します。

J2EEアプリケーションでは、コントローラは、通常「サーブレット」、「JavaBean」、または「セッションBean」です。

MVCアーキテクチャを使用すると、アプリケーションのデータ、表示、および流れを分割でき、柔軟性と再使用の容易性がさらに増します。また、MVCは、同じデータの複数表示をサポートするアプリケーションを開発するための非常に良い手段でもあります。

サンプルMVCアプリケーション   J2EE Blueprintsに付属のサンプルアプリケーションでは、MVCモデルを使用します。また、Workbench Webアプリケーションチュートリアルでは、JakartaプロジェクトからStrutsフレームワーク経由で実装されるMVCを使用します。

 
Top of page

J2EEについてのより深い学習

この節では、他のJ2EEの学習資料をリストします。

 
Top of section

J2EE Blueprints

SunのJ2EE Blueprintsには、J2EEの専門知識を得る上で役立つ次の学習資料が含まれています。

これらの資料は、Sun BlueprintsのWebサイト(次を参照)から入手できます。また、この書籍は、主要書店にてハードコピーを購入することも可能です。

 
Top of section

J2EEのWebサイト

いくつかの役立つJ2EEのWebサイトを次に示します。

サイト

URL

J2EEホームページ

java.sun.com/j2ee

J2EEダウンロード

java.sun.com/j2ee/download.html

J2EEドキュメント

java.sun.com/j2ee/docs.html

J2EE Blueprints

java.sun.com/blueprints

 
Top of page

J2EEおよびWorkbench

Novell exteNd Workbenchでは、J2EEアプリケーションの作成、整理、維持、および配備に必要な機能をすべて備えています。

 
Top of section

J2EEバージョンのサポート

Workbenchでは、1.2および1.3を含むJ2EEの複数バージョンに対する組み込みサポートを備えています。これにより、プロジェクトのライフサイクルを通じてバージョン関連タスク(開発、移行、および配備を含む)を処理することができます。

For more information    『お使いになる前に』の J2EEバージョンの取り扱い方法に関する章を参照してください。

 
Top of section

J2EEの役割のサポート

Workbenchでは、J2EE仕様に記述された役割と責任をサポートするために、開発、アセンブリ、および配備の操作の区別を維持します。

 
Top of section

J2EE指向のIDEおよびプロジェクト

Workbenchでは、プロジェクト、アーカイブ、およびソース(ファイルシステム)レベルでJ2EEアプリケーションを作成、整理、および維持できるようにするグラフィカルIDEを備えています。このため、J2EEプロジェクトのソースディレクトリおよびファイルが結果のアーカイブにマップされる方法を容易に確認できます。

Workbenchでは、J2EEコンポーネントを開発し、J2EEモジュールとアプリケーションにアセンブルするための自然で整合性のある方法が提供されます。

For more information    『ツールガイド』の プロジェクトおよびアーカイブに関する章を参照してください。

 
Top of section

J2EEコンポーネントのウィザードおよびエディタ

Workbenchでは、次のような適切に構造化されたJ2EEコンポーネントを作成できるようにする自動化されたウィザードを備えています。

また、Workbenchでは、これらのコンポーネントの維持を簡素化するソースエディタとデバッグツールも備えています。

For more information    『ツールガイド』の Workbenchの基礎に関する章を参照してください。

 
Top of section

J2EEモジュールの作成機能およびアーカイブ機能

Workbenchでは、次のようなJ2EEモジュールの作成を可能にする自動化された次のコンパイル機能、作成機能、およびアーカイブ機能を備えています。

For more information    『ツールガイド』の プロジェクトおよびアーカイブに関する章を参照してください。

 
Top of section

J2EE配備サービス

Workbenchでは、J2EEモジュールおよびアプリケーションの配備記述子を作成したり更新したりする自動化されたウィザードを備えています。また、手動による必要な変更のためのエディタもあります。

Workbenchには、さまざまなJ2EEサーバに対する配備の組み込みサポートがあります。また、Workbenchで生成されたアーカイブを取得し、他のJ2EE互換ツール(J2EEサーバによって提供される配備機能など)経由で配備することもできます。

For more information    『ツールガイド』の アーカイブ配備に関する章を参照してください。

    First Previous Next Last 開発ガイド  05/16/03 09:21:28 

Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC, a wholly owned subsidiary of Novell, Inc. All rights reserved.