DB連携機能を使用する場合、以下の作業を実施します。
DB連携機能をセットアップするための事前作業について説明します。
本セットアップの前には、以下が実施済みである必要があります。
“3.2.3.4.2 DB連携機能を使用する場合”の関連ソフトウェアが開発実行環境サーバにインストールされていること
FUJITSU Software Enterprise Postgresが外部サーバにセットアップ済で、起動していること(注)
“4.5.5 DB連携機能を使用する場合”の環境変数が設定されていること
注) FUJITSU Software Enterprise Postgresのセットアップでは、DB連携機能用のデータベースとユーザーを作成する必要があります。作成した情報は、“5.1.4.2 セットアップツールの実行”のインベントリファイルの編集時に指定します。
DB連携機能をセットアップする場合、マスタサーバ(プライマリ)において以下を実施します。
インベントリファイルの編集
セットアップツール対象のサーバ情報および設定値を記載するために、インベントリファイルに「DB連携機能のセットアップ」の項目を追加します。
詳細については、“D.2 インベントリファイル(hosts)”の“DB連携機能”を参照してください。
セットアップツールの実行
マスタサーバ(プライマリ)において、構築する機能を指定してbsb_syssetupコマンドを実行します。
# /var/opt/FJSVbsb/bsb_setuptool/bin/bsb_syssetup -m db_cooperation <Enter>
インベントリファイルの再編集
セットアップツール実行後は、インベントリファイルに記入したユーザー名/パスワード情報を削除します。詳細については、“D.2 インベントリファイル(hosts)”の“DB連携機能”を参照してください。
DB連携機能を使用して運用業務を行う場合の、初回設定作業について説明します。
データ提供者がDB連携機能を利用する上で、初回に実施する作業を説明します。
以下の手順1~3を実施してください。これらの手順はデータ提供設定をする前に1度だけ実施する作業です。
データ提供者用の業務DBを用意
業務DBの作成・構築は、データ提供者が任意の方法で行ってください。
以下の要件を満たすDBを作成・構築してください。
変更差分抽出機能で使用する接続ユーザーは、以下の機能の実行権限を有すること
SELECT/DELETE
CREATE TABLE
CREATE TRIGGER
CREATE FUNCTION
DROP TABLE
DROP TRIGGER
DROP FUNCTION
information_schema.tablesへのアクセス
information_schema.columnsへのアクセス
pg_triggerへのアクセス
information_schema.routinesへのアクセス
業務DB内で、データ提供用のテーブルを作成してください。作成するテーブル名、カラム名については任意です。
以下の要件を満たす必要があります。
変更差分用テーブルと重複する以下のテーブル名でないこと
・命名規則:"diff_{差分抽出の対象テーブル名}"
差分抽出用トリガーと重複する以下のトリガー名でないこと
・命名規則:"diff_trigger_{差分抽出の対象テーブル名}"
差分抽出用ファンクションと重複する以下のファンクション名でないこと
・命名規則:"diff_func_{差分抽出の対象テーブル名}"
差分抽出の対象テーブルに使用するカラムのデータ型は文字列変換が可能なもののみ使用すること
差分抽出の対象テーブルのカラムに"record_id"カラム名を使用しないこと
主キーを必ず設定すること
データ利用者用の業務DBと共通の主キーを設定すること(主キーの上限数は20)
データ提供者用のDBユーザーを作成
データ提供者が任意の方法で、データ提供者用のDBユーザーを手順1.のDB上に作成・構築してください。
起動パラメータの設定ファイルを作成
以下に格納されている起動パラメータの設定ファイルを編集してください。
設定値の説明は“EDI連携/DB連携編 ユーザーズガイド”の“config.json”を参照してください。
/etc/opt/FJSVbsb/db_adapter/plcdlprovide/config.json
データ利用者がDB連携機能を利用する上で、初回に実施する作業を説明します。
以下の手順1~3を実施してください。これらの手順はデータ利用設定をする前に1度だけ実施する作業です。
データ利用者用の業務DBを用意
業務DBの作成・構築は、データ利用者が任意の方法で行ってください。
ただし、以下の要件を満たすDBを作成・構築してください。
業務DB内で、データ利用用のテーブルを作成してください。作成するテーブル名、カラム名については任意です。
以下の要件を満たす必要があります。
先頭から3つのカラムは以下になるように作成すること。カラムの順番は入れ替え不可
・伝票ID(文字列データ型、20桁の数値)
・検索開始日時(文字列データ型、YYYYMMDDHHmmss形式)
・伝票ID自動削除日時(文字列データ型、YYYYMMDDHHmmss形式)
上記カラム以降に、変換ルールに従って挿入するデータのカラムを設定すること
データ提供用の業務DBと共通の主キーを設定する(主キーの上限数は20)
データ利用者用のDBユーザーを作成
データ利用者が任意の方法で、データ利用者用のDBユーザーを手順1.のDB上に作成・構築してください。
起動パラメータの設定ファイルを作成
以下に格納されている起動パラメータの設定ファイルを編集してください。
設定値の説明は“EDI連携/DB連携編 ユーザーズガイド”の“config.json”を参照してください。
/etc/opt/FJSVbsb/db_adapter/plcdlreceive/config.json
DB連携機能を使用して運用業務を行う場合の、不定期作業について説明します。
機能利用開始手続きをする
システム利用者(データ利用者、データ提供者)が本機能の利用を開始する場合、以下の手順で機能利用開始の作業を実施します。
連携設定変更機能のデータベ-スにシステム利用者の情報を登録してください。
データベースにログインしてください。ログインパスワードは連携設定変更機能のユーザーパスワードを入力してください。
$ psql -U {連携設定変更機能のユーザー名} -d {連携設定変更機能のデータベース名} -h {データベースサーバのIPアドレス} -p {データベースサーバのポート番号} -W
各パラメータは、“D.2 インベントリファイル(hosts)”の“DB連携機能”の以下に対応します。
連携設定変更機能のユーザー名:cls_db_user
連携設定変更機能のデータベース名:cls_db_name
データベースサーバのIPアドレス:dbcoop_db_ip
データベースサーバのポート番号:dbcoop_db_port
企業識別子の一覧を表示してください。
# SELECT * FROM cls.COMPANY;
手順b.で取得した一覧と重複しないように企業識別子を決定し、登録してください。
企業識別子は半角英小文字数字(a-z,0-9)100字以内で決定してください。
下記、SQL文の{companyId}に決定した企業識別子を指定して実行してください。
# INSERT INTO cls.COMPANY( COMPANY_ID ) VALUES ( '{companyId}' );
手順c.で作成した企業識別子が登録されていることを確認し、ログアウトしてください。
# SELECT * FROM cls.COMPANY WHERE COMPANY_ID = '{企業識別子}'; # \q
変更差分蓄積機能<データ基盤側>および変更差分抽出機能<データ基盤側>に格納抽出APIの認証ファイルを登録してください。
格納抽出APIの認証に使用するユーザーID/パスワードを取得してください。
格納抽出APIで認証サービスを使用しない場合、本手順は不要です。
取得したID/パスワードを記載した認証ファイルを作成してください。
格納抽出APIで認証サービスを使用しない場合、パラメータの値は指定不要です。
認証ファイルの形式: JSON形式
認証ファイルの情報:
パラメータ | 説明 |
---|---|
storeextract_auth_user_id | 格納抽出APIの認証用ユーザーIDです。
|
storeextract_auth_password | 格納抽出APIの認証用ユーザーパスワードです。
|
企業識別子が"fujitsu"、ユーザーIDが"User01"、パスワードが"Password01"の場合、認証ファイルは以下のようになります。
ファイル名:fujitsu.json
{ "storeextract_auth_user_id": "User01", "storeextract_auth_password": "Password01" }
企業識別子が"fujitsu"の場合、認証ファイルは以下のようになります。
ファイル名:fujitsu.json
{ "storeextract_auth_user_id": "", "storeextract_auth_password": "" }
変更差分蓄積機能<データ基盤側>に認証ファイルを登録してください。
格納抽出APIの認証ファイル格納ディレクトリに、手順2.のb.で作成した認証ファイルを格納してください。
格納抽出APIの認証ファイル格納ディレクトリの詳細は“EDI連携/DB連携編ユーザーズガイド”の“cda.env”を参照してください。
変更差分抽出機能<データ基盤側>に認証ファイルを登録してください。
格納抽出APIの認証ファイル格納ディレクトリに、手順2.のb.で作成した認証ファイルを格納してください。
格納抽出APIの認証ファイル格納ディレクトリの詳細は“EDI連携/DB連携編ユーザーズガイド”の“cde.env”を参照してください。
システム利用者に以下の表に記載した情報を提供してください。
情報 | 説明 |
---|---|
連携設定変更機能APIの接続先IPアドレス/ポート番号 | 「連携設定変更機能APIの接続先IPアドレス」は開発実行環境サーバのIPアドレス、「ポート番号」は連携設定変更機能のポート番号です。
|
企業識別子 | 手順1で決定した識別子です。 |
DB連携制御機能のURL | DB連携制御機能との通信に使用するURLです。
|
DB連携制御機能との通信に使用する利用者ID | インベントリファイルの“mq_user_name”に指定した値です。 |
DB連携制御機能との通信に使用する利用者パスワード | インベントリファイルの“mq_password”に指定した値です。 |
ポイント
連携設定変更機能で認証サービスを使用する場合は、以下のパラメータに指定する値を情報提供してください。
auth_mode:0(認証サービスで認証)
platformlinkage_auth_address:連携設定変更機能の認証サービスのURL
platformlinkage_tenant_id:連携設定変更機能の認証用テナントID
platformlinkage_auth_user_id:連携設定変更機能の認証用利用者ID
platformlinkage_auth_password:連携設定変更機能の認証用利用者のパスワード
連携設定変更機能で認証サービスを使用しない場合は、以下のパラメータに指定する値を情報提供してください。
auth_mode:1(APIキーで認証)
auth_apikey:機能間のAPI呼び出しに使用するAPIキー
パラメータの詳細については、“EDI連携/DB連携編ユーザーズガイド”の“config.json”を参照してください。
機能利用停止手続きをする
システム利用者(データ利用者、データ提供者)が本機能の利用を停止する場合、以下の手順で機能利用停止の作業を実施します。
システム利用者が使用しているDB連携制御機能のQueueを削除してください。
ただし、下記で説明するDB連携制御機能の操作に関して、記載事項以外の操作を実施した場合の動作は保証されません。
データ提供の機能利用停止依頼である場合には、下記の手順でQueueを削除してください。
以下のコマンドを実行し、Queueの一覧を表示します。
# rabbitmqctl list_queues | grep {企業識別子}
例)
# rabbitmqctl list_queues | grep provider01 platformlinkageProvide_provider01 0 platformlinkageProvideErrorInfra_provider01 0
表示されたQueueをすべて削除します。
# rabbitmqadmin delete queue name={企業識別子を含むQueue} -u {インベントリファイルでmq_user_nameに指定した値} -p {インベントリファイルでmq_passwordに指定した値}
例)
# rabbitmqadmin delete queue name=platformlinkageProvide_provider01 -u mquser -p mquser012345 queue deleted
データ利用の機能利用停止依頼である場合には、下記の手順でQueueを削除してください。
以下のコマンドを実行し、Queueの一覧を表示します。
# rabbitmqctl list_queues | grep {企業識別子}
例)
# rabbitmqctl list_queues | grep receiver01 platformlinkageReceive_receiver01_1 0 platformlinkageProvide_receiver01 0 platformlinkageReceiveErrorInfra_receiver01 0
表示されたQueueをすべて削除します。
# rabbitmqadmin delete queue name={企業識別子を含むQueue} -u {インベントリファイルでmq_user_nameに指定した値} -p {インベントリファイルでmq_passwordに指定した値}
例)
# rabbitmqadmin delete queue name=platformlinkageReceive_receiver01_1 -u mquser -p mquser012345 queue deleted
以下の手順を実施し、連携設定変更機能および変更差分連携機能<データ基盤側>用のデータベースからシステム利用者の企業識別子を削除してください。
データベースにログインしてください。ログインパスワードは連携設定変更機能のユーザーパスワードを入力してください。
$ psql -U {連携設定変更機能のユーザー名} -d {連携設定変更機能のデータベース名} -h {データベースサーバのIPアドレス} -p {データベースサーバのポート番号} -W
COMPANYテーブルからシステム利用者の企業識別子を削除してください。
# DELETE FROM cls.COMPANY WHERE COMPANY_ID = '{システム利用者の企業識別子}';
削除したシステム利用者の企業識別子が削除されていることを確認し、ログアウトしてください。
# SELECT * FROM cls.COMPANY WHERE COMPANY_ID = '{システム利用者の企業識別子}'; # \q
格納抽出APIで認証サービスを使用している場合、開発実行環境サーバに格納している認証ファイルを削除してください。
cda.envおよびcde.envの“storeextract_auth_file_dir”パラメータで指定した格納抽出APIの認証ファイル格納ディレクトリから、該当する認証ファイルを削除してください。
$ rm {認証ファイル格納ディレクトリパス}/{システム利用者の企業識別子}.json
cda.envの詳細については、“EDI連携/DB連携編ユーザーズガイド”の“cda.env”を参照してください。
cde.envの詳細については、“EDI連携/DB連携編ユーザーズガイド”の“cde.env”を参照してください。
データを提供する
データ提供者がデータを提供する方法を説明します。
データ提供設定で指定したDBテーブル(table_id)に対して、INSERT文を発行してレコードを追加することで、データが提供されます。また、レコードをUPDATE文やDELETE文で変更・削除した場合は、データ利用者の業務DBに提供済のデータを変更・削除することが可能です。
ポイント
UPDATE文やDELETE文を使用する場合の制限事項は、以下のとおりです。
CSVの先頭にクエリ文字のカラムが追加されることを前提に変換ルールを作成してください。
データ提供用のテーブルにおいて、同じ主キーに対する操作は10分以上の間隔を空けてください。
データ提供を停止する
データ提供者がデータ提供を停止する方法を説明します。
データ提供設定の削除
連携設定変更機能のデータ提供設定削除機能APIを実行し、停止対象のDBテーブルに対するデータ提供設定を削除してください。
DBテーブルの削除
データ提供設定で指定した業務DBのDBテーブルを削除してください。
データを取得する
データ利用者がデータを取得する方法を説明します。
データ利用設定を作成した状態で業務DBを稼働状態に保つことで、データ利用設定で指定された条件のデータが自動的に業務DBのテーブルに追加されます。
業務DBが停止状態の間にデータ利用設定で指定された条件のデータをデータ提供者が提供した場合、業務DBを稼働状態にすることでデータが自動的に追加されます。また、停止状態の間は新たに提供されたデータ利用設定で指定された条件のデータが業務DBに追加されることはありません。このため、データ利用者は業務DBの稼働状態を保つことに注意してください。
注意
業務DBに挿入されるデータは、データ提供側のデータの型に関わらずすべて文字列として扱われます。
文字列とは異なる型として挿入したい場合は、暗黙的な変換が正しく行えるよう変換ルールを作成する必要があります。
データ提供者の提供順序と業務DB上の挿入順序は完全には一致しません。
データ利用を停止する
データ利用者がデータ利用を停止する方法を説明します。
データ利用設定の削除
連携設定変更機能のデータ利用設定削除機能APIを実行し、停止対象のDBテーブルに対するデータ利用設定を削除してください。
DBテーブルの削除
データ利用設定で指定した業務DBのDBテーブルを削除してください。