ヘッダーをスキップ
Oracle® Fusion Middleware継続的統合によるアプリケーションの開発
12c (12.1.3)
E59416-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

14 Mavenを使用したOracle Service Busプロジェクトのビルド

この章では、Oracle Service BusのMaven原型を使用して、Oracle Service Busアプリケーションを作成、ビルドおよびデプロイする方法について説明します。

この章には、次のセクションがあります。

MavenにおけるOracle Service Bus開発プラグインの使用の詳細は、『Oracle Service Busでのサービスの開発』のOracle Service Bus開発Mavenプラグインの使用に関する項を参照してください。

14.1 Mavenを使用したOracle Service Busプロジェクトのビルドの概要

Oracle Service Busには、1つのMavenプラグインおよび3つの原型が提供されています。表14-1に、Maven座標を示します。

表14-1 Oracle Service BusでのMaven座標

アーティファクト groupId artifactId version

OSBプラグイン

com.oracle.servicebus

oracle-servicebus-plugin

12.1.3-0-0

OSBアプリケーション原型

com.oracle.servicebus

oracle-servicebus-application

12.1.3-0-0

OSBプロジェクト原型

com.oracle.servicebus

oracle-servicebus-project

12.1.3-0-0

OSBシステム・リソース原型

com.oracle.servicebus

oracle-servicebus-system

12.1.3-0-0


Oracle Service Busプラグインは、次のゴールをサポートします。

ゴール 目的
package プロジェクトからService Busアーカイブ(SBAR)ファイルを作成します。
deploy ランタイム環境へSBARファイルをデプロイします。Mavenでは、ランタイム環境へのデプロイメントは通常pre-integration-testで行われるため、このゴールは、deployフェーズではなく、デフォルト・ライフサイクルのpre-integration-testフェーズにマップされていることに注意してください。

カスタム・パッケージング・タイプsbarが定義されていて、Oracle Service Busアーカイブを示しています。

14.2 Maven原型からのOracle Service Busアプリケーションの作成

OSB Application Maven原型を使用して新規Oracle Service Busアプリケーション(OSBプロジェクトおよびOSBシステム・リソース・プロジェクトを含む)を作成するには、次のようなコマンドを実行します。

mvn archetype:generate
    -DarchetypeGroupId=com.oracle.servicebus
    -DarchetypeArtifactId=oracle-servicebus-application
    -DarchetypeVersion=12.1.3-0-0
    -DgroupId=org.mycompany
    -DartifactId=my-servicebus-application
    -Dversion=1.0-SNAPSHOT
    -DprojectName=my-project

このコマンドにより、原型から新規プロジェクトを作成できるようにする、Mavenのarchetype:generateゴールが実行されます。表14-4に、パラメータを示します。

表14-2 Oracle Service Busプロジェクトのパラメータ

パラメータ 目的

archetypeGroupId

新規プロジェクトの作成に使用する原型のgroupIdを識別します。これは、前の例に示したように、com.oracle.servicebusである必要があります。

archetypeArtifactId

新規プロジェクトの作成に使用する原型のartifactIdを識別します。これは、前の例に示したように、oracle-servicebus-applicationである必要があります。

archetypeVersion

新規プロジェクトの作成に使用する原型のバージョンを識別します。これは、前の例に示したように、12.1.3-0-0である必要があります。

groupId

新規プロジェクト用のgroupId。通常、これは組織のドメイン名を逆にした形式で始まります。

artifactId

新規プロジェクト用のartifactId。通常、これはプロジェクトの識別子です。

version

新規プロジェクト用のversion。新規プロジェクトの場合、これは通常1.0-SNAPSHOTです。

projectName

アプリケーション内に作成するOSBプロジェクトの名前。これはアプリケーションの名前(つまり、artifactId)と異なる必要があり、システム・リソース用に予約されているため、Systemにすることもできません。


また、次の例に示すように、引数なしでコマンドを実行することもできます。この場合、Mavenでは、使用可能な原型のリストが表示され、必要な情報の入力を求められます。

mvn archetype:generate

