SOA Suiteのデプロイメントの再利用を最大化するために、MDSを使うことができます。これは、SOAコンポジットにオブジェクトを閉じ込めるのではなく、共通の格納場所に配置して、開発者が共用するためのものです。
このエントリでは、使用しているドメイン値マップ(DVM)をAntスクリプトを使用してローカルマシンの開発環境から本番環境へ移行します。XSDおよびWSDLなどの一般的なオブジェクトにも同じ方法を適用することができます。
デフォルトでは、JDeveloperは、ファイルベースのMDSリポジトリを使用します。これは、サーバ接続がなくてもSOAコンポジットを開発できるようにするためです。ファイルベースMDSを変更するには、OSコマンドを使います。appフォルダ内にカスタムオブジェクトを配置することを推奨します。
- Windowsエクスプローラにて、JDeveloperのホームディレクトリに移動し、appディレクトリをintegration/seedディレクトリの中に作成します。
- JDeveloperで、MDSへの接続を作成すると、新しいディレクトリの中を見ることができます。
- この例では、DVMを作成するために使うプロジェクトを作成しています。
- DVMを作成したら、MDSに移送してやる必要があります。これにより、SOAコンポジットが開発環境でDVMを参照することができます。もっとも簡単な移送方法は、作成したDVMのディレクトリをappsディレクトリに移動することです。
コピーが終了すると、JDeveloperからDVMを確認できます。 - こうして、DVMをプロジェクトで共有できるようになりました。ただ問題なのは、サーバにSOAプロジェクトをデプロイした場合に、DVMが存在しないためにエラーになってしまうことです。そのため、事前にDVMをサーバに展開しておく必要があります。このためのANTスクリプトを作成しました。以下のファイルをダウンロードしてください。
- ant-contrib-1.0b3-bin.zip を<JDEV_HOME>/ant/lib にコピーしてください。
- 環境によって調整が必要になる可能性があります。以下はbuild.propertiesですが、環境に応じて、HOMEディレクトリを変更する必要があるかもしれません。
- build.xmlは変更の必要はありませんが、何か追加したいときには変更してください。
- ANTスクリプトを実行するためのbatchファイル(mdsConfig.bat)を作成します。環境にあわせて設定を変更しましょう。
set ORACLE_HOME=d:\oracle\product\jdeveloper\11.1.1.4
set ANT_HOME=%ORACLE_HOME%\jdeveloper\ant
set PATH=%ANT_HOME%\bin;%PATH%
set JAVA_HOME=%ORACLE_HOME%\jdk160_21set CURRENT_FOLDER=%CD%
ant -f build.xml %1 - これでANTスクリプトを実行できるようになりました。環境依存の値はすべてbuild.propertiesに記述しているので、プロジェクトを指定すれば移送できます。コマンドプロンプトを開いて、ANTスクリプトのあるディレクトリに移動し、以下のように実行しましょう。
mdsConfig.bat migrateObjects
- DB MDSに移送されていることを確認しましょう。
- 最後に、DVMがサーバ上にロードされていて、SOAコンポーザからDVMにアクセスできることを確認しましょう。
# global
wn.bea.home=d:/oracle/product/jdeveloper/11.1.1.4
oracle.home=${wn.bea.home}/jdeveloper
java.passed.home=${wn.bea.home}/jdk160_21
wl_home=${wn.bea.home}/wlserver_10.3
# temp
tmp.output.dir=d:/temp
local.enabled=true
local.reposistory=d:/oracle/product/jdeveloper/11.1.1.4/jdeveloper/integration/seed/apps/
local.undeploy=true
exclude.pattern=
search.pattern=/dvm/*
download.description=dvm
target.environment=dev
source.environment=local
deployment.plan.environment=dev
# dev deployment server weblogic
dev.serverURL=http://dev.nz.oracle.com:8001
dev.overwrite=true
dev.user=weblogic
dev.password=welcome1
dev.forceDefault=true
dev.server=dev.nz.oracle.com
dev.port=8001
いくつかのプロパティをご紹介します。
search.pattern
移行したいオブジェクトを検索するための検索パターン。移行元がDB MDSの場合、複数の検索を実行できる。(例) /dvm/*;/xsd/*
target.environment
オブジェクトを移行したい環境。この値はconnectionプロパティの接頭辞に一致する必要がある。(例) dev.serverURL
source.environment
オブジェクトの移行元環境。この値はconnectionプロパティの接頭辞に一致する必要がある。(例) dev.serverURL
tmp.output.dir
移行先環境へのデプロイ時の作業ディレクトリ。この例ではローカルの開発環境のみとしていますが、必要であれば、テスト環境、本番環境といった新しい環境を追加することもできます。
# test deployment server weblogic
test.serverURL=http://test.nz.oracle.com:8001
test.overwrite=true
test.user=weblogic
test.password=welcome1
test.forceDefault=true
test.server=test.nz.oracle.com
test.port=8001
原文はこちら。
http://blogs.oracle.com/middleware/entry/migrating_objects_in_the_mds
0 件のコメント:
コメントを投稿