repos_copy は、インテグレーション・コンポーネントと InterChange Server リポジトリーとを連動させるためのコマンド行インターフェースです。repos_copy を使用すると、パッケージ (インテグレーション・コンポーネントのコレクション) をサーバー・リポジトリーに配置することも、リポジトリーからパッケージにコンポーネントをエクスポートすることもできます。
repos_copy は、コンポーネントを古いバージョンから最新のリリースに移行する際にも使用されます。 古い形式のコンポーネントを使用する場合は、最初に、ご使用のコンポーネントを移行します。詳細については、Windows、Linux、または OS/400 および i5/OS 用の「WebSphere Business Integration Server Express インストール・ガイド」を参照してください。 repos_copy では、「-ar、-arp、-vr、-vp -xCompilePackage」はサポートされません。また、古い形式のコンポーネントを使用するときは、「-o」オプションとすべての -xCompile オプションに 制限があります。
repos_copy を実行するには、MS-DOS コマンド・プロンプト・ウィンドウ (Windows) またはシェル・プロンプト (Linux) にコマンドを入力します。OS/400 および i5/OS の場合は、コマンド行から QSH コマンドを入力し、QSHELL から repos_copy.sh スクリプトを実行します。このユーティリティーが 格納されている ProductDir/bin ディレクトリーは、インストール結果としてのパスの中になければなりません。OS/400 および i5/OS の場合、スクリプトはデフォルトで /QIBM/ProdData/WBIServer44/bin ディレクトリーに常駐しています。
このセクションの内容は次のとおりです。
システムのバックアップの詳細については、「WebSphere InterChange Server: システム管理ガイド」を参照してください。
repos_copy とその引き数のオプションについての説明、オプションの大文字小文字の正しい使用法、およびオプションとその引き数の間に間隔を空けないといった点については、表 14 に説明されています。 この構文では、中括弧 ({}) で囲まれたオプションが一連のオプションを示しています。これらのオプションは、少なくとも 1 つ選択する必要があります。-u、-p、-i、-o、または -s のいずれかのオプションをコマンド行に指定しないと、オプションの入力を促すプロンプトが repos_copy によって出されます。オプションの入力を促されたときに指定しないと、repos_copy は実行されません。大括弧 ([]) で囲まれたオプションの指定は任意です。
Usage:repos_copy [-sserverName][-uusername][-ppassword] | [-ifilename [-ai| -ar| -arp] [-k] [-ncENCODING] [-xcompilepackage] [-xdi] [-xdn][-r[[relationshipName1[:relationshipName2]: ...]|*] ]| [-oJARfilename [-xnoclasses]] | [-eentityType:entityname1[+entityType:entityname2]+... [-deep] [-oJARfilename] ] [-fentityfilename [-deep] [-oJARfilename] ] | [-xCompileAll [-wi] ] | [-xCompileAllCollabs [-wi]] | [-xCompileAllMaps [-wi] ] | [-xCompileCollab:templateName1[+templateName2]+...[-wi] ] | [-xCompileMap:mapName1[+mapName2]+... [-wi] ] | [-mode] | [-d] | [-doentityType:entityname1[+entityType:entityname2]+... [-deep] ] | [-dfoentityType:entityname1[+entityType:entityname2] -deep] | [-summary [-oXML_filename] ] | [-vp [-iJARfilename] ] | [-vr]
オプション | 説明 |
---|---|
-ai |
パッケージの配置中に検出された重複オブジェクト (ビジネス・オブジェクト、マップ、関係、コラボレーション・テンプレート、コラボレーション・オブジェクト、およびコネクター) は無視され、ロードされません。 |
-ar |
パッケージの配置中に検出された重複オブジェクト (ビジネス・オブジェクト、マップ、関係、コラボレーション・テンプレート、コラボレーション・オブジェクト、およびコネクター) は置き換えられます。 |
-arp |
重複コンポーネントを置き換えます。これは、-ar オプションの対話型バージョンです。 パッケージ内にある配置対象のコンポーネントがすでにリポジトリー内に存在している場合は、そのコンポーネントを無視するか置き換えるかを尋ねるプロンプトが表示されます。 |
-d |
リポジトリー内のコンポーネント (ただし状態データを除く) を削除します。リポジトリーからコンポーネントをすべて削除する場合、このオプションを使用します。 |
-deep |
-e オプションとともに使用します。従属コンポーネントがすべて組み込まれます。-deep オプションを省略すると、-e オプションで指定されたコンポーネントのみが含まれます。 |
-dfoEntityType:Entity[+EntityType:Entity2] |
コンポーネントの指示対象がそのコンポーネントに依存している場合であっても、コンポーネントを強制的に削除します。このオプションは、デザイン・モードで稼働しているサーバーのリポジトリーでのみ有効です。実動モードで稼働しているサーバーでは、未解決の依存関係および参照が許可されません。 -do オプションも参照してください。 |
-doEntityType:Entity[+EntityType:Entity2] |
リポジトリーから削除するエンティティーを指定します。エンティティー・タイプ、およびキーワードのリストについては、表 15 を参照してください。オブジェクトが指示対象 (そのオブジェクトに依存する他のコンポーネント) を持たない場合は、削除が行われます。オブジェクトが指示対象を持つ場合は、削除に失敗し、メッセージがユーザーに表示されます。振る舞いはデザイン・モードでも実動モードでも同じです。サーバーをデザイン・モードまたは実動モードで始動する方法については、「システム・インプリメンテーション・ガイド」を参照してください。 |
-eEntityType:Entity1[+EntityType:Entity2...] |
1 回以上参照された第 1 クラス・エンティティーをエクスポートします。 第 1 クラス・エンティティーとは、ビジネス・オブジェクト、コラボレーション・オブジェクト、コラボレーション・テンプレート、コネクター、データベース接続プール、マップ、または関係です。ロードまたはアンロードするエンティティーは、表 15 のいずれかのキーワードで指定します。 EntityType キーワードの後ろにコロン (:)、そしてエンティティー名が続きます。複数のエンティティーを指定する場合は、「+」を使用します。-o オプションと組み合わせると、-e オプションは出力ファイルにデータをアンロードします。 |
-fentityFile |
-e オプションと似ていますが、エンティティー名をファイル EntityFile から取得します。ファイルには、エンティティーへの参照が含まれていなければなりません。また、次の条件が伴います。
このオプションを -o オプションと組み合わせることで、コンポーネントをパッケージにエクスポートできます。 |
-ifilename |
指定したパッケージ・ファイルをリポジトリーに配置します。入力ファイル名の値を省略すると、対話式プロンプトが表示され、入力ファイルの名前を入力するように要求されます。 ファイルは、XML 形式のオブジェクトを含む .jar ファイルと、テキスト形式のオブジェクトを含む .in ファイルのどちらでも構いません。 repos_copy または System Manager で作成された .jar ファイルは、特定の構造を持ちます。以降そのようなファイルのインポートに成功するには、この特定の構造を維持する必要があります。したがって、入力ファイルを手動で変更することのないようにしてください。 |
-k |
ロード中のパッケージ・ファイル内に Mercator マップが検出されたときに repos_copy のデフォルトの動作をオーバーライドします。デフォルトでは、repos_copy は Mercator マップを検出すると終了します。-k オプションを使用すると、repos_copy は、パッケージ・ファイル内の Mercator マップをスキップして、配置処理を続行します。 |
-mode |
サーバーのモードを戻します。InterChange Server Express モードの詳細については、「WebSphere InterChange Server: WebSphere InterChange Server システム・インプリメンテーション・ガイド」を参照してください。 |
-ncencoding |
有効な文字エンコード方式については、String クラスに関する Java 資料を参照してください。 InterChange Server Express バージョン 4.1.1 で作成されたリポジトリーを配置するときは、4.1.1 環境で使用される文字エンコード方式を指定します。 |
-ooutfilename |
リポジトリー内のコンポーネントを指定されたパッケージ・ファイルにエクスポートします。パッケージ・ファイル名の指定は必須です。ファイルがすでに存在する場合、そのファイルを上書きするかどうかを尋ねるプロンプトが出されます。出力ファイルは、.jar 形式であり、XML 形式のコンポーネント定義だけでなく、それらのコンポーネント定義を持ったコンポーネント用の .java ソース・ファイルも含まれています。このオプションを -i オプション または -d オプションと組み合わせることはできません。テキスト形式でコンポーネントをエクスポートすることもできません。この点は、以前のリリースと同様です。repos_copy では、.jar 拡張子が付加されません。そのため、出力ファイル名を指定するときに拡張子を指定する必要があります。 |
-ppassword |
-u オプションを使って指定したユーザー名用に、パスワードを指定します。パスワードは、大文字小文字が区別されます。このオプションを指定しないと、パスワードの入力を促すプロンプトが出されます。 |
-r* |
関係定義がインポートされますが、そのどれについても、実行時のスキーマは作成されません。-r オプションも参照してください。 |
-rrelationshipName1[:relationshipName2] |
ランタイム・スキーマを作成せずに、指定された関係定義をリポジトリーにロードします。 |
-sserverName |
repos_copy がインターフェースをとる InterChange Server Express インスタンスの名前を指定します。この名前では、大文字と小文字が区別されます。サーバー名が指定されていない場合、このツールはサーバー名を要求するプロンプトを出します。 |
-summary |
サーバー・リポジトリー内のコンポーネントをリストします (コンポーネントは、出力データ内のコンポーネントとしてではなく「成果物」 として識別されます)。出力は XML 形式です。このオプションを -o オプションと組み合わせて使用することで、出力データをコンソールにではなくファイルに出力できます。 |
-uusername |
InterChange Server Express にログオンするユーザー名を指定します。ユーザー名が指定されていない場合は、ユーザー名を要求するプロンプトが出されます。 |
-v |
repos_copy ユーティリティーが実行するプログラムのバージョン番号を出力します。 |
-vp |
パッケージ・ファイルを検証します。サーバーは、リポジトリーと照合してパッケージを検証し、パッケージ内のコンポーネント間の依存関係が解決されていることを確認します。検証が正常に終了されない場合、欠落している依存関係のリストが出力されます。このオプションはリポジトリーを変更せず、パッケージ・ファイルを検証するのみです。-vp オプションを使用するときは、-i オプションも使用して検証対象のパッケージ・ファイルを指定する必要があります。 |
-vr |
リポジトリーを検証します。出力メッセージにより、検証が正常に終了したかどうかが示されます。検証が正常に終了されない場合、欠落している依存関係のリストが出力されます。 |
-wi |
コラボレーション・テンプレートまたはマップのコンパイル時に発生する警告メッセージを表示しません。表示されるのは、コンパイル中に発生したエラーのみです。これにより、例えば、推奨されないメソッドについては警告を無視できるようになります。 |
-xCompileAll |
リポジトリー内のコラボレーション・テンプレートおよびマップをすべてコンパイルします。 |
-xCompileAllCollabs |
リポジトリー内のすべてのコラボレーション・テンプレートをコンパイルします。 |
-xCompileAllMaps |
リポジトリー内のすべてのマップをコンパイルします。 |
-xCompileCollab:collabTemplateName [+collabTemplateName] |
リポジトリー内の指定のコラボレーション・テンプレートをコンパイルします。 |
-xCompileMap:nativeMapName[+nativeMapName] |
リポジトリー内の指定のマップをコンパイルします。 |
-xCompilePackage |
サーバーに指示して、マップおよびコラボレーション・テンプレート Java ファイルをコンパイルします。パッケージにプリコンパイルされたクラス・ファイルが含まれている場合は、このオプションを使用しないでください。実動モードでは、すべてのクラス・ファイルがパッケージに含まれていない限り、このオプションがデフォルトで選択されます。InterChange Server Express モードの詳細については、「システム・インプリメンテーション・ガイド」を参照してください。 |
-xnoclasses | サーバーからコンポーネントをエクスポートする場合に、クラス・ファイルをインクルードするかどうかを識別します。 |
-xdi<deployment_descriptor_file_path> |
このオプションでは、リポジトリー・ファイル内部のデフォルトの代わりに、指定された配置記述子を使用します。InterChange Server Express モードの詳細については、「システム・インプリメンテーション・ガイド」を参照してください。 |
-xdn |
このオプションはリポジトリー .jar ファイル内部の .dfg ファイルを無視し、プロパティー値を変えずに配置パッケージをサーバーに送信します。InterChange Server Express モードの詳細については、「システム・インプリメンテーション・ガイド」を参照してください。 |
-xmsp |
このオプションにより、メンバーシップとセキュリティー情報のインポートおよびエクスポートが行われるので、役割とセキュリティー・ポリシーを再作成せずにアップグレードできます。InterChange Server モードの詳細については、「システム・インプリメンテーション・ガイド」を参照してください。 |
エンティティー・タイプ | キーワード |
---|---|
ビジネス・オブジェクト | BusObj |
コラボレーション・オブジェクト | Collaboration |
コラボレーション・テンプレート | CollabTemplate |
データベース接続プール | ConnectionPool |
コネクター | Connector |
マップ | Map |
関係 | Relationship |
このセクションでは、repos_copy が使用できるときによく起こる状況を数多く取り上げて説明します。次のセクションで構成されています。
引き数を指定しないで repos_copy を実行すると、コマンドおよびその引き数をプリントアウトすることができます。次の例は、引き数を指定せずに実行する repos_copy コマンドと、実行結果の出力を示しています。
No Command line arguments to ReposCopy were specified Usage:repos_copy [ [-sServerName] [-uUserName] [-pPassword] ] | [-iFileName [-ai| -ar| -arp] [-k] [-ncEncoding] [-xcompilepackage] [-xdi] [-xdn] [-r[[RelationshipName1[:RelationshipName2]: ...] |
*] ] | [-oJARfileName [-xnoclasses]] | [-eentityType:EntityName1[+entityType:EntityName2]+... [-deep] [-oJARfileName] ] | [-fENTITYFILENAME [-deep] [-oJARfileName] ] | [-xCompileAll [-wi] ] | [-xCompileAllCollabs [-wi]] | [-xCompileAllMaps [-wi] ] | [-xCompileCollab:TemplateName1[+TemplateName2]+... [-wi] ] | [-xCompileMap:MapName1[+MapName2]+... [-wi] ] | [-mode] | [-d] | [-doentityType:EntityName1[+entityType:EntityName2]+... [-deep] ] | [-dfoentityType:EntityName1[+entityType:EntityName2] -deep] | [-summary [-oXML_FileName] ] | [-vp [-iJARfileName] ] | [-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
通常、パッケージに何らかのコラボレーション・テンプレートまたはマップ実装の Java ファイルが含まれていても、関連するクラス・ファイルが含まれていない場合は、リポジトリーにパッケージを配置する際に -xcompilepackage オプションを使用します。これは、マップまたはテンプレートの実行時にはクラス・ファイルが必要であるためです (スキーマのコンパイルおよび作成の例 を参照)。
プリコンパイルされたクラス・ファイルもパッケージに含まれている場合は、サーバーで Java ファイルをコンパイルせずに、配置後それらのクラス・ファイルを直接使用できます。これにより、(余分のコンパイル時間が不要であるため) パフォーマンスは向上しますが、振る舞いは通常の配置方法の場合と同じです。
次の例は、リポジトリーに配置されているプリコンパイルされたクラス・ファイルを含む、WebSphereICS420DEVServer.jar という名前のファイルを示しています。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -iWebSphereICS420DEVServer.jar
リポジトリー内に同じ名前のコンポーネントが存在することがよくあるのと同様、パッケージ・ファイルにも同じ名前のコンポーネントが存在することがよくあります。この場合、リポジトリー内のコンポーネントをパッケージ・ファイル内のコンポーネントで置き換えるかどうかを決める必要があります。-ai オプションを使用すると、重複するコンポーネントをリポジトリーにロードしてはならないことが指定されます。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -iWebSphereICS420DEVServer.jar
リポジトリー内の重複するコンポーネントをすべて置き換える場合は、次の例のように -ar オプションを使用します。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -iCustomerSyncInterface.jar -ar
-arp オプションを使用すると、リポジトリー内の重複するコンポーネントを対話式に置き換えることができます。この対話式操作では、重複する個々のコンポーネントごとに コンポーネントの置き換えが必要かどうかを決めることができます。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -iCustomerSyncInterface.jar -arp
実行時にマップおよびコラボレーションを実行するには、リポジトリー内に定義されたマップ、およびコラボレーション・テンプレートをコンパイルする必要があります。実行時に関係を正しく機能させるには、関係のスキーマを作成しておく必要があります。
実動モードで実行されているサーバーにコンポーネントを配置すると、テンプレートがすべて自動的にコンパイルされ、関係スキーマがすべて作成されます。配置を成功させるには、マップおよびコラボレーション・テンプレートのコードが有効でなければなりません。また、関係定義の設定値に指定されたデータベースと InterChange Server Express がやり取りできることも必要です。
デザイン・モードで実行されているサーバーにコンポーネントを配置した場合、テンプレートは自動的にはコンパイルされませんが、関係スキーマは自動的に作成されます。テンプレートをコンパイルする目的に使用できるオプションが用意されている一方、関係スキーマが作成されないようにするためのオプションも用意されています。
次の例では、-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*
サーバーがフローを正常に処理するためには、リポジトリーを有効にする必要があります。サーバー・リポジトリーを検証するには、以下の例のように -vr オプションを使用します。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -vr
サーバーが有効な場合は、次の出力がコンソールに書き込まれます。
検証が完了しました。すべての依存関係が解決されました。
リポジトリーが無効な場合は、解決する必要のある依存関係のリストが出力されます。
マップまたはコラボレーション・テンプレートをリポジトリーに配置しても、配置中にそれらをコンパイルしなかった場合は、後で 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
repos_copy には、リポジトリーからコンポーネントを削除するためのオプションがいくつか提供されています。リポジトリー全体、および個々のコンポーネントを削除できるだけでなく、個々のコンポーネントとそのコンポーネントを参照する任意のコンポーネントを削除することもできます。
リポジトリー内のコンポーネントをすべて削除するには、-d オプションを使用します。以下の例に、構文を示します。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -d
repos_copy は、リポジトリー全体を削除したいかどうかを尋ねるプロンプトを表示します。
あるコンポーネントが指示対象 (そのコンポーネントを参照していて、その参照先コンポーネントが存在しないとシステム内で自らの機能を実行できない他のコンポーネント) を持たない場合、ユーザーは個々のコンポーネントを削除することができます。
-do オプションを使用して、その後ろにエンティティー・タイプ、コロン、およびコンポーネントの名前を続けます。エンティティー・タイプは、表 15にリストされています。次の例のように入力すると、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 オプションは、表 15 のリストにある適切な EntityType キーワードと一緒に使用する必要があります。また、キーワードの後ろにコンポーネントの名前を続ける必要があります。 プラス (+) 記号を付けてコンポーネントどうしを連結することで、複数のコンポーネントを指定することができます。次の例では、Customer ビジネス・オブジェクトおよび CustomerSync コラボレーション・テンプレートを CustomerSyncInterface.jar という名前のパッケージがエクスポートされます。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -eBusObj:Customer+CollabTemplate:CustomerSync -oCustomerSyncInterface.jar
通常、マップおよびコラボレーション・テンプレートが存在する場合のクラス・ファイルは、Java ファイルと一緒にパッケージ・ファイルにエクスポートされます。クラス・ファイルが不要な場合は、例えば以下のように -xnoclasses オプションを使用して、これらのクラス・ファイルを無視します。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -oWebSphereICS420DEVServer.jar -xnoclasses
-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
repos_copy ユーティリティーは、リポジトリーからメタデータを読み取って、それをユニコード (UTF-8 フォーマット) のファイルに出力します。repos_copy ユーティリティーはさらに、これらのファイルを読み取ってユニコードのリポジトリー (下層のリポジトリー・データベースに応じて UTF-8 または UCS-2) にロードします。
InterChange Server Express 4.1.1 以前のバージョン・レベルで作成された repos_copy ファイルは、コンポーネント・スケジュールの日付と時刻が完全な米国フォーマットである場合のみ、リポジトリーに正しくロードされます。 (通常、これは問題となりません。repos_copy でスケジュール日付を保管する際は、必ず完全な米国フォーマットのみが使用されるからです。 非互換性が生じるのは、repos_copy ファイルを手動で編集した場合です。)
また、4.1.1 リポジトリーを配置するときは、必ず「-nc」オプションを付けて文字エンコード方式を指定してください。