前へ     目次     索引     DocHome     次へ     
iPlanet Application Server 移行ガイド



第 1 章   移行の概要


この章では、iPlanetTM Application Server 6.5 プログラミングモデルを紹介し、NAS 4.0 プログラミングモデルおよび NAS 2.1 プログラミングモデルの両方と比較します。

新しい iPlanet Application Server 6.5 プログラミングモデルは、Java アプリケーション専用です。C++ アプリケーションでは、引き続き、NAS 2.1 モデルが使われます。次の互換性に関する事項に注意してください。

  • iPlanet Application Server 6.5 をビルドするためにコンパイラを変更するには、Solaris 上のアプリケーションをベースにした AppLogics が、iPlanet Application Server 6.5 で実行できるようにコンパイルし直す必要があります。

  • iPlanet Application Server 6.5 は、NAS 2.1 アプリケーションと後方互換性があります。NAS 2.1 アプリケーションは、コード変更しなくても iPlanet Application Server 6.5 上で実行できます。

  • iPlanet Application Server 6.0 は、J2EE 標準に変換することによって、NAS 4.0 アプリケーションとの互換性を維持します。また、NAS 4.0 アプリケーションを一部変換する必要があります。

この章では、次のトピックについて説明します。



新しい J2EE プログラミングモデル

iPlanet Application Server 6.5 は、Java 2 Platform、Enterprise Edition (J2EE) Specification Version 1.2 に準拠しており、Java コミュニティによって開発された標準、つまり、Servlet、JavaServer Pages、および Enterprise JavaBeans をベースとしています。この点で、NAS 2.1 で使われている専用の AppLogic ベースのプログラミングモデルとは異なります。NAS 4.0 は J2EE プログラミングモデルをベースにしていますが、J2EE 標準の以前のバージョンを採用しています。

iPlanet Application Server 6.5 モデルと iPlanet Application Server 4.0 および 2.1 モデルのアプリケーションフローは似ています。すなわち、入力の処理、ビジネスロジック関数の実行、データベースとの対話、入力に応答した出力ページの提供、および次のユーザ対話の設定を行う 1 つまたは複数のアプリケーションコンポーネントによって各ユーザ対話が処理されます。6.5 モデルは、4.0 モデルと同様にモジュール化が進んでおり、アクティビティをより多くの個々のコンポーネントに分割できます。

新しいプログラミングモデルでは、それぞれが一連のコンポーネントまたは API によって表された、3 層のアプリケーションロジックが記述されます。次の表で、これらの層について説明します。



プログラミング層

NAS 2.1 コンポーネント

NAS 4.0 コンポーネント

iPlanet Application Server 6.5 コンポーネント

説明

プレゼンテーションロジック  

AppLogic  

Java Servlet と専用標準  

Java Servlet  

リクエストを処理し、それに応答するコンテンツを生成してフォーマット化し、そのコンテンツをユーザに返信することによってアプリケーションとユーザとのインターフェイスを制御する。6.5 では、Servlet が受信リクエストを処理して、レスポンスを作成する。ビジネスロジックは通常、EJB にオフロードされ、出力は JSP にオフロードされる  

プレゼンテーションレイアウト (プレゼンテーションロジックの一部)  

HTML テンプレート  

JavaServer Page (JSP) と専用標準  

JavaServer Page (JSP)  

各ページの外観を制御する。通常は JavaServer Pages によって処理されるプレゼンテーションロジックの一部。JSP は、Java が組み込まれている HTML ページであるため、2.1 HTML テンプレートよりも汎用性が高く、より強力  

ビジネスロジック  

AppLogic  

Enterprise JavaBeans (EJB) と専用標準  

Enterprise JavaBeans (EJB)  

ビジネスロジックを制御する。EJB によって、ビジネスロジックは、複数の呼び出しにわたって持続するので、キャッシュ効率も向上する。また、EJB は、データベーストランザクション用の JDBC と緊密に連携するように設計されている  

データアクセスロジック  

DAE  

JDBC と専用標準  

JDBC  

データベースの保存および検索を制御する。6.5 モデルでは、データベーストランザクションは通常、EJB によって制御されるが、すべての API と同様に、JDBC API は、すべての Java コンポーネントに利用できる  

この節には、次の追加のトピックがあります。


コンポーネントのモジュール性と柔軟性

このマニュアルや『開発者ガイド』には、iPlanet Application Server 6.5 コンポーネントの役割に関して、「通常は」や「普通は」という言葉が頻繁に使われています。Servlet、JSP、および EJB はすべて同じ仮想マシン内にある Java オブジェクトであるため、各タスクを複数のコンポーネントで処理できる柔軟性を持っています。どのタスクがどのコンポーネントに適しているかを指定する厳密なルールはありません。たとえば、JSP または Servlet だけを使って、複雑なアプリケーション全体を記述できます。

ただし、コンポーネントはモジュール形式で連動しながら各コンポーネントの長所を活かすように設計されています。たとえば、Servlet でレイアウトタスクを実行することは困難ですが、JSP (HTML ページ) はレイアウトタスクに非常に適しています。一方、プレゼンテーションロジックは、Servlet の方が簡潔に実行できます。