アプリケーションの作成後、アプリケーションには次のファイルが含まれます。

maven_dt_012.pngの説明が続きます
図maven_dt_012.pngの説明

表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)ファイルです。


14.3 Oracle JDeveloperでのアプリケーションの編集

Oracle JDeveloperでアプリケーションを編集して、OSBリソースを定義することができます。アプリケーションを開く手順は、次のとおりです。

  1. 「ファイル」メニューを開き、「インポート」を選択します。

  2. 「インポート」ダイアログ・ボックスで、「Mavenプロジェクト」オプションを選択し、「OK」をクリックします。

    次の図に示すように「Mavenプロジェクトのインポート」ダイアログが表示されます。

    osb-image-1.pngの説明が続きます
    図osb-image-1.pngの説明

  3. 「ルート・ディレクトリ」フィールドに、JDeveloperにインポートするアプリケーションのパスを入力します。

  4. 「設定ファイル」フィールドにMavenのsettings.xmlファイルのパスを入力します。Maven設定ファイルの場所に標準でない場所を使用していないかぎり、ほとんどの場合デフォルト値が適切です。

  5. 「リフレッシュ」をクリックして、その場所で使用できるプロジェクトのリストをロードします。

  6. インポートするプロジェクトを選択します。「インポートしたPOMファイルと同期するために既存のJDeveloperプロジェクトを更新します。」も選択します。

  7. 「OK」をクリックして、インポートを完了します。

JDeveloperでアプリケーションが開かれました。

Oracle Service Busアプリケーション(またはプロジェクト)をJDeveloperにインポートする場合、新規アプリケーション(またはプロジェクト)ディレクトリを作成するか、または単に既存の場所にJDeveloperプロジェクト・ファイル(jwsファイルおよびjprファイル)を作成するかの選択肢があります。「アプリケーションにソース・ファイルもインポートします。」オプションを選択して、「インポート」ダイアログ・ボックスに新規ディレクトリを指定すると、JDeveloperは新規ディレクトリにアプリケーション(またはプロジェクト)の新規コピーを作成します。既存のディレクトリにJDeveloperファイルを作成するには、「アプリケーションにソース・ファイルもインポートします。」オプションを選択しないで、プロジェクトの場所を求められたときに既存のディレクトリを選択します。

14.4 Maven原型からのOracle Service Busプロジェクトの作成

OSBプロジェクトMaven原型を使用して既存のOSBアプリケーション内に新規Oracle Service Busプロジェクトを作成するには、OSBアプリケーション・ルート・ディレクトリから次のようなコマンドを発行してください。

mvn archetype:generate
 -DarchetypeGroupId=com.oracle.servicebus
 -DarchetypeArtifactId=oracle-servicebus-project
 -DarchetypeVersion=12.1.3-0-0
 -DgroupId=org.mycompany
 -DartifactId=my-second-project
 -Dversion=1.0-SNAPSHOT

このコマンドにより、原型から新規プロジェクトを作成できるようにする、Mavenのarchetype:generateゴールが実行されます。次の表では、パラメータについて説明します。

表14-4 Maven原型からのOracle Service Busプロジェクトのパラメータ

パラメータ 目的

archetypeGroupId

新規プロジェクトの作成に使用する原型のgroupIdを識別します。これは、前の例に示したように、com.oracle.servicebusである必要があります。

archetypeArtifactId

新規プロジェクトの作成に使用する原型のartifactIdを識別します。これは、前の例に示したように、oracle-servicebus-projectである必要があります。

archetypeVersion

新規プロジェクトの作成に使用する原型のバージョンを識別します。これは、前の例に示したように、12.1.3-0-0である必要があります。

groupId

新規プロジェクト用のgroupId。通常、これは組織のドメイン名を逆にした形式で始まります。

artifactId

新規プロジェクト用のartifactId。通常、これはプロジェクトの識別子です。システム・リソース用に予約しているSystemにすることはできません。

version

新規プロジェクト用のversion。新規プロジェクトの場合、これは通常1.0-SNAPSHOTです。


