![]() |
Sun ONE Application Server 7 サーバーアプリケーションの移行および再配備 |
Sun ONE Application Server 7 についてこのmoduleでは、Sun ONE Application Server 7 のアーキテクチャ、およびサーバー環境の重要な J2EE コンポーネントについて説明します。さらに、Sun ONE Application Server 7 の環境とそれ以前の Sun ONE Application Server 環境の違いについても説明します。
次の項目があります。
- Sun ONE Application Server 7 のアーキテクチャ
- J2EE コンポーネント標準
- 開発環境
- 管理ツール
- データベース接続
- J2EE アプリケーションコンポーネントと移行
- 移行と再配備
Sun ONE Application Server 7 のアーキテクチャ
アプリケーションサーバーは、クライアントがバックエンドソースに接続するための基盤を提供し、アプリケーションロジックを実行し、実行結果をクライアントに戻します。アプリケーションサーバーは 3 層コンピューティングモデルの中間層を使用します。
Sun ONE Application Server 7 は Java アプリケーションサーバーであり、Java 2 Enterprise Edition (J2EETM) 仕様に完全に準拠しています。J2EE では、完全でしかも安全な基盤を提供し、セキュリティ、開発、配備、コードの再使用、および移植についての標準を豊富に用意しています。これによって移植が容易な、ベンダーに依存しないアプリケーション開発ができます。
Sun ONE Application Server 7 は、多種多様なサーバー、クライアント、およびデバイスを対象とした電子商取引アプリケーションサービスを開発、配備、管理するための堅牢な J2EE プラットフォームです。
Sun ONE Application Server 7 は J2EE 1.3 に準拠したアプリケーションサーバーです。
このアーキテクチャの主な目的は、あらゆる方向の拡張性、および高い可用性、信頼性、パフォーマンス、および標準への準拠です。Sun ONE Application Server 7 はまた、第一世代の Sun ONE アプリケーションサーバー製品から大きく進歩したアーキテクチャを持っています。既存の強力な Sun ONE 製品およびテクノロジと J2EE 1.3 標準を組み合わせた Sun ONE Application Server 7 のアーキテクチャは、様々なテクノロジの基盤として最適なものです。
   Sun ONE Application Server 7 のアーキテクチャ
