ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Java CAPS Migration Toolユーザーズ・ガイド
11g リリース1 (11.1.1.6.0)
B66433-01
  目次へ移動
目次

前
 
次
 

3 プロジェクトの移行

この章では、提供されている移行ツールを使用して、Oracle Java CAPSからOracle SOA Suiteへの移行を実行する方法の手順を説明します。

この章には次のトピックが含まれます:

3.1 移行ツール・プロセスの概要

移行ツールは、ウィザード・モードまたはコマンドライン・モードで実行できます。ウィザード・モードでは、移行プロセスの視認性が向上し、移行されるOracle Java CAPSのコンポーネントおよびファイル内容と、生成されるOracle SOA Suiteのファイルおよび内容を確認できます。移行ツールでは、Oracle SOA Suiteプロジェクトを生成する方法を決定するために、Oracle Java CAPSプロジェクトから生成されたプロジェクトEARまたはZIPファイルを使用します。

移行ツールの出力には、必要なプロジェクト・コンポーネントと、Oracle JDeveloperプロジェクト・ファイル(JPRファイル)が含まれます。これらのアーティファクトには、composite.xmlファイルが含まれ、さらにSpringコンポーネント・ファイル、BPELビジネス・プロセス・ファイル、WSDLファイル、スキーマ定義、JARファイル、Javaクラスなどが含まれることもあります。

プロジェクトによっては、移行ツールの出力を手動で変更する必要があります(たとえば、ファイルまたはJMS以外のアウトバウンド・アダプタを持つプロジェクトでは、生成されたプレースホルダをOracle SOA Suiteアダプタに置換する必要があります)。移行ツールの出力に対して必要になる可能性がある変更については、第4章「移行後のタスク」で説明します。

3.2 Oracle Java CAPSプロジェクトの移行

この項では、移行ツールのウィザード・モードとコマンドライン・モードの両方のモードでの実行について説明します。移行ツールを実行する前に、必ず、3.2.1項「開始する前に」に記載されている手順を完了してください。

3.2.1 開始する前に

移行するOracle Java CAPSファイルを正しく構成して、インストール手順に記載されている新しいデバッグ・オプションで再ビルドして再デプロイする必要があります。移行ツールを実行する前に、次の手順を実行してください。最初の2つの手順は、移行するプロジェクトのタイプに応じたオプションですが、最後の手順は、移行が正常に処理されるために実行する必要があります。

3.2.1.1 JBIプロジェクトの準拠の確認

ほとんどのJBIのBPELプロジェクトは正常に移行できますが、プロジェクト・コンポーネントがOracle SOA Suiteでサポートされている標準に準拠していることを確認する必要があります。Oracle Java CAPS JBIとOracle SOA Suiteの違い、および必要になる可能性がある変更の詳細は、1.2.5項「JBIプロジェクトの移行のサポート」を参照してください。

3.2.1.2 ビジネス・プロセスの変更

複数のビジネス・プロセスが含まれるプロジェクトを移行する場合、移行が正常に処理されるためには、ターゲット・ネームスペースとビジネス・プロセス名は同じにできません。複数のビジネス・プロセスで同じネームスペースを使用している場合は、移行前にいずれかの名前を変更してください。

Oracle SOA Suiteでは、開始アクティビティはメッセージ・アクティビティである必要がありますが、Oracle Java CAPSでは、割当てアクティビティを最初のアクティビティにすることができます。ビジネス・プロセスの開始アクティビティがメッセージ・アクティビティでないプロジェクトがある場合は、移行を開始する前にビジネス・プロセスを変更してください。

割当てアクティビティ内の接頭辞が、異なるネームスペースの定義で重複する場合は、このあいまいさを解決して、マッピングに正しい接頭辞を割り当てる必要があります。

3.2.1.3 ファイル書込み操作を持つプロジェクトの変更

古いOracle Java CAPSプロジェクトでは、出力コンテナなしのファイル書込み操作を持っている場合があります。これらのプロジェクトは、Oracle SOA Suiteでビルドされません。この状態のプロジェクトが存在する場合は、移行を実行する前に、出力変数を設定してください。

