これまでの軌跡

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

IBM i (AS/400) RPGⅣ(ILE RPG)登場・・・そして完成へ

DataQueue による VB と RPG 連携(3)

前回ご覧頂いた「iSeries データ待ち行列(DataQueue) によるVBとRPG連携」からの続きとなります。まだご覧になっていない方は是非「iSeries データ待ち行列(DataQueue) によるVBとRPG連携」と合わせてご覧ください。


RPGⅣについて

サーバー側のデータの登録/変更/削除プログラムは当然 RPG を使用します。当時経験はあまりなかったのですが、当該案件の実現は最新技術を使用した開発を念頭に置いていたためRPGⅣ(ILE RPG)で作成しました。RPGⅣ を選択した事で共通処理はサービスプログラム(*SRVPGM)として作成する事ができました。また、少しでもデータ更新のパフォーマンスを上げるためマスターテーブルのみリレーション上必要なテーブルへの更新をトリガープログラムで実現しました。


VB アプリケーションの自動配布

決定したアーキテクチャによりプログラムの作成が進む中、また別の問題が浮かんできました。IBM i (AS/400) 内で完結するアプリケーションの場合、プログラムオブジェクト自体は1つしか存在しないため、修正を行えば全クライアントが即時最新のオブジェクトを使用できる様になります。しかしクライアントにインストールする VB アプリケーションの場合その様な訳には行きません。アプリケーションの変更や機能追加、また不具合への対応があった場合、最新バージョンを各PCに配布する必要があります。しかし、その都度全てのパソコン(東京に 約50台、大阪に約10台)に手動インストールする事は現実的ではありません。そこで MDB と同様に Windows サーバーに VB アプリケーションのファイル(exe)を配置し、各クライアントへはサーバー上の VB アプリケーションファイルをコピーするための小さなプログラムをインストールするようにしました。この仕組みにより修正が発生した際の更新(配布)はサーバー上のアプリケーションファイルを置換するだけで済むようになりました。(図1を参照)

VBアプリの自動配布
納品

データの非同期登録についてはもっともパフォーマンスが良いのですが、「実際に登録されたかどうか不安」というお客様からの声もあり、最終的には「同期登録」で行う様に変更を致しました。流れとしては以下の様になります。(図2を参照)

  1. VisualBasic から 送信用 DataQueue へデータを書き込み、その後受信用の DataQueue を監視
  2. RPG は DataQueue からデータを受信しデータベースへ登録
  3. RPG は データベースへの登録完了後 VisualBasic が監視している DataQueue へ完了の知らせを送信
  4. VisualBasic は完了の知らせを DataQueue から受け取りユーザーへ通知

結果的に、この流れでも十分使用に耐えうる応答スピードを実現することができました。

非同期から同期へ

今となってはもっと簡単に実現できることばかりですが、当時はその様な手法もなく、手探りの状態でさなざまなテストおよび検証をしながら、最後には全てのご要望に沿った形で製品が完成し納品することができたのです。

以上、3回に分けてご覧いただきました。いかがだったでしょうか?今回のソリューションは規模が大きかったため概要だけに留めております。細部に目を凝らすと更に細かなソリューションが提供されております。それについては、また別の機会に公開致します。

最後に、実はこの文書を書いている私は「納品」からこのプロジェクトに携わりました(納品の頃入社致しました)。実際のプロジェクトを管理、設計、実装全て行ったのは、現在の弊社取締役(当時は主任)小川でございます。私は納品の後、このプロジェクトの保守業務に携わり、実現されている数々のアイデアとそれを実現するための技術に圧倒されると共に感動した事を覚えております。今でこそ IBM i (AS/400) には Web Application Server や PHP 等の技術が導入され IBM i (AS/400) で統合ソリューションを実現しておりますが、弊社としてこのプロジェクトが 脱エミュレータの第一歩となりました。また、これらアイデアや技術はこの後、様々なお客様のプロジェクトで活用されております。それらソリューションはまた別の機会にご紹介させていただきます。


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