Oracle® Fusion Middleware Oracle WebLogic Serverへのアプリケーションのデプロイ 11g リリース1 (10.3.6) B60988-04 |
|
前 |
次 |
次の項では、WebLogic Serverデプロイメントの概要を説明します。
アプリケーション・デプロイメントという用語は、WebLogic Serverドメインにおいて、アプリケーションまたはモジュールをクライアント・リクエストの処理に使用できるようにするプロセスを指します。アプリケーション・デプロイメントは、一般的に次のタスクを伴います。
WebLogic Serverは、Java EE 5仕様を実装しています。Java EE 5には、デプロイメント仕様JSR-88が含まれています。この仕様には、アプリケーションをアプリケーション・サーバーに構成およびデプロイする際に、デプロイメント・ツールおよびアプリケーション・サーバー・プロバイダで使用する標準APIが記述されています。
WebLogic Serverは、Java EE 5デプロイメント仕様に準拠するように、JSR-88サービス・プロバイダ・インタフェース(SPI)プラグインとモデル・プラグインの双方を実装しています。WebLogic Serverに対してJava EEアプリケーションおよびモジュールを構成、デプロイ、および再デプロイするには、(APIのWebLogic Server拡張を使用せずに) WebLogic Serverプラグインとともに基本的なJava EE 5デプロイメントAPIデプロイメント・ツールを使用できます。Java EE 5デプロイメントAPI構成プロセスで生成されたWebLogic Server構成は、図2-1に示すように、デプロイメント・プランおよび1つまたは複数の生成されたWebLogic Serverデプロイメント記述子ファイル内に格納されます。WebLogic Serverデプロイメント記述子は、WebLogic Server構成データを格納するために、必要に応じて生成されます。
Java EE 5デプロイメントAPIのデプロイメント・ツールで生成されたWebLogic Serverデプロイメント・プランにより、構成セッション中にアプリケーションのために生成されたWebLogic Serverデプロイメント記述子が識別されます。
Java EE 5デプロイメントAPIは、Java EE 5準拠のアプリケーション・サーバーで使用するためのアプリケーションおよびモジュールを構成する、簡単かつ標準化された方法を提供しますが、この仕様では以前のWebLogic Serverで利用できた多くのデプロイメント機能に対応していません。そのため、WebLogic Serverでは、Java EE 5デプロイメントAPI仕様に重要な拡張を行い、「WebLogic Serverのデプロイメント機能」に記載の機能をサポートしています。
Weblogic Serverは、アプリケーションを本番環境に確実にデプロイして管理するのに役立つ以下の高度なデプロイメント機能をサポートしています。
Java EE 5デプロイメントAPIデプロイメント仕様を使用すると、アプリケーションをデプロイするために必要なベンダー固有の記述子の値を生成でき、一方、WebLogic ServerにおけるJava EE 5デプロイメントAPIの拡張機能では、次のような多くの追加デプロイメント・プロパティを構成できます。
アプリケーションの動作に必要な外部リソースの名前
他のアプリケーションが独自に使用するために参照できる、デプロイ済みのアプリケーション内に提供されるサービスに対して宣言された名前(JNDI名)
WebLogic Server上のアプリケーションのパフォーマンスと動作を制御するチューニング・プロパティ
これらのデプロイメント・プロパティは、WebLogic Serverデプロイメント・プランに格納できます。
基本的なJava EE 5デプロイメントAPI構成プロセスでは、標準化されたデプロイメント・ツールを使用して、Java EEアプリケーションを複数のアプリケーション・サーバー製品に簡単にデプロイできます。しかし、アプリケーションの構成を組織内のある環境から別の環境へ移行するプロセスには使用できません。一方、Java EE 5デプロイメントAPIを拡張したWebLogic ServerデプロイメントAPIでは、アプリケーションの構成をエクスポートして複数のWebLogic Server環境(テスト、ステージング、および本番ドメインなど)にデプロイするプロセスがサポートされています。「新しい環境にデプロイするためのアプリケーションのエクスポート」を参照してください。
アプリケーションの分散により、デプロイメント・ファイルがターゲット・サーバーにコピーされ、アプリケーションが準備状態に置かれます。その後は、アプリケーションを管理モードで起動できます。それにより、アプリケーションにアクセスできるのが構成された管理チャネルのみになるため、アプリケーションを外部クライアント接続に対して開いたり、接続されたクライアントを中断させたりすることなく、最終テストを実行できます。アプリケーションを管理モードで起動するには、「分散されたアプリケーションの管理モードでの起動」
で説明するように-adminmodeオプションを使用します。「本番環境へのアプリケーションの分散」および「本番アプリケーションの新しいバージョンの分散」を参照してください。
最終テスト実行後は、アプリケーションをアンデプロイしてさらに変更を加えるか、アプリケーションを本番モードで起動して、全般的にクライアントで使用可能にできます。
「アプリケーションの配布」を参照してください。
JDBC、JMS、およびWLDFリソースは、アプリケーション・モジュールとして格納できます。これらのモジュールは複数サーバーまたはクラスタにスタンドアロン状態でデプロイすることも、アプリケーション・スコープのリソースとしてエンタープライズ・アプリケーション内に含めることもできます。スタンドアロンのJDBC、JMSおよびWLDFアプリケーション・モジュールを使用すると、複数のWebLogic Serverドメイン内でリソースを簡単にレプリケートできるようになります。アプリケーション・スコープのリソース・モジュールを使用すると、複数の環境への移植性を最大限に高めるために、アプリケーション・モジュール自体の中にアプリケーションが必要とするリソースをすべて含めることができるようになります。アプリケーション・スコープのリソースの使用の詳細は、『Oracle WebLogic Serverアプリケーションの開発』を参照してください。WebLogic Serverへのスタンドアロン・リソースまたはアプリケーション・スコープのリソースのデプロイについては、「JDBC、JMS、およびWLDFアプリケーション・モジュールのデプロイ」を参照してください。
WebLogic Serverでは、エンタープライズ・アプリケーションの個々のモジュールを、様々なサーバー・ターゲットに割り当てることも、エンタープライズ・アプリケーションで利用可能なモジュールのサブセットのみをデプロイすることもできます。これにより柔軟性の高いパッケージング・オプションが得られ、関連するモジュールのグループをまとめてエンタープライズ・アプリケーション内でバンドルし、選択したモジュールのみをドメイン内の個々のサーバーにデプロイできます。
WebLogic Serverにより、アプリケーションに対する現在のHTTPクライアントに影響を与えることなく、本番アプリケーションの新しいバージョンを、安全に更新および再デプロイできます。本番再デプロイメントは、アプリケーションのダウンタイムなしに、また変更を加えるために冗長なサーバーを作成することなく、バグ・フィックスや、新しい機能を実現するのに役立ちます。詳細については、「本番環境でのアプリケーションの再デプロイメント」を参照してください。
「Admin」および「Deployer」ユーザーの組込みセキュリティ・ロールにより、WebLogic Server管理コンソールを使用し、デプロイメント・タスクを実行することが可能です。「AppTester」セキュリティ・ロールにより、管理モードに対してデプロイされたアプリケーションのバージョンをテストできます。WebLogicドメインを超えてデプロイする場合、「CrossDomainConnector」ロールにより、外部のドメインからドメイン間の呼び出しを実行することができます。セキュリティ・ロールすべての完全なリストは、Oracle WebLogic Serverロールおよびポリシーによるリソースの保護のデフォルト・グローバル・ロールの項を参照してください。
デプロイメント・ユニットは、Java EE仕様に従って構成されており、WebLogic Serverにデプロイ可能なJava EEアプリケーション(エンタープライズ・アプリケーションまたはWebアプリケーション)、あるいはスタンドアロンJava EEモジュール(EJB、リソース・アダプタなど)を参照します。
デプロイメント・ユニットのタイプごとに、必要なファイル、およびアプリケーションまたはモジュールのディレクトリ構造内での各ファイルの位置がJava EE仕様で定義されています。デプロイメント・ユニットは、EJBとサーブレットのJavaクラス、リソース・アダプタ、Webページとサポート・ファイル、XML形式のデプロイメント記述子、およびその他のモジュールで構成されています。
Java EEでは、どのようにデプロイメント・ユニットをターゲット・サーバーにデプロイするかは指定されておらず、標準のアプリケーションおよびモジュールの構造のみが指定されています。WebLogic Serverは、以下のタイプのデプロイメント・ユニットをサポートします。
エンタープライズ・アプリケーションは、次に示す1つ以上のJava EEアプリケーションまたはモジュールで構成されます。
Webアプリケーション
Enterprise JavaBeans (EJB)モジュール
リソース・アダプタ・モジュール
エンタープライズ・アプリケーションは、.ear
拡張子付きでアーカイブ・ファイルとしてパッケージ化されますが、一般には展開したEARディレクトリとしてデプロイされます。展開したEARディレクトリは、アプリケーション用にJAR、WARおよびRARモジュールのすべて(展開したフォーマットで)、またエンタープライズ・アプリケーション、およびそのバンドル・アプリケーションやモジュール用にXML記述子ファイルを含みます。『Oracle WebLogic Serverアプリケーションの開発』を参照してください。
Webアプリケーションは常に以下のファイルを含みます。
1つのサーブレットまたはJSPページ、およびヘルパー・クラス
web.xml
デプロイメント記述子(WARファイルの内容を記述するJava EE標準のXMLドキュメント)
Webアプリケーションは、JSPタグ・ライブラリ、静的な.html
およびイメージ・ファイル、サポート・クラスや.jar
ファイル、さらにWebアプリケーション用にWebLogic Server固有の要素を構成するweblogic.xml
デプロイメント記述子を含む場合があります。『Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発』を参照してください。
Enterprise JavaBeans (EJBs)は、再利用可能なJavaコンポーネントで、ビジネス・ロジックを実装し、コンポーネント・ベースの分散ビジネス・アプリケーションの開発を可能にします。EJBモジュールは、.jar
拡張子がついたアーカイブ・ファイルとしてパッケージ化されますが、通常展開したアーカイブのディレクトリとしてデプロイされます。EJBのアーカイブ・ファイルまたは展開したアーカイブ・ディレクトリは、コンパイルしたEJBクラス、オプションの生成クラスおよびEJBのXMLデプロイメント記述子を含みます。EJBの様々なタイプの情報は、『Oracle WebLogic Server WebLogic Enterprise JavaBeansのプログラミング』を参照してください。
リソース・アダプタ(別称:コネクタ)は、Java EEプラットフォームにEnterprise Information System(EIS)インテグレーションを追加します。コネクタはシステム・レベルのソフトウエア・ドライバを提供し、WebLogic Serverはこれを使用してEISに接続します。コネクタはJavaクラスと、必要に応じてEISとの対話に必要なネイティブなコンポーネントを含みます。『Oracle WebLogic Serverリソース・アダプタのプログラミング』を参照してください。
Webサービスとは、ネットワーク上の他のシステムからも利用でき、分散型Webベース・アプリケーションのコンポーネントとして共有および使用可能な、1つのエンティティにまとめられた一連の関数です。Webサービスは一般的に、CRM (カスタマ・リレーションシップ・マネージメント)システム、注文処理システムなどの既存のバックエンド・アプリケーションとインタフェースします。
Webサービス・モジュールはJavaクラス、あるいはWebサービスを実装するEJBのどちらかを含む場合があります。Webサービスは、実装に応じて、Webアプリケーション・アーカイブ(WAR)またはEJBモジュール(JAR)のどちらかとしてパッケージ化されます。通常、WARまたはEJB JARファイルは、さらにエンタープライズ・アプリケーションにパッケージ化されます。『Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』を参照してください。
Java EEライブラリはスタンドアロンのJava EEモジュールか、複数のJava EEモジュールがパッケージされ、デプロイ時にJava EEアプリケーション・コンテナに共有ライブラリとして登録されたエンタープライズ・アプリケーション(EAR)です。Java EEライブラリの登録後、weblogic-application.xml
デプロイメント記述子でライブラリを参照するエンタープライズ・アプリケーションをデプロイできるようになります。参照側の各アプリケーションは、デプロイメントの際に共有Java EEライブラリ・モジュールのコピーを受け取り、アプリケーションそのものの一部としてパッケージ化されているかのように、これらのモジュールを使用できます。Java EEライブラリ・サポートを利用すると、物理的に共有モジュールを各依存アプリケーションに追加しなくても、複数のエンタープライズ・アプリケーション間で1つ以上のJava EEモジュールを簡単に共有できます。
この項で説明したように、共有ライブラリのデプロイメント・ファイルは、標準のエンタープライズ・アプリケーションまたはJava EEモジュールのどちらかに類似しています。共有ライブラリは、MANIFEST.MF
ファイルの内容のみが、標準EARやモジュールのそれと異なります。Java EEライブラリをアセンブルおよび構成する方法と、Java EEライブラリを利用するエンタープライズ・アプリケーションを構成する方法については、『Oracle WebLogic Serverアプリケーションの開発』の共有Java EEライブラリおよびオプション・パッケージの作成に関する項を参照してください。
「共有Java EEライブラリおよびそれに依存するアプリケーションのデプロイ」では、Java EEライブラリおよびJava EEライブラリを参照するエンタープライズ・アプリケーションのデプロイ方法について説明します。
オプション・パッケージは、Java EEライブラリと似た機能を提供しており、これを使用すると複数のアプリケーション間で単一のJARファイルを簡単に共有できます。ただし、オプション・パッケージは、エンタープライズ・アプリケーションとしてではなく、(スタンドアロンまたはエンタープライズ・アプリケーション内の)個々のJava EEモジュールとして機能します。たとえば、複数のWebアプリケーションで必要とされるサード・パーティのWebアプリケーション・フレームワーク・クラスを、単一のJARファイル内にパッケージ化およびデプロイし、ドメイン内の複数のWebアプリケーション・モジュールから参照することが可能です。
オプション・パッケージは、デプロイメント記述子を持たない基本的なJARファイルとして供給されます。単にJARをデプロイメント時にオプション・パッケージとして指定すれば、WebLogic Serverは選択したターゲット・サーバーにファイルを登録します。オプション・パッケージが登録されると、MANIFEST.MF
ファイルでオプション・パッケージを参照するJava EEモジュールおよびアプリケーションをデプロイできます。オプション・パッケージをアセンブルおよび構成する方法と、オプション・パッケージを利用するJava EEモジュールを構成する方法については、『Oracle WebLogic Serverアプリケーションの開発』の共有Java EEライブラリおよびオプション・パッケージの作成に関する項を参照してください。
「共有Java EEライブラリおよびそれに依存するアプリケーションのデプロイ」では、オプション・パッケージ、およびオプション・パッケージを参照するJava EEモジュールのデプロイ方法を説明します。
JMS、JDBC、またはWebLogic診断フレームワーク(WLDF)・アプリケーション・モジュールは、スタンドアロンのリソースとしてデプロイ可能です。その場合、リソースはデプロイメント中にターゲット指定したドメインで、またはエンタープライズ・アプリケーションの一部として使用可能です。エンタープライズ・アプリケーションの一部としてデプロイしたアプリケーション・モジュールは、同梱したアプリケーション(アプリケーション・スコープのリソース)でのみ利用可能です。アプリケーション・スコープのリソースを使用することにより、アプリケーションは常に必要なリソースへ確実にアクセスでき、アプリケーションを新しい環境にデプロイする処理が簡素化されます。
システム・モジュールと対照的に、アプリケーション・モジュールの所有者は、モジュールをデプロイする管理者ではなく、モジュールを作成およびパッケージ化した開発者となります。つまり、JDBC、JMS、およびWLDFアプリケーション・モジュールに対しては、管理者の制御が及ぶ範囲のほうが、より制限されています。アプリケーション・モジュールをデプロイする際、管理者はモジュールで指定されていたリソース・プロパティを変更できますが、リソースの追加や削除は行えません。
システム・モジュールは、WebLogic管理コンソールを介して管理者が作成し、必要に応じて管理者により変更または削除可能です。同様に管理者が作成したスタンドアロンのアプリケーション・モジュールは、モジュールを新しいドメインにデプロイするのみで、複数のWebLogic Server環境におけるグローバル・リソースの再作成に使用できます。
JDBC、JMS、およびWLDFモジュールのデプロイ方法の詳細は、次を参照してください。
Oracle WebLogic ServerのJMS構成と管理
Oracle WebLogic Server JDBCの構成と管理
Oracle WebLogic Server診断フレームワークの構成と使用方法
Java EE仕様では、クライアント・アプリケーションのアーカイブ・ファイルをエンタープライズ・アプリケーション内に組み込むことができます。Java EEクライアント・アプリケーション・モジュールには、クライアントJVM(Java仮想マシン)で実行するJavaクラスと、EJB(Enterprise JavaBeans)、およびクライアントによって使用されるその他のWebLogic Serverリソースに関するデプロイメント記述子が収められます。これによりサーバー側とクライアント側のコンポーネントを1つのユニットとして配布できます。EAR内で、Java EE標準のapplication-client.xml
デプロイメント記述子およびWebLogic Server weblogic-appclient.xml
記述子を使用して、クライアント・モジュールを定義します。
Weblogic Serverでは、アプリケーションの構成とデプロイに役立つ次のツールが用意されています。
weblogic.Deployer
では、コマンド・ライン・ベースのインタフェースを使用して、デプロイメントの基本的なタスクおよび高度なタスクの両方を実行できます。weblogic.Deployer
は、WebLogic Serverのデプロイメント機能にコマンド・ラインからアクセスする必要がある場合、またはサポートされていないデプロイメント・タスクを管理コンソールを使用して実行する必要がある場合に使用します。
管理コンソールでは、一連のWebベースのデプロイメント・アシスタントを使用して、デプロイ手順を実行できます。管理コンソールでは、デプロイメント・ステータスを変更およびモニターしたり、デプロイメント・ユニットが起動され実行されている間に、選択したデプロイメント記述子の値を変更したりできます。
管理コンソールは、基本的なデプロイメントの機能をインタラクティブに実行する必要があり、サポートされているブラウザにアクセスできる場合に使用します。
WebLogic Scripting Tool (WLST)は、アプリケーション・デプロイメント構成およびデプロイ操作を含めたドメイン構成タスクを自動化できるコマンドライン・インタフェースです。詳細は、「Oracle WebLogic Scripting Tool」を参照してください。
WebLogic Serverには、アプリケーションおよびスタンドアロン・モジュールをデプロイするための次のようなツールが備わっています。
wldeploy
。weblogic.Deployer
ユーティリティのAntタスク・バージョンです。デプロイメント・タスクを自動化するには、Antのbuild.xml
ファイルにwldeploy
コマンドを配置し、Antを実行してそのコマンドを実行します。
weblogic-maven-plugin
は、WebLogic Server用のMavenプラグインで、これを使用するとweblogic.Deployer
によってサポートされているものと同様のデプロイメント操作を実行できます。このプラグインによって、Maven環境内からWebLogic ServerへMavenを使用して構築されたアプリケーションのデプロイ、再デプロイ、更新などを実行できるようになります。
weblogic.PlanGenerator
。開発者が複数のWebLogic Server環境へのデプロイメント用にアプリケーションの構成をエクスポートできる、コマンド・ライン・ツールです。
デプロイメントAPI。Javaクラスを使用してデプロイメント・タスクをプログラム的に実行できます。
autodeploy
ドメイン・ディレクトリ。開発環境で評価またはテストを行うためのアプリケーションを素早くデプロイできます。