3.2.1.4 移行するプロジェクトの再ビルドと再デプロイ

リポジトリ・プロジェクトの移行を実行するには、「Oracle Java CAPS環境を設定する手順」で説明されているように、更新したデバッグ・フラグを使用して、プロジェクトを再ビルドして再デプロイする必要があります。次に、移行ツールの場所からアクセス可能なプロジェクトから、生成されるEARファイルを作成する必要があります。JBIプロジェクトの場合は、生成されたコンポジット・アプリケーション・サービス・アセンブリ(CASA)のZIPファイルを使用できるようにする必要があります。リポジトリ・プロジェクトとJBIプロジェクトのどちらも、更新したフラグで再ビルドして再デプロイする必要があります。

3.2.2 移行ロギング・プロパティの設定

移行ログ・ファイルに記録され、移行ツールを実行したコンソールに出力される移行処理情報の情報量を構成できます。ロギング・レベルは、グローバル、ハンドラ単位および移行ツール自体の3つのレベルで設定します。ハンドラ設定は、グローバル設定よりも優先されます。

次のログ・レベルを指定できます(提供される情報が少ないものから多いものの順に記載しています)。

  • SEVERE (障害メッセージのみ)

  • WARNING

  • INFO

  • CONFIG

  • FINE

  • FINER

  • FINEST (最も詳細なロギング)

移行ロギング・プロパティを構成する手順は、次のとおりです。

  1. Oracle Java CAPS Migration Toolをインストールした場所にナビゲートします。

  2. テキスト・エディタでlogging.propertiesを開きます。

  3. 次の表に記載されている任意のプロパティを変更し、ファイルを保存して閉じます。

    プロパティ 説明
    handlers 移行に使用するログ・ハンドラ・クラスのカンマ区切りリスト。デフォルトは、java.util.logging.FileHandler, java.util.logging.ConsoleHandlerです。この場合は、移行ツール・フォルダ内のログ・ファイルと、移行ツールを実行したコンソールの両方にログ・メッセージが送信されます。
    level (global) すべてのロガーにおけるログ・メッセージの詳細度のインジケータ。この値よりも、このファイルの後の方で各ロガーに指定したログ・レベルの方が優先されます。デフォルトでは、コメント・アウトされ、使用されません。
    FileHandlerのプロパティ
    pattern 各ログ・ファイルに付けられる名前を示すパターン。デフォルト値はmigrationtool_%u.logで、この場合、ログ・ファイル名はmigrationtool##.logで作成され、##は各ログ・ファイルごとに増分される数値を示します。
    level ログ・ファイルに記録されるイベントのログ・メッセージの詳細度のインジケータ。
    limit 各ファイルに記録されるログの最大バイト数。この値が0 (ゼロ)の場合は無制限です。
    count 循環を行う出力ファイルの数。
    formatter ログ・ファイル内のメッセージの書式設定に使用するJavaフォーマッタ・クラスの名前。デフォルトは、java.util.logging.SimpleFormatterです。
    ConsoleHandlerのプロパティ
    level コンソールに表示されるイベントのログ・メッセージの詳細度のインジケータ。
    formatter コンソール上のメッセージの書式設定に使用するJavaフォーマッタ・クラスの名前。デフォルトは、java.util.logging.SimpleFormatterです。
    移行ツールのプロパティ
    level 移行ツール全般のログ・メッセージの詳細度のインジケータ。

3.2.3 ウィザードを使用したプロジェクトの移行

移行ツール・ウィザードでは、グラフィカルな表示で、元のOracle Java CAPSプロジェクトのプロジェクト・コンポーネントと、移行ツールによって生成されるOracle SOA Suiteプロジェクトのコンポーネントが表示されます。