また、次の例に示すように、引数なしでコマンドを実行することもできます。この場合、Mavenでは、使用可能な原型のリストが表示され、必要な情報の入力を求められます。

mvn archetype:generate

OSBプロジェクトはOSBアプリケーション内に存在している必要があることに注意してください。

プロジェクトの作成後、プロジェクトには次のファイルが含まれます。

my-second-project/
|-- pom.xml

次の表ではプロジェクトに含まれているファイルについて説明します。

ファイル 目的
pom.xml これは新規プロジェクトについて説明するMavenプロジェクト・オブジェクト・モデル(POM)ファイルであり、プロジェクトに指定したMaven座標が含まれ、OSB Mavenプラグインを使用してプロジェクトをsbarファイルにビルドするための適切なプラグイン定義も含まれています。

Mavenは、この新規プロジェクトを含めるためにOSBアプリケーションPOMファイルも更新します。14.2項で作成したアプリケーションで前述のコマンドを実行した場合、OSBアプリケーションPOMに次のように表示されます。

<modules>
   <module>my-project</module>
   <module>my-servicebus-project</module>
   <module>my-second-project</module>
</modules>

14.5 Mavenを使用したプロジェクトのビルド

プロジェクト・コードを記述した後に、Mavenを使用してプロジェクトをビルドできます。

SBARファイルをビルドするには、次のコマンドを実行します。

mvn package -DoracleHome=/path/to/osbhome

前述のコマンドによってプロジェクトからSBARファイルが作成され、次の場所に配置されます。

project/.data/maven/sbconfig.sbar

パッケージ化には、次のパラメータを指定できます。プロジェクトのPOMファイル内で指定するか、または前述の例に示すようにコマンドラインで指定することもできます。

パラメータ 目的
oracleHome Oracle Fusion MiddlewareのOracleホームの場所。

14.6 Mavenを使用したOracle Service Busサーバーへのプロジェクトのデプロイ

SBARファイルをデプロイするには、次のコマンドを実行します。

mvn pre-integration-test

デプロイメントには次のパラメータを指定できます。プロジェクトのPOMファイル内で指定するか、またはコマンドラインで指定することもできます。

パラメータ 目的
oracleHome OSBがインストールされているOracle Fusion MiddlewareのOracleホームの場所。
oracleServerUrl OSBドメイン内のサーバーのURL。
customization (オプション)使用するOSBカスタマイズ・ファイル(ある場合)の名前。
oracleUsername デプロイメントに使用するユーザー名。
oraclePassword デプロイメントに使用するパスワード。

コマンドラインでパラメータを指定するには、例に示しているように-Dパラメータ=の形式を使用します(コマンド全体を1行で入力するように注意してください)。

mvn pre-integration-test
     -DoracleServerUrl=http://test.server:7001
     -DoracleUsername=weblogic
     -DoraclePassword=welcome1

プロジェクトPOMファイルにパラメータを指定するには、次の例に示すようにpluginセクションを追加します。

<plugins>

   <plugin>
     <groupId>com.oracle.servicebus</groupId>
     <artifactId>oracle-servicebus-plugin</artifactId>
     <version>12.1.3-0-0</version>
     <extensions>true</extensions>
     <configuration>
       <oracleHome>/u01/osbhome</oracleHome>
       <oracleServerUrl>http://test.server:7001</oracleServerUrl>
       <oracleUsername>weblogic</oracleUsername>
       <oraclePassword>welcome1</oraclePassword>
     </configuration>
   </plugin>
 </plugins>

14.7 Oracle Service Bus親POMについての考慮事項

OSB親POMはカスタマイズのために提供されています。たとえば、テスト・サーバーのURL、ユーザー名およびパスワードなどの環境全体のデフォルトを設定するには、OSB親POMに指定することもできます。

このようなプロパティを設定したり、OSBプロジェクトで有効にする別のプロパティを定義したりすることもできます。OSBプロジェクトPOMのプロパティを参照するには、構文 $propertyNameを使用します。たとえば、次の例では$oracleServerNameosb_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>