昨日の記事で触れたDDMについてです。
DDMとは
・DDMはRPG, COBOLなどの言語でリモートのデータベースをローカルデータベースのように操作する技術
・DB2間の汎用プロトコルであるDRDAを使用してDB2/400間を接続しリモートデータベースファイルを操作
クラサバ・Java以降のアプリケーション構造はプログラムロジックとデータベースを分離可能(というか分離がデフォルト)でしたが、それ以前から存在するRPG, COBOL等のプログラム構造は基本的にはロジックとデータベースを同一OS内に持つことがデフォルトでした。
このため、リモートのデータベースを操作する方法のひとつとしてDDMが使用されます。
参考URL:https://www.ibm.com/docs/ja/i/7.5?topic=overview-ddm
DDMの例
昨日の記事の例です。
リモートシステム上のオブジェクト
リモートシステムに実際にCRUD操作するデータベースオブジェクト(テーブル)が存在します。
例ではスキーマ:DEMOLIB、テーブル名:TOKMSPです。
ローカルシステム上のオブジェクト
ローカルシステム上にはリモートシステムのテーブルに対するポインターとして機能するDDMオブジェクトが存在します。
また、データベース操作をするアプリケーション、プログラムもローカルシステム上に存在します。例ではDFUというIBM i OSのDB操作ユーティリティを図示しました。
DDMオブジェクト(DDMファイル)の作成法コマンド例は下記です。
CRTDDMF FILE(GOMALIB/TOKMSP75) RMTFILE(DEMOLIB/TOKMSP) RMTLOCNAME(IBMI75 *IP)
スキーマ:GOMALIB に TOKMSP75という名前のDDMファイルを作成します。実際にCRUD操作するリモートのライブラリー名(スキーマ名)とテーブル名をDEMOLIB、TOKMSPと指定しています。