ウィザードを使用してプロジェクトを移行する手順は、次のとおりです。

  1. コマンドラインから、次のコマンドを実行します。

    java -jar MigrationTool.jar -soahome middleware_home -wizard
    

    注意:

    移行するプロジェクトに、ビジネス・プロセスで呼び出されるJCD、またはWebサービスとして公開されているJCDが含まれている場合は、コマンドの最後に-usejaxbオプションを追加してください。middleware_homeディレクトリは、Oracle Fusion Middlewareインストール先のoracle_commonへのパスです。これらのオプションの詳細は、3.2.4.1項「移行ツールの使用方法」を参照してください。

  2. 移行ウィザードで、次の情報を入力します。

    • ソース・フォルダ: 移行するOracle Java CAPSのEAR (リポジトリ・プロジェクト)またはZIP (JBIプロジェクト)ファイルのパスとファイル名。

    • プロジェクト名: ここには、EARファイルまたはコンポジット・アプリケーションの名前が移入されます。

    • 場所: 移行ツールによって、生成されたOracle SOA Suiteプロジェクトが格納されるディレクトリ。指定しない場合は、現在の作業ディレクトリが使用されます。

    • プロジェクト・フォルダ: ここには、移行後のOracle SOA Suiteプロジェクトが格納される場所のフルパスが自動的に移入されます。

    図3-1 Oracle Java CAPS Migration Tool - ソースの選択ページ

    表3-1の説明が続きます。
    「図3-1 Oracle Java CAPS Migration Tool - ソースの選択ページ」の説明

  3. 「次へ」をクリックします。

    移行ツールにより、プロジェクトのZIPまたはEARファイル全体が解析されて、必要なアーティファクトが抽出され、プロジェクトにビジネス・プロセスが存在する場合はウィザードにアーティファクトが表示されます。

    図3-2 Oracle Java CAPS Migration Tool - ソースのコンポジット・アプリケーション・ページ

    図3-2の説明は図の下のリンクをクリックしてください。
    「図3-2 Oracle Java CAPS Migration Tool - ソースのコンポジット・アプリケーション・ページ」の説明

  4. 次のいずれかを実行します。

    1. プロジェクトにビジネス・プロセスが存在しない場合は、手順8に進みます。

    2. プロジェクトにビジネス・プロセスが存在する場合は、名前をクリックして、プロジェクト・エクスプローラの右側のキャンバスでアーティファクトの内容を確認します。

  5. 「次へ」をクリックします。

    ウィザードに解析結果が表示され、プロジェクトのサービス、参照、接続およびプロパティが表示されます(もう一度、ビジネス・プロセスのもののみが表示されます)。

    図3-3 Oracle Java CAPS MIgration Tool - エンドポイントおよび接続

    図3-3の説明
    「図3-3 Oracle Java CAPS MIgration Tool - エンドポイントおよび接続」の説明

  6. 公開または参照されている任意のエンドポイントをクリックすると、関連付けられているパートナ・リンクが表示されます。接続をクリックすると、接続されているコンポーネントの2つのパートナ・リンクが強調表示されます(これは、Oracle SOA Suiteコンポジット内のワイヤを表します)。

  7. 「次へ」をクリックします。

    移行ツールによってOracle SOA Suiteファイルが生成され、確認のために表示されます。コンソール・ウィンドウで処理メッセージとステータスを確認できます。エラーまたは例外が発生した場合は、移行プロセスが中止され、コンソールにエラーの原因が表示されます。

  8. レビュー・ページで、移行されたアーティファクトの内容を確認し、出力プロジェクトの場所でファイルを確認します。

    図3-4 Oracle Java CAPS MIgration Tool - レビュー・ページ

    図3-4の説明は図の下
    「図3-4 Oracle Java CAPS MIgration Tool - レビュー・ページ」の説明

  9. 準備ができたら、次へをクリックします。

  10. 終了ページで、「終了」をクリックします。

    移行プロセスが完了すると、ウィザードはソースの選択ページに戻り、必要な場合は別のプロジェクトの移行を開始できます。移行ツールのディレクトリ内のログ・ファイルを確認して、移行プロセスを確認できます。

  11. 一部のコンポーネントは、手動で変更したり手動で移行する必要があります。詳細および手順は、次を参照してください。