コンポーネントを分割して整理することによって、分散環境で効率よく動作する強力なアプリケーションモデルを記述できます。この章で説明するプログラミング層をガイドラインとして使い、必要なタスクを実行するコンポーネントを選択してください。


プレゼンテーションロジックとレイアウト

プレゼンテーション ロジックとは、リクエストの処理やそれに続くコンテンツの生成および配信といった、各ユーザ対話の観点からのアプリケーションフローを表します。プレゼンテーションロジックの目的は、リクエストに対する論理的なレスポンスの生成と、ほかのリクエストを促すプロンプトの表示です。プレゼンテーションレイアウトの目的は、あらかじめ決められた書式でレスポンスコンテンツを表示することです。ユーザセッション、セキュリティおよびユーザ認証、入力確認などのアプリケーション機能も、プレゼンテーションロジックによって処理されます。

つまり、プレゼンテーションロジックには、アプリケーションとユーザ間のインターフェイスに関するすべてが含まれます。

NAS 2.1 プログラミングモデルでは、プレゼンテーションロジックは AppLogic クラスによって制御される一方、レイアウトは HTML テンプレートによって処理されていました。実行時に、AppLogic オブジェクトがデータを出力し、テンプレートに入力していました。

iPlanet Application Server 6.5 プログラミングモデルでは通常、プレゼンテーションロジックは Java Servlet によって処理され、レイアウトは JSP によって処理されます。実行時に、Servlet は JSP を使って、ビジネスロジックによって生成されるコンテンツをフォーマット化します。

この基本モデルに代わる主な 2 つの方法を次に示します。

  • 指定された対話のすべてのプレゼンテーションロジックおよびレイアウトを JSP で処理します。ビジネスロジックがなく、前の対話からの処理がほとんどない対話については、この方法で簡単に制御できます。たとえば、多くの場合、アプリケーションの「表紙」には処理が不要なのでこの方法が適しています。

  • すべてのプレゼンテーションロジックおよびレイアウトを Servlet で処理します。この方法は、レイアウトをほとんど持たない対話に適しています。たとえば、簡単なデータベースレポートでは、データベースクエリから取得した行を一覧表示するだけです。Servlet からページが出力されるだけの場合は、JSP 呼び出しのオーバーヘッドが発生することはありません。


ビジネスロジック

ビジネスロジックは、データの保存および取得とそのデータに関する計算の実行といった、特定のコンテンツの生成を伴う作業を表します。ビジネスロジックの目的は、プレゼンテーションロジックによって提示された質問に対してレスポンスを生成または決定するアクティビティを実行することです。

つまり、ビジネスロジックには、アプリケーションによって提供されるコンテンツとアプリケーションに対して生成されるコンテンツが含まれます。

NAS 2.1 プログラミングモデルでは、指定されたユーザ対話のプレゼンテーションロジックを処理した AppLogic によってビジネスロジックが制御されていました。

iPlanet Application Server 6.5 プログラミングモデルでは通常、1 つまたは複数の Enterprise JavaBeans (EJB) によってビジネスロジックが処理されます。EJB はデータベーストランザクションを制御し、その結果をカプセル化します。EJB は強力で再利用可能なコンポーネントであり、アプリケーションの柔軟性を大幅に向上させます。これは、EJB が、どのオブジェクトからでも起動または検査が可能であり、継続させることができるためです。

このモデルに代わる 1 つの方法は、AppLogic によるビジネスロジックの処理とほぼ同じ方法で、Servlet や JSP などのプレゼンテーションロジックでビジネスロジックを処理することです。この方法は、特定のディレクトリリクエストなど目的が明確で比較的短いビジネスイベントには効果的ですが、EJB がプログラミングモデルにもたらすような柔軟性とパワーはありません。


データアクセスロジック

データアクセスロジックとは、データベースまたはディレクトリサーバとのトランザクションを表します。データアクセスロジックの目的は、アプリケーションと関連データセット間のインターフェイスを提供することです。通常、データアクセスはビジネスロジックの一機能として実行されます。

つまり、データアクセスロジックには、ビジネスロジックによって収集または生成されたコンテンツの保存および取得が含まれます。

NAS 2.1 プログラミングモデルでは、一部のクラスおよびインターフェイスの API を使った AppLogic からの呼び出しによって、データアクセスロジックが制御されていました。これらのクラスおよびインターフェイスには、DataSetDBDataSet、および DBStoredProcedure クラスと、ICallableStmtIColumnIDataConnIDataConnSetIHierQueryIHierResultSetIListDataSetIPreparedQueryIQueryIResultSetITableITrans、および IValList インターフェイスが含まれます。

iPlanet Application Server 6.5 プログラミングモデルでは、JDBC 標準の API セットによってデータアクセスロジックが制御されます。iPlanet Application Server 6.5 では、以前の API はすべて廃止されています。


前へ     目次     索引     DocHome     次へ     
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.

最新更新日 2002 年 3 月 6 日