Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
0
【 IBM i におけるオープンソース活用 】
OpenSource協議会 - System i
2011/11
1
2006年 最初はOSSパッケージから始まった
OSSのXOOPS(PHP)利用
オープンソースを利用した工事進捗!
2
ポイント
・既存システムを活かしてPHPで構築
・部内3名(RPGプログラマ、1名がWebを学習)
・PHPの習得は容易、しかし以外の学習が多い(Apache/SQL/HTML・・・)
System i の既存システムを活かす
・5250画面をブラウザに集約
・IBM i とExcelを連携
2007年 グリーン画面をブラウザに!
3
2008年 5250画面からの脱却!
ポイント
・ドリルダウンが可能になった
・グラフ表現でわかりやすくなった
BIで活用
・データの集計/分析に活用
・グラフの活用
4
ポイント
・1画面に納まる情報量が格段に増えた。
・バッチの取り込みからリアルタイムの取り込みになった
(CSVファイル出力、取り込みが不要になった)
・操作性が向上した
(現品票、納品リストにQRコード印刷/部品の図面PDF表示/SSL)
2007年 購買システムをOSSで実現!
・ファイル転送をリアルタイムに改善
・PCクライアントへのソフト導入が不要
5
【検索/照会】
DB2/400
PHP
2009年 受注システムをWebで実現!
イメージ
ファイル
パス 動画スト
リーミング
動画スト
リーミング
PHPとリンク
【在庫引当/注文】
RPGPHP
・受注入力のロジックを利用
・受注ファイル出力
・在庫引き当
・与信チェック
WRK
・既存システム(RPG)を継承
・得意先システムをWebで実現
【帳票】
6
指図仕様書をExcelへ入
力後、FAX又は郵便
5250で発注
入力
営業営業営業営業 製造製造製造製造
事務事務事務事務
Accessで
入力
紙は
製造へ
原価計算
2010年 受注から生産までWeb化!
システム構築前
IBM i
指図仕様書を
ブラウザへ入力
ブラウザで発注
入力
営業営業営業営業製造製造製造製造
事務事務事務事務
PHP
PDF が製造へ
担当者のポータ
ルに一覧される
システム構築後
IBM i
原価計算
ポイント
・ブラウザで一元管理
・PDF作成のOSSを活用
・パフォーマンス向上で Ajax の活用(DBアクセスの分散)
課題:
・業務拡大においてExcelでの対応が困難になった。
・営業と製造のシームレス化が行われていない
・特注品の増大で設計図を扱いたい
注文から製造指示まで一連の流れをWeb化!
7
ここまでのまとめ
事例を見てみると
① 基幹業務を継承しつつ、5250のWeb化が多い。
② 業務システムの一部をWeb化して生産性を上げる事例が続いて多い。
③ オープンソースはコスト的なメリットはあるが、協力者との関係は重要
構築技術を見てみると
① IBM i 技術者とPHP技術者の連携が必要
② 生産性向上のためEXCEL/PDF/グラフ等のOSS部品を活用する
③ Webの技術進化は早く、Ajax等の技術を取り入れて操作性の向上や
パーフォーマンスの向上をはかる。
8
中国
フィリピン
VPNVPN
既存RPGプログラム
DB2
在庫情報
入出庫管理
在庫情報
入出庫管理
リモートアクセス
による開発
在庫情報
入出庫管理
本社:東京
System i 520
PASE環境
PHP
在庫の一元管理
マルチ言語対応
パフォーマンスアップを考慮された活用事例
9
1:SQLはPreparedStatementを利用
2:テーブルオープン回数は最小限に
3:インデックスを作成して利用する
4:SELECT *の使用は避ける
5:相対レコード番号の利用は避ける
6:数値データタイプの変換は避ける
7:算術演算式使用を避ける
8:LIKE句使用の際の注意点
9:WHERE節内でのスカラー関数の利用は避ける
SQLパフォーマンスの考慮点
SQLパフォーマンスモニターで確認しよう!
1010
パフォーマンスのまとめ
① RPGのDBアクセスがPHP DBアクセスより早い。これをうまく活用する
② 極力単純なSQLにする。
③ インデックスを作成する。
④ 表示行が多い場合、PAGER等のオープンソースを活用する
⑤ 更新処理はRPGを利用するとよい
⑥ 今回出てこなかったがAjax等の非同期アクセスも有効
11
・受注システム
・RIA(Rich Internet Applications)の実現(VBと同様のイメージおよび操作性)
オープンソースの【Ext JS】(JavaScriptライブラリー)を活用
・5250 との連携
5250のメニューよりブラウザ画面を表示(サインオンユーザーやジョブ属性を引き継ぐ)
・既存のRPGを少量の変更でストアドプロシージャとして活用
データの登録、更新 (コミットメント制御あり)
操作性や見栄えの良い活用事例
VB(Visual Basic)アプリケーションをPHPで再構築
12
Tabs MessageBox
TreePanels
Layout Forms
Complex CheckBox
DataView
Drag and Drop
Graph
Grid
Ext JS の RIA 部品(代表的なもの)
13
RIAのまとめ
① javascript製の部品活用で見栄えや開発生産性が上がる
② PHP + JavaScriptでスキルの取得が必要
③ Ajaxの非同期アクセスはパフォーマンスにも有効
・通信の状況を見るモニターがあると便利(ex. Fiddler)
・サーバ側(IBM i)やネットワークの負担の低減になる
④ 既存のVB資産の操作性を損なうことなくブラウザアプリを構築できる
・操作性が変らないためお客様の教育コストも軽減できる
14
ご清聴ありがとうございました。
OpenSource協議会 - System i