3.2.4 コマンドラインを使用したプロジェクトの移行

ウィザード・モードではなく、コマンドライン・モードを使用してOracle Java CAPSプロジェクトを移行する場合は、必要なすべての情報をコマンドで指定し、移行されるコンポーネントおよびファイル、または生成されるコンポーネントおよびファイルのプレビューは表示されません。コンソールに、移行の処理ステータスと発生した警告またはエラーが表示されます。

3.2.4.1 移行ツールの使用方法

構文

java -jar MigrationTool.jar <-soahome parent_directory_of_oracle_common>
[-archive path_of_input_file] [-projectname output_project]
[-output output_folder] [-wizard] [-usejaxb]

表3-1 コマンドラインのオプションおよびフラグ

オプション/フラグ 説明

-soahome

Oracle Fusion Middlewareのホーム・ディレクトリのパス。これは、oracle_commonディレクトリの親ディレクトリで、JAX-WSインタフェースを生成するために必要です。たとえば、C:\Oracle\Middlewareです。

このオプションは、コマンドライン・モードとウィザード・モードの両方で必須です。

-archive

移行するOracle Java CAPSのEARまたはZIPファイルのパスとファイル名。

-projectname

移行ツールによって生成されるOracle SOA Suiteプロジェクトの名前。

-output

移行ツールによって、生成されたOracle SOA Suiteプロジェクトが格納されるディレクトリ。指定しない場合は、現在の作業ディレクトリが使用されます。

-wizard

移行ツールをウィザード・モードで開始するフラグで、グラフィカルなインタフェースを起動し、そのインタフェースで移行オプションを指定してプロジェクト・コンポーネントを確認できます。このモードでコマンドを実行する場合、-soahome以外の他のすべてのオプションはオプションです。他のオプションを指定した場合、それらの値は移行ウィザードに自動的に移入されます。

-usejaxb

JAXBオブジェクトを直接使用するように元のJCDインタフェースを変更し、移行後のコードでJAXBオブジェクトとOracle Java CAPSのOTDオブジェクト間のコピーが行われないようにするフラグ。

このフラグは、BPELビジネス・プロセスで呼び出されるJCD、およびWebサービスとして公開されているスタンドアロンのJCDを持つプロジェクトを移行する場合にのみ有効です。JCDでファースト・クラス(FCX) OTDが使用されていて、FCX OTD (XMLBeans)がJAXBオブジェクトに置換される場合、このオプションは自動的に有効になります。JCD内に入力および出力としてHL7 OTDを持つプロジェクトを移行する場合は、このオプションを使用しないでください。

注意: -usejaxbオプションを使用して移行ツールを実行した場合、生成されたJAXBオブジェクトでは一部のOTDヘルパー・メソッドを使用できないため、移行後のOracle SOA SuiteプロジェクトでJCDのJavaコードのコンパイルに失敗する可能性があります。XSDフィールドのgetterおよびsetterメソッドのみ使用できます。OTDに、OTDフィールドのgetterおよびsetterメソッド以外の追加ヘルパー・メソッドが含まれる場合は、移行ツールの実行時にこのオプションを使用しないでください。


例3-1 コマンドライン構文

java -jar MigrationTool.jar -soahome C:\Oracle\Middleware\ -archive
C:\javacaps\migration_projects\JCDOTD_CAPSProject_20110930.ear -projectname
PurchaseOrder -output C:\SOA_Suite\mywork -usejaxb

3.3 OTDからXSD形式への変換

移行ツールでは、移行プロセス中にほとんどのOTDが変換されます。自動的に変換されないOTDのために、移行ツールでは-otd2xsdのオプションが用意されており、このオプションでは指定されたOTDクラスに基づいてXSDファイルが生成されます。生成されたXSDファイルは、移行後のBPELビジネス・プロセスで使用したり、-xsd2jaxbオプションを使用してJAXBオブジェクトを生成するために使用できます(3.4項「XSDからJAXB形式への変換」を参照してください)。この方法は、OTDが、対応するスキーマ定義を持っていない場合に使用します。

