[SOA] Migrating Objects in the MDS

SOA Suiteのデプロイメントの再利用を最大化するために、MDSを使うことができます。これは、SOAコンポジットにオブジェクトを閉じ込めるのではなく、共通の格納場所に配置して、開発者が共用するためのものです。
このエントリでは、使用しているドメイン値マップ(DVM)をAntスクリプトを使用してローカルマシンの開発環境から本番環境へ移行します。XSDおよびWSDLなどの一般的なオブジェクトにも同じ方法を適用することができます。
デフォルトでは、JDeveloperは、ファイルベースのMDSリポジトリを使用します。これは、サーバ接続がなくてもSOAコンポジットを開発できるようにするためです。ファイルベースMDSを変更するには、OSコマンドを使います。appフォルダ内にカスタムオブジェクトを配置することを推奨します。

  1. Windowsエクスプローラにて、JDeveloperのホームディレクトリに移動し、appディレクトリをintegration/seedディレクトリの中に作成します。

  2. JDeveloperで、MDSへの接続を作成すると、新しいディレクトリの中を見ることができます。

  3. この例では、DVMを作成するために使うプロジェクトを作成しています。

  4. DVMを作成したら、MDSに移送してやる必要があります。これにより、SOAコンポジットが開発環境でDVMを参照することができます。もっとも簡単な移送方法は、作成したDVMのディレクトリをappsディレクトリに移動することです。

    コピーが終了すると、JDeveloperからDVMを確認できます。

  5. こうして、DVMをプロジェクトで共有できるようになりました。ただ問題なのは、サーバにSOAプロジェクトをデプロイした場合に、DVMが存在しないためにエラーになってしまうことです。そのため、事前にDVMをサーバに展開しておく必要があります。このためのANTスクリプトを作成しました。以下のファイルをダウンロードしてください。
  6. build.properties
    build.xml
    ant-contrib-1.0b3-bin.zip

  7. ant-contrib-1.0b3-bin.zip を<JDEV_HOME>/ant/lib にコピーしてください。
  8. 環境によって調整が必要になる可能性があります。以下はbuild.propertiesですが、環境に応じて、HOMEディレクトリを変更する必要があるかもしれません。
  9. # 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
  10. build.xmlは変更の必要はありませんが、何か追加したいときには変更してください。

  11. 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_21

    set CURRENT_FOLDER=%CD%
    ant -f build.xml %1

  12. これでANTスクリプトを実行できるようになりました。環境依存の値はすべてbuild.propertiesに記述しているので、プロジェクトを指定すれば移送できます。コマンドプロンプトを開いて、ANTスクリプトのあるディレクトリに移動し、以下のように実行しましょう。

    mdsConfig.bat migrateObjects



  13. DB MDSに移送されていることを確認しましょう。


  14. 最後に、DVMがサーバ上にロードされていて、SOAコンポーザからDVMにアクセスできることを確認しましょう。



原文はこちら。
http://blogs.oracle.com/middleware/entry/migrating_objects_in_the_mds

0 件のコメント:

コメントを投稿