14 Mavenを使用したOracle Service Busプロジェクトのビルド
トピック:
MavenにおけるOracle Service Bus開発プラグインの使用の詳細は、Oracle Service Busでのサービスの開発のOracle Service Bus開発Mavenプラグインの使用に関する項を参照してください。
- Mavenを使用したOracle Service Busプロジェクトのビルドの概要
Oracle Service Busでは、1つのMavenプラグインおよび3つの原型が提供されています。 - Maven原型からのOracle Service Busアプリケーションの作成
OSB Application Maven原型を使用して、新規Oracle Service Busアプリケーション(OSBプロジェクトおよびOSBシステム・リソース・プロジェクトを含む)を作成することができます。 - Oracle JDeveloperでのOSBアプリケーションの編集
Oracle JDeveloperでアプリケーションを編集して、OSBリソースを定義することができます。 - Maven原型からのOracle Service Busプロジェクトの作成
OSBプロジェクトMaven原型を使用して、既存のOSBアプリケーション内部に新しいOracle Service Busプロジェクトを作成できます。 - Mavenを使用したOSBプロジェクトのビルド
プロジェクト・コードを記述した後に、Mavenを使用してOSBプロジェクトをビルドできます。 - Mavenを使用したOracle Service Busサーバーへのプロジェクトのデプロイ
OSBプロジェクトは、Mavenを使用してOracle Service Busサーバーにデプロイできます。 - Oracle Service Bus親POMについての考慮事項
OSB親POMはカスタマイズのために提供されています。たとえば、これを使用してテスト・サーバーのURL、ユーザー名およびパスワードなどの環境全体のデフォルトを設定してから、OSB親POMに指定することもできます。
Mavenを使用したOracle Service Busプロジェクトのビルドの概要
Oracle Service Busでは、1つのMavenプラグインおよび3つの原型が提供されています。
表14-1に、Maven座標を示します。
表14-1 Oracle Service BusでのMaven座標
アーティファクト | groupId | artifactId | バージョン |
---|---|---|---|
OSBプラグイン |
com.oracle.servicebus |
oracle-servicebus-plugin |
12.2.1-0-0 |
OSBアプリケーション原型 |
com.oracle.servicebus |
oracle-servicebus-application |
12.2.1-0-0 |
OSBプロジェクト原型 |
com.oracle.servicebus |
oracle-servicebus-project |
12.2.1-0-0 |
OSBシステム・リソース原型 |
com.oracle.servicebus |
oracle-servicebus-system |
12.2.1-0-0 |
Oracle Service Busプラグインは、次のゴールをサポートします。
ゴール | 用途 |
---|---|
package |
プロジェクトからService Busアーカイブ(SBAR)ファイルを作成します。 |
deploy |
ランタイム環境へSBARファイルをデプロイします。Mavenでは、ランタイム環境へのデプロイメントは通常pre-integration-testで行われるため、このゴールは、deployフェーズではなく、デフォルト・ライフサイクルのpre-integration-testフェーズにマップされていることに注意してください。 |
カスタム・パッケージング・タイプsbar
が定義されていて、Oracle Service Busアーカイブを示しています。
Maven原型からのOracle Service Busアプリケーションの作成
OSB Application Maven原型を使用して、新規Oracle Service Busアプリケーション(OSBプロジェクトおよびOSBシステム・リソース・プロジェクトを含む)を作成することができます。
そのためには、次のようなコマンドを入力します。
mvn archetype:generate -DarchetypeGroupId=com.oracle.servicebus.archetype -DarchetypeArtifactId=oracle-servicebus-application -DarchetypeVersion=12.2.1-0-0 -DgroupId=org.mycompany -DartifactId=my-servicebus-application -Dversion=1.0-SNAPSHOT -DprojectName=my-project -DconfigJar=myjar.jar
このコマンドにより、原型から新規プロジェクトを作成できるようにする、Mavenのarchetype:generate
ゴールが実行されます。表14-4に、パラメータを示します。
表14-2 Oracle Service Busプロジェクトのパラメータ
パラメータ | 用途 |
---|---|
archetypeGroupId |
新規プロジェクトの作成に使用する原型のgroupId。これは、前の例に示したように、 |
archetypeArtifactId |
新規プロジェクトの作成に使用する原型のartifactId。これは、前の例に示したように、 |
archetypeVersion |
新規プロジェクトの作成に使用する原型のバージョン。これは、前の例に示したように、 |
groupId |
新規プロジェクト用のgroupId。通常、これは組織のドメイン名を逆にした形式で始まります。 |
artifactId |
新規プロジェクト用のartifactId。通常、これはプロジェクトの識別子です。 |
バージョン |
新規プロジェクト用のversion。新規プロジェクトの場合、これは通常 |
projectName |
アプリケーション内に作成するOSBプロジェクトの名前。これはアプリケーションの名前(つまり、 |
-DconfigJar |
プリコンパイル済のsbconfig.jarまたは.sbarファイルを指定するために使用されます。この設定によって、事前のフレッシュ・ビルドなしで個々のjarファイルをデプロイできます。これは絶対パスである可能性があります。 この設定では-DprojectNameも設定されていることが必要です。 |
また、次の例に示すように、引数なしでコマンドを実行することもできます。この場合、Mavenでは、使用可能な原型のリストが表示され、必要な情報の入力を求められます。
mvn archetype:generate
アプリケーションの作成後、アプリケーションには次のファイルが含まれます。
表14-3ではプロジェクトに含まれるファイルについて説明します。
表14-3 Oracle Service Busプロジェクト用に作成されたファイル
ファイル | 用途 |
---|---|
pom.xml |
新規アプリケーションについて記述するMavenプロジェクト・オブジェクト・モデル(POM)ファイル。アプリケーションに指定したMaven座標が含まれます。このPOMは、このアプリケーションの一部を形成するすべてのOSBプロジェクトをグループ化するために使用されます。 |
my-project/pom.xml |
新規プロジェクトについて記述するMaven POMファイル。プロジェクトに指定したMaven座標が含まれ、Oracle Service Bus Mavenプラグインを使用してプロジェクトをsbarファイルにビルドするための適切なプラグイン定義も含まれます。 |
System/pom.xml |
sbarファイルにOSBシステム・リソースをビルドするMavenプロジェクト・オブジェクト・モデル(POM)ファイル。 |
Oracle JDeveloperでのOSBアプリケーションの編集
Oracle JDeveloperでアプリケーションを編集して、OSBリソースを定義することができます。
アプリケーションを編集するには、まずJDeveloperでアプリケーションを開きます。
JDeveloperでアプリケーションが開かれました。
Oracle Service Busアプリケーション(またはプロジェクト)をJDeveloperにインポートする場合、新規アプリケーション(またはプロジェクト)ディレクトリを作成するか、または単に既存の場所にJDeveloperプロジェクト・ファイル(jwsファイルおよびjprファイル)を作成するかの選択肢があります。
-
新規のディレクトリにアプリケーション(またはプロジェクト)の新規コピーを作成するには、「アプリケーションにソース・ファイルもインポートします。」オプションを選択して、インポート・ダイアログ・ボックスに新規のディレクトリを指定します。
-
既存のディレクトリにJDeveloperファイルを作成するには、「アプリケーションにソース・ファイルもインポートします。」オプションを選択しないで、プロジェクトの場所を求められたときに既存のディレクトリを選択します。
Maven原型からのOracle Service Busプロジェクトの作成
OSBプロジェクトMaven原型を使用して、既存のOSBアプリケーション内部に新しいOracle Service Busプロジェクトを作成できます。
そのためには、OSBアプリケーションのルート・ディレクトリから、次のようなコマンドを実行します。
mvn archetype:generate -DarchetypeGroupId=com.oracle.servicebus.archetype -DarchetypeArtifactId=oracle-servicebus-project -DarchetypeVersion=12.2.1-0-0 -DgroupId=org.mycompany -DartifactId=my-second-project -Dversion=1.0-SNAPSHOT
このコマンドにより、原型から新規プロジェクトを作成できるようにする、Mavenのarchetype:generateゴールが実行されます。表14-4に、パラメータを示します。
表14-4 Maven原型からのOracle Service Busプロジェクトのパラメータ
パラメータ | 用途 |
---|---|
archetypeGroupId |
新規プロジェクトの作成に使用する原型のgroupId。これは、前の例に示したように、 |
archetypeArtifactId |
新規プロジェクトの作成に使用する原型のartifactId。これは、前の例に示したように、 |
archetypeVersion |
新規プロジェクトの作成に使用する原型のバージョン。これは、前の例に示したように、 |
groupId |
新規プロジェクト用のgroupId。通常、これは組織のドメイン名を逆にした形式で始まります。 |
artifactId |
新規プロジェクト用のartifactId。通常、これはプロジェクトの識別子です。システム・リソース用に予約しているSystemにすることはできません。 |
バージョン |
新規プロジェクト用のversion。新規プロジェクトの場合、これは通常 |
また、次の例に示すように、引数なしでコマンドを実行することもできます。この場合、Mavenでは、使用可能な原型のリストが表示され、必要な情報の入力を求められます。
mvn archetype:generate
OSBプロジェクトはOSBアプリケーション内に存在している必要があることに注意してください。
プロジェクトの作成後、プロジェクトには次のファイルが含まれます。
my-second-project/ |-- pom.xml
次の表ではプロジェクトに含まれているファイルについて説明します。
ファイル | 用途 |
---|---|
pom.xml |
新規プロジェクトについて説明するMavenプロジェクト・オブジェクト・モデル(POM)ファイルであり、プロジェクトに指定したMaven座標が含まれ、OSB Mavenプラグインを使用してプロジェクトをsbarファイルにビルドするための適切なプラグイン定義も含まれています。 |
Mavenは、この新規プロジェクトを含めるためにOSBアプリケーションPOMファイルも更新します。「Maven原型からのOracle Service Busアプリケーションの作成」で作成したアプリケーションで前述のコマンドを実行した場合、OSBアプリケーションPOMに次のように表示されます。
<modules> <module>my-project</module> <module>my-servicebus-project</module> <module>my-second-project</module> </modules>
Mavenを使用したOSBプロジェクトのビルド
プロジェクト・コードを記述した後に、Mavenを使用してOSBプロジェクトをビルドできます。
SBARファイルをビルドするには、次のコマンドを実行します。
mvn package -DoracleHome=/path/to/osbhome
前述のコマンドによってプロジェクトからSBARファイルが作成され、次の場所に配置されます。
project/.data/maven/sbconfig.sbar
パッケージ化には、次のパラメータを指定できます。プロジェクトのPOMファイル内で指定するか、または前述の例に示すようにコマンドラインで指定することもできます。
パラメータ | 用途 |
---|---|
oracleHome |
Oracle Fusion MiddlewareのOracleホームの場所。 |
Mavenを使用したOracle Service Busサーバーへのプロジェクトのデプロイ
OSBプロジェクトは、Mavenを使用してOracle Service Busサーバーにデプロイできます。
SBARファイルをデプロイするには、次のコマンドを実行します。
mvn pre-integration-test
デプロイメントには次のパラメータを指定できます。プロジェクトのPOMファイル内で指定するか、またはコマンドラインで指定することもできます。
パラメータ | 用途 |
---|---|
oracleHome |
OSBがインストールされているOracle Fusion MiddlewareのOracleホームの場所。 |
oracleServerUrl |
OSBドメイン内のサーバーのURL。 |
customization |
(オプション)使用するOSBカスタマイズ・ファイル(ある場合)の名前。 |
oracleUsername |
デプロイメントに使用するユーザー名。 |
oraclePassword |
デプロイメントに使用するパスワード。 |
configJar |
デプロイする.sbarまたはsbconfig.jarファイルの名前。このパラメータを使用して、プリコンパイル済のsbconfig.jarまたは.sbarファイルを指定します。絶対パスを使用できます。この設定によって、ファイルをビルドせずに個々のjarファイルをデプロイできます。この設定を使用する場合は、projectNameパラメータも指定する必要があります。 |
projectName |
プロジェクトの名前。このパラメータを使用して、configJarパラメータで設定されたsbconfig.jarがデプロイされるプロジェクトを指定します。このパラメータは、各プロジェクトのPOMファイルのartifactIdに一致します。この設定は、DconfigJarが存在しない場合には無視されます。 |
パラメータを指定するには:
-
コマンドラインで、例に示しているように-Dパラメータ=値の形式を使用します(コマンド全体を1行で入力するように注意してください)。
mvn pre-integration-test -DoracleServerUrl=http://test.server:7001 -DoracleUsername=weblogic -DoraclePassword=<password> -DconfigJar=D:\ServicebusApp\SBProject\.data\maven\sbconfig.sbar -DprojectName=SBProject
-
プロジェクトPOMファイルで、次の例に示すように
plugin
セクションを追加します。<plugins> <plugin> <groupId>com.oracle.servicebus</groupId> <artifactId>oracle-servicebus-plugin</artifactId> <version>12.2.1-0-0</version> <extensions>true</extensions> <configuration> <oracleHome>/u01/osbhome</oracleHome> <oracleServerUrl>http://test.server:7001</oracleServerUrl> <oracleUsername>weblogic</oracleUsername> <oraclePassword><password></oraclePassword> </configuration> </plugin> </plugins>
Oracle Service Bus親POMについての考慮事項
OSB親POMはカスタマイズのために提供されています。たとえば、これを使用してテスト・サーバーのURL、ユーザー名およびパスワードなどの環境全体のデフォルトを設定してから、OSB親POMに指定することもできます。
このようなプロパティを設定したり、OSBプロジェクトで有効にする別のプロパティを定義したりすることもできます。OSBプロジェクトPOMのプロパティを参照するには、構文 $propertyName
を使用します。たとえば、次の例では$oracleServerName
はosb_server1
に置き換えられます。
OSB原型から作成されたプロジェクトは、上書きしないかぎりOSB親POMの値を自動的に使用します。
いくつかのプロパティを定義するOSB親POMの例を次に示します。
<properties> <!-- These two properties are defined in com.oracle.maven:oracle-common, you can overwrite them here. Users who do not want to add plain text password in their properties or pom file, should use the userConfigFile and userKeyFile options for deployment. <oracleUsername>USERNAME</oracleUsername> <oraclePassword>PASSWORD</oraclePassword> --> <!-- Change the default values according to your environment --> <oracleServerUrl>t3://localhost:7001</oracleServerUrl> <oracleServerName>osb_server1</oracleServerName> <oracleHome>/u01/osbhome</oracleHome> </properties>