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