ibm i とクラウドのつなぎ⽅ - ibm.com · ibmiのnode.js...

27
IBM i とクラウドのつなぎ⽅ ⽇本アイ・ビー・エム株式会社 Power Systems テクニカル・セールス 菅⽥ 丈⼠

Upload: others

Post on 03-Sep-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

IBM i とクラウドのつなぎ⽅⽇本アイ・ビー・エム株式会社Power Systems テクニカル・セールス

菅⽥ 丈⼠

基幹システム IBM iIBM i

✕Bluemix

IBMロゴ変⾰の歴史 1886 1891 1911 1924 1947 1956 1972-Now

IBM i の進化は、ビジネス要件の変遷とともに”予測できない変化・将来を見据えたテクノロジーへの対応”

IBM iは資産継承と最新テクノロジーを両⽴

4

5250エミュレータ RDi(開発ツール)/Eclipse

RPG/COBOL

DB2 for i

連携⼿法IBM i

✕Bluemix

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 iHow?

RESTful API Data Connect

Runtime

基幹システム

(1)Data ConnectIBM i

✕Bluemix

Data Connect

10

2017年3⽉にDB2 for iをサポート!

Data Connect活⽤例- GUIツールの簡単操作でBluemixサービスにデータ連携 -

COPY

Data Connect活⽤例- IBM i のデータを取得してDash DB連携 -

Secure gateway

SGClient

Ubuntu

IBM i

Data ConnectDMZ

Secure gatewayトンネル

DashDBfor Analytics

DB2 for i

(2)RuntimeIBM i

✕Bluemix

Bluemix と IBM i の共通Runtime

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に記録 -

(3)RESTful APIIBM i

✕Bluemix

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を使⽤した例

まとめIBM i

✕Bluemix

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 Bluemixhttps://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の米国およびその他の国における登録商標です。JavaおよびすべてのJava関連の商標およびロゴは Oracleやその関連会社の米国およびその他の国における商標または登録商標です。