repos_copy の使用

repos_copy は、統合コンポーネントと InterChange Server リポジトリーとを連動させるためのコマンド行インターフェースです。 repos_copy を使用すると、パッケージ (統合コンポーネントのパッケージ) をサーバー・リポジトリーに配置することも、リポジトリーからパッケージにコンポーネントをエクスポートすることもできます。

Repos_copy は、以前のバージョンから現行リリースへのコンポーネントのマイグレーションでも使用されます。古い形式のコンポーネントで作業している場合は、最初にご使用のコンポーネントをマイグレーションしてください。Repos_copy は、「-ar, -arp, -vr, -vp -xCompilePackage」をサポートせず、「-o」の場合に制限があります。また、古い形式のコンポーネントで作業する場合はすべての -xCompile オプションをサポートしません。

repos_copy を実行するには、コマンドをシェル・プロンプト (UNIX) または MS-DOS コマンド・プロンプト・ウィンドウ (Windows) で入力します。このユーティリティーが 格納されている ProductDir/bin ディレクトリーは、インストール結果としてのパスの中になければなりません。

注:
repos_copy 出力ファイルには、関係およびコネクター・アプリケーションのパスワードが、暗号化された状態で入っています。 出力ファイルの編集およびパスワードの変更を試みても、repos_copy ではその処理ができません。
注:
Repos_copy は BiDi では使用不可です。repos_copy を使用して CWBF 形式ではない BiDi データを含むリポジトリーを復元しようとすると、データが不整合の状態になります。BiDi の詳細については、「テクニカル入門 (IBM WebSphere InterChange Server)」および「Business Object Development Guide」を参照してください。
要確認:
repos_copy でリポジトリーにコンポーネントを配置した場合、そのコンポーネントの配置先となるのはリポジトリーのみ です。ビジネス・オブジェクト定義のメモリー内のテーブルには、配置されません。例えば、コネクターは始動時にビジネス・オブジェクト定義をリポジトリーからメモリー・スペースにロードします。ビジネス・オブジェクト定義をリポジトリーに配置して更新したときは、コネクター・エージェントを再始動する必要があります。再始動によって、変更済みのビジネス・オブジェクト定義がメモリー内にロードされます。そのため、最近配置されたコンポーネントをロードする場合、InterChange Server、およびコネクターの代わりに定義をメモリーにロードするコンポーネントを停止してから、再始動することが必要です。

このセクションの内容は次のとおりです。

システムのバックアップの詳細については、「システム管理ガイド」を参照してください。

repos_copy の構文

repos_copy とその引数のオプションについての説明、オプションの大文字小文字の正しい使用法、およびオプションとその引き数の間に間隔を空けないといった点については、表 20に説明されています。この構文は、必要なオプションの集合が中括弧 ({}) の間にあるオプションで表されていることを示しています。-u-p-i-o、または -s のいずれかのオプションをコマンド行に指定しないと、オプションの入力を促すプロンプトが repos_copy によって出されます。オプションの入力を促されたときに指定しないと、repos_copy は実行されません。大括弧 ([]) で囲まれたオプションの指定は任意です。

