i-web RPG5 の世界
目次 1.i-web RPG5とは 2.IOプロシージャー 3.i-serverアーキテクチャー 1.i-web RPG5とは 1.AS400は生まれ変わる 2.i-webテクノロジーの概要 2.IOプロシージャー 1.ブラウザーと入出力 2.多彩な開発手法・5つのタイプ 3.i-serverアーキテクチャー 1.Binary File 機能 2.IFS サポート 4.Excel Application Support 1.多彩なASデータベースのExcelダウンロード機能 2.ExcelScriptによる高度なExcel出力 5.Quickソース 1.Quickソースとか 2.生成される画面例 6.i-web RPG5をご利用するために
PowerUp AS400を変える i-webRPG5の魔法 AS400は 文字中心の5250の世界 グラフィカルなWebの世界 i-webRPG5 i-server ■データベース ■RPGの資産 ■安定した可動性 ■ブラウザーの表示能力 ■PCドキュメント処理 ■Excel直接出力 AS400は ■ハイパーフォーマンス のデータベース ■グラフィカルな インタフェース ■基幹であり、 ドキュメントサーバー ■Excel出力は標準的 ■RPGのままで、漸次変身 従来のAS400 ■画面サイズ制約 ■文字情報限定 ■PCデータ非連携 こんなマシンが 欲しかった・・・
i-webテクノロジーの概要
I0プロシージャー AS400 【5250RPGプログラム】 【Web用RPGプログラム】 ビジネスロジック DSPF用IO ・DBの操作 ・計算 ・READ ・WRITE ・EXFMT ビジネスロジックは、同じ。 流用可能。 DSPF用IOの代わりに、 IOプロシジャーを使用 【Web用RPGプログラム】 ビジネスロジック IOプロシージャー ・DBの操作 ・計算 ・#IWREAD ・#IWWRITE ■5250用IO命令の代わりに、ブラウザー用IO命令(IOプロシージャー)を 使用し、RPGプログラムを作成します ■IO部分以外は、通常のRPGと変わりありませんので、従来の知識、 既存のプログラム資産が十分に活用出来ます。 ■作成手順も、SEUでソース入力→コンパイル→デバックと同じです
http://ASのIPアドレス / ライブラリー / プログラム名 IOプロシージャーによるプログラム RPGによるプログラム プログラムの呼び出し 【プログラムの起動/画面全体の読み込み】 http://ASのIPアドレス / ライブラリー / プログラム名 CALLP #IWIN 見出し画面(画面名=HDR) 【画面名の読み込み】 EVAL GAMEN=#IWVAL(’画面’) 【最初の処理】 URLで呼ばれた直後は、画面名なし GAMEN IF *blanks CALLP #IWOUT(’HDR’) END 【見出し画面の処理】 GAMEN IF ‘HDR’ EVAL CHUBAN=#IWVAL(’注番’) CHUBAN CHAIN HACHU CALLP #IWSET(‘品番’:HINBAN) CALLP #IWSET(‘仕入先’:SIIRE) CALLP #IWOUT(‘BODY’) END 明細画面(画面名=BODY) 【明細画面の処理】 GAMEN IF ‘BODY CALLP #IWOUT(’HDR’) END 【明細画面の処理】 SETON LR
多彩な開発手法・5つのタイプ タイプ 説明 速度 RPG的 開発 1)SSB DB 1 5 2)CSB-1 2 3 3)CSB-2 IFS HTMLの 場所 速度 RPG的 開発 1)SSB (Server Side Build) すべてサーバーでhtml を組立 DB 1 5 2)CSB-1 (Client Side Build - 1) Htmlと変数値を別々 にDLし、scriptで組立 Htmlはネイティブファイル 2 3 3)CSB-2 ( Client Side Build - 2) HtmlはIFS IFS 4 4)ClientPull 変数をURLの一部として DL。scriptで組立 5)CSI (Client Side Insert) Script主体でロジックを 組立、データのみを読み込み
Server Side Build タイプ サーバー クライアント ブラウザー表示 プログラム 送信されたhtml ・全てhtmlを組立 <html><body> <table> <tr><td>得意先<td>123 <tr><td>名前<td>アクセル <tr><td>住所<td>名古屋市 </table> </body></html> データ ベース スケルトン (DB) ブラウザー表示 ■最も基本的な手法 ■RPGプログラムが完全なHTMLを組み立てで出力 ■AS負荷:大/回線負荷:大/PC負荷:小
Client Side Build – 1 タイプ サーバー クライアント ブラウザー表示 プログラム 送信されたhtml ・html部分はそのまま 送信 ・データ部分を別に送信 <html><body> <table> <tr><td>得意先<td id=no> <tr><td>名前<td id=name> <tr><td>住所<td id=addr> </table> </body></html> <textarea> no=123,name=アクセル,addr=名古屋 </textarea> Scriptを使用し組立 データ ベース スケルトン (DB) ブラウザー表示 ■ASからは、HTML/データ部分を別々に送信し、PCサイドで組み立て ■ASのプログラム構造は単純になる ■AS負荷:小/回線負荷:小/PC負荷:大
Client Side Build – 2 タイプ サーバー クライアント ブラウザー表示 プログラム 送信されたhtml ・html部分はそのまま 送信 ・データ部分を別に送信 <html><body> <table> <tr><td>得意先<td id=no> <tr><td>名前<td id=name> <tr><td>住所<td id=addr> </table> </body></html> <textarea> no=123,name=アクセル,addr=名古屋 </textarea> Scriptを使用し組立 データ ベース スケルトン (IFS) ブラウザー表示 ■Script Build-1で、スケルトンをIFSで保持 ■スケルトンの保守が、PCのエディターで可能になる ■パーフォーマンスは、ScriptBuild-1と同等
Client Pull タイプ サーバー クライアント ブラウザー表示 プログラム 送信されたhtml ・データをURLの一部と して送信。 して送信。 ・htmlを直接、呼び出し <html><head> <meta http-equiv=refresh content= “URL=http://スケルトン.htm ?no=123 &name=アクセル &addr=名古屋“> </head></html> Scriptを使用し組立 データ ベース スケルトン (IFS) ブラウザー表示 ■スケルトンは、プログラムを経由せず、直接ブラウザーに送られる ■プログラムは、データ部分のみを送信するため、パーフォーマンス良好 ■データ長最大、4096の限界
Client Side Insert タイプ サーバー クライアント ブラウザー表示 プログラム 送信されたhtml ・プログラムは、html内の scriptから呼び出される ・必要なデータのみを 送信 <html><head> <script> url=http://pgm1.pgm&parm=123 Data=loadData(url) </script> </head></html> データ ベース スケルトン (IFS) Scriptを使用し組立 ブラウザー表示 ■クライアントのScriptが直接、ASのプログラムと更新 ■画面ロジックはScript側に移行し、ASプログラムはデータサプライのみ ■パーフォーマンスは最高
i-serverアーキテクチャー DDN(文書配布ネットワーク) Windows/Linux AS400 点の情報→面の情報 *)BF=BinaryFile i-webでサポートされる 文書形式ファイル word/Excelなどの文書 PDFなどの画像 基幹DBなどのデータ 会社レベルの情報 点の情報→面の情報 NetWork接続 ■文書情報はPCサーバーに 整理されていない状態で ふんだんに ■結び付けの要素の データはAS400に IFS BF i-web RPG プログラム http-apache 足で運ぶ→ネットで運ぶ DDN(文書配布ネットワーク) ■情報に『宛先』をつけて 配布 ■時間と場所を越えて配布 誰でもどこでも ■PCの汎用技術のみで 構成 ■安く早くうまい情報 Pull型情報は、ブラウザー検索 これまでの画面検索 Push型情報は、メール配信 これまでの帳票配布
i-serverでのPCドキュメント参照 バイナリーファイルサポート ■PCドキュメントをAS400・ネイティブ域に保管 ■オブジェクト管理が容易 i|web Active Docu ment IFSサポート ■PCドキュメントをAS400・IFS域に保管 ■PCドキュメントのそのままの形式 改廃が頻繁 ネットワークファイル・サポート ■PCドキュメントを外部サーバーに保管 ■ファイルサービス用ネットワークプロトコル を使用(SMB・NFS) ブラウザーの 表示能力を 十二分に利用 Static Docu ment HTTPサーバー機能 ■PCドキュメントを外部サーバーに保管 ■外部サーバーにHTTPサーバーを構成し、 参照(Read Only) 改廃が あまりない
ASで、Excel/PDFなどのファイルを Binary File サポート ASで、Excel/PDFなどのファイルを 利用可能にします! AS400 ■AS400ネイティブ環境下に Excel/PDFなどのPC文書を 保管するファイル・タイプ ■IFSと違い、ライブラリーの元に 存在し、通常のOS400コマンド でアクセスが可能 ■RPG5で提供するプログラムで ・ブラウザーから参照 ・ブラウザーからアップロード ・IFSとのファイル交換 【ライブラリー】 ■データベース ■ソースファイル ■バイナリーファイル 商品 *FILE 在庫 *FILE ソース *FILE ソース *FILE *FILE *FILE アップロード *FILE ダウンロード
<img src=“http://・・・・/RPG5/DLBF.PGM?BFF=B00001”> BFサポートの活用・その1 画像付の画面照会 【ライブラリーUSRLIB】 商品マスター 品目 品名 画像BF# 説明書BF# 013770 電動鉛筆削り B00001 B00002 【画像を表示する場合】 ImgタグのSRC属性に、画像 のBF#を指定 RPGプログラム 【ライブラリーWEB5】 BFインデックス <img src=“http://・・・・/RPG5/DLBF.PGM?BFF=B00001”> BF# タイプ ライブラリー ファイル テキスト B00001 JPG DOCLIB G013770 画像013770 B00002 PDF DOCLIB D013770 説明書013770 【ライブラリーDOCLIB】 G013770 D013770
<img src=“http://・・・・/RPG5/DLBF.PGM?BFF=B00001”> BFサポートの活用・その2 画面照会からPDF表示 【ライブラリーUSRLIB】 商品マスター 【PDFを表示する場合】 ImgタグのSRC属性に、画像 のBF#を指定 品目 品名 図面BF# 説明書BF# 30ISP 渦巻きポンプ B00001 B00002 RPGプログラム <img src=“http://・・・・/RPG5/DLBF.PGM?BFF=B00001”> 【ライブラリーWEB5】 BFインデックス BF# タイプ ライブラリー ファイル テキスト B00001 PDF DOCLIB Z30ISP 図面30ISP B00002 DOC DOCLIB D30ISP 説明書30ISP 【ライブラリーDOCLIB】 Z30ISP D30ISP
IFS サポート IFS RPGプログラム テキストデータ バイナリーデータ ■IFS上のファイルへの入出力をサポート IFS サポート ■IFS上のファイルへの入出力をサポート ■RPGから入出力プログラムを呼び出し ■存在チェックや登録簿の取得もサポート RPGプログラム IFS CALL ‘IFSREADTX’ CALL ‘IFSWRITETX’ CALL ‘IFSREAD’ CALL ‘IFSWRITE’ テキストデータ IFSREADTX IFSWRITETX バイナリーデータ IFSREAD IFSWRITE
ネットワークファイル・サポート(SMB) Windows・server1 AS400 ルート FILE1 QSYS FILE2 Dir1 ・ QNTC Windows・server2 フォルダQNTC下のフォルダーは、リモートシステム SERVER1 FILE1 FILE3 FILE2 SERVER1は、ネットワーク上のサーバー名 ファイルの実体は無く 参照のみ SERVER1 ・SMB(ServerMessageBlock) ・NFS(NetworkFileSystem) を利用することにより、 PCサーバーのファイルへの アクセスも可能になります FILE3
リダイレクトとプロキシー(apache) Windows・server1 AS400 逆Proxy HTTPサ |バ | I IS FILE1 FILE2 http://AS400/FILE1 http://SERVER!/FILE1 リダイレクト Windows・server2 http://AS400/FILE1 I IS http://SERVER!/FILE1に移動しました FILE3 http://SERVER!/FILE1 直接リンク http://SERVER2/FILE1 Apacheの機能を用いることにより i-webでのネットワークファイル操作を行わずに 他のサーバー(PCサーバー等)のファイルを参照できます。
Excel Application Support 多彩なExcelダウンロード機能 【表形式】 Excel Application Support ユーザー・インターフェース Query・インターフェース コマンド・インターフェース 【自由形式】 プログラミングインターフェース ■EAS機能は、多彩なExcelダウンロードの方法を 提供します。 ■クライアント側には、特別なソフトウェアは不要です。
ExcelScriptによる高度なExcel出力 JPG/GIFの画像も 使用可能 ExcelScript命令を RPGプログラム内で 記述し、帳票作成の ような感覚でExcelを ブラウザーへ出力 RPGプログラム ■ExcelScriptは、RPGプログラム内で 使用し、レポート形式のExcelを出力 するための文法です。 ■JscriptやStyleSheetに似ています Excelのハイパーリンクを使用して、他のサイトにリンクも可能 計算式も利用可
Quickソース ソースを 自動生成 ■Quickソースは、簡易プログラム・ジェネレーターです ■対話式にプログラムの内容(DB名・検索キー名・表示フィールド名など)を指定し、 RPGソースプログラムとHTMLを自動生成します ■ソースで生成されるので、以降追加・修正を加えることも可能です ■生成パターンは、単一レコード照会/複数レコード照会/ウインドウ照会の3パターンです RPGソースプログラム 【RPGプログラム】 FSYOHIN IF E K DISK C EVAL HINCOD=#IWVAL('HINCOD') C HINCOD CHAIN SYOHIN 90 C IF *IN90 C MOVE '見つからない' MSG C CALLP IWOUT('ERR_DSP') C ELSE C CALLP IWSET('HINMEI',HINMEI) C CALLP IWSET('TANKA' ,TANKA) C CALLP IWOUT('DTL_DSP') C END 【HTML】 <html> <body> 商品コード<input name=HINCOD > <input type=“submit” value=“実行” > </body> </html> ソースを 自動生成 HTML
生成されるプログラム 単一レコード照会 複数レコード照会
i-web RPG5をご利用するために AS400の環境 ■OS400 V5.1以上 ■ILERPGコンパイラー ■QSYSINCライブラリー ■空きディスク容量 50MB以上 ■ネットワーク環境であること PCの環境 ■インターネットエクスプローラー(V5.5以上) ■EAS機能を使用する場合は、Excel2000以上