![]() ![]() ![]() ![]() |
このチュートリアルでは、WebLogic Scripting Tool (WLST) と Administration Console を使用して MedRec アプリケーションをプロダクション用サーバにデプロイする方法を説明します。この例では、アプリケーション ファイルを EAR ファイルとしてでなく、展開ディレクトリ形式でパッケージ化しています。プロダクション用に展開形式を使用する利点は、展開されたディレクトリのデプロイメント記述子ファイルを更新できることです。アーカイブ解除し、更新後に再度アーカイブする必要はありません。
このチュートリアルのように展開形式を使用するのではなく、MedRec アプリケーションを 1 つの EAR アーカイブ ファイルにパッケージ化する手順については、「チュートリアル 14 : 配布用の MedRec のパッケージ化」を参照してください。EAR ファイルにパッケージ化すると、アプリケーションが 1 つのファイルにまとめられてポータブルになるため、アプリケーションの移行や配布が容易になるという利点があります。
以下の手順では、「チュートリアル 13 : MedRec プロジェクト全体のコンパイル」で作成した dist
ディレクトリの medrecEar
、startBrowserEar
、physicianEar
、および initEar
サブディレィトリの展開された内容をデプロイします。
medrecEar
は、MedRec のメインのエンタープライズ アプリケーションであり、Patient Web アプリケーションと Administration Web アプリケーション、Physician Web アプリケーションで使用する Web サービス、MedRec のロジックとデータを格納および実行する EJB が含まれます。 physicianEar
は、別の MedRec アプリケーション コンポーネントであり、ユーザも異なります。このコンポーネントは Web サービスを通じて medrecEar
と通信します。startBrowserEar
には、Web アプリケーション内のサーブレットが初期化されたときにブラウザを起動する 1 つのクラス ファイルが含まれます。 initEar
には、データベースを 6 秒ごとにポーリングしてシステムに新しいユーザが追加されたかどうかをチェックする、カスタム MBean を実装して登録するアプリケーションが含まれます。
MedRec アプリケーションのコンポーネントの詳細については、「Avitek Medical Records 開発チュートリアルの概要」を参照してください。
このチュートリアルを始める前に、以下のことを行ってください。
MedRec アプリケーションをプロダクションにデプロイするには、次の手順に従います。
「手順 1 : PointBase データベースを起動する」を参照してください。
[スタートすべてのプログラム
BEA Products
User Projects
MedRecDomain
Start Admin Server for WebLogic Server Domain]
prompt> C:\bea\user_projects\domains\MedRecDomain\startWebLogic.cmd
クリーンな状態から始められるように、Administration Console を使用して、これまでのチュートリアルでデプロイしたさまざまな MedRec アプリケーションを削除します。
http://
host
:7101/console
host
は MedRecServer が実行されているコンピュータを指します。ブラウザが MedRecServer と同じコンピュータにある場合は、http://localhost:7101/console
という URL を使用できます。
weblogic
を指定して、[ログイン] をクリックします。tutorial_deployment
や wlpackage_tutorial
など) のデプロイメントを選択します。
以下の手順では、WebLogic Scripting Tool (WLST) を使用して、medrecEar
をプロダクション用の WebLogic Server にデプロイする方法について説明します。
WebLogic Scripting Tool (WLST) は、システム管理者やオペレータが、WebLogic Server インスタンスおよびドメインのモニタと管理に使用する、コマンドライン スクリプト インタフェースです。WLST スクリプト環境は、Java のスクリプト インタプリタである Jython に基づいています。
システム管理者は、一般に、以下のような用途に WLST を使用します。
WLST の機能には、wlconfig
Ant タスクや weblogic.Deployer
ユーティリティなどの WebLogic Server コマンドライン ユーティリティの機能も含まれています。この手順では、まず、connect
や deploy
などの WLST コマンドを含む Jython スクリプトの作成方法を示します。次に、WLST ツールを呼び出して引数として Jython スクリプト ファイルを渡す Ant ビルド ファイルの作成方法について説明します。このチュートリアルでは説明しませんが、WLST を対話形式で使用することもできます。
prompt> c:\bea\user_projects\domains\medrecdomain\bin\setDomainEnv.cmd
medrecEar
サブディレクトリに移動します。prompt> cd c:\medrec_tutorial\src\medrecEar
deploy.py
という新しいファイルを作成します。このファイルに WLST コマンドが含まれます。次に例を示します。prompt> notepad deploy.py
注意: | このチュートリアルで deploy.py ファイルを手動で作成する代わりに、deploy_tutorial.py という名前のファイルを deploy.py という名前の新しいファイルにコピーして、手順を進めることもできます。 |
deploy.py
ファイルに次の行を追加します (必要に応じて、c:\medrec_tutorial
を実際の MedRec プロジェクト ディレクトリに置き換えてください)。この手順の後の方で WLST コマンドについて説明します。userName = "weblogic"
passWord = "weblogic"
url="t3://localhost:7101"
connect(userName, passWord, url)
progress= deploy(
'medrecEar',
'c:\medrec_tutorial\dist\medrecEar',
targets='MedRecServer',
subModuleTargets='MedRecJMSServer@MedRecAppScopedJMS@MedRecJMSServer',
securityModel='CustomRolesAndPolicies' )
progress.printStatus()
disconnect()
exit()
userName
、passWord
、および url
変数は、管理サーバへの接続に使用される管理ユーザ、パスワード、および URL の値を設定しています。connect
WLST コマンドは、これらの変数を使用して MedRecServer に接続します。progress
変数は、デプロイメントのステータスを定義する WLSTProgress
オブジェクトを格納します。deploy
コマンドは medrecEar
アプリケーションをデプロイします。ソース (c:\medrec_tutorial\dist\medrecEar
) やデプロイメント対象などの標準のオプションに加えて、deploy コマンドは次のような追加のオプションも指定しています。subModuleTargets
は、medrecEar
に含まれる、サブデプロイメント レベルのアプリケーション スコープの JMS モジュールを指定しています。securityModel
は、medrecEar
アプリケーションがカスタムのセキュリティ ロールおよびポリシーを使用することを指定しています。最後に、progress
変数の printStatus
メソッドはデプロイメントのステータスを出力します。disconnect
コマンドが接続を閉じて、exit
コマンドがスクリプト シェルを終了します。
wlst_deploy.xml
という名前の新しいファイルを作成します。次に例を示します。prompt> notepad wlst_deploy.xml
注意: | このチュートリアルで wlst_deploy.xml ファイルを手動で作成する代わりに、wlst_tutorial.xml という名前のファイルを wlst_deploy.xml という名前の新しいファイルにコピーして、手順を進めることもできます。 |
wlst_deploy.xml
ファイルの最初に、wlst_tutorial
という名前のプロジェクトを定義し、デフォルトのターゲット deploy
を指定します。<project name="wlst_tutorial" default="deploy">
arg
タスクを使用して deploy.py 引数を指定します。 <target name="deploy">
<java classname="weblogic.WLST" fork="yes">
<arg line="deploy.py" />
</java>
</target>
java
タスクの classname
属性で指定されているように、WLST の Java クラス名は weblogic.WLST
です。
wlst_deploy.xml
ファイルを完成します。</project>
<project name="wlst_tutorial" default="deploy">
<target name="deploy">
<java classname="weblogic.WLST" fork="yes">
<arg line="deploy.py" />
</java>
</target>
</project>
prompt> ant -f wlst_deploy.xml
Buildfile: wlst_deploy.xml
deploy:
[java] Initializing WebLogic Scripting Tool (WLST) ...
[java] Welcome to WebLogic Server Administration Scripting Shell
[java] Type help() for help on available commands
[java] Connecting to t3://localhost:7101 with userid weblogic ...
[java] Successfully connected to Admin Server 'MedRecServer' that belongs to domain 'MedRecDomain'.
[java] Warning: An insecure protocol was used to connect to the
[java] server. To ensure on-the-wire security, the SSL port or
[java] Admin port should be used instead.
[java] Deploying application from c:\medrec_tutorial\dist\medrecEar to targets MedRecServer (upload=false) ...
[java] <Jul 24, 2006 4:15:08 PM PDT> <Info> <J2EE Deployment SPI> <BEA-260121> <Initiating deploy operation for application, medrecEar [archive: C:\medrec_tutorial\dist\medrecEar], to MedRecJMSServer MedRecServer .>
[java] .Completed the deployment of Application with status completed
[java] Current Status of your Deployment:
[java] Deployment command type: deploy
[java] Deployment State : completed
[java] Deployment Message : no message
[java] Current Status of your Deployment:
[java] Deployment command type: deploy
[java] Deployment State : completed
[java] Deployment Message : no message
[java] Disconnected from weblogic server: MedRecServer
[java] Exiting WebLogic Scripting Tool.
[java] <Jul 24, 2006 4:15:20 PM PDT> <Warning> <JNDI> <BEA-050001> <WLContext.close() was called in a different thread than the one in which it was created.>
BUILD SUCCESSFUL
Total time: 48 seconds
medrecEar
が表示され、[アクティブ
] 状態にあることを確認します。詳細については、「手順 2 : デプロイ済みのアプリケーションを削除する」の最初の方の手順を参照してください。
残りの MedRec アプリケーションを次のように WebLogic Server にデプロイします。ブラウザでの Administration Console の起動の詳細については、「手順 2 : デプロイ済みのアプリケーションを削除する」を参照してください。
C:\medrec_tutorial\dist
を選択します。physicianEar
] を選択して [次へ] をクリックします。
] を選択して、[次へ] をクリックします。
] を選択します。
この選択により、Administration Console を使用して、デプロイメントのカスタム セキュリティ ロールおよびポリシーをコンフィグレーションできるようになります。
] を選択します。
他の選択項目がすべて正しいことを確認します。[概要] には次のように表示されます。
デプロイメント : C:\medrec_tutorial\dist\physicianEar
名前 : physicianEar
ステージング モード : 選択した対象に定義されるデフォルトを使用
セキュリティ モデル : 詳細 : レルムのコンフィグレーション ページでコンフィグレーションしたカスタム モデルを使用します。
2
から 10
を繰り返して、initEar
および startBrowserEar
アプリケーションをインストールします。
MedRecServer がアプリケーションを起動すると、[デプロイメント] テーブルの各アプリケーションの [状態] カラムには [アクティブ] と表示されます。
また、メインの MedRec 情報ページがブラウザに表示されます。
http://
host
:7101/physician
http://
host
:7101/patient
http://
host
:7101/admin
上記の URL で、host
は MedRecServer
をホストするコンピュータを指します。ブラウザが MedRecServer
と同じコンピュータにある場合は、localhost
(http://localhost:7101/physician
など) を使用できます。
これらのページでは、まだコンフィグレーションしていないセキュリティが必要になるため、この時点では、ログイン ページの表示以外は行えません。このタスクは以降のチュートリアルで説明します。
weblogic.Deployer
、デプロイメント ターゲットを実行する Ant スクリプトを使用する代わりに、Administration Console のデプロイメント アシスタントを使用すると、グラフィカルな環境でアプリケーションをデプロイできます。グラフィカルな環境では、デプロイメントで選択できる項目が表示されます。
分割開発ディレクトリ フレームワークを使用すると、MedRec のコンパイルされたファイルや生成されたファイルを、編集可能なファイルとは別にデプロイできます。この機能は、アプリケーションを頻繁に変更するデプロイメント段階で便利です。ただし、プロダクション環境で求められる形式は、従来の単一ディレクトリ構造であって、各アプリケーションが個別のサブディレクトリに展開形式で格納されているというものです。
このチュートリアルでは、アプリケーションとそのすべてのコンポーネント、およびサポート ファイルを含むディレクトリから MedRec のアプリケーションをデプロイしました。アプリケーションを展開形式にすると、アーカイブにまとめられている場合よりも簡単に編集可能ファイルにアクセスできます。
dist
内の各アプリケーション サブディレクトリには、build
ディレクトリのコンパイル済みクラスと生成されたデプロイメント記述子、および src
ディレクトリの編集可能デプロイメント記述子とその他のファイルが含まれます。
![]() ![]() ![]() |