これまでの軌跡

  1. トップページ
  2.  >
  3. これまでの軌跡 一覧
  4.  >
  5. これまでの軌跡

IBM i DataBase Hub

今回取り上げるのは、IBM i (AS/400) の DataQueue を使用したソリューションです。各拠点に点在する IBM i (AS/400) のデータベースをリアルタイムに同期する事でお客様には非常に満足していただいております。


背景

今回の事例のきっかけは、2台の IBM i (AS/400) 間で在庫データをリアルタイムに同期できる仕組みが欲しいと言うお客様からの要望でした。当時は今の様に高速通信が安価に利用できる環境はなく、非常に細い専用線で接続されている拠点の IBM i (AS/400) を対象としたものでした。お客様の要望と問題点は以下の通りです。

  • 2拠点にある在庫データをリアルタイムで同期したい
  • 回線の速度は非常に遅い
  • 現在は1日数回SNDNETFにより送受信している

1日に数回のやり取りなのでリアルタイム性はなく、お客様も周辺システムの構築には苦心されていました。


アーキテクチャの選定

拠点間でデータをリアルタイムに同期する事を考えたとき真っ先に頭に浮かんだものは DDMファイルでした。早速DDMファイルを作成し2拠点で同期するためのプログラムを作り時間の測定をしましたがまったく話にならない遅さでした。(下図参照)

IBM i DataBase Hub 01

次に DataQueue で確認をしました。DataQueue は DDMファイルの様にリモートにある DataQueue を透過的に使用するためのパラメータがあります。リモート接続の DataQueue とそれを使用するプログラムを作成し時間測定を行いました。しかし、これでも使えるレベルの速度を出す事ができませんでした。(下図参照)

IBM i DataBase Hub 02

「ソケット通信による独自プロトコル処理」でご紹介した様なソケットプログラムを作るしかないかと考え始めていた矢先、何気なく拠点間の DataQueue を Javaで繋げて時間測定をおこなったところ、飛躍的に速度が上げる事が判明しました。ソケットプログラムを実装するより遥かに簡素な方法で実現できます。この結果を受け基本アーキテクチャは各拠点に配置した DataQueue 間を Java により HUB を作成し送受信する方法を取る事としました。(下図参照)

IBM i DataBase Hub 03
設計と実装

基本的なアーキテクチャが決定したので設計に入ります。お客様のご要望は在庫データのみでしたが、他にも様々なシステムで SNDNETF により送受信されているファイルがありました。後々それらも同様に処理できる様にできるだけ汎用的に利用できる様に考え設計しました。また、お客様は別の拠点にも IBM i (AS/400) をお持ちだったので、どの拠点を対象とした場合でも同様の事ができる様に考えました。(下図参照)

IBM i DataBase Hub 04

実装も終わり運用を始めたところ、在庫データ以外のデータベース・ファイルも次々に HUB に接続するご依頼をいただきました。汎用的な設計はしていましたが、DataQueue へ送信するRPGプログラム、また DataQueue から受信するRPGプログラムは個別に作成する必要があります。それらプログラムは HUB に接続するデータベースが発生するたび、我々が作成していました。しかし、お客様ご自身でプログラムを作成したいとの要望がありましたので、それを実現することにしたのです。

IBM i DataBase Hub 05
雛型と研修

お客様が簡単にプログラムを作成できるように雛型を提供しました。基本的にはビジネスロジックは別として送受信の基本処理は他のデータベース・ファイルを対象とした場合でもそれほど違いはありません。穴埋め式の雛型をご提供すれば、データベース・ファイルに合わせてフィールドを指定するだけで完了となります。それ以外にも HUB を管理するアプリケーションの利用方法、HUBのアーキテクチャをご理解いただくための研修を実施しました。研修後も実際にお客様が作成される際に不明点をご説明しながらサポートいたしました。今ではお客様だけで実装されています。


最後に

今では、通信速度も飛躍的に向上し、速度だけで見れば DDMファイルでもリモート接続されたDataQueue でも速度が出ます。しかし依然として通信状況が悪い拠点も中にはあり、HUB は現在も使用されています。様々な状況下においてお客様のご希望を実現するため、困難な状況でもあきらめずに解決する事を我々は目指しております。少しでもその事が理解していただけると幸いです。


お客様からの要望を実現するため我々は様々な角度からソリューションをご提案させていただきます。
お一人で悩まずに我々に是非ご相談ください。