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
 

repos_copy ファイルを System Manager から作成した場合、配置時プロパティーが自動的に組み込まれます。このファイルがサーバーにコピーされると、これらのプロパティーは、サーバーに送信される前にコンポーネントに適用されます。repos_copy ファイルがサーバーの内容をコピーして作成された場合、配置時プロパティーは組み込まれません。この場合は、-xdi オプションを使用して、配置時プロパティーを System Manager から配置記述子ファイルとしてエクスポートできます。配置時プロパティーがすでに repos_copy ファイルに存在する場合に -xdi オプションを使用すると、配置記述子ファイルに指定されたプロパティーで repos_copy ファイルに指定されたプロパティーがオーバーライドされます。

repos_copy コマンドの構文は、以下のとおりです。

reposcopy -sservername -uusername -ppassword -ireposcopyfile -xdideploymentdescriptorfile
 

repos_copy ファイルの配置構成は、以下のように -xdn オプションを使用すると、無視できます。

reposcopy -sservername -uusername -ppassword -ireposcopyfile -xdn
 
注:
-xdn オプションが -xdi オプションと共に使用されると、-xdi オプションは無視されます。

配置時の重複コンポーネントの処理

一般に、リポジトリー内には、パッケージ・ファイルのコンポーネントと同じ名前の コンポーネントが存在する場合があります。この場合、リポジトリー内のコンポーネント をパッケージ・ファイルのコンポーネントに置換するかどうか決定する必要があります。-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 によって関係スキーマを作成する必要があります。

リポジトリーとのメンバーシップのインポートおよびエクスポート

メンバーシップおよびセキュリティー情報を repos_copy からインポートおよびエクスポートするには、-xmsp オプションを使用します。次にその例を示します。

repos_copy -sServerName -uUserName -pPassword -oOutputfile -xmsp
 

リポジトリーの検証

サーバー・インスタンスを実動モードで開始するためには、リポジトリーが有効な 状態である必要があります。これは、サーバーがフローを正常に処理するためには、最終的にリポジトリーが有効である必要があるためです。サーバー・リポジトリーを検証するには、次の例のように -vr オプション を使用します。

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

サーバー・リポジトリーが有効である場合、repos_copy は次の出力をコンソールに書き込みます。

Validation Succeeded.All Dependencies Resolved.
 

リポジトリーが有効でない場合、repos_copy は解決する必要がある依存関係のリストを 印刷します。

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

マップまたはコラボレーション・テンプレートをリポジトリーに配置し、配置時に それらをコンパイルしなかった場合、repos_copy を使用して後でコンパイルできます。配置 には時間がかかるうえ、コンパイルによって操作にさらに時間がかかる場合があるため、コンポーネントが多数あるときにこの方法は便利です。配置が正常に完了するまで 待ってからコンパイル作業を行うと、エラーが発生したときに環境の移行に長時間を 費やすリスクが少なくなります。

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

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

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

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

いずれかのタイプのすべてのコンポーネントをコンパイルできるのと同様に、個々のコンポーネントをコンパイルすることもできます。-xCompileCollab または -xCompileMap オプション の後に、コロンとコラボレーション・テンプレートまたはマップの名前を指定して、単一コンポーネントをコンパイルします。次の例では、CustomerSync という コラボレーション・テンプレートがコンパイルされます。

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

注:
コンパイル・オプションは、WebSphere InterChange Server バージョン 4.2.0 以降 でのみ機能します。

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

repos_copy には、リポジトリー内のコンポーネントを削除するためのオプションが いくつかあります。リポジトリー全体、個々のコンポーネント、および個々のコンポーネントと それらを参照するコンポーネントを削除できます。

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

リポジトリー全体の削除

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

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

repos_copy から、リポジトリー全体を削除するかどうかを尋ねるプロンプトが出されます。

指示物のないコンポーネントの削除

コンポーネントに指示物 (そのコンポーネントを参照し、システム内で自身の機能を 実行するためにそのコンポーネントを必要とする他のコンポーネント) がない場合、個々のコンポーネントを削除できます。

-do オプションの後にエンティティー・タイプ、コロン、コンポーネントの 名前を指定します。エンティティー・タイプは、表 11 に リストされています。次の例では、Customer という関係が削除されます。

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

指示物を持つコンポーネントの削除

コンポーネントに指示物 (そのコンポーネントを参照し、システム内で自身の機能を 実行するためにそのコンポーネントを必要とする他のコンポーネント) がある場合、サーバーが設計モードで稼働していて、かつ特定のオプションを使用しないと コンポーネントを削除できません。

指示物がある場合の削除の強制

コンポーネントに指示物がある場合、repos_copy では -do オプション を使用してそのコンポーネントを削除できません。-dfo オプションを 使用して、指示物があるコンポーネントを強制的に削除する必要があります。指示物があるコンポーネントを強制的に削除するとリポジトリーが 矛盾した状態になり、実動モードで稼働しているサーバーではこの状態が許可されない ため、このオプションが機能するのは設計モードのサーバーのみになります。次の例 では、-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 オプションとは異なり、実動モードで稼働している サーバーでサポートされます。これは、コンポーネントとともに指示物を削除すると リポジトリーの有効状態が保たれるためです。ただし、この結果として多数のコンポーネント が削除される場合があることに留意してください。このオプションを使用する際には、このアクションの影響を考慮してください。

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

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

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

-e オプションを使用して、エクスポートする個々のコンポーネントを 指定できます。-e オプションを使用する際には、表 11 に リストされている適切な 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 を使用してコンポーネントの削除を試行するときに、そのコンポーネントに 依存するコンポーネントがある場合、repos_copy はそれらの参照コンポーネントを 依存関係としてリストします。ただし、System Manager でコンポーネントを右マウス・ボタンでクリック し、コンテキスト・メニューから「依存関係を表示」を選択すると、ツールは選択されたコンポーネントが依存するコンポーネントをリストします。

リポジトリー内のコンポーネントのリストの印刷

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

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

Copyright IBM Corp. 1997, 2004