![]()
Sun ONE Application Server のアーキテクチャを図で示したものがSun ONE Application Server 7 のアーキテクチャです。Sun ONE Application Server のコンポーネント、サブシステム、アクセスパス、および外部エンティティとコアサーバーのインタフェースを図解しています。
Sun ONE Application Server 7 のアーキテクチャは高度にコンポーネント化されており、非常に管理しやすいものになっています。J2EE 仕様で要求されるすべてのサービスは、明確に定義された標準インタフェースとして提供され、アプリケーションから呼び出して使用できます。
Sun ONE Application Server 7 で新たに提供されている Web ユーザーインタフェースで、簡単にリモート管理を行うことができます。実際は 1 つの管理サーバーで複数のサーバーを管理することができる設計になっています。このバージョンでは、新しい管理されるサーバーインスタンスの作成作業が大幅に単純化されます。
Sun ONE Application Server の以前のバージョンは Type 2 JDBC ドライバをサポートしていましたが、このバージョンではサポートしていません。この結果、このプラットフォームの JDBC リソース管理に対するアプローチがより標準的なものになっています。
Sun ONE Application Server のオペレーションで JDK 1.4 を使用することにより、このバージョンで拡張された機能を利用できるようになっています。
一般的な J2EE アプリケーションは n 層のシステムで構成され、クライアントは処理された情報を Web サーバーまたはアプリケーションサーバーから取得します。サーバーは RDBMS や ERP などの企業規模のシステムが持つ情報にアクセスし、ビジネスロジックで処理し、処理後の情報を適切な形式でクライアントに配信します。これらのレイヤはそれぞれクライアントレイヤ (Web ブラウザまたはリッチ Java クライアント)、中間レイヤ (Web サーバーおよびアプリケーションサーバー)、およびバックエンドレイヤまたはデータレイヤ (データベースなどの企業規模のシステム) に対応します。
Sun ONE Application Server の J2EE アプリケーションモデルを使用すれば、J2EE コンポーネントが低レベルの詳細に関するすべての処理を受け持つため、開発者はビジネスロジックの作成に集中することができます。したがって、アプリケーションおよびサービスを容易に拡張して短期間で配備し、競合相手の変化に素早く対応することができます。J2EE プラットフォームでオープンスタンダードアーキテクチャを提供している Sun ONE Application Server は、拡張性と高い可用性を持ち、安全で信頼性の高い多層サービスの開発における複雑さと費用の問題を解決します。
J2EE コンポーネント標準
Sun ONE Application Server 7 は J2EE v1.3 に準拠したサーバーです。Java コミュニティによって開発された、サーブレット、Java Server Pages、および Enterprise JavaBeans (EJB) 用のコンポーネント標準をベースにしています。
Sun ONE Application Server 7 以前の Sun ONE Application Server 6.0/6.5 は、J2EE v1.2 に準拠したサーバーです。2 つの J2EE バージョンの間には、J2EE アプリケーションコンポーネント API に関して大きな違いがあります。
J2EE v1.3 準拠の Sun ONE Application Server 7 と、J2EE v1.2 準拠の Sun ONE Application Server 6.0/6.5 で使用されるコンポーネント API 間の相違点を次の表に示します。
さらに、この 2 つの製品では、XML 標準および Web サービスと関連のあるテクノロジを多数サポートしています。これらは J2EE 仕様の一部ではないものの、企業アプリケーションでますます広く使用されるようになっています。これらの標準を次の表に示します。
開発環境
この節では Sun ONE Application Server 6.0/6.5 と Sun ONE Application Server 7 の開発環境の違いを説明します。次の項目があります。
Sun ONE Application Server 6.0/6.5 の開発環境
Sun ONE Application Server 6.0/6.5 では Sun ONE Studio for Java の評価バージョンを提供しています。これは特にこのバージョンの Sun ONE Application Server のアプリケーション開発向けに調整されています。
これは NetBeans プラットフォームをベースにした完全な Java 開発環境です。この IDE は、Java アプリケーションおよび EJB コンポーネントの設計および開発のための、非常に広範囲の機能を提供します。また、プラグインによって Sun ONE Application Server と統合し、アプリケーションの様々な J2EE コンポーネントのアセンブリ、配備およびデバックに使用できます。Windows および Solaris のどちらの環境でも利用できます。
市場に出回っているサードパーティベンダー提供のソリューションの中では、最近リリースされた Borland JBuilder 6 Enterprise が非常に完成度が高く、利用範囲の広い製品です。Windows、Solaris、Linux、および MacOS X など複数のプラットフォームで動作するという利点もあります。JBuilder は、サーブレット、JSP ページ、EJB コンポーネント、グラフィックアプリケーションなどの Java の開発機能だけではなく、UML 設計、単体テスト、共同開発、および XML 開発の機能も提供しています。さらに、JBuilder を Sun ONE Application Server を含むメインストリームのアプリケーションサーバーと完全に統合し、Web アプリケーションおよび EJB コンポーネントのアセンブリ、配備およびデバッグに使用できます。
Sun ONE Application Server 7 の開発環境
Sun ONE Application Server 7 をうまく使いこなせるかどうかは、完全に統合された開発環境を利用できるかどうかで決まります。Sun ONE Studio for Java Enterprise Edition 4 は Sun ONE アプリケーション開発のための重要なツールです。
Sun ONE Studio for Java 4 は Sun ONE Application Server と共に提供されます。
Sun ONE Studio for Java Enterprise Edition 4 の中心的な機能を次に示します。
- EJB を短期間で容易に構築する機能
- EJB および配備用パッケージアプリケーションからアプリケーションをアセンブルする機能
- 配備のためのアプリケーションサーバーの統合
- Web サービスの開発およびパブリッシュ機能
- Java enterprise service presentation toolkit 用の Sun ONE studio
- Sun ONE Application Server 7 との統合機能
Sun ONE Studio Enterprise Edition と Sun ONE Application Server 7 の統合で図解されているように、Sun ONE Application Server 7 統合モジュールは、Sun ONE Studio Close Source で実装される NetBeans Open Source モジュールを使用しています。
   Sun ONE Studio Enterprise Edition と Sun ONE Application Server 7 の統合
