メインコンテンツまでスキップ

データのインポート/エクスポート

開発環境におけるマスタデータやアプリケーションの作成、および動作検証が完了した後は、検証環境および本番環境への移行作業を実施します。基本的な流れは、移行元からデータをエクスポートし、移行先へインポートすることです。

移行作業はデータの種類によって手順が異なります。そのため、インポート/エクスポートの仕様を確認しながら、対象となるデータの種類ごとに、どのような順序で、どのように移行するのかといった具体的な手順について説明します。

検証環境・本番環境の準備

intra-martでは、「開発環境」→「検証環境」→「本番環境」という段階的な移行プロセスを前提としています。そのため、各環境はそれぞれ独立した構成として用意することが推奨されています。

参考

基本的な分散構成について、詳細は「intra-martの歩き方 - 運用フェーズへステップアップしたい」を参照してください。

各環境の概要と移行時の注意点

ここでは、開発環境・検証環境・本番環境それぞれの役割と特徴、および環境間でデータを移行する際の注意点について説明します。各環境は異なる目的を持って構成されており、特に本番環境への移行にあたっては、データの取捨選択や環境間の整合性に十分注意する必要があります。

開発環境

開発環境は、検証環境および本番環境とは完全に独立した環境です。自由に開発・検証を行うことができるため、データは必ずしも本番運用を意識した状態である必要はありませんが、開発環境上にはテスト用データや一時的な設定など、本番環境には不要なデータが含まれる場合があります。また、機能開発や動作確認を迅速に行うことを目的としているため、データの整合性や厳密性よりも、開発の柔軟性が優先されます。

検証環境

検証環境は、本番環境と同一構成(同一資材)で構築される環境です。開発環境で作成されたデータやアプリケーションをそのまま移行するのではなく、本番運用に必要なデータのみを選別して反映する必要があります。また、検証環境は本番環境に適用する前の最終確認を行う場であり、動作検証やデータ整合性の確認を通じて、本番移行のリスクを低減する役割を持ちます。検証環境で問題がないことを確認した上で、その内容を本番環境へ適用します。

本番環境

本番環境は、実際の業務利用を行う最終的な環境であり、検証環境と同一の構成・資材で構築されます。これにより、検証環境で確認した内容と同じ状態を再現し、安定した運用を実現します。検証環境でデータの精査・取捨選択を適切に行ったうえで本番環境へ移行することで、不要なデータの混入や設定ミスによる予期せぬ障害を防ぎ、安全な移行を実現できます。

環境間移行の前提条件

環境間でのデータ整合性および安定した移行を実現するため、以下の条件を満たした状態で構築・運用を行う必要があります。

アプリケーション構成およびバージョン

検証環境および本番環境におけるアプリケーションの構成、ならびにバージョン(パッチを含む)は同一であることを前提とします。また、IM-Jugglingのプロジェクト構成についても、各環境間で共通であることが必要です。

マスタデータの取り扱い

「会社」や「組織」などの各種マスタデータ(「ユーザ」マスタを除く)、およびロール設定については、検証環境から本番環境へそのまま移行することを前提とします。一方、「ユーザ」マスタ(ユーザ情報、ユーザ所属情報など)は、「会社」や「組織」などの構造的なマスタデータとは異なり、認証情報や所属情報など環境ごとに変化する運用データを含みます。そのため、IM-共通マスタの仕様に基づき、個別にインポートファイルを作成し、本番環境の構築前に適切に反映できる状態にしておく必要があります。

参考

IM-共通マスタのインポート仕様および手順について、詳細は「IM-共通マスタ インポート・エクスポート仕様書」を参照してください。

対象データの移行方法一覧

移行作業を行うにあたっては、移行対象となるデータの種類、インポート/エクスポート手段、ファイル形式を事前に把握する必要があります。データの種類によって最適な移行方法は異なり、また利用するファイル形式も多岐に渡ります。そのため、事前に全体像を整理しておくことで、移行作業をより円滑に進めることができます。

