Web サービスをデプロイする
WebLogic Server の Web サービスの実行モードには、開発モードとプロダクション モードの 2 種類があります。
サーバのデフォルト モードは開発モードです。開発モードでは、開発を何度でも繰り返すことができます。Web サービス アプリケーションのソース ファイルは、展開ディレクトリ形式でディスク上に格納されます。ソース ファイルへの変更は、サーバによって動的に認識され、実行中のサービスに適用されます。Web サービスの開発者は、開発モードでサーバを実行する必要があります。
開発のある段階で、Web サービスを開発用のサーバ以外のサーバにデプロイする必要生じることがあります。この作業は、通常、開発用に使用しているサーバは外部からアクセスできないため、外部からアクセスできるサーバでサービスが使用できるようにするために必要になります。デプロイ先のサーバは、プロダクション モードで稼動していなければなりません。Workshop Web サービスは、プロダクション モードで実行されている WebLogic Server にデプロイする際に、EAR ファイルにパッケージ化する必要があります。プロダクション モード サーバで実行されているアプリケーションを変更することはできません。しかし、アプリケーションを(開発用サーバで)アップデートして、プロダクション モードのサーバに再デプロイすることは可能です。
WebLogic Server および WebLogic Workshop では、あるマシンで開発したアプリケーションを別のマシンにデプロイする作業を実行するために、コマンド ライン ツールが提供されています。以下のコマンド ライン ツールがあります。
JwsCompile -- Web サービス アプリケーションの全コードを格納し、別のマシンへのデプロイメントに対応した EAR を生成するのに使用します。
weblogic.Deployer -- EAR をプロダクション モード サーバにデプロイするのに使用します。
WebLogic Workshop の Web サービスをプロダクション モードのサーバにデプロイする場合、WebLogic Workshop プロジェクトの全部または一部をデプロイすることになります。デプロイされたプロジェクトには、1 つまたは複数の Web サービスが含まれます。A WebLogic Workshop プロジェクトは、Web アプリケーションとしてプロダクション サーバにデプロイされます。
WebLogic Workshop プロジェクトをプロダクション モードのサーバにデプロイするには、次の手順に従ってください。
開発サーバ上の WebLogic Workshop プロジェクトから EAR ファイルを生成します。
デプロイ先のサーバをプロダクション モードで起動します。
プロダクション サーバに EAR ファイルをデプロイします。
Workshop プロジェクトの開発を完了し、プロダクション モード の サーバへのデプロイする準備ができたとします。最初のステップでは、JwsCompile コマンドを使ってプロジェクトの EAR ファイルを生成します。JwsCompile ツールの詳細については、リファレンスのJwsCompile コマンドを参照してください。
プロジェクトのルートが C:\bea\weblogic700\samples\workshop\applications\foo で、アプリケーション用に foo.ear という EAR を作成し、それを C:/myEARS/ に格納するには、以下のコマンドを実行します。
JwsCompile –p C:\bea\weblogic700\samples\workshop\applications\foo –a –ear C:\myEARS\foo.ear
JwsCompile は、Web サービスを特定のホスト名とポートで実行するようにコンフィグレーションします。デフォルト ホスト名は JwsCompile を実行したマシン、デフォルト ポートは 7001(WebLogic Server のデフォルト)です。デプロイされた Web サービスがこれ以外のホストおよびポートで実行されるように指定するには、次のいずれかを行います。
プロジェクトの WEB-INF ディレクトリ内に weblogic-jws-config.xml という名前のコンフィグレーション ファイルを作成します。
コンパイル時に JwsCompile の -hostname および -http-port パラメータを使います。
weblogic-jws-config.xml の値は、JwsCompile の実行時に指定された -hostname および -http-port パラメータによって上書きされます。以下の例は、Web サービス HelloWorld を ProductionServer というマシンにデプロイするための weblogic-jws-config.xml ファイルです。
<config> <protocol>http</protocol> <hostname>ProductionServer</hostname> <http-port>7001</http-port> <https-port>7002</https-port> <jws> <class-name>HelloWorld</class-name> <protocol>http</protocol> </jws> </config>
デフォルトでは、JwsCompile はプロジェクト内のすべての Web サービスを EAR ファイルにパッケージ化します。プロジェクト内の一部の Web サービスのみをデプロイしたい場合は、JwsCompile がプロジェクトの一部のみをコンパイルするように指定します。たとえば、プロジェクトに WebService1 と WebService2 の 2 つの Web サービスが含まれている場合に、WebService1 のみをデプロイしたいときには、JwsCompile が WebService1 のみを EAR ファイルにコンパイルするように指定します。JwsCompile が WebService1 のみをコンパイルするように指定するには、以下のように JwsCompile を実行するときに WebService1 を明示的に指定します。
JwsCompile –p C:\bea\weblogic700\samples\workshop\applications\foo –a –ear C:\myEARS\foo.ear WebService1.jws
生成される EAR ファイルには WebService1 しか含まれないため、WebService2 はデプロイされません。
weblogic-jws-config.xml の構文の詳細については、リファレンスの weblogic-jws-config.xml コンフィグレーション ファイルを参照してください。
サーバが動作モードは、起動時に決定されます。デフォルトでは、サーバは開発 モードで動作します。サーバをプロダクション モードで実行するには、production パラメータを指定して startWebLogic スクリプトを呼び出します。また、プロダクション モードで起動する際に nodebug パラメータを含めることをお勧めします。たとえば、C: ドライブに WebLogic Server をインストールしている場合、以下のコマンドを実行すると、プロダクション モードで WebLogic Server が起動します。
C:\bea\weblogic700\samples\workshop\startWebLogic.cmd production nodebug
注意 : WebLogic Server がプロダクション モードで動作している間は、WebLogic Workshop の実行は避けてください。
アプリケーションをサーバにデプロイするには、そのサーバがプロダクション モードで動作している必要があります。コマンドラインツール weblogic.Deployer で、EAR をプロダクション モード サーバにデプロイします。たとえば、ローカル マシンの C:/myEARs/ にある foo.ear という名前の EAR ファイルをデプロイするには、次のコマンドを実行します。
C:\>java weblogic.Deployer -password installadministrator -source C:\myEARS\foo.ear -targets cgServer -name foo -activate
weblogic.Deployer を実行するには、classpath に weblogic.jar が含まれていることが必要です。
weblogic.Deployer 構文の詳細については、WebLogic Server 7.0 マニュアルの weblogic.Deployer を参照してください。
または、WebLogic Server コンソールでデプロイすることもできます。どちらかの方法で EAR をデプロイする方法については、WebLogic Workshop Web サービスをプロダクション サーバにデプロイするにはを参照してください。