ibm i とクラウドのつなぎ⽅ - ibm.com · ibmiのnode.js...
TRANSCRIPT
IBMロゴ変⾰の歴史 1886 1891 1911 1924 1947 1956 1972-Now
IBM i の進化は、ビジネス要件の変遷とともに”予測できない変化・将来を見据えたテクノロジーへの対応”
Bluemixを基幹システムIBM i に接続
8
RDBリソース
ILE PGM(RPG/COBOL)
PGMリソース
DB2 for iHow?
RESTful API Data Connect
Runtime
基幹システム
Data Connect活⽤例- IBM i のデータを取得してDash DB連携 -
Secure gateway
SGClient
Ubuntu
IBM i
Data ConnectDMZ
Secure gatewayトンネル
DashDBfor Analytics
DB2 for 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
Securegateway
DB2 for i
Secure gatewayトンネル
server.js
socket.io
express
client.js
socket.io
db2.js
SQL実⾏
SGクライアント
Ubuntu
DMZ
Securegateway
Secure gatewayトンネル
DB2 for i
Node.jsでBluemixからSQLアクセス- チャットログをリアルタイムにIBM iに記録 -
RESTful APIを利⽤した基幹データの有効活⽤
19
REST APIを利⽤することでクライアント・アプリケーションは⾃由に開発可能
ILE RPGILE COBOL
Power Systems(IBM i)
統合Webアプリケーション・サーバー
Webサービス・エンジン
HTTP/HTTPSAPI呼び出し
実績のある基幹プログラム・ロジックの有効活⽤※
既存プログラムによるセキュアなデータ・アクセス
クライアント・アプリケーションの場所もオンプレミス/クラウドを選ばず配置可能
※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 prd tempIn 10 constd tempOut 10
p ConvertTemp b export d ConvertTemp pi d tempIn 10 constd 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を使⽤した例
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またはセッション発表者によって準備され、それぞれ独⾃の⾒解を反映したものです。それらは情報提供の⽬的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助⾔を意図したものではなく、またそのような結果を⽣むものでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよう努⼒しましたが、「現状のまま」提供され、明⽰または暗⽰にかかわらずいかなる保証も伴わないものとします。本講演資料またはその他の資料の使⽤によって、あるいはその他の関連によって、いかなる損害が⽣じた場合も、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の米国およびその他の国における登録商標です。JavaおよびすべてのJava関連の商標およびロゴは Oracleやその関連会社の米国およびその他の国における商標または登録商標です。