![]() ![]() ![]() ![]() ![]() |
開発ガイド 05/16/03 09:21:28 |
企業コンピューティングをインターネットやWWW (World Wide Web)に移行することは、アプリケーションプロバイダにとって大きな課題となります。これまで以上に、企業アプリケーションは反応が迅速で、容易にアップデート、配布、およびスケール可能な上、クロスプラットフォームで、さまざまな既存のバックエンド情報システムに統合できることが求められています。SunのJ2EE (Java 2, Enterprise Edition)では、これらの課題を実現しています。
この章では、J2EEの概説を示し、Novell exteNd WorkbenchのJ2EE機能について紹介します。トピックは次のとおりです。
J2EEは、複数階層の企業レベルアプリケーションの設計、実装、および配備に対してコンポーネントベースの方法を提供する標準です。J2EEを使用すると、コンポーネントを再使用したり移植が可能となるだけではなく、トランザクションサポートや統合セキュリティモデルなどを得ることができます。
このセクションでは、次を含むJ2EEの基本について説明します。
J2EEアプリケーションには、標準化されたコンポーネントベースのアーキテクチャがある
J2EEアプリケーションは、モジュールにバンドルされたコンポーネント(サーブレット、JavaServer Pages、Enterprise JavaBeansを含む)から構成されています。J2EEアプリケーションはコンポーネントベースであるため、複数アプリケーションのコンポーネントを容易に再使用し、時間と労力を節約してすばやくアプリケーションを配布できるようになります。
このモジュラー開発モデルは、アプリケーションの開発、アセンブリ、および配備にわたる労力を明確に分割する上でも役立つため、サイト要員のスキルを最大限に活かすことができます。
J2EEでは、企業アプリケーションに対するサーバ側およびクライアント側のサポートを提供します。J2EEアプリケーションでは、クライアントのユーザインタフェース(通常はWebブラウザ)を提供し、中央階層のアプリケーションサーバでビジネス論理およびその他のサービスを実行し、バックエンドの企業情報システムに接続されます(これらの3つの階層については、後でもう少し詳細に説明します)。このアーキテクチャの使用により、機能が最も適切なプラットフォームに存在します。
J2EEでは、すべてのJ2EE互換ベンダが従わなければならない標準APIが定義されます。これによって、J2EE開発が特定のベンダのツールまたはサーバに依存しないようにします。
つまり、ツール、コンポーネント、およびサーバは自由に選択することが可能です。J2EEコンポーネントでは標準APIを使用するため、任意のJ2EE開発ツール(Workbenchを含む)で開発し、コンポーネントを開発するかコンポーネントプロバイダからコンポーネントを購入して、J2EE互換サーバに配備することができます。自分に最も適したツール、コンポーネント、およびサーバを選択します。
J2EEアプリケーションは、J2EEサーバの一部であるコンテナで実行されます。これらのコンテナ自体はスケーラブルになるように設計できるため、アプリケーション開発者は何もしなくても、J2EEサーバプロバイダがスケーラビリティを取り扱うことができます。
J2EEアプリケーションは、バックエンド情報システムに容易に統合できる
J2EEプラットフォームでは、リレーショナルデータベース管理システム、電子メールシステム、CORBAシステムなど、さまざまなEIS (企業情報システム)にアクセスするための標準APIを備えています。広い範囲の接続性を得るため、J2EEには、異種EISにアクセスするための標準的な手段を定義するConnectorアーキテクチャが含まれます。
「Webアプリケーション」: クライアントとしてWebブラウザを使用し、サーバのJavaServer Pagesまたはサーブレットで作成されたスタティックHTML、ダイナミックHTML、またはXMLをダウンロードします。
「非Webアプリケーション」 : スタンドアロンクライアント(通常はJavaで記述されている)や、携帯電話などの非ブラウザアプライアンスに埋め込まれたアプレットを使用します。
Sunの J2EE Blueprintsドキュメントでは、Webアプリケーションをできる限り使用するように推奨しています。Webブラウザは標準で、ユーザのデスクトップにクライアントソフトウェアを配備する必要はありません。サポートされている技術(JavaScript、DHTML、XML/XLSなど)とともに使用すると、Webアプリケーションを非常にインタラクティブにすることができます。さらに、ブラウザ技術は継続的に発展しているため、ブラウザはクライアント環境としてより魅力的になります。
また、J2EEでは、J2SE (Java 2, Standard Edition)の一部であるJavaBeanコンポーネントもサポートしています。
Webアプリケーションは、Webコンポーネントと、ともにバンドルされたその他のリソースから構成されます。Webコンポーネントには、次の主要な2種類があります。
Webアプリケーションには、他のいくつかのサポートコンポーネントが含まれることもあります。
Webコンポーネントの詳細については、
および
を参照してください。
J2EEアプリケーションのビジネス論理は、EJB (Enterprise JavaBeans)に常駐します。EJBは、アプリケーションの表示(Webブラウザで表示)とバックエンド企業情報システムのデータの間にある階層です。EJBコンポーネントには、次の3種類があります。
EJBコンポーネントの詳細については、
を参照してください。
ほとんどのJ2EEアプリケーションでは、プライマリまたは唯一のクライアントとして一般的なWebブラウザを使用しますが、J2EEでは、Java仮想マシンを実行する1組のクライアントもサポートしています。
クライアントコンポーネントの詳細については、
を参照してください。
サービス |
説明 |
---|---|
配備 |
J2EEアプリケーションは、「モジュール」のセットとして配備されます。各モジュールには、ランタイム環境でモジュールをアセンブルして配備する方法を指定する「配備記述子」が1つ含まれています。カスタマイズされた情報は、アプリケーションオブジェクトを再コンパイルする必要なく、アセンブリ時と配備時に提供できます。
|
ネーミング |
J2EEアプリケーションは配布されるため、EJBやデータソースなどのリモートオブジェクトやリソースを検索してアクセスする方法が必要になります。これは、JNDI (Java Naming and Directory Interface)を通じてサポートされます。 |
データアクセス |
J2EEでは、宣言型およびプログラム的なデータアクセスの両方をサポートしています。また、リレーショナルデータベースシステムへの接続に対して、JDBC (Java Database Connectivity) APIを備えています。さらに、アプリケーションからさまざまな企業情報システムに均一にアクセスできるように、「Connectorアーキテクチャ」(リソースアダプタ)も備えています。 |
トランザクション |
J2EEでは、宣言型およびプログラム的なトランザクションの両方をサポートしています。また、トランザクションを処理するために、JTA (Java Transaction API)も備えています。 |
セキュリティ |
J2EEでは、宣言型およびプログラム的なセキュリティの両方をサポートしています。また、ユーザに対して認証とアクセス制御を実行するために、JAAS (Java Authentication and Authorization Service)も備えています。 |
メッセージング |
J2EEでは、非同期にメッセージを送受信するJavaMailおよびJMS (Java Messaging Service)を備えています。JavaMailは電子メールメッセージ用で、JMSはプログラム間メッセージ用です。 |
通信 |
J2EEでは、次のプロトコルをサポートしています。 |
ファイルサポート |
J2EEの実装では、HTML 3.2ファイル、GIFとJPEGファイル、JARファイル、Java CLASSファイル、およびXMLファイルという「ファイルタイプ」がサポートされている必要があります。XML操作は、JAXP (Java API for XML Parsing)を通じてサポートされます。 |
このセクションでは、J2EEアプリケーションの実装について詳細に説明します。
階層 |
説明 |
---|---|
クライアント階層 |
Webブラウザまたはスタンドアロンアプリケーションクライアント。J2EE Blueprintsドキュメントでは、Webブラウザをクライアントとしてできる限り使用するように推奨しています。 |
中央階層 |
次の2つの下位階層から構成されます。 |
企業情報システム階層 |
バックエンドデータベースおよびその他の情報ソース。 |
コンテナ J2EEコンポーネントモデルの中心には、「コンテナ」があります。コンテナは、J2EEプラットフォームプロバイダにより実装されるランタイム環境です。コンテナではライフサイクル管理およびその他のサービスが提供されるため、アプリケーション開発者はアプリケーションの表示およびビジネス論理に集中することができます。
たとえば、「Webコンテナ」(主にJSPページおよびサーブレットを含む)では、クライアントリクエストを受信して応答するためのサポートが提供されます。「EJBコンテナ」では、(特に)トランザクション管理に対する組み込みサポートが提供されます。また、コンテナでは、リレーショナルデータベースにアクセスするためのサポートJDBCなど、企業情報システムにアクセスするための組み込みアクセスも提供されます。
WebコンテナおよびEJBコンテナは、J2EE互換アプリケーションサーバ内で実行されます。
J2EEアプリケーションは、拡張子が.EARのJARファイルであるEAR (Enterprise Archive)ファイルにパッケージ化された、1つまたは複数のJ2EEモジュールおよび1つの配備記述子から構成されます。
配備記述子 配備記述子は、J2EEアプリケーションまたはモジュールをランタイム環境でアセンブルして配備する方法を説明するXMLドキュメントです。
J2EEモジュール J2EEモジュールは、同じタイプの1つまたは複数のJ2EEコンポーネントおよび1つのコンポーネント配備記述子から構成されます。J2EEモジュールには、次の4種類があります。
J2EEプラットフォームの1つの長所は、違ったスキルを持つ異なる個人が実行できる役割に実装プロセスが自然に分けられる点です。
この役割ベースの開発のために、スタッフを効率的に使用することができます。たとえば、開発者には、UIの詳細について心配する必要なく、パフォーマンスの高いアプリケーションをコード化するなど、最も得意なことを行ってもらうことが可能です。また、設計者には、たとえば、アプリケーションのコーディングに関与せずに、魅力的で容易に使用できるインタフェースを設計するなど、最も得意とする別なことを行ってもらうことができます。
J2EEアプリケーションは、次の3つの要素から構成されるMVC (Model-View-Controller)アプリケーションモデルを使用して最も適切に開発されます。
MVCアーキテクチャを使用すると、アプリケーションのデータ、表示、および流れを分割でき、柔軟性と再使用の容易性がさらに増します。また、MVCは、同じデータの複数表示をサポートするアプリケーションを開発するための非常に良い手段でもあります。
サンプルMVCアプリケーション J2EE Blueprintsに付属のサンプルアプリケーションでは、MVCモデルを使用します。また、Workbench Webアプリケーションチュートリアルでは、JakartaプロジェクトからStrutsフレームワーク経由で実装されるMVCを使用します。
SunのJ2EE Blueprintsには、J2EEの専門知識を得る上で役立つ次の学習資料が含まれています。
書籍『Designing Enterprise Applications for the Java 2 Platform, Enterprise Edition』
これは、J2EEアプリケーションを作成してJ2EE技術を使用する方法に関して学習するための最良の資料の1つです。また、付属のサンプルアプリケーションを通じて最良実施例も示します。
これは、一般的なWebブラウザを通じて示されるEビジネスJ2EEアプリケーションで、MVCアーキテクチャ、ショッピングカート例、および多くのJ2EE機能(JSPページおよびEJBを含む)を使用してJ2EEアプリケーションを構築する方法を示す優れた手段です。
これらの資料は、Sun BlueprintsのWebサイト(次を参照)から入手できます。また、この書籍は、主要書店にてハードコピーを購入することも可能です。
サイト |
URL |
---|---|
J2EEホームページ |
|
J2EEダウンロード |
|
J2EEドキュメント |
|
J2EE Blueprints |
Novell exteNd Workbenchでは、J2EEアプリケーションの作成、整理、維持、および配備に必要な機能をすべて備えています。
Workbenchでは、1.2および1.3を含むJ2EEの複数バージョンに対する組み込みサポートを備えています。これにより、プロジェクトのライフサイクルを通じてバージョン関連タスク(開発、移行、および配備を含む)を処理することができます。
『お使いになる前に』の
J2EEバージョンの取り扱い方法に関する章を参照してください。
Workbenchでは、J2EE仕様に記述された役割と責任をサポートするために、開発、アセンブリ、および配備の操作の区別を維持します。
Workbenchでは、プロジェクト、アーカイブ、およびソース(ファイルシステム)レベルでJ2EEアプリケーションを作成、整理、および維持できるようにするグラフィカルIDEを備えています。このため、J2EEプロジェクトのソースディレクトリおよびファイルが結果のアーカイブにマップされる方法を容易に確認できます。
Workbenchでは、J2EEコンポーネントを開発し、J2EEモジュールとアプリケーションにアセンブルするための自然で整合性のある方法が提供されます。
『ツールガイド』の
プロジェクトおよびアーカイブに関する章を参照してください。
Workbenchでは、次のような適切に構造化されたJ2EEコンポーネントを作成できるようにする自動化されたウィザードを備えています。
また、Workbenchでは、これらのコンポーネントの維持を簡素化するソースエディタとデバッグツールも備えています。
『ツールガイド』の
Workbenchの基礎に関する章を参照してください。
Workbenchでは、次のようなJ2EEモジュールの作成を可能にする自動化された次のコンパイル機能、作成機能、およびアーカイブ機能を備えています。
『ツールガイド』の
プロジェクトおよびアーカイブに関する章を参照してください。
Workbenchでは、J2EEモジュールおよびアプリケーションの配備記述子を作成したり更新したりする自動化されたウィザードを備えています。また、手動による必要な変更のためのエディタもあります。
Workbenchには、さまざまなJ2EEサーバに対する配備の組み込みサポートがあります。また、Workbenchで生成されたアーカイブを取得し、他のJ2EE互換ツール(J2EEサーバによって提供される配備機能など)経由で配備することもできます。
『ツールガイド』の
アーカイブ配備に関する章を参照してください。
![]() ![]() ![]() ![]() ![]() |
開発ガイド 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.