![]()
管理ツール
この節では Sun ONE Application Server 6.0/6.5 と Sun ONE Application Server 7 の管理ツールの違いについて説明します。次の項目があります。
- Sun ONE Application Server 6.0 の管理ツール
- Sun ONE Application Server 6.5 の管理ツール
- Sun ONE Application Server 7 の管理ツール
Sun ONE Application Server 6.0 の管理ツール
Sun ONE Application Server 6.0 は、サーバー管理のあらゆる機能をカバーする、完全なグラフィカル管理ツールを提供しています。
- Sun ONE Console - 管理ツールのメインコントロールパネル。Sun ONE console で Administration Server Console、Directory Server、および Administration Tool へのすばやいアクセスが可能
- Administration Server Console - イベントログオプションの設定と SSL セキュリティ証明書の作成に使用
- Sun ONE Directory Server Console - Sun ONE Directory Server の管理に使用。Directory Server は、ユーザーおよび組織単位の管理に関する情報を持つユーザーディレクトリ、およびサーバー設定情報を持つ設定ディレクトリの、2 つの主要な情報ディレクトリツリーを管理
- Sun ONE Administration Tool - Sun ONE Application Server 6.0 のインスタンスを、配備済みのアプリケーションと共に管理するために使用。JDBC ドライバとデータソースの設定も行う
- Sun ONE Registry Editor (kregedit) - Windows のレジストリエディタ (regedit) と似たグラフィカルなツール。特定のレジストリに格納された、Sun ONE Application Server 固有のパラメータ調整に使用
Sun ONE Application Server 6.5 の管理ツール
Sun ONE Application Server 6.5 は、統合されている Administration Tool、Sun ONE registry editor およびコマンド行ツールで管理できます。以下はその説明です。
- Sun ONE Application Server Administration Tool - グラフィカルユーザーインタフェースを持つ、スタンドアロンの Java アプリケーション。管理アプリケーションコンポーネントと共に使用し、Sun ONE Application Server のインスタンス管理が可能
- コマンド行ツール - Windows のコマンドプロンプト、および Solaris のシェルプロンプトから実行するツール。基本設定からアプリケーションの配備まで、様々なタスクを実行できる。コマンドプロンプトで [command] -help と入力することで詳しい説明を表示する。ほとんどのツールは Sun ONE Application Server Administration Tool および Sun ONE Application Server Deployment Tool と統合されており、簡単に使用することができる
- Sun ONE Registry Editor (kregedit) - Windows のレジストリエディタ (regedit) と似たスタンドアロンの GUI ツール。Sun ONE Application Server のレジストリ情報の表示および編集が可能
Sun ONE Application Server 7 の管理ツール
Sun ONE Application Server 7 の管理サーバーはサーバーの特別なインスタンスです。管理インタフェースとしての機能を持ち、すべてのサーバーインスタンスに共通のグローバル設定を管理します。Web ベースのサーバーであり、Sun ONE Application Server 設定用のフォームを持ちます。
アプリケーションサーバーを管理するためのグラフィカルツールです。エラーやアクセスログの表示、サーバーの稼動状況の監視、仮想サーバーの作成と編集、構成内容の変更、サーバーインスタンスの起動および停止などを行います。
Sun ONE Application Server をインストールする際に、管理サーバーのポート番号を選択していない場合は、デフォルトのポート番号 4848 を使用しています。管理インタフェースにアクセスするには、Web ブラウザで次の URL を指定します。
http://「ホスト名」:「ポート番号」/admin
設定済みのユーザー名とパスワードの入力が要求されます。入力して「了解」ボタンをクリックすると、図「管理インタフェースのホームページ」のような管理インタフェースのホームページが表示されます。
左側のペインには、Sun ONE Application Server で構成できるすべての項目がツリー表示されます。管理インタフェースを使用するには、この左側のペインのどれか 1 つの項目をクリックします。右側のペインに、クリックした項目に対応するページが表示されます。
管理インタフェースのどのページのヘルプも、管理インタフェースの最上部のバナーにある「ヘルプ」ボタンをクリックして表示できます。オンラインヘルプには、ユーザーがアクセスしているページの使用方法、およびそのページに表示されているフィールドへの入力内容などの説明があります。
   管理インタフェースのホームページ