次のコマンドを実行すると、指定したOTDのXSDファイルが生成されます。XSDは、-otdclasspathオプションで指定したJARファイルで使用できます。

java -jar MigrationTool.jar <-soahome parent_directory_of_oracle_common>
<-otd2xsd> <-otdclass OTD class name to search in the supplied jar files>
<-otdclasspath comma separated list of OTD and dependent jar files>

表3-2 コマンドラインのオプションおよびフラグ

オプション/フラグ 説明

-soahome

Oracle Fusion Middlewareのホーム・ディレクトリのパス。これは、oracle_commonディレクトリの親ディレクトリで、JAX-WSインタフェースを生成するために必要です。たとえば、C:\Oracle\Middlewareです。

-otd2xsd

移行ツールをOTDからXSDへの変換モードで実行するインジケータ。

-otdclass

XSDに変換するOTDのクラス名。

-otdclasspath

OTDおよび依存するJARファイルの絶対パスとファイル名のカンマ区切りリスト。


例3-2 OTDからXSDへの変換

java -jar MigrationTool.jar -soahome C:\Oracle\Middleware\ -otd2xsd -otdclass
xsd.xsdICP_ICPOutput.ICPOutput -otdclasspath
C:/migration_projects/xsdICP_ICPOutput.jar,
C:/migration_projects/xsdICP_ICPOutput2.jar

前述のテキストは見やすくするために行を折り返していますが、コマンド全体は、(JARファイル名の間にスペースを入れずに)1行で入力してください。OTDからXSDへの変換を実行した後は、XSDをJAXBオブジェクトに変換するか(3.4項「XSDからJAXB形式への変換」を参照)、Oracle JDeveloperでXSDファイルを移行後のプロジェクトに追加できます。

3.4 XSDからJAXB形式への変換

移行ツールを使用して変換するプロジェクトが、他のOTDとして使用されるFCX OTDを持つJavaコラボレーション定義を使用している場合、Oracle Java CAPSで生成されたFCX OTDはOracle SOA Suiteと互換性がないため、移行後のプロジェクトは実行時に失敗します。もう一度、移行ツールをXSDからJAXBへの変換モードで実行して、FCX OTDをJAXBオブジェクトに変換する必要があります。

次のコマンドを実行すると、既存のFCX OTDのXMLスキーマを使用してJAXBオブジェクトが生成されます。

java -jar MigrationTool.jar <-soahome parent_directory_of_oracle_common>
<-xsd2jaxb> <-jaxboutput JAXB output folder> <-schema XSD schema location>
[-jaxbpackage package for generated JAXB objects]

表3-3 コマンドラインのオプションおよびフラグ

オプション/フラグ 説明

-soahome

Oracle Fusion Middlewareのホーム・ディレクトリのパス。これは、oracle_commonディレクトリの親ディレクトリで、JAX-WSインタフェースを生成するために必要です。たとえば、C:\Oracle\Middlewareです。

-xsd2jaxb

移行ツールをXSDからJAXBへの変換モードで実行するインジケータ。

-jaxboutput

生成されたJAXBオブジェクトを格納する場所の絶対パス。

-schema

変換に使用するXSDファイルの絶対パスとファイル名。

-jaxbpackage

生成されるJAXBオブジェクトのJavaパッケージ。このパラメータは、オプションです。


例3-3 FCX OTDからJAXBへの変換

java -jar MigrationTool.jar -soahome C:\Oracle\Middleware\ -xsd2jaxb -jaxboutput
C:\javacaps\migration_projects\FCX_JAXB -schema
C:\javacaps\migration_projects\JavaCAPS_FCX.xsd -jaxbpackage
com.oracle.caps.conversion

前述のテキストは、見やすくするために行を折り返しています。XSDからJAXBへの変換を実行した後は、移行後のOracle SOA SuiteプロジェクトにJAXBオブジェクトを追加し、FCX OTDのかわりにJAXBオブジェクトを使用するように移行後のJCDコードが含まれるSpringコンポーネントを変更する必要があります。