以下に、intra-martにおける代表的なインポート/エクスポート対象データについて、その移行方法およびファイル形式の例を示します。主な移行方法としては、ジョブによる実行(ジョブ実行)、Javaやスクリプト開発モデルなどのAPIの利用(API利用)、ならびにintra-mart Accel Platformの画面操作による実行(画面実行)があります。インポート/エクスポート方法の詳細は、「仕様書」「定義書」「操作ガイド」などを参照してください。

基盤マスタ・設定情報
データ種別移行方法ファイル形式上:インポート/エクスポート対象データ
下:インポート/エクスポート方法(参照先)
IM-共通マスタジョブ実行
API利用
XML, CSV会社グループ、会社組織、パブリックグループ、パブリックグループ分類、プライベートグループ、ユーザ、ユーザ分類、法人グループ、法人、取引先、品目、品目カテゴリ、通貨
IM-共通マスタ 管理者操作ガイド - インポート・エクスポートする(html)
IM-共通マスタ(BloomMaker版)管理者操作ガイド - インポート・エクスポートする(html)
IM-共通マスタ インポート・エクスポート仕様書(html)
IM-共通マスタ インポート・エクスポートXMLスキーマ(zipファイルがダウンロード)
認可情報(IM-Authz)ジョブ実行
画面実行
XML, XLSXリソース、リソースグループ、サブジェクトグループ、ポリシー
IM-Authz(認可)インポート・エクスポート仕様書(html)
アカウント情報ジョブ実行
API利用
XML, CSVアカウント情報、アカウントテーマ情報、日付と時刻の形式情報、アカウント属性情報、アカウント付与ロール情報、アプリケーションライセンス情報
アカウント インポート・エクスポート仕様書(html)
アカウント インポートデータ定義書(xlsファイルがダウンロード)
ロール情報ジョブ実行
API利用
XMLロール情報、ロール表示名情報、ロール親子関係の情報
ロール インポート・エクスポート仕様書(html)
ロール インポートデータ定義書(xlsがダウンロード)
メニュー情報ジョブ実行
API利用
XMLメニューグループカテゴリ情報、メニューグループカテゴリ表示名情報、メニューグループ、メニューグループ情報、メニュー情報、メニュー引数情報、メニュー表示名情報、メニューグループカテゴリ内包情報
メニュー インポート・エクスポート仕様書(html)
メニュー インポートデータ定義書(xlsがダウンロード)
ポータル情報画面実行ZIPグループポータルの定義・構成、ポートレットの配置情報、ポータルのレイアウト/テンプレート情報、ポートレットの共通設定
ポータル 管理者操作ガイド - 5.14. インポート・エクスポートする(html)
システム定義・管理データ
データ種別移行方法ファイル形式インポート/エクスポート対象データ(参照先)
IM-Workflow画面実行XMLワークフロー定義の各種マスタ定義
IM-Workflow 仕様書 - 3.24. インポート/エクスポート(html)
IM-Repository画面実行XLSX, JSONデータモデル定義の各種マスタ定義(辞書、列挙、エンティティ)
IM-Repository ユーザ操作ガイド - 13. インポート/エクスポート(html)
テーブルデータ画面実行CSVデータベース上のテーブルデータ情報
TableMaintenance 管理者操作ガイド(html)
ジョブ情報ジョブ実行
API利用
XMLバッチジョブ定義のジョブ定義情報
ジョブ インポート・エクスポート仕様書(html)
IM-共通マスタ テンプレート定義画面実行JSONテンプレート定義情報とその親となるテンプレートカテゴリ情報
IM-共通マスタ 検索画面仕様書 - 7.5. テンプレート定義 インポート/エクスポート(html)
アプリケーション関連資材
データ種別移行方法ファイル形式インポート/エクスポート対象データ(参照先)
Accel Studioアプリケーション画面実行ZIPアプリケーション情報、カテゴリ、リソース情報、認可情報などのローコード資材
Accel Studio アプリケーション管理機能 仕様書 - 4.5. インポート・エクスポート(html)
Accel Studioユーティリティ画面実行XLSX, JSON採番定義、共通定数定義、多言語メッセージ定義などの共通定義データ
Accel Studio アプリケーション管理機能 仕様書 - 4.10. ユーティリティ(html)
IM-BloomMaker定義ファイル画面実行ZIP画面コンテンツ定義
IM-BloomMaker ユーザ操作ガイド - 10. インポート・エクスポート(html)
IM-LogicDesigner定義ファイル画面実行ZIP(JSON)ロジックフロー定義、フロールーティング定義、ユーザ定義、トリガ定義など
IM-LogicDesigner ユーザ操作ガイド - 8. インポート/エクスポート(html)
IM-LogicDesigner仕様書 - 4.5. インポート・エクスポート(html)
IM-FormaDesigner定義ファイル画面実行ZIPFormaアプリケーション、データソース定義、採番ルール定義
IM-FormaDesigner for Accel Platform 作成者 操作ガイド - 5.4.1. インポート・エクスポートを利用した IM-FormaDesigner のアプリケーションやデータソース定義の移行(html)
IM-FormaDesigner 仕様書 - 13. インポート(html)
ViewCreatorデータ画面実行ZIPクエリ、データ参照およびルーティング定義
ViewCreator 管理者操作ガイド - 4.7. インポート・エクスポート(html)
IM-BIS/IM-FormaDesigner定義ファイル画面実行ZIPフローに関する定義、Formaアプリケーション定義一式
IM-BIS システム管理者 操作ガイド - 4.8. インポート・エクスポートを行う(html)
IM-BIS 仕様書 - 15. 一括インポート・エクスポートの仕様(html)
IM-BPMデータ画面実行ZIP業務プロセス定義(デプロイメント、一覧表示設定、プロセスデザイナ、プロセス一覧クエリ)
IM-BPM ユーザ操作ガイド - 5.10. インポート/エクスポート(html)
IM-BPM 仕様書 - 4.7. インポート/エクスポート(html)
IM-Copilotアシスタント定義画面実行JSONアシスタント定義
IM-Copilot 利用ガイド - 8. アシスタント定義(html)

