次の各トピックでは、Sun Java TM Composite Application Platform Suite (Java CAPS) リポジトリベースのプロジェクトを配備する方法について説明します。
質問または問題がある場合は、Java CAPS の Web サイト http://goldstar.stc.com/support を参照してください。
配備プロファイルを作成する前に、プロジェクトをサポートするための適切な実行時環境を作成しておく必要があります。
プロジェクトに Web サービスが含まれている場合、プロジェクトのアクティブな配備プロファイルのターゲットはそれぞれ個別の SOAP/HTTP 外部システムでなければなりません。そうでない場合、Web コンテナで重複したサーブレット名がドメインに表示される可能性があります。
配備プロファイル名には英数字、ダッシュ、および下線のみを含めるようにしてください。
NetBeans の「プロジェクト」ウィンドウで、プロジェクトを右クリックしてそのコンテキストメニューを表示します。
メニューから「新規」>「配備プロファイル」を選択して「配備プロファイルの作成」ダイアログを表示します。
使用する配備プロファイル名を入力するか、デフォルト値をそのまま使用します。
デフォルトでは、作成されるアプリケーションファイル ( .ear ) のファイル名は、配備プロファイル名とプロジェクト名を連結したものになります (「アプリケーションファイルの命名」を参照)。
プロジェクトを配備する環境を選択します。
配備に含める接続マップを選択します。
配備プロファイルエディタが表示され、配備可能なすべてのプロジェクトコンポーネントが表示されます。
左パネルからプロジェクトコンポーネントをドラッグし、右パネルの適切な環境コンポーネントにドロップします。
適切なメッセージサーバーにトピックとキューをドラッグします。個々のサーバー間のインバウンドおよびアウトバウンドのメッセージ送信先を分離しないように注意してください。
適切なアプリケーションサーバーにコラボレーションをドラッグします。
適切な外部システムにアダプタコンポーネントをドラッグします。
1 つの外部システムに同じタイプのコンポーネントを複数割り当てる場合は、それらを選択してその外部システムに 1 操作でドラッグすることができます。
環境コンポーネントが完全に生成されると、左パネルは空になります。この時点でプロファイルを保存するようにしてください。
2 つのサービスが直接には相互依存していない場合、これらは 2 つのドメインに配備することができます。ただし、2 つのプロセスが相互に直接アクセスする必要がある場合、これらは同じドメインに配備する必要があります。
配備プロファイルから作成される .ear ファイルのファイル名を指定することもできます。これにより、あとでファイルを識別しやすくなります。デフォルトでは、.ear ファイルのファイル名は、配備プロファイル名とプロジェクト名を連結したものになります。ただし、生成される名前が長すぎる場合や、使用しているファイル命名方式に適合しない場合は、ファイルの名前を変更することができます。
NetBeans IDE を実行していなくても、コマンド行から .ear ファイルの名前を変更することもできます。「コマンド行からのアプリケーションファイルの構築」も参照してください。
すでに配備されている .ear ファイルの名前を変更する場合は、まずそのファイルの配備を取り消してから名前を変更する必要があります。
同じプロジェクトと環境に含まれる複数の配備プロファイルで同じカスタム .ear ファイル名を使用すると、.ear ファイル名は共通のディレクトリに保存されるため、以前に構築された .ear ファイルがその後に構築されたファイルによって上書きされることになります。このような場合は、必ず一意のファイル名を割り当てる必要があります。
ファイル名には英数字、ハイフン、および下線のみを含めることができます。空白は使用できません。
NetBeans の「プロジェクト」ウィンドウで、配備プロファイルを右クリックしてそのコンテキストメニューを表示します。
「プロパティー」を選択して「配備プロパティー」ダイアログを表示します。
「デフォルトの EAR ファイル名の使用」チェックボックスの選択を解除します (デフォルトでは選択されている)。
使用する名前を「EAR ファイル」テキストボックスに入力し、「了解」をクリックします。
次のファイルを見つけ、そのコンテキストメニューーから「編集」を選択します。
<CAPS_install_dir>\commandlinecodegen\ant.bat |
SET ANT_OPTS で始まる行を見つけ、次のエントリを追加します。
-Ddeployment.ear.file.name=filename
ここで、filename は .ear ファイルに付ける名前です。次に例を示します。
SET ANT_OPTS=-Dantlrmaxaltblklines=3000 -Dcompile=injar -Xms512M -Xmx768m -XX:PermSize=256m -XX:MaxPermSize=256m -Ddeployment.ear.file.name=test_ear |
ファイルを保存します。
次のファイルを見つけ、テキストエディタで開きます。
<CAPS_install_dir>/commandlinecodegen/ant |
次の if-then-else 文を見つけます。
if [ "$UNAME_SYSTEM" = "AIX" ] || [ "$UNAME_SYSTEM" = "aix" ]; then ANT_OPTS=’-Dantlrmaxaltblklines=3000 -Xms512M -Xmx768m’ else ANT_OPTS=’-Dantlrmaxaltblklines=3000 -Xms512M -Xmx768m -XX:PermSize=256m -XX:MaxPermSize=256m’ |
次のエントリを挿入します。
-Ddeployment.ear.file.name=filename |
ここで、filename は .ear ファイルに付ける名前です。次に例を示します。
if [ "$UNAME_SYSTEM" = "AIX" ] || [ "$UNAME_SYSTEM" = "aix" ]; then ANT_OPTS=’-Dantlrmaxaltblklines=3000 -Xms512M -Xmx768m -Ddeployment.ear.file.name=test_ear’ else ANT_OPTS=’-Dantlrmaxaltblklines=3000 -Xms512M -Xmx768m -XX:PermSize=256m -XX:MaxPermSize=256m -Ddeployment.ear.file.name=test_ear’ |
ファイルを保存します。
使用可能なオブジェクトとそれらを配備する環境のコンテナとが 1 対 1 で対応している場合は、「自動マップ」アイコンをクリックすると、コンポーネントがそれぞれ対応するコンテナに自動的に配備されます。(この機能は、この機能が有効になっている外部システムでのみ動作します。)
自動マップ機能の実行後、結果を示すダイアログボックスが表示されます。該当するコンテナがない場合やコンテナがあいまいな場合、コンポーネントは割り当てられずに残ります。
たとえば、あいまいな場合は、「自動マップオプション」をクリックすると「自動マップオプション」ダイアログボックスが表示され、マッピングオプションが提示されます。「了解」をクリックして自動マッピングを使用するか、「取消し」をクリックして配備可能なコンポーネントを手動で割り当てることができます。
プロジェクト変数はプレースホルダとして機能し、特定の配備プロファイルの作成時に決定された値を保持します。これらの値は、リテラルまたは環境定数です。「変数の割り当て」ボタンをクリックすると「配備プロファイルマッピング」パネルが表示され、名前と値を割り当てることができます。
配備プロファイルエディタを使用すると、さまざまなプロジェクトコンポーネントのどのバージョンを配備プロファイルに割り当てるかを制御できます。エディタでは、スプレッドシートのようなビューでプロジェクトコンポーネントとそのバージョンが表示されます。このビューには、コンポーネント名、プロジェクトパス、ユーザーのワークスペース内の現在のバージョン、バージョンに割り当てられているタグ (存在する場合)、およびコンポーネントが割り当てられている外部システムが表示されます。このビューを有効にするには、配備プロファイルエディタのツールバーの「スプレッドシートビュー」アイコンをクリックします。
スプレッドシートビューには、デフォルトで選択されているオプションがあり、外部システムへのコンポーネントの割り当て時に表示されるコンポーネントだけが表示されるようになっています。このオプションの選択を解除すると、通常は配備プロファイルに表示されないコンポーネント (接続マップや DTD など) も表示されるようになります。このようなコンポーネントを表示すると、それらのバージョンも指定することができます。
スプレッドシートビューでは、ドロップダウンリストからバージョンまたはタグを選択することによって、各コンポーネントのバージョンを指定できます。バージョンまたはタグを選択しても、ワークスペースは影響を受けず、スナップショットに表示されるバージョンが設定されるだけです。スナップショットを取り出したときのみ、ワークスペースが変更されます。
配備プロファイルエディタを使用すると、スプレッドシートビューに表示されるとおりに、ワークスペースの現在の設定のスナップショットを作成できます。「スナップショット」ボタンをクリックすると、スナップショットの名前を入力するダイアログが表示されます。そのあとで「了解」をクリックすると、スナップショットが保存されます。
配備プロファイルエディタでは、リポジトリから最新バージョンのコンポーネントを配備するか、以前にワークスペースのスナップショットに記録したバージョンを配備するかを選択できます。「グローバル設定」ボタンをクリックするとダイアログが表示されるので、選択肢を指定し、必要に応じてスナップショットの名前を指定することができます。そのあとで「了解」をクリックすると、操作が実行されます。
どちらの場合も、選択した設定がワークスペースの現在の設定と異なっている場合は、その操作によってワークスペースの設定が変更されることを通知する別のダイアログが表示されるので、操作を中止することもできます。
特定のスナップショットを選択した場合、それがワークスペースの現在の設定と異なっているときは、配備プロファイルで使用されそのスナップショットに含まれているコンポーネントは、スナップショット内のバージョンのものが読み取り専用バージョンとしてワークスペースに取り出されます。
リポジトリの最新バージョンを使用するように選択した場合、それがワークスペースの現在の設定と異なっているときは、配備プロファイルで使用されワークスペースに現在含まれているコンポーネントは、削除されてリポジトリの最新バージョンで置き換えられます。
プロジェクト設計プロセスの最終成果物は、アプリケーションサーバーに配備できる「アプリケーションファイル」です。このエンタープライズアーカイブ (.ear) ファイルには、一連の .jar ファイル、クラス、およびリソースが含まれています。Web アプリケーションの場合、対応する Web アーカイブ (.war) ファイルには、一連の .jar ファイル、クラス、およびリソースが含まれています。これらは、単一のサーブレットコンテキストとしてパッケージ化しアクセスすることができます。
プロジェクトの配備プロファイルを定義したら、配備エディタのツールバーの「構築」ボタンをクリックして、.ear ファイルまたは .war ファイルを構築できます。NetBeans を実行していなくても、コマンド行から .ear ファイルを生成することもできます。
生成された .ear ファイルまたは .war ファイルは、次のディレクトリに保存されます。
CAPS_install_dir\.netbeans\caps\builds\DeploymentNameProjectName\logicalhost\appserver |
デフォルトでは、.ear ファイルには関連する Java ソースファイルは含められません。.ear ファイルに Java ソースファイルを含めるには、ファイルを構築する前に、NetBeans の run.mode プロパティーの値を debug に設定する必要があります。そのためには、次のファイルでコマンド行スイッチを設定します。
CAPS_install_dir\netbeans\etc\netbeans.conf |
netbeans_default_options= に続く一連のエントリに “-J-Drun.mode=debug” を追加します。生成される .ear ファイルはかなり大きくなる場合があるので注意してください。
NetBeans IDE を実行していなくても、コマンド行から commandline codegen ツールを使用して .ear ファイルを生成できます。このツールは、Java CAPS インストーラを使用してリポジトリからダウンロードする必要があります。このツールを使用するとき、.ear ファイルの構築プロパティーを 3 つの方法で指定できます。
build.properties ファイルでプロパティーを指定できます。
コマンドを発行するときに明示的にプロパティーを指定できます。
build.properties ファイルでグローバルにプロパティーを指定し、それに優先させるプロパティーだけをコマンドの発行時に指定することができます。
commandline codegen を実行する前に、関連するすべてのコンポーネントを NetBeans IDE で保存する必要があります。
デフォルトでは、生成された .ear ファイルは次のディレクトリに保存されます。
commandlinecodegen-install\localrepository\DEST\builds\ear-file\logicalhost\appserver |
コマンド行パラメータ commandline.rep.dir を使用して、リポジトリの場所を設定できます。デフォルト値は localrepository です。
プロパティー名 |
説明 |
---|---|
commandline.rep.url |
リポジトリの URL (必須)。形式は次のとおりです。 http://host:port/repositoryname |
commandline.rep.user |
リポジトリのユーザー名 (必須)。 |
commandline.rep.pass |
リポジトリのユーザーパスワード (必須)。 |
commandline.rep.dir |
リポジトリのルートディレクトリ (必須)。デフォルト値は localrepository です。 |
commandline.rep.projectName |
プロジェクト名 (必須)。 |
commandline.rep.projectDeployName |
配備プロファイル名 (必須)。 |
commandline.rep.projectDeploymentTag |
プロジェクトスナップショット名 (省略可能)。 |
commandline.rep.projectBranchName |
プロジェクトのリポジトリブランチ (省略可能)。 |
変数に値を入力するときは、前後に空白文字がないことを確認してください。
コンピュータの JAVA_HOME 環境変数を、JDK バージョン 1.5 がインストールされている場所に設定します。次に例を示します。
set JAVA_HOME=c:\Program Files\Java\jdk1.5.0_14 |
Apache Ant バージョン 1.6 以降をコンピュータにインストールします。このプログラムは、次の URL からダウンロードできます。
Java CAPS アップローダにログインして「ダウンロード」タブをクリックし、commandline codegen をインストールします。詳細については、『Java CAPS 6 インストール GUI の使用』の「Java CAPS アップローダを使用した Java CAPS コンポーネントのインストール」を参照してください。
コマンド行プロンプトで ANT_HOME 環境変数を設定します。次に例を示します。
set ANT_HOME=c:\Program Files\Apache\apache-ant-1.6.5 |
この変数の設定は、コマンドウィンドウで、コマンドを実行するディレクトリで行う必要があります。
commandlinecodegen ディレクトリで build.properties ファイルを見つけます。
メモ帳などのテキストエディタを使用してこのファイルを開きます。内容は次のとおりです。
commandline.rep.url=http://host:port/repositoryname commandline.rep.user= commandline.rep.pass= commandline.rep.dir=localrepository commandline.rep.projectName= commandline.rep.projectDeployName= commandline.rep.projectDeploymentTag= commandline.rep.projectBranchName= |
表 1–1 の説明に従ってプロパティーの値を入力します (省略可能なプロパティーは空白のままでもよい)。
commandlinecodegen ディレクトリでコマンド行プロンプトから次のコマンドを発行して、commandline codegen を実行します。
ant -propertyfile build.properties |
commandlinecodegen ディレクトリでコマンドプロンプトから次のコマンドを発行して、commandline codegen を実行します (表 1–1 を参照)。
ant "-D(propertyname1)=(propertyvalue1)" "-D(propertyname2)= (propertyvalue2)" … "-D{propertynameN}={propertyvalueN}" |
コマンド行プロパティーの方法を使用する場合は、すべての必須プロパティーの値を指定する必要があります。必要に応じて、省略可能なプロパティーの値も指定できます。
commandlinecodegen ディレクトリで build.properties ファイルを見つけます。
メモ帳などのテキストエディタを使用してこのファイルを開きます。内容は次のとおりです。
commandline.rep.url=http://host:port/repositoryname commandline.rep.user= commandline.rep.pass= commandline.rep.dir=localrepository commandline.rep.projectName= commandline.rep.projectDeployName= commandline.rep.projectDeploymentTag= commandline.rep.projectBranchName= |
表 1–1 の説明に従ってプロパティーの値を入力します。
commandlinecodegen ディレクトリでコマンド行プロンプトから次のコマンドを発行して、commandline codegen を実行します。
ant -propertyfile build.properties "-D{propertyname1}={propertyvalue1}" "-D{propertyname2}={propertyvalue2}" … "-D{propertynameN}={propertyvalueN}" |
プロパティーファイルとコマンド行プロパティーを組み合わせて使用する場合は、プロパティーファイルに指定されているプロパティーよりもコマンド行プロパティーが優先されます。優先させるプロパティーだけを指定する必要があります。
Export コマンドは ksh および bash でのみ動作します。csh の場合は、代わりに setenv を使用してください。
コマンドプロンプトで次のコマンドを実行します。
Export ANT_HOME=path Export JAVA_HOME=path dos2unix ant ant dos2unix build.xml build.xml dos2unix build.properties build.properties |
commandlinecodegen ディレクトリで build.properties ファイルを見つけます。
テキストエディタを使用してこのファイルを開きます。内容は次のとおりです。
commandline.rep.url=http://host:port/repositoryname commandline.rep.user= commandline.rep.pass= commandline.rep.dir=localrepository commandline.rep.projectName= commandline.rep.projectDeployName= commandline.rep.projectDeploymentTag= commandline.rep.projectBranchName= |
表 1–1 の説明に従ってプロパティーの値を入力します (省略可能なプロパティーは空白のままでもよい)。
commandlinecodegen ディレクトリでコマンド行プロンプトから次のコマンドを発行して、commandline codegen を実行します。
sh ant –propertyfile build.properties |
コマンドプロンプトで次のコマンドを実行します。
コマンドプロンプトで次のコマンドを実行します。
Export ANT_HOME=path Export JAVA_HOME=path dos2unix ant ant dos2unix build.xml build.xml dos2unix build.properties build.properties |
commandlinecodegen ディレクトリでコマンドプロンプトから次のコマンドを発行して、commandline codegen を実行します (表 1–1 を参照)。
sh ant "-D{propertyname1}={propertyvalue1}" "-D{propertyname2}= {propertyvalue2}" … "-D{propertynameN}={propertyvalueN}" |
コマンド行プロパティーの方法を使用する場合は、すべての必須プロパティーの値を指定する必要があります。必要に応じて、省略可能なプロパティーの値も指定できます。
コマンドプロンプトで次のコマンドを実行します。
Export ANT_HOME=path Export JAVA_HOME=path dos2unix ant ant dos2unix build.xml build.xml dos2unix build.properties build.properties |
commandlinecodegen ディレクトリで build.properties ファイルを見つけます。
メモ帳などのテキストエディタを使用してこのファイルを開きます。内容は次のとおりです。
commandline.rep.url=http://host:port/repositoryname commandline.rep.user= commandline.rep.pass= commandline.rep.dir=localrepository commandline.rep.projectName= commandline.rep.projectDeployName= commandline.rep.projectDeploymentTag= commandline.rep.projectBranchName= |
表 1–1 の説明に従ってプロパティーの値を入力します。
commandlinecodegen ディレクトリでコマンド行プロンプトから次のコマンドを発行して、commandline codegen を実行します。
sh ant -propertyfile build.properties "-D{propertyname1}={propertyvalue1}" "-D{propertyname2}={propertyvalue2}" … "-D{propertynameN}={propertyvalueN}" |
プロパティーファイルとコマンド行プロパティーを組み合わせて使用する場合は、プロパティーファイルに指定されているプロパティーよりもコマンド行プロパティーが優先されます。優先させるプロパティーだけを指定する必要があります。
NetBeans IDE を使用して Java CAPS リポジトリベースのプロジェクトを Sun JavaTM System Application Server に配備できます。
次の手順では、NetBeans IDE でアプリケーションファイルを構築済みであると想定しています。「アプリケーションファイルの構築」を参照してください。
NetBeans IDE を使用して配備する場合、サーバーインスタンスを指定することはできません。したがって、ドメインに複数のサーバーインスタンスがある場合、アプリケーションはすべてのインスタンスに配備されます。
Enterprise Manager を使用して Java CAPS リポジトリベースのプロジェクトを Sun Java System Application Server に配備できます。
Enterprise Manager には、次のブラウザのいずれかを使用してアクセスできます。
Internet Explorer 6 Service Pack 2
Internet Explorer 7
Mozilla Firefox 2.0 以降
次の手順では、アプリケーションファイルを構築済みであると想定しています。「アプリケーションファイルの構築」を参照してください。
Enterprise Manager を使用して配備する場合、サーバーインスタンスを指定することはできません。したがって、ドメインに複数のサーバーインスタンスがある場合、アプリケーションはすべてのインスタンスに配備されます。
Enterprise Manager で Sun Java System Application Server ドメインを管理するには、まずドメインを追加する必要があります。
アプリケーションサーバーが稼働していることを確認します。
Enterprise Manager のエクスプローラパネルで、「Java EE」ノードをクリックします。
「サーバーの管理」タブが表示されます。
接続情報を入力します。
フィールド |
説明 |
---|---|
サーバータイプ |
アプリケーションサーバーのタイプ。このフィールドは、「Sun Java System Application Server Domain (9.1)」に設定します。 |
ホスト名 |
アプリケーションサーバーが稼働しているコンピュータの完全修飾ホスト名 (myhost.company.com など) または IP アドレス。 |
HTTP 管理ポート |
ドメイン管理サーバーのポート番号。 |
ユーザー名 |
ドメインへのアクセスに必要なユーザー名。 |
パスワード |
ドメインへのアクセスに必要なパスワード。 |
「サーバーへの接続」をクリックします。
アプリケーションサーバードメインが「現在のアプリケーションサーバーリスト」テーブルに追加されます。
Enterprise Manager に Sun Java System Application Server ドメインを追加したら、アプリケーションファイルを配備できます。
アプリケーションサーバーが稼働していることを確認します。
Enterprise Manager の詳細パネルで、「アプリケーションの配備」タブをクリックします。
「参照」をクリックし、アプリケーションファイルを選択します。
対象となるサーバーの横にある「配備」チェックボックスと「有効化」チェックボックスを選択します。
複数のサーバーが稼働している場合があります。
「配備」をクリックします。
「結果」領域に配備の状態が表示されます。
Sun Java System Application Server 管理コンソールを使用して Java CAPS リポジトリベースのプロジェクトを Sun Java System Application Server に配備できます。
次の手順では、アプリケーションファイルを構築済みであると想定しています。「アプリケーションファイルの構築」を参照してください。
管理コンソールの詳細については、『Sun Java System Application Server 9.1 管理ガイド』を参照してください。
アプリケーションサーバーが稼働していることを確認します。
Sun Java System Application Server 管理コンソールにログインします。
左区画で、「アプリケーション」ノードを展開し、「エンタープライズアプリケーション」をクリックします。
「エンタープライズアプリケーション」ページが表示されます。
「配備」をクリックします。
「エンタープライズアプリケーション/モジュールを配備」ページが表示されます。
「サーバーにアップロードされるパッケージファイル」オプションを選択します。
「参照」をクリックし、アプリケーションファイルを選択します。
「OK」をクリックします。
「エンタープライズアプリケーション」ページが表示されます。このアプリケーションが配備済みアプリケーションのリストに追加されています。
次のコマンド行ユーティリティーから、Java CAPS リポジトリベースのプロジェクトを Sun Java System Application Server に配備できます。
asadmin
asant
次の手順では、アプリケーションファイルを構築済みであると想定しています。「アプリケーションファイルの構築」を参照してください。
アプリケーションサーバーには、管理タスクを実行するための asadmin というコマンド行ユーティリティーが含まれています。
asadmin ユーティリティーからアプリケーションファイルを配備するには、deploy コマンドを使用します。次に例を示します。
asadmin deploy C:\JavaCAPS6\dpFTQFprjFTQF.ear Command deploy executed successfully |
asadmin ユーティリティーの詳細については、『Sun Java System Application Server 9.1 管理ガイド』を参照してください。
アプリケーションサーバーには、Apache Ant を呼び出すための asant というコマンド行ユーティリティーが含まれています。
asant ユーティリティーからアプリケーションファイルを配備するには、sun-appserver-deploy タスクを使用します。単純なアプリケーション配備スクリプトの例を次に示します。file 属性と passwordfile 属性が指定されています。ほかの属性は暗黙的に指定されています。
<sun-appserver-deploy file="${assemble}/dpFTQFprjFTQF.ear" passwordfile="${passwordfile}" /> |
asant ユーティリティーの詳細については、『Sun Java System Application Server 9.1 開発者ガイド』を参照してください。