注:
リリース 4.2 ではいくつかの引き数が新しく追加されており、前のリリースの一部の引き数が除去されています。これらの引き数のリストについては、リリース 4.2 の新しい引き数および リリース 4.2 で除去された引き数を参照してください。
repos_copy [-sserverName][-uusername][-ppassword] 
 {-i[filename1][-rrelationshipName[relationshipName2]][[-k][-ai|-ar|-arp]
 [-xcompilePackage][-vp|-vr]}
 {-o[outfilename[[-fEntityFile][-eEntityType:Entity1[+EntityType:Entity2][+...]]
 [-deep][-summary]}
 {[-d]|[-doEntityType:Entity[+EntityType:Entity2][+...]|
 [-dfoEntityType:Entity[+EntityType:Entity2][+...]}
 {-v}
 {-vr}
 {[-xCompileAll]|[-xCompileAllCollabs]|[-xCompileAllMaps]|
 [-xCompileCollab:collabTemplateName[+collabTemplateName][+...]]|
 [-xCompileMap:nativeMapName[+nativeMapName][+...]]}
 


表 20. repos_copy コマンド・オプション
オプション 説明
-ai

パッケージの配置中に検出された重複オブジェクト (ビジネス・オブジェクト、マップ、関係、コラボレーション・テンプレート、コラボレーション・オブジェクト、およびコネクター) は無視され、ロードされません。

-ar

パッケージの配置中に検出された重複オブジェクト (ビジネス・オブジェクト、マップ、関係、コラボレーション・テンプレート、コラボレーション・オブジェクト、およびコネクター) は置き換えられます。

注:
-ar オプションは、リリース 4.2.0 以降でのみ有効です。
-arp

これは、-ar オプションの対話型バージョンです。 パッケージ内にある配置対象のコンポーネントがリポジトリーに既に存在している場合、コンポーネントを無視するかそれとも置き換えるかを尋ねるプロンプトが表示されます。

注:
-arp オプションは、リリース 4.2.0 以降でのみ有効です。
-d

リポジトリー内のコンポーネント (ただし状態データを除く) を削除します。リポジトリーからコンポーネントをすべて削除する場合、このオプションを使用します。

-deep

すべての従属コンポーネントを含めたい場合には、-e オプションとともに使用します。-deep オプションを省略すると、-e オプションで指定されたコンポーネントのみが含まれます。

-dfoEntityType:Entity[+EntityType:Entity2]

このオプションは、コンポーネントの参照がそのコンポーネントに依存する場合でもコンポーネントを強制削除する点以外は、-do オプションと同じです。このオプションは、デザイン・モードで稼働しているサーバーのリポジトリーでのみ有効です。実動モードで稼働しているサーバーでは、未解決の依存関係および参照が許可されません。

-doEntityType:Entity[+EntityType:Entity2]

リポジトリーから削除するエンティティーを指定します。エンティティー・タイプ、およびキーワードのリストについては、表 21 を参照してください。オブジェクトが指示対象 (そのオブジェクトに依存する他のコンポーネント) を持たない場合は、削除が行われます。オブジェクトが指示対象を持つ場合は、削除に失敗し、メッセージがユーザーに表示されます。振る舞いはデザイン・モードでも実動モードでも同じです。サーバーをデザイン・モードまたは実動モードで始動する方法については、「システム・インプリメンテーション・ガイド」を参照してください。

-eEntityType:Entity1[+EntityType:Entity2...]

1 回以上参照された第 1 クラス・エンティティーをエクスポートします。 第 1 クラス・エンティティーとは、ビジネス・オブジェクト、コラボレーション・オブジェクト、コラボレーション・テンプレート、コネクター、データベース接続プール、マップ、または関係です。ロードまたはアンロードするエンティティーは、表 21 のいずれかのキーワードで指定します。

EntityType キーワードの後ろにコロン (:)、そしてエンティティー名が続きます。複数のエンティティーを指定する場合は、「+」を使用します。-o オプションと組み合わせると、-e オプションは出力ファイルにデータをアンロードします。

-fentityFile

このオプションは、-e オプションと似ていますが、インポート対象のエンティティーの名前をファイルに保存する点は異なります。ファイルには、エンティティーへの参照が含まれていなければなりません。また、次の条件が伴います。

  • エンティティー名は、適切なエンティティー・タイプのキーワードの後に続かなければなりません。エンティティー・タイプとそれらのキーワードについては、表 21 にリストしています。
  • エンティティー・タイプは、コロンでエンティティー名から区切る必要があります。
  • 各エンティティー参照を区切る改行が必要です。

このオプションを -o オプションと組み合わせることで、コンポーネントをパッケージにエクスポートできます。

-ifilename

指定したパッケージ・ファイルをリポジトリーに配置します。入力ファイル名の値を省略すると、対話式プロンプトが表示され、入力ファイルの名前を入力するように要求されます。ファイルは、XML 形式のオブジェクトを含む .jar ファイル、または 4.2.0 よりも前のリリースのテキスト形式のファイルにすることができます。

repos_copy または System Manager で作成された .jar ファイルは、特定の構造を持ちます。以降そのようなファイルのインポートに成功するには、この特定の構造を維持する必要があります。したがって、入力ファイルを手動で変更することのないようにしてください。

-k

ロード中のパッケージ・ファイル内に Mercator マップが検出されたときに repos_copy のデフォルトの動作をオーバーライドします。デフォルトでは、repos_copy は Mercator マップを検出すると終了します。-k オプションを使用すると、repos_copy は、パッケージ・ファイル内の Mercator マップをスキップして、配置処理を続行します。

-mode

サーバーのモードを戻します。InterChange Server モードの詳細については、「WebSphere InterChange Server インプリメンテーション・ガイド」を参照してください。

-ncencoding

4.2.0 よりも前のリリースからテキスト・ベースのリポジトリー・ファイルをインポートする場合、文字エンコード方式を指定します。

データを確実にエンコードするには、テキスト・ベースのリポジトリーとは矛盾するエンコード方式を使用する必要があります。方式を誤ると、データが破壊される可能性があります。有効な文字エンコード方式のリストについては、String クラスに関する Java の資料を参照してください。

-ooutfilename

リポジトリー内のコンポーネントを指定されたパッケージ・ファイルにエクスポートします。パッケージ・ファイル名の指定は必須です。ファイルが既に存在する場合、そのファイルを上書きするかどうかを尋ねるプロンプトが出されます。出力ファイルは、.jar 形式であり、XML 形式のコンポーネント定義だけでなく、それらのコンポーネント定義を持ったコンポーネント用の .java ソース・ファイルも含まれています。このオプションを -i オプション または -d オプションと組み合わせることはできません。テキスト形式でコンポーネントをエクスポートすることもできません。この点は、以前のリリースと同様です。repos_copy では、.jar 拡張子が付加されません。そのため、出力ファイル名を指定するときに拡張子を指定する必要があります。

-ppassword

-u オプションを使って指定したユーザー名用に、パスワードを指定します。パスワードは、大文字小文字が区別されます。このオプションを指定しないと、パスワードの入力を促すプロンプトが出されます。

-r*

このオプションは -r オプションに似ています。このオプションを使用すると、関係定義をインポートすることができます。ただし、それらの関係定義のいずれについてもランタイム・スキーマは作成されません。

-rrelationshipName1[:relationshipName2]

ランタイム・スキーマを作成せずに、指定された関係定義をリポジトリーにロードします。

-sserverName

repos_copy がインターフェースをとる InterChange Server インスタンスの名前を指定します。この名前では、大文字と小文字が区別されます。サーバー名が指定されていない場合、このツールはサーバー名を要求するプロンプトを出します。

-summary

このオプションは、サーバー・リポジトリー内のコンポーネントのリストを出力します (コンポーネントは、出力データ内のコンポーネントとしてではなく「成果物」 として識別されます)。出力は XML 形式です。このオプションを -o オプションと組み合わせて使用することで、出力データをコンソールにではなくファイルに出力できます。

-uusername

InterChange Server にログインするユーザー名を指定します。ユーザー名が指定されていない場合は、ユーザー名を要求するプロンプトが出されます。

-v

repos_copy ユーティリティーが実行するプログラムのバージョン番号を出力します。

-vp

このオプションは、パッケージ・ファイルを検証します。サーバーは、リポジトリーと照合してパッケージを検証し、パッケージ内のコンポーネント間の依存関係が解決されていることを確認します。検証が正常に終了されない場合、欠落している依存関係のリストが出力されます。このオプションはリポジトリーを変更せず、パッケージ・ファイルを検証するのみです。-vp オプションを使用するときは、-i オプションも使用して検証対象のパッケージ・ファイルを指定する必要があります。

-vr

このオプションは、リポジトリーを検証します。出力メッセージにより、検証が正常に終了したかどうかが示されます。検証が正常に終了されない場合、欠落している依存関係のリストが出力されます。

-wi

このオプションを指定すると、コラボレーション・テンプレートまたはマップのコンパイル中に発生した警告は表示されません。表示されるのは、コンパイル中に発生したエラーのみです。これにより、例えば、推奨されないメソッドについては警告を無視できるようになります。

-xCompileAll

リポジトリー内のコラボレーション・テンプレートおよびマップをすべてコンパイルします。リリース 4.2 以降を使用して作成されたコラボレーション・テンプレート、およびマップに対してのみ有効です。

-xCompileAllCollabs

リポジトリー内のすべてのコラボレーション・テンプレートをコンパイルします。リリース 4.2 以降を使用して 作成されたテンプレートの場合にのみ有効です。

-xCompileAllMaps

リポジトリー内のすべてのマップをコンパイルします。リリース 4.2 以降を使用して 作成されたマップの場合にのみ有効です。

-xCompileCollab:collabTemplateName [+collabTemplateName]

リポジトリー内の指定のコラボレーション・テンプレートをコンパイルします。リリース 4.2 以降を使用して 作成されたテンプレートの場合にのみ有効です。

-xCompileMap:nativeMapName[+nativeMapName]

リポジトリー内の指定のマップをコンパイルします。リリース 4.2 以降を使用して 作成されたマップの場合にのみ有効です。

-xCompilePackage

このオプションを使用すると、サーバーに配置されたパッケージが自動的にコンパイルされます。実動モードのサーバーではパッケージがすべて自動的にコンパイルされるため、このオプションはデザイン・モードのサーバーにのみ適用されます。InterChange Server モードの詳細については、「システム・インプリメンテーション・ガイド」を参照してください。

注:
このオプションは、リリース 4.2 からのコンポーネントを配置する場合にのみ有効です。コンポーネントが 4.2 よりも前のリリースからものである場合は、このオプションが無視されます。
-xdi

InterChange Server モードの詳細については、「システム・インプリメンテーション・ガイド」を参照してください。

-xdn

InterChange Server モードの詳細については、「システム・インプリメンテーション・ガイド」を参照してください。

-xmsp

このオプションにより、メンバーシップとセキュリティー情報をインポートおよびエクスポートします。これにより、役割とセキュリティー・ポリシーを再作成せずにアップグレードすることができます。InterChange Server モードの詳細については、「システム・インプリメンテーション・ガイド」を参照してください。


表 21. さまざまなエンティティー・タイプ用のキーワード
エンティティー・タイプ キーワード
ビジネス・オブジェクト BusObj
コラボレーション・オブジェクト Collaboration
コラボレーション・テンプレート CollabTemplate
データベース接続プール ConnectionPool
コネクター Connector
マップ Map
関係 Relationship

リリース 4.2 の新しい引き数

以下のリストに、リリース 4.2 の repos copy で提供されている新しいオプションをすべて示します。

リリース 4.2 で除去された引き数

以下の表に、repros_copy 構文から除去された repos copy の引き数を示します。

表 22. repos copy から除去された引き数
除去された引き数 除去の理由
[-xCompileUpdated]
[-xCompileUpdatedCollabs]
[-xCompileUpdatedMaps]
サーバーがリリース 4.x より前の マップおよびテンプレートをサポートしていないため、コンパイル更新オプションはすべて除去されました。
[-xUncompress] 新しいパッケージ・フォーマットでは、定義がすべて Java アーカイブ (JAR) フォーマットに格納されます。専有の圧縮アルゴリズムは使用されません。そのため、-xUncompress 引き数は不要になりました。
[-eProject][-w] -e オプションのプロジェクト・タイプはサポートされなくなりました。現在、プロジェクトはサーバーによって管理されるのではなく、System Manager によってローカル・ファイルで管理されます。

repos_copy の使用シナリオ

このセクションでは、repos_copy を使用したときによく起こる状況を数多く取り上げて説明します。次のセクションで構成されています。

repos_copy コマンドの出力の例

引き数を指定しないで repos_copy を実行すると、コマンドおよびその引き数をプリントアウトすることができます。次の例は、引き数を指定せずに実行した repos_copy コマンドと、実行結果の出力を示しています。

C:¥>repos_copy
 No Command line arguments to ReposCopy were specified
 Usage: repos_copy {-o[outputFile] | -i[inputFile]}
     [-sserverName] [-uuserName] [-ppassword]
     [-ai] [-ar] [-arp] [-d] [-k] [-v]
     [-eentityType:entityName1[+entityType:entityName2] -deep]
     [-fentityFileName]
     [-rrelationshipName1[:relationshipName2] ]
     [-xCompileAll] [-xCompileAllCollabs] [-xCompileAllMaps]
     [-xCompileCollab:collabTemplateName[+collabTemplateName]]
     [-xCompileMap:nativeMapName[+nativeMapName]]
     [-xcompilepackage]
     [-mode]
     [-doentityType:entityName1[+entityType:entityName2] -deep]
     [-dfoentityType:entityName1[+entityType:entityName2] -deep]
     [-summary]
     [-vp]
     [-vr]
 

パッケージの妥当性検査の例

コンポーネントのパッケージは、サーバーに配置する前に検証することができます。実働モードのサーバーにパッケージを配置する場合は依存関係をすべて解決する必要があるため、パッケージを検証しておくことはきわめて有効です。依存関係がすべて解決されないと配置は失敗します。System Manager では、ユーザー・プロジェクトまたは統合コンポーネント・ライブラリーを検証しても、依存関係が満たされているかどうかの確認はできません。System Manager でパッケージを配置するときにパッケージが有効であるかどうかを確認するには、配置を試み、依存関係の解決に失敗した場合はエラー情報を使用するしかありません。パッケージ内にコンポーネントが数多く存在する場合、この処理にかなりの時間がかかる場合があります。

統合コンポーネント・ライブラリーの検証はできませんが、このライブラリーをパッケージ・ファイルにエクスポートしてから、repos_copy を使ってパッケージ・ファイルを検証することはできます。

repos_copy を使用してパッケージ・ファイルを検証するには、検証するパッケージ・ファイルの名前を -i オプションで指定します。-vp 引き数を使用して、パッケージ・ファイルの配置ではなく検証を行ってください。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull
 -iWebSphereICS420DEVServer.jar -vp
 

repos_copy によってパッケージの内容が検証され、依存関係を解消するかどうかを指示するメッセージが表示されます。

リポジトリーへのパッケージの配置の例

-i オプションを使用すると、コンポーネントのパッケージをリポジトリーに配置できます。パッケージ・ファイル名を指定しないと、パッケージ・ファイル名の入力を促すプロンプトが出されます。

次の例は、リポジトリーに配置するファイルが WebSphereICS420DEVServer.jar という名前であることを示しています。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull
 -iWebSphereICS420DEVServer.jar
 

重複するコンポーネントの例

リポジトリー内に同じ名前のコンポーネントが存在することがよくあるのと同様、パッケージ・ファイルにも同じ名前のコンポーネントが存在することがよくあります。この場合、リポジトリー内のコンポーネントをパッケージ・ファイル内のコンポーネントで置き換えるかどうかを決める必要があります。-ai オプションを使用すると、重複するコンポーネントをリポジトリーにロードしてはならないことが指定されます。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull
 -iCustomer.jar -ai
 

リポジトリー内の重複するコンポーネントをすべて置き換える場合は、次の例のように -ar オプションを使用します。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull
 -iCustomerSyncInterface.jar -ar
 

-arp オプションを使用すると、リポジトリー内の重複するコンポーネントを対話式に置き換えることができます。この対話式操作では、重複する個々のコンポーネントごとに コンポーネントの置き換えが必要かどうかを決めることができます。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull
 -iCustomerSyncInterface.jar -arp
 

注:
-ar オプションおよび -arp オプションは、リリース 4.2.0 以降でのみ有効です。

スキーマのコンパイルと作成の例

実行時にマップおよびコラボレーションを実行するには、リポジトリー内に定義されたマップ、およびコラボレーション・テンプレートをコンパイルする必要があります。実行時に関係を正しく機能させるには、関係のスキーマを作成しておく必要があります。

実動モードで実行されているサーバーにコンポーネントを配置すると、テンプレートがすべて自動的にコンパイルされ、関係スキーマがすべて作成されます。配置を成功させるには、マップおよびコラボレーション・テンプレートのコードが有効でなければなりません。また、関係定義の設定値に指定されたデータベースと InterChange Server がやり取りできることも必要です。

デザイン・モードで実行されているサーバーにコンポーネントを配置した場合、テンプレートは自動的にはコンパイルされませんが、関係スキーマは自動的に作成されます。テンプレートをコンパイルする目的に使用できるオプションが用意されている一方、関係スキーマが作成されないようにするためのオプションも用意されています。

次の例では、-xCompilePackage オプションを使用しています。-r オプションはどのような形式のものも使用していません。この結果、-i オプションで指定されたパッケージが配置されたときに、マップおよびコラボレーション・テンプレートが編集され、関係のスキーマが作成されます。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull
 -iWebSphereICS420DEVServer.jar -xCompilePackage
 

配置時に関係スキーマが作成されないようにしたい場合もあるでしょう。例えば、ある環境から別の環境にパッケージを配置しようとしている場合でも、新しい環境内でデータベース・リソースを使えるよう関係のプロパティーを変更しておかなかったなら、関連するプロパティーを変更し終えるまではスキーマが作成されないようにしたいでしょう。次の例では、-r* オプションを使用することにより、配置するパッケージの中にあるどの関係に対してもスキーマが作成されないようにしています。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull
 -iWebSphereICS420DEVServer.jar -xCompilePackage -r*
 

注:
-r オプションをアスタリスクを付けずに使用すれば、スキーマの作成が不要な関係の名前を個別指定することができます。例えば、次のようにします。
-rCustomer:Order と指定すると、Customer 関係および Order 関係についてはスキーマが作成されませんが、配置するパッケージの中の他の関係については依然としてスキーマが作成されます。
要確認:
配置後にマップおよびコラボレーション・テンプレートを編集するためのオプションは用意されていますが、repos_copy または System Manager のどちらを使用しても、配置時以外に関係のスキーマを作成する方法はありません。そのため、データベース設定値を変更する必要が生じたという理由から、配置中には関係のスキーマが作成されないようにしたい場合は、後で関係を再配置したうえで repos_copy で関係のスキーマが作成されるようにする必要があります。

リポジトリーの妥当性検査の例

サーバー・インスタンスが実動モードで始動するためには、リポジトリーが有効な状態でなければなりません。この理由は、リポジトリーが有効な状態でないと、最終的にサーバーがフローを処理できないためです。サーバー・リポジトリーを検証するには、以下の例のように -vr オプションを使用します。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -vr
 

サーバーが有効な場合は、次の出力がコンソールに書き込まれます。

Validation Succeeded.All Dependencies Resolved.
 

リポジトリーが無効な場合は、解決する必要のある依存関係のリストが出力されます。

リポジトリー内のコンポーネントのコンパイルの例

マップまたはコラボレーション・テンプレートをリポジトリーに配置しても、配置中にそれらをコンパイルしなかった場合は、後で repos_copy を使用してコンパイルすることができます。この方法は、多数のコンポーネントを配置するといった状況にある場合に有効です。配置に長い時間が費やされるうえ、コンパイルの操作がさらに長びく可能性があるためです。 配置が成功し終えるまで待ってからコンパイル作業を行えば、エラーが発生した場合に、さらに多くの時間を費やして環境を移行する危険性が減ります。

次に、-xCompileAll オプションを使用して、リポジトリー内のマップおよびコラボレーション・テンプレートをすべてコンパイルする例を示します。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull
 -xCompileAll
 

また、いずれかのタイプのコンポーネントをすべてコンパイルするオプションも用意されています。-xCompileAllCollabs を 使用するとコラボレーション・テンプレートがすべてコンパイルされ、-xCompileAllMaps を使用するとマップがすべてコンパイルされます。下の例は、-xCompileAllMaps の使用法を示しています。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull
 -xCompileAllMaps
 

1 つのタイプのコンポーネントを一括してコンパイルできるのと同様、コンポーネントを個別にコンパイルすることもできます。1 つのコンポーネントをコンパイルするには、-xCompileCollab オプションまたは -xCompileMap オプションを使用し、その後ろにコロンを付け、さらにコラボレーション・テンプレートまたはマップの名前を続けます。下の例では、CustomerSync という名前のコラボレーション・テンプレートがコンパイルされます。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull
 -xCompileCollab:CustomerSync
 

注:
コンパイル・オプションは、WebSphere InterChange Server バージョン 4.2.0 以降で有効です。

リポジトリーからのコンポーネントの削除の例

repos_copy には、リポジトリーからコンポーネントを削除するためのオプションがいくつか提供されています。リポジトリー全体、および個々のコンポーネントを削除できるだけでなく、個々のコンポーネントとそのコンポーネントを参照する任意のコンポーネントを削除することもできます。

注:
コンポーネントは非アクティブでなければ削除できません。1 つのコンポーネントを削除できない場合は、まずそのコンポーネントを非アクティブにする必要があります。そうしないと、削除操作は失敗します。コンポーネント、およびそのコンポーネントを参照するすべてのコンポーネントを削除する場合、1 つのコンポーネントだけでなく、そのコンポーネントを参照するすべてのコンポーネントも非アクティブにする必要があります。コンポーネントがアクティブ状態にあるときは、リポジトリー全体を削除することができます。 コンポーネントの状態を管理するには、System Monitor または Web ベースの System Monitor を使用します。System Monitor および Web ベースの System Monitor については、「システム管理ガイド」で説明しています。

リポジトリー全体の削除の例

リポジトリー内のコンポーネントをすべて削除するには、-d オプションを使用します。以下の例に、構文を示します。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin
 -pnull -d
 

repos_copy は、リポジトリー全体を削除したいかどうかを尋ねるプロンプトを表示します。

指示対象を持たないコンポーネントの削除例

あるコンポーネントが指示対象 (そのコンポーネントを参照していて、その参照先コンポーネントが存在しないとシステム内で自らの機能を実行できない他のコンポーネント) を持たない場合、ユーザーは個々のコンポーネントを削除することができます。

-do オプションを使用して、その後ろにエンティティー・タイプ、コロン、およびコンポーネントの名前を続けます。エンティティー・タイプは、表 21にリストされています。次の例のように入力すると、Customer という名前の関係が削除されます。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin
 -pnull -doRelationship:Customer
 

指示対象を持つコンポーネントの削除の例

あるコンポーネントが指示対象 (そのコンポーネントを参照していて、その参照先コンポーネントが存在しないとシステム内で自らの機能を実行できない他のコンポーネント) を持っている場合、サーバーがデザイン・モードで実行されているという条件を満たし、しかも所定のオプションを使用するという手段によってのみ、ユーザーがそのコンポーネントを削除することができます。

指示対象があるにかかわらず強制削除する方法

コンポーネントが指示対象を持つ場合、-do オプションを使用しても repos_copy ではそのコンポーネントの削除はできません。指示対象を持つコンポーネントを強制削除するには、-dfo オプションを使用する必要があります。 指示対象を持つコンポーネントを強制削除すると、リポジトリーが不整合な状態のままになります。そうしたリポジトリーの不整合は実動モードで実行されているサーバーでは許容されないという理由から、このオプションはデザイン・モードのサーバーでのみ有効となっています。以下の例は、Order ビジネス・オブジェクトがシステム内の他のコンポーネント (例えばマップや関係) の参照先となっているという事実にもかかわらず、-dfo オプションを使えばこの Order ビジネス・オブジェクトを削除できることを示しています。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull
 -dfoBusObj:Order
 

指示対象も削除する方法

指示対象を持つコンポーネントを削除するもう 1 つの方法は、-deep オプションを使用して指示対象も一緒に削除する方法です。この方法では、コンポーネントと、そのコンポーネントへの参照を持つすべてのコンポーネントが削除されます。以下の例は、-do オプションを使用して Customer ビジネス・オブジェクトを削除するときの -deep オプションの使い方を示しています。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull
 -doBusObj:Customer -deep
 

このオプションは、-dfo オプションとは異なり、実動モードで稼働しているサーバーでサポートされています。コンポーネントと一緒に指示対象を削除してもリポジトリーが有効なままであることが保証されているためです。ただし、-deep オプションを使用した場合は多数のコンポーネントが削除されるので、この点を念頭に置いてください。この操作の意義を認識したうえで、処置をとる必要があります。

パッケージへのコンポーネントのエクスポートの例

-o オプションを使用すると、リポジトリーからパッケージにコンポーネントをエクスポートできます。パッケージ・ファイル名の指定は必須です。以下の例のように -o オプションを単独で使用すると、リポジトリー全体がファイルにエクスポートされます。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull
 -oWebSphereICS420DEVServer.jar
 

エクスポートするコンポーネントを個別指定するには、-e オプションを使用します。-e オプションは、表 21 のリストにある適切な EntityType キーワードと一緒に使用する必要があります。また、キーワードの後ろにコンポーネントの名前を続ける必要があります。 プラス (+) 記号を付けてコンポーネントどうしを連結することで、複数のコンポーネントを指定することができます。次の例では、Customer ビジネス・オブジェクトおよび CustomerSync コラボレーション・テンプレートを CustomerSyncInterface.jar という名前のパッケージがエクスポートされます。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull
 -eBusObj:Customer+CollabTemplate:CustomerSync -oCustomerSyncInterface.jar
 

-deep オプションを使用すれば、コンポーネントの依存関係も一緒にエクスポートすることができます。前の例では、Customer ビジネス・オブジェクトをエクスポートしましたが、その子ビジネス・オブジェクトはエクスポートの対象にしませんでした。次の例では、-deep オプションを使用することで、CustomerSync_ClarifyToSAP コラボレーション・オブジェクトおよびそのすべての依存関係をエクスポートしています。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull
 -eCollaboration:CustomerSync_ClarifyToSAP -oCustomerSyncInterface.jar -deep
 

特定のコンポーネントをエクスポートする一方、エンティティー・タイプのキーワード、およびコンポーネント名をエクスポートしたくない場合は、エクスポート対象のコンポーネントをテキスト・ファイルに保存して、-f オプションを使用してください。この方法は、同じコンポーネントを頻繁にエクスポートしたい場合にきわめて有効です。次の例では、-f オプションを使用することで、Components.txt という名前のテキスト・ファイルにリストされたコンポーネントをロードしています。

C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull
 -fComponents.txt -oCustomerSyncInterface.jar -deep
 

ファイル Components.txt の内容は以下に示すように、パラグラフ・リターンの後ろに各エンティティー・タイプのキーワードと名前の組み合わせが続きます。

BusObj:Customer
 Relationship:Customer
 CollabTemplate:CustomerSync
 
注:
repos_copy および System Manager は、識別する「依存関係」 についてはあいにく一致していません。repos_copy を使用してコンポーネントの削除を試みても、その削除対象コンポーネントに依存するコンポーネントが存在する場合、参照元コンポーネントが依存関係としてリストされます。ただし、System Manager でコンポーネントを右クリックして、コンテキスト・メニューから「依存関係の表示」を選択すると、選択されたコンポーネントが依存しているコンポーネントが、このツールによりリストされます。

リポジトリー内のコンポーネント・リストの出力例

repos_copy を実行してリポジトリー内のコンポーネントのリストを出力する場合には、-summary 引き数を使用してください。出力は XML 形式で表されます。 コマンド行に表示すると特に便利であるというわけではありませんが、-summary 引き数と -o 引き数を組み合わせて使用することで、出力をファイルにリダイレクトして、そのファイルをブラウザーまたは XML エディターで表示することができます。この場合、コマンドの使用法は以下のようになります。

C:¥>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -summary -oRepository.xml
 

repos_copy ファイルのロケール

repos_copy ユーティリティーは、リポジトリーからメタデータを読み取って、それをユニコード (UTF-8 フォーマット) のファイルに出力します。repos_copy ユーティリティーはさらに、これらのファイルを読み取ってユニコードのリポジトリー (下層のリポジトリー・データベースに応じて UTF-8 または UCS-2) にロードします。

IBM WebSphere InterChange Server 4.1.1 以前のバージョン・レベルで作成された repos_copy ファイルは、コンポーネント・スケジュールの日付と時刻が完全な米国フォーマットである場合のみ、リポジトリーに正しくロードされます。(このことは通常は問題にはなりません。repos_copy ファイルはすべてのスケジュール日付を完全な米国フォーマットで保存します。一般に非互換性の発生する可能性があるのは、repos_copy ファイルが手動で編集された場合です。)

Copyright IBM Corp. 1997, 2004