検証環境・本番環境への移行

開発環境から検証環境および本番環境への移行は、段階的に実施します。各工程の役割は以下のとおりです。

1. 移行対象データのエクスポート
開発環境から移行対象となるデータを抽出します。検証環境から本番環境へ移行する場合も、同様に必要なデータをエクスポートします。

2. 移行先環境のセットアップ
システム環境を設定した上で、テナント環境を構築します。本番環境についても同様にセットアップを実施します。

3. 初期データの反映
移行先の環境で利用する初期データを反映します。初期データの反映は「ファイル操作」機能を利用して実施します。

4. マスタデータのインポート
基盤マスタや設定情報などを「ジョブ」機能を利用して登録します。検証環境で確認したデータは、そのまま本番環境へ反映します。

5. アプリケーション資材のインポート
業務アプリケーションや関連資材を移行します。検証環境で動作確認済みの資材を本番環境へ適用します。

6. 個別設定の反映
環境固有の設定を行い、運用可能な状態に仕上げます。本番環境では運用条件に応じた最終調整を行います。

上記の流れに基づき、各工程の具体的な手順について説明します。

移行における共通作業

ここでは、移行処理に先立って実施する共通作業について説明します。具体的には、移行対象データのエクスポートおよび移行先環境のセットアップを行い、個別資材のインポート作業を実施するための準備を整えます。

1. 移行対象データのエクスポート

エクスポートは、移行処理の前提となる工程であり、移行対象となる各種データを所定の方法および形式で出力します。データ種別ごとに適切なエクスポート手段を選択して実施してください。

注意

開発環境で作成されたデータには、検証用データや未使用の資材が含まれている場合があります。これらをそのまま移行すると、検証環境や本番環境に不要なデータが混入する可能性があります。エクスポートを実施する際は、移行対象データを事前に精査し、必要なデータのみを選択して出力してください。

