3.2.3 リポジトリをインポートする
リポジトリのインポートでは,エクスポートでZIPファイルにしたリポジトリを読み込むことができます。インポートできる定義情報は,リポジトリに格納されたサービス定義とシステム構成定義です。エクスポートされたリポジトリと,インポート先のリポジトリのSOAPモードが一致している場合に,インポートできます。
リポジトリのインポート方法には,次の二つの方法があります。
- ZIPファイル内のサービス定義とシステム構成定義,またはどちらか一方をインポートする
- ZIPファイル内のサービス定義の一部だけをインポートする
二つのインポート方法の使い分けについて次の図に例示します。
図3-1 二つのインポート方法の使い分け(例)
![[図データ]](figure/zc030100.gif)
この図の例に示すように,複数の開発環境で同時にHCSCコンポーネントを開発する場合,それぞれの開発環境のリポジトリをエクスポートして,マスタのリポジトリにインポートします。このとき,サービス定義の中で必要な情報だけをインポートします。また,運用環境でエクスポートされたリポジトリの情報を開発環境のリポジトリ(マスタ)にインポートする場合,サービス定義とシステム構成定義をインポートします。
なお,エクスポートした情報は,媒体を利用しないでネットワーク経由で受け渡すこともできます。
- 注意
- リポジトリをインポートする場合,アダプタ定義やビジネスプロセス定義などのすべてのエディタを閉じてください。また,HCSCTEプロジェクトのlibディレクトリやsrcディレクトリにアクセスしないようにしてください。エラーが発生した場合,次の点を確認してください。
- HCSCTEプロジェクトのsrcディレクトリ以下のファイルを開いたエディタ(外部エディタを含む)を閉じているか
- HCSCTEプロジェクトのlibディレクトリ以下のライブラリを利用したプログラムを実行していないか
二つのインポート方法の詳細を次に説明します。
- <この項の構成>
- (1) サービス定義とシステム構成定義をインポートする
- (2) サービス定義の一部だけをインポートする
(1) サービス定義とシステム構成定義をインポートする
(a) インポート手順
リポジトリ中のサービス定義とシステム構成定義をインポートする手順を次に示します。
- Eclipseのメニューから,[HCSC-Definer]-[定義情報管理]-[全定義情報インポート]を選択します。
インポートを確認するダイアログが表示されます。
- [はい]ボタンをクリックします。
リポジトリ情報のZIPファイルを選択する[リポジトリインポート]ダイアログが表示されます。
- 読み込むZIPファイルを指定します。
- [開く]ボタンをクリックします。
- [OK]ボタンをクリックします。
インポート対象の定義情報を選択する[リポジトリインポート]ダイアログが表示されます。
![[図データ]](figure/zs030600.gif)
- インポートしたい定義のチェックボックスにチェックします。
初めてインポートする場合は,[サービス定義]と[システム構成定義]の両方にチェックしてください。
- [OK]ボタンをクリックします。
「3.2.1(1) リポジトリの指定」で指定したディレクトリにリポジトリが読み込まれます。
(b) 注意事項
- 旧バージョンのリポジトリをインポートすると,リポジトリ情報が今バージョンに引き継がれます。
- Java呼出アクティビティで利用するユーザ定義Javaクラス,またはユーザ定義Javaクラスの前提ライブラリをインポートした場合,HCSCTEプロジェクトをビルドしてください。
- サービス定義,システム構成定義のどちらか一方だけをインポートする場合,ZIPファイル中のインポート対象の定義情報と現在のリポジトリ内の情報(サービス定義またはシステム構成定義)の整合性が保たれている必要があります。不整合がある場合はエラーとなり,サービス定義やシステム構成定義をリポジトリにインポートできません。
リポジトリのインポートで整合性をチェックしている内容を次に示します。
- サービス定義だけをインポートする場合
- リポジトリ内の公開済みサービス定義と,対応するZIPファイル中のサービス定義について,整合性をチェックした場合に,エラーになる条件を次に示します。
表3-1 リポジトリのインポートの整合性チェックでエラーになる条件(サービス定義だけをインポートする場合1)
項番 | エラーになる条件 |
---|
1 | サービスIDが一致しない |
2 | サービス名が一致しない※1 |
3 | 種別(サービスアダプタまたはビジネスプロセス)が一致しない※1 |
4 | ビジネスプロセスのバージョンが一致しない※1,2 |
5 | ビジネスプロセスに定義されているユーザ定義受付の数が一致しない※1 |
6 | ビジネスプロセスに定義されているユーザ定義受付の受付IDが一致しない※1 |
7 | ビジネスプロセスに定義されているユーザ定義受付の受付名が一致しない※1 |
8 | ZIPファイル中のサービス定義がパッケージングされていない※1,2 |
注※1 サービスIDが一致するサービス定義同士をチェックします。
注※2 旧バージョンで作成したリポジトリの場合はチェックしません。
- また,リポジトリ内の公開済みサービス定義と,サービスIDが一致するZIPファイル中のサービス定義について,整合性をチェックした場合に,エラーになる条件を次に示します。なお,リポジトリ内のシステム構成定義で定義されているサーバ構成によって,エラーになる条件が異なります。
表3-2 リポジトリのインポートの整合性チェックでエラーになる条件(サービス定義だけをインポートする場合2)
項番 | リポジトリ内の情報 | エラーになる条件 (サービスIDが一致するZIPファイル中のサービス定義) |
---|
システム構成定義で定義されているサーバ構成 | 公開済みのサービス定義(サービスの種別) |
---|
データベースの使用有無 | Cosminexus RMの使用有無 |
---|
1 | 使用する | 使用する | すべて | - |
2 | 使用しない | 使用しない | ビジネスプロセス | ステータスの永続化にyesが設定されている |
3 | - Webサービス
- SessionBean
- カスタムアダプタ
| サービスの種別にMDB_WSRまたはMDB_DBQが設定されている |
4 | 使用する | 使用しない | ビジネスプロセス | ステータスの永続化にyesが設定されている |
5 | - Webサービス
- SessionBean
- カスタムアダプタ
| サービスの種別にMDB_WSRまたはMDB_DBQが設定されている |
- (凡例)
- -:エラーになる条件はありません。
-
- エラーが発生した場合の対処方法
- 現状のリポジトリ内のサービスをすべて非公開にして,再度,サービス定義だけをインポートしてください。
- システム構成定義だけをインポートする場合
- ZIPファイル中の公開済みサービス定義と,リポジトリ内のサービス定義について,整合性をチェックした場合に,エラーになる条件を次に示します。
表3-3 リポジトリのインポートの整合性チェックでエラーになる条件(システム構成定義だけをインポートする場合1)
項番 | エラーになる条件 |
---|
1 | サービスIDが一致しない |
2 | サービス名が一致しない※1 |
3 | 種別(サービスアダプタまたはビジネスプロセス)が一致しない※1 |
4 | ビジネスプロセスのバージョンが一致しない※1,2 |
5 | ビジネスプロセスに定義されているユーザ定義受付の数が一致しない※1 |
6 | ビジネスプロセスに定義されているユーザ定義受付の受付IDが一致しない※1 |
7 | ビジネスプロセスに定義されているユーザ定義受付の受付名が一致しない※1 |
8 | ZIPファイル中のサービス定義がパッケージングされていない※1,2 |
注※1 サービスIDが一致するサービス定義同士をチェックします。
注※2 旧バージョンで作成したリポジトリの場合はチェックしません。
- また,ZIPファイル中の公開済みサービス定義と,サービスIDが一致するリポジトリ内のサービス定義について,整合性をチェックした場合に,エラーになる条件を次に示します。なお,ZIPファイル中のシステム構成定義で定義されているサーバ構成によって,エラーになる条件が異なります。
表3-4 リポジトリのインポートの整合性チェックでエラーになる条件(システム構成定義だけをインポートする場合2)
項番 | ZIPファイル中の情報 | エラーになる条件 (サービスIDが一致するZIPファイル中のサービス定義) |
---|
システム構成定義で定義されているサーバ構成 | 公開済みのサービス定義(サービスの種別) |
---|
データベースの使用有無 | Cosminexus RMの使用有無 |
---|
1 | 使用する | 使用する | すべて | - |
2 | 使用しない | 使用しない | ビジネスプロセス | ステータスの永続化にyesが設定されている |
3 | - Webサービス
- SessionBean
- カスタムアダプタ
| サービスの種別にMDB_WSRまたはMDB_DBQが設定されている |
4 | 使用する | 使用しない | ビジネスプロセス | ステータスの永続化にyesが設定されている |
5 | - Webサービス
- SessionBean
- カスタムアダプタ
| サービスの種別にMDB_WSRまたはMDB_DBQが設定されている |
- (凡例)
- -:エラーになる条件はありません。
-
- エラーが発生した場合の対処方法
- 次の手順を実行して,対処してください。
- 1. 現状のリポジトリをエクスポート(rep.zip)して退避します。
- 2. インポートしようとしたアーカイブファイルから,サービス定義とシステム構成定義の両方をインポートします。
- 3. 手順2でインポートしたサービス定義をすべて非公開にします。
- 4. 手順1で退避しておいたrep.zipから,サービス定義だけをインポートします。
(2) サービス定義の一部だけをインポートする
サービス定義の一部だけをインポートする場合,インポートの対象として選択できるのは次の情報です。
- HCSCコンポーネント(サービスアダプタ,ビジネスプロセス)に関する定義
- ユーザ定義Javaクラスのソースファイル
- ユーザ定義Javaクラスの前提ライブラリファイル
インポートの対象は複数選択できます。インポート対象として選択したビジネスプロセスから呼び出されるサービスアダプタおよびビジネスプロセスは,必要に応じて同時にインポートされます。また,インポート対象のビジネスプロセスに関連するユーザ定義受付も同時にインポートされます。
インポート時に,任意のサービスIDまたは受付IDを指定して,サービスやユーザ定義受付をインポートできます。
(a) インポート手順
サービス定義の一部だけをインポートする手順を次に示します。
- Eclipseのメニューから,[HCSC-Definer]-[定義情報管理]-[サービスインポート]を選択します。
アーカイブファイル(ZIPファイル)を選択するダイアログが表示されます。
- インポートする情報を含むアーカイブファイルを選択して,[開く]ボタンをクリックします。
[サービスインポート]ダイアログ(サービスの選択)が表示されます。
![[図データ]](figure/zs030700.gif)
- インポートするサービスのチェックボックスにチェックします。
- 必要に応じて,インポートするサービスの[取込後ID]を変更します。
次の点に注意してIDを指定してください。
- IDは8バイト以内の英数字およびアンダーライン(_)で指定してください。
- すでにインポート先で使用されているIDは指定できません。
ただし,インポート先で使用されているIDであっても,同時にインポートするサービスによってそのIDが使用されなくなる場合は,IDとして指定できます。
- ほかのサービスまたはユーザ定義受付と同じIDは指定できません。
- 複数のリポジトリで分散開発されたサービスを統合する場合,すべてのサービスがインポートされるまでにインターフェースの不整合が発生し,備考欄に警告メッセージが表示されることがあります。サービスを統合するまでに発生する不整合が意図したものであれば,備考欄に警告メッセージが表示されても問題ありません。
ただし,インターフェースに不整合がある場合,設計情報が正しく出力されないため,設計情報を出力しないでください。
- [OK]ボタンをクリックします。
ユーザ定義Javaクラスの有無がチェックされます。
ユーザ定義Javaクラスがある場合,[サービスインポート]ダイアログ(ユーザ定義Javaクラスの選択)が表示されます。次の手順に進んでください。
ユーザ定義Javaクラスがない場合,「3.2.1(1) リポジトリの指定」で指定したディレクトリに,選択したリポジトリの内容が読み込まれます。
- 表示されたインポート必須サービスを確認して,[OK]ボタンをクリックします。
ユーザ定義Javaクラスの有無がチェックされます。
ユーザ定義Javaクラスがある場合,[サービスインポート]ダイアログ(ユーザ定義Javaクラスの選択)が表示されます。
ユーザ定義Javaクラスがない場合,「3.2.1(1) リポジトリの指定」で指定したディレクトリに,選択したリポジトリの内容が読み込まれます。
![[図データ]](figure/zs030900.gif)
- インポートするユーザ定義Javaクラス,およびその前提ライブラリファイルのチェックボックスにチェックします。
- [OK]ボタンをクリックします。
「3.2.1(1) リポジトリの指定」で指定したディレクトリに,選択したリポジトリの内容が読み込まれます。
- ポイント
- 同じ名称のHCSCコンポーネントがリポジトリで公開されている場合など,インポートの対象として選択できない場合,[サービスインポート]ダイアログ(サービスの選択)中のサービスの表示は非活性になります。[備考]の内容を参考に,原因を取り除いてから再度インポートしてください。
- インポートしたHCSCコンポーネント(サービスアダプタ,ビジネスプロセス)は,必ずパッケージングしてください。パッケージングの方法については,「9.2 パッケージング」を参照してください。
- Java呼出アクティビティで利用するユーザ定義Javaクラス,またはユーザ定義Javaクラスの前提ライブラリをインポートした場合,HCSCTEプロジェクトをビルドしてください。
(b) 注意事項
- リポジトリ中で同じ名称のHCSCコンポーネントが公開済みの場合,インポートできません。インポートする前に非公開にしてください。
- リポジトリのサービス定義の一部だけをインポートする場合,システム構成定義はインポートされません。すでに公開しているHCSCコンポーネントをインポートすると,インポートしたHCSCコンポーネントは非公開になります。
- インポート先のリポジトリに,インポート対象のHCSCコンポーネントと同じ名称のHCSCコンポーネントがある場合,内容がすべて上書きされます。サービスID,フォーマットID,ユーザ定義受付IDはすべて更新されます。
- バージョンアップしたビジネスプロセスをインポートした場合,インポートしたビジネスプロセスのバージョンは「1」になります。
- 古いバージョンで作成したリポジトリから,サービス定義の一部だけをインポートすることはできません。次の手順でリポジトリを移行し,サービス定義の一部をインポートしてください。
1. 現在のリポジトリをアーカイブファイルにエクスポートします。
2. 旧バージョンのアーカイブファイルから,すべての定義情報をインポートします。
3. 手順2でインポートした定義情報を別のアーカイブファイルにエクスポートします。
4. 手順1でエクスポートしたアーカイブファイルから,すべての定義情報をインポートします。
5. 手順3でエクスポートしたアーカイブファイルから,サービス定義の一部をインポートします。