このセクションでは、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
一般に、リポジトリー内には、パッケージ・ファイルのコンポーネントと同じ名前の コンポーネントが存在する場合があります。この場合、リポジトリー内のコンポーネント をパッケージ・ファイルのコンポーネントに置換するかどうか決定する必要があります。-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
実行時にマップとコラボレーションを実行するには、リポジトリーで定義されている マップとコラボレーション・テンプレートをコンパイルする必要があります。関係が 実行時に適切に機能するように、それらのスキーマを作成する必要があります。
実動モードで稼働しているサーバーにコンポーネントを配置する場合、すべての テンプレートが自動的にコンパイルされ、すべての関係スキーマが作成されます。配置が 成功するためには、マップおよびコラボレーション・テンプレートのコードが有効で、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*
メンバーシップおよびセキュリティー情報を 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
repos_copy には、リポジトリー内のコンポーネントを削除するためのオプションが いくつかあります。リポジトリー全体、個々のコンポーネント、および個々のコンポーネントと それらを参照するコンポーネントを削除できます。
-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 を実行してリポジトリー内のコンポーネントのリストを印刷する 場合、-summary 引き数を使用できます。出力は XML 形式で作成されます。これは、コマンド行で表示するには特に便利ではありませんが、-summary 引き数と -o 引き数 を結合して出力をファイルにリダイレクトすると、ファイルをブラウザーまたは XML エディター で表示できます。この場合のコマンドの使用法は、次のようになります。
C:¥>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -summary -oRepository.xml