参考

移行対象データごとのエクスポート方法およびファイル形式の詳細については、上記「対象データの移行方法一覧」を参照してください。

2. 移行先環境のセットアップ

移行先の環境では、システム環境を設定した上で、テナント環境のセットアップを行い、ファイル操作によるデータ移行を実施できる状態にします。

注意
  • 検証環境および本番環境では、アプリケーション構成やバージョン(パッチ含む)を一致させてください。構成が異なる場合、移行後に動作不良が発生する可能性があります。
  • 本番環境については、検証環境で確認済みの構成をもとにセットアップを実施してください。
参考

システム環境およびテナント環境のセットアップや初期設定については、「2. intra-martの初期設定」を参照してください。

3. 初期データの反映

移行先の環境で利用する初期データを反映します。初期データの反映は、「ファイル操作」機能を利用して、移行元の環境から取得した設定ファイルをStorage領域(ファイルの保存領域)に配置します。これにより、個別資材のインポート作業を実施するための前提条件を整えます。

「ファイル操作」機能で設定する主なファイルは以下のとおりです。

  • template.html(IM-FormaDesigner、IM-BIS)
  • ワークフローパラメータ(tenant
  • 印影関連の設定(param_stamp
  • IM共通マスタのインポート設定ファイル
注意
  • 設定ファイルを配置する際は、配置先のディレクトリ構成やファイル名が移行元の環境と一致していることを確認してください。異なる場合、設定が正しく反映されない可能性があります。
  • 既存のファイルが存在する場合は、上書きによる影響に注意してください。必要に応じて事前にバックアップを取得してください。
参考

ファイル操作(ディレクトリやファイルの新規作成、アップロード、ダウンロードなど)の詳細な手順については、「システム管理者操作ガイド - ファイル操作」を参照してください。

個別資材のインポート

intra-mart Accel Platform本体の準備が整った後は、マスタデータやアプリケーションなどの個別資材をインポートします。

データをインポートする際は、データ同士の依存関係や実施順序を考慮することが大切です。たとえば、マスタデータを利用するアプリケーションを先にインポートした場合、参照先のデータが存在せず、不整合や意図しない動作が発生する可能性があります。そのため、基盤となるマスタデータや認可情報を先にインポートし、その後にアプリケーション資材をインポートすることを推奨します。

基盤マスタ・設定情報

① 会社/組織
IM-共通マスタに含まれる「会社」マスタおよび「組織」マスタをインポートします。検証環境から本番環境へは、そのまま移行します。

② ユーザ
IM-共通マスタに含まれる「ユーザ」マスタをインポートします。個別にインポートファイルを作成し、本番環境に反映します。

③ ロール情報
ロールおよびロール割り当てに関する情報をインポートします。

④ アカウント情報
アカウントに関する設定情報やライセンス情報をインポートします。

⑤ メニュー情報
メニューおよび関連する設定情報をインポートします。

⑥ ポータル情報
ポータルに関する設定情報をインポートします。

⑦ 認可情報
IM-Authzによる認可情報(リソースやポリシーなど)をインポートします。

アプリケーション関連資材

⑧ ローコード資材
業務アプリケーションに関連するローコード資材(画面定義やロジックなど)をインポートします。

⑨ その他資材
ワークフローや業務プロセスなど、上記以外の関連資材をインポートします。

注意

インポートにあたっては、上位マスタが先に存在していない場合、参照整合エラーが発生するため、実施順序に注意してください。また、アプリケーション関連資材のインポートは、アプリケーション単位で上書きされるため、特定バージョンのみを対象とした差分インポートは原則として行うことはできません。

上記の内容を踏まえ、マスタデータやアプリケーションなどの個別資材をインポートします。データ同士の依存関係を考慮し、適切な順序でインポートを実施してください。ここでは、「ジョブ」機能を利用したマスタデータのインポートや、ローコード開発ツールを利用したインポート、さらにintra-mart Accel Platformの画面操作やJava/スクリプト開発モデルなどのAPIを利用したインポートについて説明します。

4. マスタデータのインポート

定期的なスケジュールで自動的にプログラムを実行する「ジョブ」機能を利用して、マスタデータをインポートします。

マスタデータのインポートは、データの依存関係に応じて「基盤系ジョブ」と「共通マスタ系ジョブ」に分けて実行します。基盤系ジョブは、IM-共通マスタ以外の基盤マスタおよび認可などの設定情報をインポートするために設定します。一方、共通マスタ系ジョブは、IM-共通マスタのデータをインポートするために設定します。

ここでは、ジョブ/ジョブネットによるマスタデータのインポートについて、手順の概要を説明します。

(1) 要件定義
何を・いつ・どのような条件で実行するかを定義します。あわせて、失敗時の挙動(リトライ有無、停止条件など)を整理します。

(2) ジョブ/ジョブネットの設計
処理単位、依存関係、実行順序、タイムアウトなどを設計します。

基盤系ジョブの場合:

マスタデータや認可設定などの依存関係により、実行順序を誤るとインポートに失敗する場合があります。そのため、対象データ間の依存関係を事前に確認し、適切な順序でジョブを実行するよう設計してください。

参考

テナント管理機能(ロール、アカウント、ジョブ、認可など)に関するインポートデータの依存関係および実行順序について、詳細は「テナント環境セットアップ 仕様書 - インポートするデータの依存関係」を参照してください。

(3) ジョブ/ジョブネットの実装・登録
設計内容に基づき、IM-LogicDesignerまたは管理画面、もしくは開発実装によりジョブを作成し、システムへ登録します。

基盤系ジョブの場合:

認可設定や各種マスタ情報、システム設定など、プラットフォーム全体に関わるデータを対象として移行・更新を行います。実行するジョブによって、必要な入力データや事前準備、影響範囲が異なるため、事前に対象データや仕様を十分に確認した上で実施してください。

参考

共通マスタ系ジョブの場合:

IM-共通マスタのデータは相互に依存関係を持つため、データ領域ごとに定められた条件および順序に従ってインポートする必要があります。特に依存関係のあるマスタについては、以下の順序で実行してください。

① 「ユーザ」マスタ ⇨ ② 「会社」マスタ ⇨ ③ 「組織」マスタ ⇨ ④ 「パブリックグループ」マスタ

それ以外のマスタについては、インポートの順序に特に制約はありません。

参考

(4) スケジュール設定
必要に応じて定期実行のスケジュールを設定し、実行タイミングやカレンダー条件を定義します。

(5) 即時実行(テスト)および外部トリガ検証
即時実行により動作確認を行い、想定通りに処理が実行されることを確認します。必要に応じて外部トリガの動作も検証します。

(6) 監視・通知・運用ルールの設定
障害の早期検知および対応のため、監視対象や通知条件、運用ルールを定義します。

(7) 本番投入・運用監視・保守
本番環境へジョブを適用し、運用を開始します。実行状況を監視し、必要に応じて保守・調整を行います。

参考

ジョブ/ジョブネットの実行手順や運用方法の詳細については、「6. 運用時の主な対応 - 定期処理の実行・管理」を参照してください。

5. アプリケーション関連資材のインポート

各開発手法で作成した業務アプリケーションの資材をインポートします。

ノーコード/ローコード開発で作成した資材のインポート

ノーコード/ローコード開発で作成した業務アプリケーションの資材をインポートします。ここでは、ノーコード/ローコード開発で利用するintra-mart標準のアプリケーションを例として、インポート手順の概要を説明します。

IM-BloomMaker(画面コンテンツ定義)

(1) 画面コンテンツ定義のインポート:
 Accel Studioの「アプリケーション管理」画面からインポートを実行するか、ユーザモジュール内の拡張インポート機能を使用します。

(2) 必要なプログラムのデプロイ:
 画面を動かすために必要なユーザモジュールまたは独自APIをデプロイします。

(3) 動作確認:
 画面が正しく表示されるかどうか確認します。

注意

ストレージ上の添付ファイルは自動で移行されないため、別途コピーする必要があります。

IM-LogicDesigner(サーバ側のロジックフロー定義)

(1) ロジックフロー定義のインポート:
 IM-LogicDesignerのインポート画面を使用するか、LogicFlowImporter APIによりロジックを取り込みます。

(2) 必要なプログラムのデプロイ:
 ロジックの実行に必要なJavaなどのサーバ側のモジュールをデプロイします。

(3) 動作確認:
 ジョブやトリガーが正常に実行されることを確認します。

注意

APIを利用する場合は、ログイン済みのテナント環境での操作が前提となります。

IM-FormaDesigner(Formaアプリケーション・フォーム)

(1) Formaアプリケーション・フォームのインポート:
 IM-FormaDesignerの各インポート画面からインポートを実行します。インポート対象によって、画面が異なります。

(2) データベース定義の反映:
 テーブルのカラム追加やサイズ変更などの定義変更については、本番環境の「テーブル設定」画面から手動で反映します。

(3) 必要なプログラムのデプロイ:
 Formaアプリケーション・フォームの動作に必要なユーザプログラムを別途デプロイします。

注意

既存テーブルと競合する場合、一部のDDLエラーがスキップされることがあるため、注意してください。

IM-Workflow(ワークフロー定義)

(1) 事前データの確認:
 インポート前に、対象となるユーザ・組織・コンテンツが存在していることを確認します。

(2) ワークフロー定義のインポート:
 「ワークフロー管理」画面からインポートを実行します。

IM-BIS(BISフロー/案件管理)

(1) 事前データの確認:
 関連するFormaアプリケーションおよびワークフロー定義を事前に整備します。

(2) データ整合性の確認:
 トランザクションテーブルおよび既存案件の参照関係を確認します。

(3) オプションの設定内容の確認:
 インポート前に、BIS側のテーブル作成オプション等の設定内容を確認します。

(4) BISフロー/案件管理のインポート:
 IM-FormaDesignerのインポート機能を利用して、各画面からインポートを実行します。インポート対象によって画面が異なります。

注意

既存案件を保持する場合、テーブル作成オプションの設定に注意してください。

参考

プロコード開発(スクラッチ開発)で作成した資材のインポート

プロコード開発(スクラッチ開発)で作成した業務アプリケーションの資材や設定ファイルをインポートします。ここでは、intra-mart標準のアプリケーションや設定ファイル以外のインポート手順について、概要を説明します。

(1) インポート方式の選択:
 IM-Jugglingまたは設定ファイルの管理機能を利用し、プロジェクトの設定ファイルを出力・修正します。

(2) 設定ファイルの出力・配置:
 IM-Jugglingの[設定ファイル]タブをクリックし、対象モジュールを選択した後、[出力]ボタンをクリックします。

(3) 設定ファイルの編集・反映:
 プロジェクト直下のconfフォルダへ出力された設定ファイルを開き、必要に応じて編集し、保存します。

(4) アプリケーションのデプロイ:
 必要なユーザモジュールや独自APIをデプロイします。

(5) 動作確認:
 アプリケーションが正常に動作することを確認します。

コラム

ローカルファイルを直接修正し、アプリケーションサーバ(Resin)を再起動する方法も可能ですが、IM-Juggling上で設定ファイルを修正し、書き出す方法を推奨します。この方法を採用することで、プロジェクトをIM-Juggling上でアップデートした際にも、設定ファイルを再修正する必要がなくなり、保守性が向上します。

6. 個別設定の反映

本番環境では運用条件に応じた最終調整を行います。たとえば、移行したデータに合わせて、以下のような設定を行ってください。

  • ワークフローの設定を環境に合わせて設定を変更する(処理対象者などを実際のユーザに合わせるなど)
  • アプリケーションのサンプルデータを本番用に切り替える