Service Busには、JDeveloperまたはOracle Service Busコンソールからリソースをインポートおよびエクスポートする方法、およびコマンド行からリソースをエクスポートする方法が複数用意されています。また、Fusion Middleware Control Consoleを対象としたインポートおよびエクスポートも可能です。この章では、JDeveloperおよびOracle Service Busコンソールを使用してリソースをインポートおよびエクスポートする方法、ならびにコマンド行を使用してエクスポートする方法を説明します。
この章の内容は次のとおりです。
Fusion Middleware Controlを使用したプロジェクトのインポートとエクスポートの詳細は、『Oracle Service Busの管理』のOracle Service Busリソースのインポートとエクスポートに関する項を参照してください。
Service Busには、インポート機能とエクスポート機能が用意されていて、Service Busのプロジェクトおよびリソースをドメイン間および開発ツール間で移動する際に役に立ちます。たとえば、開発からテストに移行するとき、プロジェクトを開発環境からエクスポートし、テスト環境にインポートできます。共有リソースを本番環境で変更する場合、エクスポート機能とインポート機能を使用して、各サーバーのリソースを更新できます。これらのプロセスでは、ステージング環境とテスト環境から本番環境へのリソース構成の規則的なプロモーションがサポートされます。
また、リソースをエクスポートしてインポートすることによって、JDeveloperとOracle Service Busコンソールの間で移動できます。たとえば、JDeveloperでJCAアダプタ・ファイル、WADLファイルなど特定のアーティファクトを作成するとします。Oracle Service Busコンソールのプロジェクトでこれらのアーティファクトを使用するには、これらをJDeveloperからエクスポートしてコンソールにインポートすることによって、これらのアーティファクト間のすべての参照が維持されます。
既存のソース・コード・コントロール・システムと構成JARファイルを組み合せると、Service Bus構成のバージョン管理および変更管理を行うことができます。
Service Busのプロジェクト全体または特定のリソースのみをエクスポートできます。エクスポート・プロセスによって、構成JARファイルが作成され、これをJDeveloper、Oracle Service BusコンソールまたはFusion Middleware Controlの個別のインスタンスにインポートできます。プロジェクト・レベルでエクスポートする場合、現在のインスタンスの1つ以上のプロジェクトを選択してエクスポートできます。「Service Busリソースのエクスポート」ウィザードでは、プロジェクト、フォルダおよびリソースがツリー・ビューに表示されますが、コンポーネントはプロジェクト・レベルでのみ選択できます。リソース・レベルでエクスポートする場合、プロジェクトを開いて、エクスポートする個々のリソースを表示して選択できます。検証エラーを回避するために、エクスポート用に選択したリソースに関するすべての依存関係を自動的に含めることも選択できます。
Oracle Service Busコンソールで、セッション内またはセッション外で作業していても、プロジェクトとリソースをエクスポートできます。セッション内でエクスポートする場合、リソースはセッション・リソースおよび構成が不完全または競合する場合があります。セッション外でエクスポートする場合、エクスポートできるリソースは、アクティブ化されたリソースになります。
Service Busでは、コンソール用に作成したユーザー、グループまたはロールはエクスポートできません。また、WebLogic Server Administration Consoleで作成した資格証明マップやその他のセキュリティ・プロバイダ・データもエクスポートできません。このデータをエクスポートするには、かわりにWebLogic Server管理コンソールを使用します。『Oracle WebLogic Serverセキュリティの管理』のセキュリティ・データの移行に関する項を参照してください。
Service Busのプロジェクトまたはリソースを構成JARファイルにエクスポートするとき、サービス・アカウント、サービス・キー・プロバイダ、UDDIレジストリ、JNDIプロバイダおよびSMTPサーバーの各リソースにあるユーザー名およびパスワード・データを暗号化できます。このJARファイルをインポートする場合、正しいパスワードを指定しないかぎり、暗号化したユーザー名およびパスワード・データを含むリソースはインポートされません。JARファイル内の他の暗号化されていないリソースは、パスワードを指定せずにインポートできます。
各サービス・アカウントに対し、そのサービス・アカウントに格納されていたデータの種類に応じて、ユーザー名およびパスワードまたはローカル・ユーザーからリモート・ユーザーへのマッピングがエクスポートされます。各サービス・キー・プロバイダに対しては、PKI資格証明マッピング・プロバイダからのキー・ペア・バインディングのエイリアスがエクスポートされます。秘密鍵、資格証明またはキー・ストアのその他のデータはエクスポートされません。キー・ストアのデータは、キー・ストアのベンダーが提供するツールを使用してエクスポートする必要があります。
Service Busプロジェクト全体、または別のService Busドメインから以前にエクスポートされた構成JARファイルおよびリソース構成ファイルに含まれる特定のリソースのみをインポートできます。エクスポートされたデータの一部だけをインポートするように選択することもできます。インポート先システムにリソースがすでに存在する場合は更新されます。存在しない場合は、新たに作成されます。リソースの削除は、インポートするJARがプロジェクト全体のJARであり、インポートするJARファイルに存在しないリソースがインポート先システムの同じプロジェクトに存在する場合にのみ行われます。他のプロジェクトにあるリソースは削除されません。
Service Busでは、プロジェクト・レベルでエクスポートされたService Busリソースであっても、リソース・レベルでインポートできます。たとえば、プロジェクト全体のJARファイルにエクスポートしたシステム・リソースを、インポート時に選択解除できます。構成をエクスポートする場合、ユーザー、グループ、または証明書はエクスポートできません。このため、エクスポートされた構成をインポートするときに、再度これらのオブジェクトを作成する必要があります。
Service Busプロジェクトをインポートする場合、インポートしたリソースに対していくつかの検証が行われます。インポートする構成JARファイルのサイズに応じて、この検証が原因でインポート・プロセスの速度が遅くなる可能性があります。デフォルトでは、Service Busは、インポート中に4つの検証スレッドを並行して処理します。パフォーマンスを改善するために、検証に使用できるスレッド数を制御できます。このためには、Service Busサーバー起動スクリプトで次の引数をJavaオプションに追加します(使用する最大スレッド数をno_of_threads
に代入します)。
-Doracle.osb.config.parallelism=no_of_threads
これで、Oracle Service BusコンソールおよびFusion Middleware Controlに対してスレッド数が設定されます。JDeveloperに対してこの値を設定するには、MW_HOME
/jdeveloper/jdev/binにある
jdev.conf
ファイルに引数を追加します。
インポートするJARファイルがAquaLogic Service Bus 3.0以降で作成され、サービス・アカウントまたはサービス・キー・プロバイダが含まれる場合、これらのリソースをユーザー名、パスワード、ローカル・ユーザーからリモート・ユーザーへのマッピングおよびそれらに含まれるキー・ペア・バインディングへのエイリアスとともにインポートできます。
各サービス・キー・プロバイダについて、キー・ペア・バインディングへのエイリアスがPKI資格証明マッピング・プロバイダにインポートされます。このデータがエクスポート時に暗号化された場合は、データの暗号化に使用したパスワードを入力する必要があります。パスワードがわからない場合でも、暗号化されていない他のすべてのリソースはインポートできます。
サービス・アカウントまたはサービス・キー・プロバイダをインポートするときに、対応する同じ名前のリソースがドメインにすでに存在する場合は、インポートされるリソースによってドメインのリソースが上書きされます。ドメインに存在するリソースが現在のセッション中に変更された場合でも同様です。ただし、インポート中にセキュリティ設定を保持することを指定した場合を除きます。詳細は、「インポート時のセキュリティ構成の保持」を参照してください。
操作値には、グローバル操作設定と、個々のコンポーネント用の操作設定の2種類があります。グローバル操作設定は、他のリソースと同様にインポートされますが、インポート時に「操作値の保持」
を選択することで、インポート中のドメインで操作設定を保持して、インポート中に設定が上書きされないようにすることができます。Preserve Operational Values
が指定されていない場合は、インポートするJARファイルの値がドメインに設定されます。
関連付けられているセキュリティ構成データを失うことなく、Service Busリソースをエクスポートおよびインポートできます。インポートおよびエクスポートのウィザードでは、インポートするシステムの既存のセキュリティ構成を保持するかまたは既存の構成をインポートするリソースの構成で上書きするかを指定できます。これは、インポートするリソースがインポートするシステムにすでに存在していて、これらの既存のリソースを更新する場合のみ問題になります。
たとえば、資格証明をステージング領域で構成し、この資格証明を含むプロジェクトをエクスポートして、プロダクション環境でそのプロジェクトをインポートするとします。プロジェクトをエクスポートする場合、セキュリティ構成は、Service Busの構成JARファイルに含まれています。次に、プロジェクトをターゲット・システムにインポートする場合、セキュリティの処理は、インポートするリソースがターゲット・システムにすでに存在しているかどうかによって異なります。
インポートするリソースが新規、つまりJARファイルには存在しているがターゲット・システムには存在していない場合、そのリソースはJARファイルのセキュリティ構成を使用します。
インポートするリソースがインポートのターゲット・サーバーとJARファイルの両方に存在する場合、そのリソースは指定したセキュリティ構成を使用します。ターゲット・システムの既存のセキュリティ構成を保持するかまたはこれをJARファイルの構成で上書きできます。
インポート中に選択したオプションによって、インポートするシステムのリソースのセキュリティ構成のどの側面をインポート中に保持するかを決定できます。これらのオプションは、プロジェクト・レベルのエクスポートと個別リソースのエクスポートの両方で作成されたJARファイルをインポートするときに同じように機能します。インポート中のセキュリティ・オプションを次に示します。
セキュリティおよびポリシーの構成を保持
資格証明の保持
アクセス制御ポリシーを保持
WebLogic Server (WLS)ポリシーを使用するように構成されたサービスをインポートする場合、WLSポリシーのサポートは非推奨になっているため、これらのポリシーを編集できないことに注意してください。Oracle Web Services Managerポリシーでこれらのサービスを再構成する必要があります。
「セキュリティおよびポリシーの構成を保持」を選択すると、インポートするシステムにあるリソースの次の構成パラメータが保持されます。インポートされるリソースの構成は保持されません。
プロキシ・サービスのセキュリティおよびポリシーの構成:
サービス・キー・プロバイダへの参照。
「ポリシー」タブを使用してサービスに直接バインドされているポリシーのセット。サービスでWSDLベースのポリシーを使用している場合、WSDLドキュメント自体が更新される場合があり、サービスがWSDLドキュメントを反映する必要があるため、ポリシーは保持されません。
「WS-Securityヘッダーの処理」オプションの状態。
メッセージ・レベルのカスタム認証の構成。
プロキシ・サービスのトランスポート固有のセキュリティ構成:
HTTPの場合は、HTTPSフラグおよび認証モード(匿名、基本、クライアント証明書またはカスタム・トークン)。
JMSの場合は、JMSおよびJNDIサービス・アカウント。
電子メールおよびFTPの場合は、サービス・アカウント参照。
SFTPの場合は、認証構成。
ビジネス・サービスのセキュリティおよびポリシーの構成:
WS-Policyのバインディング。
「呼出し元のサブジェクトを渡す」の設定
アウトバウンドWS-Securityのサービス・アカウントへの参照。
ビジネス・サービスのトランスポート固有のセキュリティ構成:
HTTPの場合は、認証モード(匿名、基本またはクライアント証明書)およびサービス・アカウント参照。
JMSの場合は、JMSおよびJNDIサービス・アカウントへの参照。
FTP、EJB、Tuxedo、およびDSPの場合は、サービス・アカウント参照。
SFTPの場合は、認証構成。
「資格証明の保持」を選択すると、インポートするシステムにあるリソースの次の資格証明が保持されます。インポートされるリソースの構成は保持されません。
サービス・キー・プロバイダのPKI資格証明。
PKI資格証明マッピング・プロバイダは、デジタル署名や暗号化およびアウトバウンドSSL認証に使用できる鍵ペアにサービス・キー・プロバイダをマップします。
サービス・アカウントのユーザー名とパスワード。
SMTPサーバー、JNDIプロバイダおよびUDDIレジストリのユーザー名とパスワード。
このカスタマイズ機能を使用して、インポートされたリソースをアクティブ化する前に新しいドメインに合せて調整できます。構成ファイルを使用すると、インポート機能と検索および置換機能を一緒に使用して、リソースに対する環境に固有の属性をグローバルに変更できます。これは、複雑なデプロイメント・シナリオで必要とされる、構成の慎重な調整作業にかわる機能を意味するわけではありません。
サービス・エンドポイントURI、ディレクトリ名およびセキュリティ構成に加え、Service Bus構成には、新しい環境で正しく動作するように更新する必要のある設定が含まれていることがあります。通常、次の項目は更新が必要です。
他のService Busリソースへのサービス参照。
プロキシ・サービスURLまたはビジネス・サービスURLのJMSキューおよび接続ファクトリ。
パイプラインのルーティングの宛先。
ビジネス・サービスおよびプロキシ・サービスのエンドポイントURI。
ビジネス・サービスのロード・バランシング設定。
ポーリングする特定のプロキシ・サービスおよびビジネス・サービスのトランスポート構成のディレクトリ名。
構成ファイルの詳細は、『Oracle Service Busの管理』のOracle Service Bus環境のカスタマイズに関する項を参照してください。
Service Busでは、様々なソースとの間でインポートおよびエクスポートを実行できます。その後のインポート処理を行うためにService Busリソースを構成JARファイルにエクスポートできます。また、実行中のWebLogic Serverにリソースを直接エクスポートできます。Service Busインスタンス、Service Busリソースを含むZIPファイルまたはService BusリソースがあるURLから以前エクスポートされた構成JARファイルからリソースをインポートできます。UDDIレジストリのリソースにもアクセスできます。これは、「UDDIレジストリの操作」を参照してください。
警告:
エクスポートを実行する前に、エクスポートするすべてのリソースを必ず保存してください。インポートを実行する前に、インポート先のアプリケーションのすべてのファイルを必ず保存してください。
JDeveloperからService Busリソースをファイルにエクスポートするとき、Service Busでは、後で異なるService BusインスタンスにインポートできるJARファイルを生成します。プロジェクト全体をエクスポートする場合、概要ファイル(servicebus.sboverview
)はエクスポートに含まれませんが、プロジェクトを再インポートするときに再生成されます。
JDeveloperで構成JARファイルにリソースをエクスポートするには:
Service Busリソースをサーバーに直接エクスポートするとき、Service Busは、後でインポートできる構成JARファイルを生成しません。リソースをエクスポートし、指定したWebLogicサーバーに直接インポートします。
Service BusおよびJDeveloperでは現在、Oracle Cloudサーバーへの直接デプロイをサポートしています。
サーバーにエクスポートする前に、サーバーは、JDeveloperでアプリケーションの接続を定義する必要があります。これを行わないと、リストから選択できません。アプリケーション・サーバー接続を作成するには「アプリケーション・サーバー接続の作成方法」を参照してください。
JDeveloperでサーバーにリソースをエクスポートするには:
Service Busアプリケーションを開いた状態で、アプリケーション・ナビゲータを右クリックし、「エクスポート」を選択します。
「エクスポート」ダイアログで、「Service Busリソース」を選択し、「OK」をクリックします。
「Service Busリソースのエクスポート」ウィザードが表示されます。
「タイプ」ページで、「サーバー」を選択します。
「次へ」をクリックします。
選択したソースに含まれているリソースのリストが表示されます。
「エクスポート・レベル」フィールドで、「プロジェクト」を選択してプロジェクト全体をエクスポートするかまたは「リソース」を選択して個別のリソースをエクスポートします。
リソースのリストを展開し、エクスポートするリソースのみが選択されていることを確認します。
リソース・レベル・エクスポートの場合、「依存関係を含める」を選択して、選択したリソースが参照する追加のリソースをエクスポートします。チェック・ボックスをクリアして、選択したリソースのみをエクスポートします。
「サーバー」フィールドで、リソースのエクスポート先のサーバーのアプリケーション・サーバー接続を選択します。
ヒント:
接続先のサーバーが実行中でない場合、ウィンドウの下部にある「サーバーの起動」をクリックして起動します。
「セッション」フィールドで、インポートされるリソースと関連付けるセッションの名前を入力します。
Oracle Cloudサーバーにデプロイする場合、「クラウド・サーバーへのエクスポート」オプションが選択されていることを確認します。
「次へ」をクリックします。
クラウド以外のサーバーにエクスポートする場合は、次のとおり実行します。
リソースのリストを展開し、インポートするリソースのみが選択されていることを確認します。
従属リソースを自動的にインポートするには、「依存関係を含める」を選択します。
注意:
Oracle Cloudサーバーにエクスポートする場合、リソースのリストは表示されません。この手順はスキップできます。
インポートするリソースから保持する環境設定またはセキュリティ設定を選択します。
これらの設定の詳細は、「インポート時のセキュリティ構成の保持」およびJDeveloperが提供するオンライン・ヘルプを参照してください。
次の作業を実行し、セッションを構成します。
Oracle Service Busコンソールでセッションを作成してアクティブ化するには、「パブリッシュ後にセッションをアクティブ化」を選択し、セッションの説明を入力します。
インポートによって競合が発生した場合またはセッションをアクティブ化できない場合にセッションを廃棄するには、「アクティブ化に失敗した場合にセッションを破棄」を選択します。
注意:
Oracle Cloudサーバーへのデプロイ時にアクティベーションに失敗した場合、セッションは常に破棄されます。
構成ファイルを指定して環境値の更新に使用するには、「デプロイメント・カスタマイズ・ファイル」フィールドの横の「参照」をクリックし、使用するファイルに移動して選択します。
「終了」をクリックします。
選択したリソースが指定したサーバーにパブリッシュされます。
以前エクスポートした構成JARファイル、アーカイブされたZIPファイル、URLなど様々なソースからService Busをインポートできます。URLからリソースをインポートする場合、ファイル・システム、MDSリポジトリ、現在のアプリケーション、アプリケーション・サーバー、プロジェクト・ライブラリ、UDDIレジストリ、WSILソースなど、リソースの複数のソースを参照できます。使用可能なソースは、インポートするリソースのタイプによって異なります。
新しいService Busプロジェクトをインポートする場合、Service Busは、プロジェクト概要ファイルを生成し、すべての派生Service BusリソースをService Bus概要エディタの図に追加します。インポートによって既存のService Busプロジェクトが更新される場合、新しいリソースまたは更新されたワイヤリングによって概要図も更新されます。インポートするファイルに含まれているシステム・リソースは、「アプリケーション・リソース」パネルの「Service Busシステム・リソース」フォルダに追加されます。システム・リソースは、アプリケーション・フォルダの「システム」
フォルダにあります。
警告:
アーカイブされたZIPファイルをインポートするとき、ZIPファイルのXQueryリソースのファイル拡張子は、以前のバージョンのデフォルトの拡張子だった.xquery
ではなく.xqy
である必要があります。拡張子は、構成JARファイルをインポートするときに自動的に更新されます。
JDeveloperでリソースをインポートするには:
Service Busのインポート機能を使用すると、Service Busインスタンス、Service Busリソースを含むZIPファイルまたはService BusリソースがあるURLから以前エクスポートされた構成JARファイルからインポートできます。UDDIレジストリからのインポートおよびここへのパブリッシュも可能です。これは、「UDDIレジストリの操作」を参照してください。
警告:
エクスポートを実行する前に、エクスポートするすべてのリソースを必ず保存してください。インポートを実行する前に、インポート先のアプリケーションのすべてのファイルを必ず保存してください。
Oracle Service BusコンソールからService Busリソースをエクスポートするとき、Service Busは、後で異なるService BusインスタンスにインポートできるJARファイルを生成します。
コンソールで構成JARファイルにリソースをエクスポートするには:
注意:
前のバージョンからXQueryリソースを含む構成JARファイルをインポートすると、リソースのファイル拡張子は.xquery
から.xqy
に自動的に更新されます。前のバージョンのデフォルトの拡張子は.xquery
でした。
コンソールでJARファイルからリソースをインポートするには:
ZIPファイルをインポートするとき、ZIPファイル内の各ファイルは多くの場合はリソースであり、Service Busはファイル拡張子によって各ファイルのリソースの種類を識別します。各リソースにはService Busのデフォルトの拡張子がありますが、これらのリソースを記述する追加の拡張子がある場合、ZIPファイルをインポートするときにこれらの拡張子マッピングを定義できます。1つの拡張子は、1つのファイル・タイプにのみ関連付けることができます。
インポート・プロセス中、Service BusがそのZIPファイルの内容をスキャンし、リソースの種類を各ファイルに関連付けます。拡張子を持たないファイル、またはマップ内に定義されていない拡張子を持つファイルは「不明」とみなされ、自動的にロードの対象から外されます。拡張子を確認できたファイルでは、拡張子を省いたファイル名がリソースの名前になります。Zipファイルのフォルダ構造は、対象のプロジェクトまたはフォルダ内に再作成されます。
WSDLドキュメントやXMLスキーマなどのリソースでは、依存リソースのツリー全体を定義できます。一括ロード機能を使用すると、一連のリソースをまとめてアップロードでき、依存関係を手動で解決する必要がありません。
警告:
アーカイブされたZIPファイルをインポートするとき、ZIPファイルのXQueryリソースのファイル拡張子は、以前のバージョンのデフォルトの拡張子だった.xquery
ではなく.xqy
である必要があります。
コンソールでZIPファイルからリソースをインポートするには:
URLまたはファイル・システムから入手できるリソースのバルク・インポートを実行できます。バルク・インポートによって、WSDLドキュメントのようなルート・リソースとともに、それに従属する他のWSDLドキュメントやスキーマなどもインポートできます。依存関係マップは、自動的に解決されます。
ファイル名の横にある「警告」アイコンは、リソースの種類が不明であることを示します(拡張子を持たないファイル、またはマップ内に定義されていない拡張子を持つファイルは不明と見なされます)。ファイルの種類が不明なファイルはインポートできません。
コンソールでURLからリソースをインポートするには:
ここでは、サーバーに接続していないときにService Bus構成をエクスポートする方法を説明します。構成JARファイルにプロジェクト全体または個別のリソースをエクスポートし、新しいService Bus環境またはインスタンスにインポートできます。
Service Bus構成をオフライン・モードでエクスポートするには、コマンドライン、AntタスクまたはWebLogic Scripting Tool (WLST)を使用します。いずれの方法でも、エクスポートの実行方法と生成される構成JARファイルに含めるファイル、フォルダ、プロジェクトまたはシステム・リソースを定義するために、エクスポート設定ファイルが使用されます。
エクスポート・ツールは2フェーズ(ロードとエクスポート)で実行され、各フェーズをエクスポート設定ファイルで構成されます。ロード・フェーズでは、エクスポート・ツールによって、ファイル・システムの走査、読み込むファイルの識別、対応するリソースへのファイル・コンテンツの変換および構成フレームワークへのファイルのインポートが行われます。
ロード・フェーズでは、次を構成できます。
ディレクトリ構造: JDeveloperの作業ディレクトリ構造に依存せずに、プロジェクト・ルート・ディレクトリ、システム・リソースを配置するディレクトリ、および含める特定のフォルダとファイルを指定できます。
ファイル拡張子: Service Busでは、リソース・タイプにそれぞれ固有のファイル拡張子(プロキシ・サービスには.proxy
、XSLTリソースには.xsl
および.xslt
、など)が使用されます。拡張子はそれぞれ1つのService Busリソース・タイプにのみマップできますが、リソース・タイプは複数のファイル拡張子にマップできます。各Service Busリソースに、変更できないデフォルトの拡張子が1つ含まれますが、リソースに対してカスタムのファイル拡張子を指定することもできます。エクスポート・ツールでカスタム拡張子を含むファイルが認識されるようにするには、エクスポート設定ファイルにファイル拡張子のマッピングを定義する必要があります。
包含ルールおよび除外ルール: プロジェクトまたはシステム・リソース・フォルダを指定すると、エクスポートにすべてのService Busファイルが含まれます。包含文および除外文を使用すると、いずれのファイルを含めるかについて詳細に制御することができます。たとえば、特定のバージョニング・システムでは、プロジェクト・フォルダ内に追加のシステム・フォルダおよびファイルが作成されます。これらのファイルはService Busリソースとして認識される可能性があり、エクスポートから特に除外しないかぎり、エクスポートされるJARファイルに含まれます。
Service Bus構成はプロジェクト・レベルまたはリソース・レベルでエクスポートでき、構成の複数のエクスポートを1つのエクスポート設定ファイルに定義できます。エクスポート・フェーズでは、次を構成できます。
プロジェクト・レベルのエクスポート: プロジェクト・レベルでは、含めるプロジェクトの名前およびシステム・リソースを含めるかどうかを指定します。プロジェクト名を指定しなかった場合は、生成されるエクスポート・ファイルに、ロード・フェーズで追加したすべてのプロジェクトが含まれます。
注意:
ロード・フェーズの詳細包含が定義されている場合にはプロジェクト・レベルでエクスポートしないでください。これを行うと、含まれていないすべてのリソースが削除される可能性があります。
リソース・レベルのエクスポート: リソース・レベルでは、前述のように包含ルールおよび除外ルールを使用して、エクスポートするリソースを指定します。依存性を含めるかどうかを指定することもできます。エクスポート設定ファイルにリソースを指定しなかった場合は、すべてのリソースがエクスポートされます。
複数の構成JARファイル: エクスポート設定ファイルに複数のconfigjar
要素を定義して、それぞれで特定のファイルへのエクスポートを定義できます。同じ名前を持つ既存のファイルを上書きするかどうかを指定することもできます。
Service Bus構成をオフライン・モードでエクスポートする前に、次の手順を実行します。
リソースのエクスポートを始める前に、次のものがインストールされていることを確認します。
Service Bus 12.2.1
Java 1.8.x
構成をエクスポートする際には、次のことに注意してください。
スクリプト内のリソースJAR名に正しいバージョン番号が含まれている。
JDeveloperのワーク・ファイルが読取り専用である場合、出力またはワークスペース・ログ・ファイルにスタック・トレースの例外が発生する可能性があります。
終了値で0が表示される場合、エクスポートが完了したことを意味します。
注意:
カスタム・トランスポートを開発した場合は、オフラインでトランスポートのプラグイン・ファイルを作成し、そのファイルをService BusインストールのOSB_ORACLE_HOME
/config/plugins
に保存する必要があります。
オフライン・エクスポートの実行時に、コマンド行引数を使用するかわりに、エクスポート・ツールによって、作成した設定ファイルが参照されます。このファイルはXMLフォーマットであり、エクスポート・ツールがファイルの検出およびロードを行って構成JARファイルを作成するために必要なすべての情報を含みます。ファイル形式とスキーマ定義の詳細および使用例は、「エクスポート設定ファイルの形式、サンプルおよびスキーマ」を参照してください。
エクスポートを実行する前に、setenv.*
ファイルを実行して、ツールで使用する環境変数を設定する必要があります。このファイルは、実行する前に、JVMのヒープ・サイズの変更、CLASSPATHへのJARファイルの追加、またはシステム・プロパティの追加を行ってカスタマイズできます。エクスポートに含まれ、カスタムJARファイルが必要なJARリソースがある場合は、setenv.*
ファイルにそれらのカスタムJARファイルを追加します。
ファイルをカスタマイズしたら、OSB_ORACLE_HOME
/tools/configjar
に移動して、次のコマンドを実行します。
Windowsの場合:
setenv.bat
UNIXまたはLinuxの場合:
source setenv.sh
次の各項では、Service Bus構成をオフラインでエクスポートするためのスクリプトおよびコマンド行オプションについて説明します。
コマンド行からのエクスポートによって、エクスポート設定ファイルで指定したフォルダおよびファイルからService Bus構成JARファイルが生成されます。
構文
Windowsの場合は、次の構文を使用します。
configjar.bat -settingsfile <FILE_NAME> [-debug -help]
UNIXまたはLinuxの場合は、次の構文を使用します。
./configjar.sh -settingsfile <FILE_NAME> [-debug -help]
パラメータ
コマンド行では、次のパラメータを使用できます。
-settingsfile
FILE_NAME
: エクスポート設定ファイルのパスおよびファイル名を入力します。このパラメータは必須です。
-debug
: エクスポート・プロセスのデバッグ・ロギングを有効にするには、コマンドにこのオプション・パラメータを含めます。このフラグを含めないと、デバッグ・ロギングは実行されません。
-help
: 使用方法を表示するには、コマンドにこのオプション・パラメータを含めます。
Apache Antビルド・ファイルを使用してService Bus構成をオフライン・モードでエクスポートできます。Antを使用したエクスポートによって、エクスポート設定ファイルで指定したフォルダおよびファイルから構成JARファイルが生成されます。
サンプルのビルド・ファイル
次にサンプルのAntビルド・ファイルを示します。
<project name="ConfigExport" basedir="."> <target name="run"> <ant antfile="configjar-ant.xml" target="run"> <property name="settingsFile" value="/osb/config/exportProps1.xml"/> </ant> <ant antfile="configjar-ant.xml" target="run"> <property name="settingsFile" value="/osb/config/exportProps2.xml"/> </ant> </target> </project>
注意:
これは単なるサンプル・スクリプトです。独自のスクリプトの基盤としてこれを使用できますが、パスとファイル名が現在のインストールと一致するか必ず確認してください。
パラメータ
Antでは、次のパラメータがサポートされます。
settingsFile
: エクスポート設定ファイルのパスおよびファイル名。このパラメータは必須です。
debug
: エクスポート・プロセスのデバッグ・ロギングを有効にするには、このパラメータをtrueに、そうでない場合はfalseに設定します。このパラメータは省略可能で、デフォルトでfalseに設定されます。
failonerror
: エクスポート・ツールが失敗した場合にタスクを失敗させるには、このパラメータをtrueに設定します。これをfalseに設定すると、エクスポート・ツールが失敗してもタスクは失敗しません。このパラメータは省略可能で、デフォルトでtrueに設定されます。
errorProperty
: 指定した場合、実行が失敗するとこのパラメータはtrueに設定されます。このパラメータは省略可能で、デフォルトで指定されません。
WebLogic Scripting Tool (WLST)を使用してService Bus構成ファイルをオフライン・モードでエクスポートできます。WSLTを使用したエクスポートによって、エクスポート設定ファイルで指定したフォルダおよびファイルからService Bus構成JARファイルが生成されます。
サンプルのWSLTスクリプト
次にサンプルのWLSTスクリプトを示します。
from com.bea.alsb.tools.configjar import ConfigJar args = [] args.append('-settings') args.append('/osb/config/exportProps2.xml') ConfigJar.main(args)
詳細は、『Oracle Fusion Middleware Oracle WebLogic Scripting Tool』を参照してください。
パラメータ
次のパラメータを使用できます。
-settingsfile
FILE_NAME
: エクスポート設定ファイルのパスおよびファイル名を入力します。相対パスを使用した場合、パスはエクスポート・ツールが存在するディレクトリ(OSB_ORACLE_HOME
/tools/configjar
)に解決されます。このパラメータは必須です。
-debug
: エクスポート・プロセスのデバッグ・ロギングを有効にするには、コマンドにこのオプション・パラメータを含めます。このフラグを含めないと、デバッグ・ロギングは実行されません。
-help
: 使用方法を表示するには、コマンドにこのオプション・パラメータを含めます。
エクスポート設定を構成することで、エクスポートされる構成JARファイルに含めるファイルおよびフォルダを指定できます。これは、プロジェクト・レベルおよびリソース・レベルで行うことができ、一連の除外ルールおよび包含ルールを使用することでより詳細なレベルで制御できます。含めたファイルおよびフォルダによって、エクスポート用のコンテンツ・セットが構成されます。
エクスポート設定ファイルには、sourceおよびconfigjarの2つの主なセクションがあります。source
要素は、エクスポート・ツールによって選択されるファイルを定義し、configjar
要素は、選択されたファイルのうちいずれのファイルを生成される構成JARファイルに含めるかを定義します。
source
要素では、エクスポートするプロジェクトのプロジェクト・ルート・ディレクトリ、エクスポートするシステム・リソースの場所および包含または除外する具体的なファイルを指定します。また、Service Busリソース・タイプにカスタムのファイル拡張子をマップすると、エクスポート・ツールでこれらの拡張子が有効なService Bus構成要素として認識されます。
注意:
プロジェクト・ルートまたはリソース・フォルダに相対ディレクトリを指定すると、そのパスはエクスポート設定ファイルがあるディレクトリに対して相対的に解決されます。
configjar
要素では、生成されるJARファイルに名前を付け、プロジェクト・レベルおよびリソース・レベルで(プロジェクト・レベルにシステム・リソースを含めるか、リソース・レベルに依存性を含めるかなどの)ルールを指定します。複数のconfigjar
要素を定義でき、定義したconfigjar
要素ごとにJARファイルが生成されます。
構成JARファイルの命名に関するガイドラインおよび制約事項は、「Service Busコンポーネントのネーミング・ガイドライン」を参照してください。
Service Busに適用される命名の検証ルールと同じルールが、コンテンツ・セットに含まれるファイルにも適用されます。これらのルールに準拠しないファイルおよびフォルダはすべて、コンテンツ・セットから除外されます。
フォルダおよびファイルは有効な名前にする必要があります。
ファイル拡張子はService Busリソースにマップする必要があります。
2つの異なるファイルはcom.bea.wli.config.Ref
の同じインスタンスにマップできません(詳細は、「Oracle Service Bus Java APIリファレンス」を参照してください)。
包含ルールおよび除外ルールを使用する場合、ファイルは1つ以上の包含ルールに一致するとともに、コンテンツ・セットに含まれるいずれの除外ルールにも一致しない必要があります。ファイルを除外するには、そのファイルが1つ以上の除外ルールに一致するとともに、いずれの包含ルールにも一致しない必要があります。包含ルールおよび除外ルールが定義されていない場合は、自動的にすべてのファイルが含まれます。
包含ルールおよび除外ルールは、同じパターンに基づいています。
パターンは、プロジェクト名で始まるファイルのサブパスに適用されます。完全なファイル・パスには適用されません。
アスタリスク(*)は、任意の文字を表すワイルドカードです。これは、ファイル名またはディレクトリ名の一部として使用できます。
2つのアスタリスク(**)のみが使用されている場合、それは0または複数のディレクトリおよびファイルを表します。
この項では、Service Bus構成のエクスポート方法を示すエクスポート設定ファイルのサンプルを、ロード・フェーズおよびエクスポート・フェーズのルールを様々に組み合せて示します。
例 - JDeveloper以外のファイル構造からのエクスポート
次のサンプルは、Mavenなどの構造からプロジェクトおよびその関連システム・リソースをパッケージ化する方法を示しています。このサンプルでは、2つの構成JARファイルが出力されます。1つ目はシステム・リソースを含まないプロジェクト・レベルの構成で、2つ目はJNDIおよびSMTPリソースを含むリソース・レベルの構成です。
<configjarSettings xmlns="http://www.bea.com/alsb/tools/configjar/config"> <source> <project dir="/scratch/modulePO/src/main/resources/PO"/> <system dir="/scratch/modulePO/src/main/system"/> </source> <configjar jar="/scratch/modulePO/sbconfig-po.jar"> <projectLevel includeSystem="false"/> </configjar> <configjar jar="/scratch/modulePO/sbconfig-po-system.jar"> <resourceLevel> <resources> <include name="**/*.jndi"/> <include name="**/*.smtp"/> </resources> </resourceLevel> </configjar> </configjarSettings>
例- プロジェクト・レベルでのエクスポート
次のサンプルは、様々な場所のシステム・リソースをパッケージ化してプロジェクトによってエクスポートする方法を示しています。構成をインポートする際に、不要なリソースを削除できます。
<configjarSettings xmlns="http://www.bea.com/alsb/tools/configjar/config"> <source> <system dir="/scratch/moduleX/src/main/system"/> <system dir="/scratch/moduleY/src/main/system"/> <system dir="/scratch/moduleZ/src/main/system"/> </source> <configjar jar="/scratch/sbconfig-systems.jar"> <projectLevel includeSystem="true"/> </configjar> </configjarSettings>
例 - ロード・フェーズでのファイル拡張子の除外
このサンプルは、source
要素に除外ルールを定義することで、サービス・リソース以外のすべてのリソースを構成JARファイルにパッケージ化する方法を示しています。これを次の例「エクスポート・フェーズでのファイル拡張子の除外」と比較します。パフォーマンス上の理由から、ロード・フェーズ中にファイルを除外することが推奨されます。
<configjarSettings xmlns="http://www.bea.com/alsb/tools/configjar/config"> <source> <project dir="/scratch/jdeveloper/mywork/projectX"/> <project dir="/scratch/jdeveloper/mywork/projectY"/> <fileset> <exclude name="**/*.proxy"/> <exclude name="**/*.biz"/> <exclude name="**/*.flow"/> </fileset> </source> <configjar jar="/scratch/jdeveloper/mywork/sbconfig-resources.jar"> <resourceLevel/> </configjar> </configjarSettings>
例 - エクスポート・フェーズでのファイル拡張子の除外
次のサンプルは、configjar
要素に除外ルールを定義することで、サービス・リソース以外のすべてのリソースを構成JARファイルにパッケージ化する方法を示しています。
<configjarSettings xmlns="http://www.bea.com/alsb/tools/configjar/config"> <source> <project dir="/scratch/jdeveloper/mywork/projectX"/> <project dir="/scratch/jdeveloper/mywork/projectY"/> </source> <configjar jar="/scratch/jdeveloper/mywork/sbconfig-resources.jar"> <resourceLevel> <fileset> <exclude name="**/*.proxy"/> <exclude name="**/*.biz"/> <exclude name="**/*.flow"/> </fileset> </resourceLevel> </configjar> </configjarSettings>
例 - ファイル拡張子のマッピング
次の例は、追加のファイル拡張子を特定のService Busリソース・タイプ(ここでは、XQueryおよびXMLタイプ)にマップする方法を示しています。
<configjarSettings xmlns="http://www.bea.com/alsb/tools/configjar/config"> <source> <project dir="/scratch/jdeveloper/mywork/projectX"/> <project dir="/scratch/jdeveloper/mywork/projectY"/> <extensionMapping> <mapping type="Xquery" extensions="xquery,xq,xqy"/> <mapping type="XML" extensions="toplink"/> </extensionMapping> </source> <configjar jar="/scratch/jdeveloper/mywork/sbconfig.jar"> <resourceLevel/> </configjar> </configjarSettings>
注意:
ファイル拡張子をマップする際、タイプ属性がcom.bea.wli.config.Ref
に定義されているService Busリソース・タイプに一致している必要があります。詳細は、「Oracle Service Bus Java APIリファレンス」を参照してください。
次に、エクスポート設定XMLファイルのスキーマ定義を示します。読みやすくするために、テキストの一部がラップされています。
<?xml version="1.0"?> <xs:schema targetNamespace="http://www.bea.com/alsb/tools/configjar/config" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.bea.com/alsb/tools/configjar/config"> <xs:element name="configjarSettings" type="tns:configjarSettings"/> <xs:complexType name="configjarSettings"> <xs:sequence> <xs:element name="source" type="tns:source" /> <xs:element name="configjar" type="tns:configjar" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="source"> <xs:sequence> <xs:choice minOccurs="1" maxOccurs="unbounded"> <xs:element name="project"> <xs:complexType> <xs:attribute name="dir" type="xs:string" use="required"/> </xs:complexType> </xs:element> <xs:element name="system"> <xs:complexType> <xs:attribute name="dir" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:choice> <xs:element name="extensionMapping" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="mapping" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="type" type="xs:string" use="required"/> <xs:attribute name="extensions" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="fileset" type="tns:contentSet" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="configjar"> <xs:sequence> <xs:choice minOccurs="1" maxOccurs="1"> <xs:element name="projectLevel" type="tns:projectLevel"/> <xs:element name="resourceLevel" type="tns:resourceLevel"/> </xs:choice> </xs:sequence> <xs:attribute name="jar" type="xs:string" use="required"/> <xs:attribute name="overwrite" type="xs:boolean" use="optional" default="true"/> </xs:complexType> <xs:complexType name="projectLevel"> <xs:sequence> <xs:element name="project" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="includeSystem" type="xs:boolean" use="optional" default="false"/> </xs:complexType> <xs:complexType name="resourceLevel"> <xs:sequence> <xs:element name="resources" type="tns:contentSet" minOccurs="0"/> </xs:sequence> <xs:attribute name="includeDependencies" type="xs:boolean" use="optional" default="true"/> </xs:complexType> <xs:complexType name="contentSet"> <xs:sequence> <xs:element name="include" type="tns:contentSetPattern" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="exclude" type="tns:contentSetPattern" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="contentSetPattern"> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> </xs:schema>