IBM i
とクラウドのつなぎ⽅
⽇本アイ・ビー・エム株式会社
Power Systems テクニカル・セールス
基幹システム IBM i
IBM i
✕
IBMロゴ変⾰の歴史
1886
1891
1911
1924
1947
1956
1972-Now
IBM i の進化は、ビジネス要件の変遷とともに
”予測できない変化・将来を
見据えたテクノロジーへの対応”
IBM iは資産継承と最新テクノロジーを両⽴
4
5250エミュレータ
RDi(開発ツール)/Eclipse
RPG/COBOL
連携⼿法
IBM i
✕
Bluemixを基幹システムIBM i に接続
6
What?
How?
Bluemixを基幹システムIBM i に接続
7
What?
基幹システム
RDBリソース
ILE PGM
(RPG/COBOL)
PGMリソース
DB2 for i
Bluemixを基幹システムIBM i に接続
8
RDBリソース
ILE PGM
(RPG/COBOL)
PGMリソース
DB2 for i
How?
RESTful API
Data
Connect
Runtime
(1)Data Connect
IBM i
✕
Data Connect
10
Data Connect活⽤例
GUIツールの簡単操作でBluemixサービスにデータ連携
Data Connect活⽤例
IBM i のデータを取得してDash DB連携
-Secure gateway
SG
Client
Ubuntu
IBM i
Data Connect
DMZ
Secure
gateway
トンネル
DashDB
for Analytics
DB2 for i
(2)Runtime
IBM i
✕
DB2 Access for i
•
Node.jsからDB2 for i を操作するAPIセットを提供
•
IFSロケーション(v4):
/QOpenSys/QIBM/ProdData/OPS/Node4/os400/db2i/lib/db2
•
詳細:
http://bit.ly/nodejs_db2foriaccess
Toolkit for i
•
XMLSERVICEインターフェースのAPIセットを提供
•
IFSロケーション(v4):
/QOpenSys/QIBM/ProdData/OPS/Node4/
os400/xstoolkit/lib/itoolkit
•
詳細:
http://bit.ly/nodejs_toolkitfori
IBM i のNode.js
IBM i リソースへのアクセス機能も提供
ILE PGM
(RPG/COBOL)
DB2 for i
Node.jsでBluemixからSQLアクセス
websocketのチャットアプリケーション構成例
-server.js
socket.io
express
client.js
socket.io
db2.js
SQL
実⾏
SG
クライアント
Ubuntu
DMZ
Secure
gateway
DB2 for i
Secure
gateway
トンネル
server.js
socket.io
express
client.js
socket.io
db2.js
SQL
実⾏
SG
クライアント
Ubuntu
DMZ
Secure
gateway
Secure
gateway
トンネル
DB2 for i
Node.jsでBluemixからSQLアクセス
チャットログをリアルタイムにIBM iに記録
-(3)RESTful API
IBM i
✕
RESTful APIを利⽤した基幹データの有効活⽤
19
REST APIを利⽤することで
クライアント・アプリケーションは
⾃由に開発可能
ILE RPG
ILE COBOL
Power Systems(IBM i)
統合Web
アプリケーショ
ン・サーバー
Webサービ
ス・エンジン
HTTP/HTTPS
API呼び出し
実績のある基幹プログラム・
ロジックの有効活⽤※
既存プログラムに
よるセキュアな
データ・アクセス
クライアント・アプリケーションの場所も
オンプレミス/クラウドを選ばず配置可能
※PCML(Program Call Markup Language)による呼び出し
DB2 for i
•
IBM iに
標準搭載
されている統合アプリケーション・サーバー(IAS)で RESTをサポート(2016年)
•
ILEプログラムで実装されたサービスをRESTful APIとして外部公開可能
RESTful APIでアプリケーションロジックを利⽤
•
温度を華⽒から摂⽒に変換するRESTful
APIを提供するILE RPGプログラム
•
プロシージャとして定義できるので、
必要な処理のみ記述することができる
•
華⽒ ⇨ 摂⽒
h nomain PGMINFO(*PCML:*MODULE)
d ConvertTemp pr
d tempIn 10 const
d tempOut 10
p ConvertTemp b export
d ConvertTemp pi
d tempIn 10 const
d tempOut 10
d tempI s 8P 2
d tempO s 8P 2
d value S 50A
/free
value = %STR(%ADDR(tempIn));
tempI=%DEC(value:7:2);
tempO = (5/9)*(tempI - 32);
value = %CHAR(tempO);
tempOut = value;
%STR(%ADDR(tempOut):10)=tempOut;
/end-free
p ConvertTemp e
華⽒(Input)
摂⽒(Output)
IBM i上のDBをREST APIを使⽤してアクセス
ブラウザー
統合Web
アプリケーショ
ン・サーバー
Webサービ
ス・エンジン
GET/POST/PUT/DELETE
IBM i 7.3 TR1
STUDENTDB
SOAP UI ※
ILE RPG
studentrsc.rpgle
SOAP UI:Webサービス・テストツール
https://www.soapui.org/
RESTリクエストに対して
json形式で結果を返す
DB2 for i
デモ例:GET(クラウドからIBM iのデータを取得)
GET(テーブル内全てのデータ)
http://ホスト名:ポート番号/web/services/students/
GET(特定のデータ)
http://ホスト名:ポート番号/web/services/students/STD000001
※ブラウザーを使⽤した例
デモ例:POST(クラウドからIBM iにデータを追加)
POST(データの追加)
IPアドレス:ポート番号
追加したいデータを
json形式で記述
IPアドレス:ポート番号
実⾏結果を確認
GET(実⾏結果の確認)
※SoapUIを使⽤した例
まとめ
IBM i
✕
BluemixとIBM i の連携⽅法 まとめ
-DB2 for i
RDBリソース
ILE PGM
(RPG/COBOL)
PGMリソース
Data Connect
リソースアクセス
(IBM提供ライブラリー)
RESTful API
Runtime
統合アプリケーション
・サーバー(IAS)
Web Service
エンジン
DB2 for i
DB2 for i
DB2 for i
•
IBM i 技術情報ポータル
http://ibm.biz/BdiG8L
•
IBM Bluemix
https://console.ng.bluemix.net
ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独⾃の⾒解を反映したものです。それらは情報提供の⽬的のみ で提供されており、いかなる参加者に対しても法律的またはその他の指導や助⾔を意図したものではなく、またそのような結果を⽣むものでもありません。本講演資料 に含まれている情報については、完全性と正確性を期するよう努⼒しましたが、「現状のまま」提供され、明⽰または暗⽰にかかわらずいかなる保証も伴わないものと します。本講演資料またはその他の資料の使⽤によって、あるいはその他の関連によって、いかなる損害が⽣じた場合も、IBMは責任を負わないものとします。 本講演 資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使 ⽤を規定する適⽤ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を⽣むものでもありません。 本講演資料でIBM製品、プログラム、またはサービスに⾔及していても、IBMが営業活動を⾏っているすべての国でそれらが使⽤可能であることを暗⽰するものではあ りません。本講演資料で⾔及している製品リリース⽇付や製品機能は、市場機会またはその他の要因に基づいてIBM独⾃の決定権をもっていつでも変更できるものとし、 いかなる⽅法においても将来の製品または機能が使⽤可能になると確約することを意図したものではありません。本講演資料に含まれている内容は、参加者が開始する 活動によって特定の販売、売上⾼の向上、またはその他の結果が⽣じると述べる、または暗⽰することを意図したものでも、またそのような結果を⽣むものでもありま せん。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使⽤した測定と予測に基づいています。ユーザーが経験する実際のスループットやパ フォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、⼊出⼒構成、ストレージ構成、および処理されるワークロードなどの考慮事項を 含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使⽤したか、またそれらのお客様が達成した結果の実例として⽰されたものです。実際 の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。
IBM、IBM ロゴ、ibm.com、DB2、Power Systems、POWER6、POWER6+、POWER7、POWER7+、POWER8は、世界の多くの国で登録されたInternational
Business Machines Corporationの商標です。
他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。 現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。 Linuxは、Linus Torvaldsの米国およびその他の国における登録商標です。
Microsoft, Windows, Windows NT および Windowsロゴは Microsoft Corporationの米国およびその他の国における商標です。 UNIXはThe Open Groupの米国およびその他の国における登録商標です。