![]()
Sun ONE Application Server 7 はコマンド行インタフェースを装備しています。ユーティリティおよびコマンドを使用して、管理インタフェースと同じタスクを実行できます。コマンドは、シェルのコマンドプロンプトまたは他のスクリプトやプログラムから呼び出すことができます。これらのコマンドを使用して、繰り返し行う管理タスクを自動化できます。
Sun ONE Application Server 7 のコマンド行ユーティリティは asadmin と呼ばれ、Windows のコマンドプロンプト、および Solaris のシェルプロンプトで実行できます。asadmin ユーティリティは、管理タスクを実行するためのコマンドセットを備えています。これらのコマンドを使用して、基本設定からアプリケーション配備までのすべてのタスクを、管理インタフェースと同じように実行できます。コマンドの説明が必要な場合は、help を asadmin ユーティリティコマンドの後に入力します。
asadmin はシングルモードまたはマルチモードで実行できます。シングルモードでは、コマンドプロンプトからコマンドを 1 つずつ実行します。マルチモードでは、環境レベルの情報を繰り返し入力することなく、複数のコマンドを実行できます。
データベース接続
この節では、Sun ONE Application Server 6.0/6.5、および Sun ONE Application Server 7 に含まれるドライバのタイプ、および各タイプのドライバでサポートされるデータベースについて説明します。
次の項目があります。
- 「Sun ONE Application Server 6.0 がサポートするデータベース」
- 「Sun ONE Application Server 6.5 がサポートするデータベース」
- 「Sun ONE Application Server 7 がサポートするデータベース」
Sun ONE Application Server 6.0 がサポートするデータベース
Sun ONE Application Server 6.0 では、Type 2 JDBC ドライバを提供しています。次に示す主要なデータベースバックエンドに接続できますが、各 DBMS にアクセスするためにはネイティブクライアントライブラリをインストールする必要があります。
- DB2 6.1、7.1
- Informix 7.3、9.1.4、9.2
- Oracle 8.0.5、8i、9i
- Sybase 11.9.2、12
- Microsoft SQL Server 7
- Pointbase 3.5
サードパーティが提供する Type 4 JDBC ドライバは、Sun ONE Application Server 管理ツールまたは独自に提供されるユーティリティで宣言すれば使用できるようになります。Solaris では db_setup.sh、Windows では jdbcsetup をこの目的で使用します。
JDBC データソースおよび接続プールのプロパティを、Sun ONE Application Server 管理インタフェース 、または iasdeploy コマンド行ユーティリティを使用して追加し、設定できます。iasdeploy には、定義するデータソースのプロパティを定義している XML ファイルを渡します。
Sun ONE Application Server 6.5 がサポートするデータベース
Sun ONE Application Server 6.5 では、JDBC Type 2 ドライバを提供しており、次に示すデータベースをサポートしています。
- DB2 5.1 および 6.1。クライアントのバージョンは 7.1
- Informix 7.3、9.1.4、9.2。クライアントのバージョンは SDK 2.40
- Oracle 8i、9i
- Sybase 12
- Microsoft SQL Server 7
Solaris でのネイティブ JDBC ドライバの設定は、専用のユーティリティ db_setup.sh を使用して行います。Windows では、データベースクライアントライブラリがマシンにインストールされていれば、ネイティブドライバはインストール時に自動設定されます。Sun ONE Application Server のインストール後にデータベースクライアントライブラリをインストールする場合は、Sun ONE Application Server を再起動することでネイティブドライバが自動設定されます。
サードパーティ提供の Type 4 JDBC ドライバは、Sun ONE Application Server 管理ツールで宣言すれば使用できるようになります。Solaris および Windows のどちらでも手順は同じです。
Sun ONE Application Server では、Sun ONE Application Server 管理インタフェースで接続パラメータを設定し、データベース接続を調整することができます。接続パラメータは次のカテゴリに分類されます。
- 接続
- スレッド
- データベースキャッシュ
Sun ONE Application Server 7 がサポートするデータベース
Sun ONE Application Server 7 では、Type 2 および Type 4 XA に対応した JDBC 2.0 スタイルのドライバを提供しており、次に示す主要なデータベースバックエンドに接続できます。
- DB2 v7
- Oracle 8.1.7
- Sybase v11
- PointBase バージョン 4.2RE
Sun ONE Application Server は外部の JDBC に準拠するドライバをすべてサポートしています。
JDBC データソースおよび接続プールのプロパティを、Sun ONE Application Server 管理インタフェース、または asadmin コマンド行ユーティリティを使用して追加し、設定できます。
JDBC データソースおよび接続プール設定についての詳細は、「JDBC 2.0 データソースの使用方法」の節を参照してください。
J2EE アプリケーションコンポーネントと移行
J2EE は、標準化されたモジュールコンポーネントをベースとして、これらのコンポーネントへの一連のサービスを提供し、アプリケーションの詳細な動作の多くを自動処理することにより、企業アプリケーションの開発を単純化します。複雑なプログラミングは必要ありません。J2EE v1.3 アーキテクチャは、複数のコンポーネント API を含んでいます。主な J2EE コンポーネントを次に示します。
- サーブレット
- Java Server Pages (JSP)
- EJB。メッセージ駆動型 Beans (MDB) を含む
- Java Database Connectivity (JDBC)
- Java Transaction Service (JTS)
- Java Naming and Directory Interface (JNDI)
- Java Message Service (JMS)
J2EE コンポーネントは個別にパッケージ化され、配備用 J2EE アプリケーションにバンドルされます。各コンポーネント、GIF および HTML ファイルやサーバーサイドユーティリティクラスなどの関連ファイル、および配備記述子は、1 つのモジュールとしてアセンブルされ、J2EE アプリケーションに追加されます。J2EE アプリケーションは、1 つまたは複数の Enterprise JavaBeans、Web、またはアプリケーションクライアントコンポーネントモジュールで構成されます。最終的な企業用ソリューションは、設計要件に応じて 1 つの J2EE アプリケーションを使用することも、2 つ以上の J2EE アプリケーションで構成することもできます。
J2EE アプリケーションおよびその各モジュールは、独自の配備記述子を備えています。配備記述子は、拡張子 .xml を持つ XML ドキュメントであり、コンポーネントの配備設定を記述します。たとえば、Enterprise JavaBean モジュールの配備記述子は、Enterprise JavaBean 用のトランザクション属性およびセキュリティ認証を宣言します。配備記述子情報が宣言されるため、Bean ソースコードを修正しなくても変更できます。J2EE サーバーは、実行時に配備記述子を読み込み、そのコンポーネント上で適切に動作します。
J2EE アプリケーションとそのすべてのモジュールは、Enterprise Archive (EAR) ファイルで配布されます。EAR ファイルは、拡張子 .ear を持つ標準 Java Archive (JAR) ファイルです。EAR ファイルは、EJB JAR ファイル、およびアプリケーションクライアント JAR ファイルまたは Web Archive (WAR) ファイル、またはその両方を含みます。これらのファイルの特徴を次に示します。
- 各 EJB JAR ファイルは、配備記述子、Enterprise JavaBeans ファイル、および関連ファイルを含む
- 各アプリケーションクライアントの JAR ファイルは、配備記述子、アプリケーションクライアントのクラスファイル、および関連ファイルを含む
- 各 WAR ファイルは、配備記述子、Web コンポーネントファイル、および関連リソースを含む
モジュールおよび EAR ファイルを使用すると、同一コンポーネントのいくつかを使用して、種類の異なる多数の J2EE アプリケーションをアセンブルできます。他のコーディングは必要ありません。さまざまな J2EE モジュールを単純に J2EE EAR ファイルにアセンブルするだけです。
移行プロセスでは、主に J2EE アプリケーションコンポーネント、モジュール、およびファイルの移動を行います。
種類の異なる J2EE コンポーネントの移行に関しては、Module2 章のSun ONE Application Server 6.x から 7 への移行に関する問題の節を参照してください。
J2EE の基本情報の詳細については、以下を参照してください。
- J2EE チュートリアル - http://java.sun.com/j2ee/tutorial/
- J2EE の概要 - http://java.sun.com/j2ee/overview.html
- J2EE トピック - http://java.sun.com/j2ee
移行と再配備
この節では、J2EE アプリケーション、および特定のファイルを移行する理由について説明します。正常に移行された J2EE アプリケーションを Sun ONE Application Server に再配備できます。再配備についてもこの節で説明します。
次の項目があります。
移行が必要な理由
J2EE 仕様は、アプリケーションに対する要求を幅広くカバーしていますが、その一方で標準として進化を続けています。これは、アプリケーションのある面をカバーしていない、または実装の詳細をアプリケーションプロバイダに任せているということではありません。
これらの製品の実装に依存する面は、アプリケーションサーバーの構成方法の違い、およびアプリケーションサーバー上への J2EE コンポーネントの配備方法の違いとして明らかになります。使用可能な構成の配列、および特定のアプリケーションサーバー製品で使用する配備ツールも、製品実装の差異の原因となります。
仕様が進化すること自体が、アプリケーションプロバイダにとっては課題になります。各コンポーネント API は別々に進化します。このため、製品ごとに統一性の度合いが異なります。特に、Sun ONE Application Server などの新しく開発された製品は、他の確立されたアプリケーションサーバープラットフォームに配備された J2EE アプリケーションコンポーネント、モジュール、およびファイルの違いに対処しなければなりません。このような違いに対処するには、ファイル命名規則、メッセージ構文など、J2EE 標準以前の実装詳細間でのマッピングが必要になります。
さらに、製品プロバイダは通常、製品に追加機能とサービスをバンドルしています。これらの機能は、カスタムの JSP タグや、専用の Java API ライブラリとして利用できます。
ただし、このような専用機能を使用すると、アプリケーションを移植できなくなります。
移行を必要とする要素
移行のために、J2EE アプリケーションは次のファイルカテゴリで構成されています。
- 配備記述子 (XML ファイル)
- 専用の API を含む JSP ソースファイル
- 専用の API を含む Java ソースファイル
配備記述子 (XML ファイル)
配備は、EJB (ejb-jar)、フロントエンド Web コンポーネント (war)、およびエンタープライズアプリケーション (ear) のそれぞれに対する配備記述子 (DD) を指定して行います。配備記述子は、J2EE コンポーネントおよびアプリケーションのすべての外部依存関係の解決に使用されます。DD の J2EE 仕様はすべてのアプリケーションサーバー製品で共通です。ただし、製品の実装に依存するアプリケーション関連コンポーネントの配備に関する面で、仕様が規定されていない部分があります。
JSP ソースファイル
J2EE では、カスタムタグ追加による JSP 拡張方法を指定しています。一部の製品には開発者のタスクを単純化する JSP 拡張が含まれています。ただし、これらの専用カスタムタグを使用すると、JSP ファイルを移植できなくなります。また、JSP では別の Java ソースファイルで定義されているメソッドも同様に呼び出せます。JSP で専用の API を使用している場合は、移行前にその部分を変更する必要があります。
Java ソースファイル
Java ソースファイルはサーブレット、EJB、または他のヘルパークラスのいずれかです。サーブレットおよび EJB は標準 J2EE サービスを直接呼び出せます。また、ヘルパークラスで定義されたメソッドも呼び出せます。Java ソースファイルは、EJB などのビジネスレイヤのアプリケーションのエンコードに使用します。ベンダーはそれぞれの製品にいくつかのサービスおよび専用 Java API をバンドルしています。このような専用 Java API を使用すると、アプリケーションが移植できなくなります。J2EE は標準として進化し続けているため、製品が変わればサポートしている J2EE コンポーネント API のバージョンが変わります。このような点についても移行で対応します。
上記のファイルカテゴリ内のファイルは、Sun ONE Application Server に移行する必要があります。ここに示された各ファイルカテゴリを移行する方法の詳細については、「Sun ONE Application Server 6.x から 7 への移行に関する問題」を参照してください。
再配備とは
再配備とは、以前のバージョンの Sun ONE Application Server や、これまで配備されていた移行済みのアプリケーション、また競合するアプリケーションサーバープラットフォームから、以前に配備されていたアプリケーションを再び配備することです。
アプリケーションの再配備は、『Sun ONE Application Server 管理者ガイド』に示されている標準的な配備概要に従って行います。ただし、移行を行う際に、Sun ONE Migration Tool for Application Servers (J2EE アプリケーション用)、または Sun ONE Migration Toolbox (Netdynamics および Netscape Application Servers 用) などの自動化ツールを使用する場合は、移行されたアプリケーションを配備する前に、移行後または配備前の作業が必要になることがあります。
使用可能な移行ツールについての詳細は、「移行の自動化」を参照してください。