Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第1回 さわってみようDSP Sandbox (手順のみ)
Search
ta28masa
May 11, 2021
Technology
0
750
第1回 さわってみようDSP Sandbox (手順のみ)
2021年5月14日開催の「第1回 さわってみようDSP Sandbox」の事前公開資料です。
ta28masa
May 11, 2021
Tweet
Share
More Decks by ta28masa
See All by ta28masa
Season2第2回 DSPに載せられるアプリを作ろう
ta28masa
0
150
第五回 自分だけのSandboxをつくろう
ta28masa
0
300
第四回 DSP Sandboxでモバイルアプリを作ろう
ta28masa
0
250
第3回 DSP Sandboxでメッセージングアプリ残高照会
ta28masa
0
260
第2回 DSP Sandboxで考える銀行システム
ta28masa
0
420
第1回 さわってみようDSP Sandbox
ta28masa
0
110
Other Decks in Technology
See All in Technology
Aurora MySQL v3(MySQL8.0互換)の オンラインDDLの罠挙動を全バージョンで検証した
yutakikai
1
150
2024/4/26 コンピュータ歴史博物館解説告知
toshi_atsumi
0
200
強みを伸ばすキャリアデザイン
yug1224
0
200
現代CSSフレームワークの内部実装とその仕組み
poteboy
2
760
長期運用プロジェクトでのMySQLからTiDB移行の検証
colopl
2
670
社内勉強会運営のコツ
senoo
6
1.1k
テストプロセスで大事にしていること #jasstnano
makky_tyuyan
0
130
[2024年3月版] Databricksのシステムアーキテクチャ
databricksjapan
8
1.9k
インシデントレスポンスのライフサイクルを廻すポイントってなに / Pinpoints of Incidentresponse Lifecycle for Operation
sakaitakeshi
1
300
コンパウンドスタートアップのためのスケーラブルでセキュアなInfrastructure as Codeパイプラインを考える / Scalable and Secure Infrastructure as Code Pipeline for a Compound Startup
yuyatakeyama
3
2.5k
「ふりかえりのふりかえり」をふりかえり、実のあるふりかえりにする
naitosatoshi
0
220
Microsoft Cloudで開発ライフサイクルを保護する
kkamegawa
0
140
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
91
13k
Clear Off the Table
cherdarchuk
83
310k
RailsConf 2023
tenderlove
2
530
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Debugging Ruby Performance
tmm1
70
11k
Raft: Consensus for Rubyists
vanstee
132
6.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
16
6.4k
Atom: Resistance is Futile
akmur
258
25k
What's new in Ruby 2.0
geeforr
337
31k
How GitHub (no longer) Works
holman
304
140k
The Pragmatic Product Professional
lauravandoore
24
5.8k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Transcript
第⼀回 さわってみようDSP Sandbox 2021年5⽉14⽇ ⽇本アイ・ビー・エム株式会社 Developer Community Developer Dojo -
DSP Sandboxシリーズ
1 © 2021 IBM Corporation ⾃⼰紹介 正⽊ 達也 Tatsuya Masaki
Advisory IT Architect Solution Strategy, FSS Business Solutions, GBS, IBM Japan 経歴 2009年 ⽇本IBM⼊社。 2009-2015年 インターネットバンキングシステムのデリバリー担当。 ITスペシャリストとして⼤規模更改プロジェクト等を経験。 2016-2020年 シンガポール赴任。邦銀の海外拠点向けコアバンクシステム更改 プロジェクト等を歴任。 2020年末帰任 ⾦融機関向けソリューション戦略チームに在籍。 スキル Java, Web関連 (HTML, CSS, JavaScript) Linux, AIX, Windows, VMWare, bash, ksh, Powershell, Python, Excel VBA, etc. テスト⾃動化(Selenium, JMeter, etc.), 構築⾃動化(Ansible) (鋭意勉強中) IBM Cloud, OpenShift, Kafka,モバイル(React Native) https://www.linkedin.com/in/tatsuya-masaki-ta28093 https://www.ibm.com/think/jp-ja/business/dsp-front-2021/ DX成功の鍵を握るフロントサービスの変⾰に向けて、IBMが提供する「共創の場」 - IBM THINK Business Blog
2 © 2021 IBM Corporation 講義の進め⽅ • 講義中の質問 : WebExのQ&Aにて受け付け、
サポートメンバーにより可能な限り回答します。 また参加者の皆様に関係があるご質問については、 講義後の時間が許す限りで回答します。 • 講義後の質問︓ Connpass申込ページのFeed機能にて 頂戴した質問についても確認します。 (確実な回答を保証するものではありません。) • 講義+ハンズオンの形式で実施します。 講義資料は追ってConnpass上にリンクを⽤意します。 ハンズオンはゆっくり進めるよう⼼がけますが、追いつけない場合も鑑み ⼿順書をお⼿元にご⽤意いただくことを推奨します。 本講申込ページの[Media]または下記URLよりアクセス可能です。 https://ibm.biz/dspdojo01pre • 講義後アンケート︓ 下記URLから回答をいただけますと幸いです。 https://app.sli.do/event/kbixdsee
1.本シリーズの⽬的
4 © 2021 IBM Corporation 1-1.IBMのオープン・ソーシング戦略フレームワーク https://enterprisezine.jp/news/detail/14229 本活動は、IBMのオープン・ソーシング戦略フレームワークの⼀環として、 「デジタルサービス層を活⽤してフロントサービス層を創るスキル」の向上を⽬指しています。
5 © 2021 IBM Corporation 1-2.DSPとその価値 IBMの提唱する「次世代アーキテクチャ」では、デジタルサービス層がフロントサービスの柔軟・迅速な開発を可能にします。 デジタルサービスプラットフォーム(DSP)は、このデジタルサービス層をクラウド上に構築、共同利⽤するソリューションです。 [ 価値
] フロントサービスとの容易な接続性 オープンAPIにより外部接続を標準化 事前準備された機能・サービス 重要な差別化要素となる 新しい⾦融サービス開発への専念が可能 デジタル開発の効率化 共通サービスの共同利⽤ 安全・安⼼のクラウド利⽤ DSP基盤 ソフトウェア / コンテナ層 アプリケーション層 CICD 資⾦移動 ⼝座管理 諸届 共通機能 ⽣体認証 多要素認証 認証 AI 分析 既存業務 新業務 ユーティリティ部品 API API API API API API フロントサービス (特定銀⾏) ホワイトラベル (銀⾏間) 外部サービス (FinTech 等) IBM⾦融業界 ソリューション 基 幹 系 連 携 バ ック エ ン ド ア ダ プ タ ー 銀⾏ 勘定系システム 共同化 基幹系システム フロントサービス層 デジタルサービス層 ビジネスサービス層
6 © 2021 IBM Corporation 1-3.DSP Open API Sandbox環境 DSP
OpenAPI Sandboxは、このDSPの応答を擬似的に体験できる環境です。 本シリーズでは、この環境を⽤いてどのようなことができるかを「実際に動かして」体験していただきます。 基盤 ソフトウェア / コンテナ層 アプリケーション層 CICD 資⾦移動 ⼝座管理 諸届 共通機能 ⽣体認証 多要素認証 認証 AI 分析 既存業務 新業務 ユーティリティ部品 API API API API API API 基 幹 系 連 携 バ ック エ ン ド ア ダ プ タ ー Sandbox 擬似応答環境 第1回 第2回 第3回 第4回 第5回 2 課題に寄り添った継続的改善 1 早期のプロトタイピングと洗練 3 より具体的で実現可能性の⾼い企画⽴案 コスト、リスク、サービスインまでの時間の低減が期待できます。 実際に動くプロトタイプをでの実証と、早期のフィードバックから、 より的確なゴールへ到達できるようになります。 利⽤者に近い⽴場の⽅が迅速かつ継続的に改善を続けることで、 社内外のシステム評価を⾼めることができます。 広がる活躍の機会
7 © 2021 IBM Corporation 1-4.全5回のゴール 本シリーズ全5回で、APIを使⽤したフロントサービス開発に関して、知識・スキルを広げていただけるように準備しています。 第2回 DSP Sandboxで考える銀行システム
• 銀⾏の各種サービスで、システムがどう連携するかをイメージできる、図⽰できる • 銀⾏のシステム間の「責務」について語れる 第3回 DSP Sandboxでメッセージングアプリ残高照会 • DSP SandboxのAPIを使って、残高照会サービスを構築できる • 他のAPIと組み合わせた銀行サービスについて具体的にイメージできる 第4回 DSP Sandboxでモバイルアプリを作ろう • DSP Sandboxのサービスを呼ぶモバイルアプリを作れる • モバイルアプリのアーキテクチャについて語れる 第5回 自分だけのSandboxを作ろう • Open APIを活用して自在に応答を操作できるスタブを作れる • APIファースト開発について語れる 第1回 さわってみようDSP Sandbox • APIとは何か、なぜ良いのかを語れる • フロントサービス層の銀⾏システムになったつもりでAPIを呼び出せる ⾃分だけの経験、知識、問題意識、 アイディアと掛け合わせて 今までにない顧客体験を「共創」しよう︕ API︖?
8 © 2021 IBM Corporation 1-4.全5回でできるようになること – 第3回 第3回 DSP
Sandboxでメッセージングアプリ残高照会 • DSP SandboxのAPIを使って、残高照会サービスを構築できる • 他のAPIと組み合わせた銀行サービスについて具体的にイメージできる
9 © 2021 IBM Corporation 1-4.全5回でできるようになること – 第4回 第4回 DSP
Sandboxでモバイルアプリを作ろう • DSP Sandboxのサービスを呼ぶモバイルアプリを作れる • モバイルアプリのアーキテクチャについて語れる
2.APIについて知ろう
11 © 2021 IBM Corporation 2-1. 検索すると⾊々出てくる「API」 「Application Programming Interface」
は1964年の登場以来使われている、⻑い歴史をもつ⾔葉です。 これから話すAPIはその広義の「API」ではなく、狭義の「Open API」です。 広義のAPI 様々な接続⽅式 様々なフォーマット HTTP REST SOAP IIOP (S)FTP Hulft RPC MQ ライブラリ 狭義のAPI Open API RESTful HTTP,JSON,ステートレス 記述フォーマット統⼀ 固定⻑テキスト CSV TSV オブジェクト XML YAML JSON “ソフトウェアコンポーネント同⼠が互いに情報を やりとりするのに使⽤するインタフェースの仕様” (Wikipedia より) → こちらはOS(Android/iOS)がアプリ対して提供するAPIであり、 これから語る内容とは異なります。 https://www.google.com/covid19/exposurenotifications/ 『ソフトウェアが別のソフトウェアに 使ってもらうための仕組み』 リモートで、より簡単に、より柔軟に 『ソフトウェアが別のソフトウェアに 使ってもらうための仕組み』 セッションの扱い ステートフル ステートレス https://news.yahoo.co.jp/articles/10ca3f5c837cc3506b775 9cef76f2cd5441108ac https://spec.openapis.org/oas/v3.1.0#openapi-specification RESTful : Addressability Stateless Connectability Uniform Interface JSON : 平易・軽量 拡張容易
12 © 2021 IBM Corporation ATM コールセンター 営業店 企業・チャネルで 断絶した顧客体験
アプリ 企業固有チャネル チャネル別フロントシステム 基幹系システム 個別接続 A銀⾏アプリ 2-2. Open APIが登場する前 機能重複 「分散されたシステムを相互接続する」ために、さまざまなプロトコル、フォーマットが⽣まれました。 古いものほど送信者・受信者で揃えなければいけないことが多く(密結合)、変更が双⽅に波及する傾向にありました。 A銀⾏ 密結合 独⾃仕様 授受データフォーマットの発展 00001234AB C20210517 JPY0010000 0001 0002… 固定⻑テキスト 0000,1234,ABC,20210517,.. 0001,0001,DEF,20210601,.. CSV, TSV XML <?xml version="1.0" encoding="UTF-8" ?> <accounts> <account> <type>0000</type> <id>1234</id> </account> {accounts: [account:{ type:0000 id:1234 },… JSON フィールド⻑制約克服 型制約緩和 ツリー構造表現 (⼊れ⼦、親⼦) 繰り返しデータ許容 軽量化 個別I/F定義 接続⽅式の性質 密結合 疎結合 MQ Hulft SFTP REST IIOP SOAP CORBA 同じソフトウェアが必要 ※ 相互運⽤性を犠牲に ⾼信頼性を獲得 開発⾔語を揃える必要 バージョンも揃える必要 WSDLに従う 接続先を深く知らないと 繋げられない スクレイピング (Web, グリーンスクリーン) 本来⽤途と異なる形でデータを ほじくり出す Kafka HTTPを送受信できればOK COM+
13 © 2021 IBM Corporation 2-3. Open APIがもたらすもの – 相互運⽤性と疎結合性
基盤 ソフトウェア / コンテナ層 アプリケーション層 CICD 資⾦移動 ⼝座管理 諸届 共通機能 ⽣体認証 多要素認証 認証 AI 分析 既存業務 新業務 ユーティリティ部品 API API API API API API 基 幹 系 連 携 バ ック エ ン ド ア ダ プ タ ー 銀⾏ 基幹系システム 共同化 基幹系システム フロントサービス (特定銀⾏) ホワイトラベル (銀⾏間) 外部サービス (FinTech 等) IBM⾦融業界 ソリューション • 疎結合性 (Loose coupling) ... 依存関係がない • 相互運⽤性 (Interoperability) ... 共通の⽅法で使え、特定の技術に縛られない Open API(REST API)により後段接続に関する検討・考慮コストは低減し、 より付加価値の⾼い内容に検討の重⼼を移すことができます。 OS? ハード ウェア? ソフト ウェア? 開発⾔語? IF仕様 接続先 接続元は 知る必要がない 耐障害性 (HA/DR) ビジネス 価値 Build or Buy UX/UI 安全性 マッシュ アップ 更新頻度
3.とにかくさわってみよう
15 © 2021 IBM Corporation 3-0.これから実施する内容 DSP Open APIの仕様を閲覧・試⾏できる「開発者ポータル」にアクセスいただき、実際にAPIを試⾏していただきます。 基盤
ソフトウェア / コンテナ層 アプリケーション層 CICD 資⾦移動 ⼝座管理 諸届 共通機能 ⽣体認証 多要素認証 認証 AI 分析 既存業務 新業務 ユーティリティ部品 API API API API API API 基 幹 系 連 携 バ ック エ ン ド ア ダ プ タ ー 擬似応答環境 ※注意※ 追いつけない場合も鑑み、 下記リンクから⼿順書をお⼿元にご⽤意いただくことを 推奨します。 https://ibm.biz/dspdojo01pre https://ibm.biz/portal_devcom
16 © 2021 IBM Corporation 3-1. 全体の流れと画⾯遷移の関係 初回のみ APIキーの役割 作業の流れ
1 DSP開発者ポータルサイトへのログイン 2 組織の登録 3 APIキーの登録 4 APIキーの取得と検証 5 APIの配信登録 6 ブラウザからのAPIの呼び出し 7 コマンドライン等からのAPI呼び出し API 要求 (Request) APIキー+ JSON(要求パラメータ) 3 5 APIキー検証 (アクセス可否) 応答 (Response) JSON(応答パラメータ) 2 https://ibm.biz/portal_devcom
17 © 2021 IBM Corporation 3-1. とにかくさわってみよう(1) 開発者ポータルにログイン DSP開発者ポータルサイト(https://ibm.biz/portal_devcom)にログインします。 1
1 ここをクリックしてDSP開発者 ポータルサイトへのログインして ください。 初回のみ 本⽇の流れ 1 DSP開発者ポータルサイトへのログイン 2 API呼び出し組織の登録 3 APIキーの登録 4 APIキーの取得と検証 5 APIの配信登録 6 ブラウザからのAPIの呼び出し 7 コマンドライン等からのAPI呼び出し https://ibm.biz/portal_devcom
18 © 2021 IBM Corporation 3-1. とにかくさわってみよう(1) 開発者ポータルにログイン IBMidでログインしてください。アカウントをお持ちでない場合はIBMidの作成からお願いします。 1
1 IBMidを⼊⼒してください。 2 2 Continueをクリックして、次 の画⾯でパスワードを⼊⼒し て、ログインしてください。 初回のみ 本⽇の流れ 1 DSP開発者ポータルサイトへのログイン 2 API呼び出し組織の登録 3 APIキーの登録 4 APIキーの取得と検証 5 APIの配信登録 6 ブラウザからのAPIの呼び出し 7 コマンドライン等からのAPI呼び出し ※環境によりログインがうまくいかない事象が報告されています。 408エラー等が発⽣した場合、F5キーを押してフォームの再送信を試す、 またはWebブラウザを変えて試す、などにより先に進めます。 https://ibm.biz/portal_devcom
19 © 2021 IBM Corporation 3-1. とにかくさわってみよう(1) 開発者ポータルにログイン 初回ログイン時のみ「組織の作成」画⾯が表⽰されます。本ワークショップでは組織は利⽤しないので、任意の⽂字列で登録 してください。
≈ 1 2 1 ⼊⼒したIBMidが表⽰されて いることを確認してください。 2 Organization name(組 織名)は、ここでは適当な⽂ 字列を⼊⼒してください。後で 他のメンバーと同⼀の組織に 所属したり、組織名の変更は 可能です。 3 3 送信をクリックしてください。 初回のみ 本⽇の流れ 1 DSP開発者ポータルサイトへのログイン 2 組織の登録 3 APIキーの登録 4 APIキーの取得と検証 5 APIの配信登録 6 ブラウザからのAPIの呼び出し 7 コマンドライン等からのAPI呼び出し https://ibm.biz/portal_devcom
20 © 2021 IBM Corporation 3-2. とにかくさわってみよう(2) APIキーの登録 次にAPIキーを登録します。APIキーは「新しいアプリケーションの作成」という操作をすることで発⾏されます。 1
1 開発者ポータルの「ホーム」画 ⾯の「APIキー」をクリックしてく ださい。 2 2 「新しいアプリケーションの作成」 をクリックしてください。 初回のみ 本⽇の流れ 1 DSP開発者ポータルサイトへのログイン 2 組織の登録 3 APIキーの登録 4 APIキーの取得と検証 5 APIの配信登録 6 ブラウザからのAPIの呼び出し 7 コマンドライン等からのAPI呼び出し https://ibm.biz/portal_devcom
21 © 2021 IBM Corporation 3-2. とにかくさわってみよう(2) APIキーの登録 アプリケーションのTitleを⼊⼒して登録します。Description等、別のフィールドへの⼊⼒は必須ではありません。 1
1 Titleにアプリケーションの Title(名称)を⼊⼒してくださ い。後でその名称を選択する 画⾯がいくつか出てきます。 2 2 送信をクリックしてください。 初回のみ 本⽇の流れ 1 DSP開発者ポータルサイトへのログイン 2 組織の登録 3 APIキーの登録 4 APIキーの取得と検証 5 APIの配信登録 6 ブラウザからのAPIの呼び出し 7 コマンドライン等からのAPI呼び出し https://ibm.biz/portal_devcom
22 © 2021 IBM Corporation 3-2. とにかくさわってみよう(2) APIキーの登録 APIキーはクライアント・シークレットとクライアントIDの2つを組み合わせたものです。まずはクライアント・シークレットをメモ帳等 に保管してください。
2 1 「クライアント・シークレットの表 ⽰」をクリックして、チェックボッ クスをオンにしてください。その 右側に***で表⽰されていた クライアント・シークレットが表 ⽰されます。 1 2 クライアント・シークレットを選択 してCtrl+Cでコピーし、メモ帳 等に保存しておいてください。 今後、⼆度と表⽰されません。 後程、何回か⼊⼒する機会が あります。(保存し忘れた場合 は、クライアント・シークレットのリ セットで再取得可能です) 初回のみ 本⽇の流れ 1 DSP開発者ポータルサイトへのログイン 2 組織の登録 3 APIキーの登録 4 APIキーの取得と検証 5 APIの配信登録 6 ブラウザからのAPIの呼び出し 7 コマンドライン等からのAPI呼び出し https://ibm.biz/portal_devcom
23 © 2021 IBM Corporation 3-2. とにかくさわってみよう(2) APIキーの登録 APIキーはクライアント・シークレットとクライアントIDの2つを組み合わせたものです。まずはクライアント・シークレットをメモ帳等 に保管してください。
1 画⾯を下⽅へスクロールさせ、 資格情報のクライアント・シー クレット部分にある「検証」ボタ ンをクリックします。 1 2 「アプリケーション秘密鍵の検証」 にて「秘密鍵」に先程コピーした クライアント・シークレットを⼊⼒ してください。メモ帳等から再度 コピーした場合、最後に改⾏コ ードを追加しないように気をつけ てください。 2 3 3 「送信」ボタンをクリックしてくださ い。 初回のみ 本⽇の流れ 1 DSP開発者ポータルサイトへのログイン 2 組織の登録 3 APIキーの登録 4 APIキーの取得と検証 5 APIの配信登録 6 ブラウザからのAPIの呼び出し 7 コマンドライン等からのAPI呼び出し https://ibm.biz/portal_devcom
24 © 2021 IBM Corporation 3-2. とにかくさわってみよう(2) APIキーの登録 APIキーはクライアント・シークレットとクライアントIDの2つを組み合わせたものです。まずはクライアント・シークレットをメモ帳等 に保管してください。
1 「アプリケーション秘密鍵の検 証に合格しました。」と表⽰さ れていることを確認してくださ い。エラーになった場合は、再 度検証をして正しくクライアン ト・シークレットを⼊⼒してくだ さい。 2 資格情報のクライアントID部分 にある「表⽰」をクリックして、 チェックボックスをオンにしてくださ い。 その右側に***で表⽰され ていたクライアントIDが表⽰され ます。 3 先程のクライアント・シークレット と⼀緒にメモ帳等に保存してお いてください。後程、⼊⼒する機 会があります。 1 3 2 初回のみ 本⽇の流れ 1 DSP開発者ポータルサイトへのログイン 2 組織の登録 3 APIキーの登録 4 APIキーの取得と検証 5 APIの配信登録 6 ブラウザからのAPIの呼び出し 7 コマンドライン等からのAPI呼び出し https://ibm.biz/portal_devcom
25 © 2021 IBM Corporation 3-2. とにかくさわってみよう(3) APIの配信登録 DSP Open
APIを配信登録することで、API利⽤の準備が完了します。 1 1 開発者ポータルの「ホーム」画 ⾯の「API製品」をクリックして ください。 2 2 「DSP Open API」をクリックし てください。 初回のみ 本⽇の流れ 1 DSP開発者ポータルサイトへのログイン 2 組織の登録 3 APIキーの登録 4 APIキーの取得と検証 5 APIの配信登録 6 ブラウザからのAPIの呼び出し 7 コマンドライン等からのAPI呼び出し https://ibm.biz/portal_devcom
26 © 2021 IBM Corporation 3-2. とにかくさわってみよう(3) APIの配信登録 DSP Open
APIを先程登録したAPIキーで利⽤可能な状態にします。 1 1 DSP Open APIの Default Planにある「配信登録」ボタンを クリックしてください。 2 2 配信登録にて、先程登録した アプリケーション名称を選択して ください。 3 3 「配信登録」ボタンをクリックしてく ださい。 初回のみ 本⽇の流れ 1 DSP開発者ポータルサイトへのログイン 2 組織の登録 3 APIキーの登録 4 APIキーの取得と検証 5 APIの配信登録 6 ブラウザからのAPIの呼び出し 7 コマンドライン等からのAPI呼び出し https://ibm.biz/portal_devcom
27 © 2021 IBM Corporation 3-2. とにかくさわってみよう(3) APIの配信登録 DSP Open
APIプランのサブスクライブ(配信登録)が完了しました。以上でAPIが利⽤可能な状態になりました。 次から実際にAPIをコールしていきます。 1 「このプランのサブスクライブに 成功しました。」と表⽰されて いることを確認してください。こ れでAPI利⽤の準備は完了 です。 1 初回のみ 本⽇の流れ 1 DSP開発者ポータルサイトへのログイン 2 組織の登録 3 APIキーの登録 4 APIキーの取得と検証 5 APIの配信登録 6 ブラウザからのAPIの呼び出し 7 コマンドライン等からのAPI呼び出し https://ibm.biz/portal_devcom
28 © 2021 IBM Corporation 3-2. とにかくさわってみよう(4) ブラウザからのAPI呼び出し 先程の「API製品」をクリックして移動した画⾯から続いて、左サイドバーの「普通預⾦MS」へ進みます。MSとはMicro Serviceの略で、各機能(サービス)が独⽴して提供可能なモジュールのことです。
1 1 2 普通預⾦MS画⾯にて、右側 に「要求の例」が表⽰されてい ることを確認してください。 「普通預⾦ MS」をクリックして ください。 2 初回のみ 本⽇の流れ 1 DSP開発者ポータルサイトへのログイン 2 組織の登録 3 APIキーの登録 4 APIキーの取得と検証 5 APIの配信登録 6 ブラウザからのAPIの呼び出し 7 コマンドライン等からのAPI呼び出し https://ibm.biz/portal_devcom
29 © 2021 IBM Corporation 3-2. とにかくさわってみよう(4) ブラウザからのAPI呼び出し 登録したAPIキーを使ってAPIコールをするために、クライアント・シークレットをセットします。「本⽂」に記載されている要求内容 でAPIがコールされます。
1 2 更に下⽅へスクロールして、「操 作の呼び出し」ボタンをクリックし てください。これによりAPIが「本 ⽂」の内容でコールされます。 下⽅へスクロールして「クライア ント・シークレット」のフィールド に、先程保存したクライアント ・シークレットを⼊⼒してくださ い。 2 1 初回のみ 本⽇の流れ 1 DSP開発者ポータルサイトへのログイン 2 組織の登録 3 APIキーの登録 4 APIキーの取得と検証 5 APIの配信登録 6 ブラウザからのAPIの呼び出し 7 コマンドライン等からのAPI呼び出し https://ibm.biz/portal_devcom
30 © 2021 IBM Corporation 3-2. とにかくさわってみよう(4) ブラウザからのAPI呼び出し APIコールのレスポンス(応答)内容が表⽰されます。期間を指定して⼊出⾦明細を取得するコール内容がセットされています。 1
2 更に下⽅へスクロールすると、レ スポンスの中に、⼊出⾦明細 2/7, 3/13分の2件が返って きていることがわかります。 APIコール結果が「レスポンス」 以下に表⽰されていることを確 認してください。401エラーの場 合はクライアント・シークレットが 正しく⼊⼒されているか、再度 確認してください。 2 1 初回のみ 本⽇の流れ 1 DSP開発者ポータルサイトへのログイン 2 組織の登録 3 APIキーの登録 4 APIキーの取得と検証 5 APIの配信登録 6 ブラウザからのAPIの呼び出し 7 コマンドライン等からのAPI呼び出し https://ibm.biz/portal_devcom
31 © 2021 IBM Corporation 3-2. とにかくさわってみよう(4) ブラウザからのAPI呼び出し 今度はAPIコールの内容を変更してコールしてみます。取得する期間指定を変更することでレスポンスの⼊⼿⾦明細件数が 変わることを確認できます。
1 2 レスポンス内容を確認すると、 今度は⼊出⾦明細3/13分の 1件のみが返ってきていることが わかります。⾊々と本⽂を変更 してAPIをコールしてみてくださ い。 本⽂の”fromDate”を ”2021-03-01”に変更して、3 ⽉の⼊出⾦明細のみを取得す るように設定して、再度「操作 の呼び出し」をクリックしてくださ い。 2 1 初回のみ 本⽇の流れ 1 DSP開発者ポータルサイトへのログイン 2 組織の登録 3 APIキーの登録 4 APIキーの取得と検証 5 APIの配信登録 6 ブラウザからのAPIの呼び出し 7 コマンドライン等からのAPI呼び出し https://ibm.biz/portal_devcom
32 © 2021 IBM Corporation 3-2. とにかくさわってみよう(5) 別ツールからのAPI呼び出し 先程は開発者ポータルからAPIコールをしましたが、今度はPCローカルのコマンドラインからAPIをコールしてみます。 1
2 メモ帳等にペーストして、クライ アントID、クライアント・シークレ ットを以前にメモした内容で更 新してください。 して、header の後ろから4⾏を削除してくださ い。 「要求の例」下に記載されてい るコマンドをコピーしてください。 1 curl --request POST \ --url https://api.devcom.dsp4f.net/ebb1179jpibmcom-dev/dsp- openapi/ordinarydeposit/v1.2.0/ordinaryDeposit/accounts/statements/inquiry \ --header 'X-IBM-Client-Id: XXXXXXXXXXXXXXX' \ --header 'X-IBM-Client-Secret: XXXXXXXXXXXXXXXX' \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --header 'routingInfo: REPLACE_THIS_VALUE' \ --header 'traceID: REPLACE_THIS_VALUE' \ --header 'transactionID: REPLACE_THIS_VALUE' \ --header 'transactionSeqNo: REPLACE_THIS_VALUE' \ --data '{"commonRequestHeader":{"bankCode":"0000","userID":"000001","userIDForLogging":"000001","applicationID" :"app0000001","clientID":"client0000001","deviceID":"device0000001","userString":"","userMap":{}},"branchNu mber":"001","accountType":"001","accountNumber":"1234567","fromDate":"2021-01-01","toDate":"2021-03- 31","count":"10","index":""}' 2 3 --header⾏の最後4⾏を削 除してください。 3 初回のみ 本⽇の流れ 1 DSP開発者ポータルサイトへのログイン 2 組織の登録 3 APIキーの登録 4 APIキーの取得と検証 5 APIの配信登録 6 ブラウザからのAPIの呼び出し 7 コマンドライン等からのAPI呼び出し https://ibm.biz/portal_devcom
33 © 2021 IBM Corporation 3-2. とにかくさわってみよう(5) 別ツールからのAPI呼び出し cURLが導⼊されていれば、コマンドラインからAPIのコール結果を取得することが可能です。cURL等のツール導⼊は Appendicesページを参考にしてください。
1 2 VisualStudioのREST Client経由でも同様にAPI コールが可能です。⾊々なツー ルからコールしてみてください。 PC上のコマンドラインへ先程編 集したコマンドをペーストして実 ⾏すると、レスポンスが表⽰され ます。 1 2 初回のみ 本⽇の流れ 1 DSP開発者ポータルサイトへのログイン 2 組織の登録 3 APIキーの登録 4 APIキーの取得と検証 5 APIの配信登録 6 ブラウザからのAPIの呼び出し 7 コマンドライン等からのAPI呼び出し https://ibm.biz/portal_devcom
4.今⽇の成果
35 © 2021 IBM Corporation 4-1.今⽇の成果 今回はフロントサービス層の銀⾏システムの気持ちになって、壁打ちができるようになりました。 相互運⽤性 疎結合性 RESTful
API リクエスト レスポンス
36 © 2021 IBM Corporation 4-2.次回の予告 次回は、銀⾏のシステム群それぞれの気持ちになって、連携と「責務」について考えます。 責務︖ せきむ︖ セキム︖
37 © 2021 IBM Corporation 4-3.現在地の確認 今回はウォーミングアップ、次回は講義ベースですが、第3回から実際に動作するプログラムを作ります。 是⾮、「動いた︕」という喜びを体験してください。 第2回 DSP
Sandboxで考える銀行システム • 銀⾏の各種サービスで、システムがどう連携するかをイメージできる、図⽰できる • 銀⾏のシステム間の「責務」について語れる 第3回 DSP Sandboxでメッセージングアプリ残高照会 • DSP SandboxのAPIを使って、残高照会サービスを構築できる • 他のAPIと組み合わせた銀行サービスについて具体的にイメージできる 第4回 DSP Sandboxでモバイルアプリを作ろう • DSP Sandboxのサービスを呼ぶモバイルアプリを作れる • モバイルアプリのアーキテクチャについて語れる 第5回 自分だけのSandboxを作ろう • Open APIを活用して自在に応答を操作できるスタブを作れる • APIファースト開発について語れる 第一回 さわってみようDSP Sandbox • APIとは何か、なぜ良いのかを語れる • フロントサービス層の銀⾏システムになったつもりでAPIを呼び出せる APIはわかった︕ でも実際どうやって 使うの︖ ⾃分だけの経験、知識、問題意識、 アイディアと掛け合わせて 今までにない顧客体験を「共創」しよう︕
Appendices
39 © 2021 IBM Corporation ご参考︓インストール⼿順リンク ツール ⽤途 ご参考ページ 1.
cURL (Mac) Homebrew導⼊後(https://brew.sh/index_ja) https://qiita.com/kaizen_nagoya/items/f13df3e2c9fe6c3bf6f c (Windows) https://qiita.com/kuni0219/items/91687b590a12d38cf383 2. Visual Studio Code https://azure.microsoft.com/ja-jp/products/visual-studio- code/ 3. VS Code REST Client https://marketplace.visualstudio.com/items?itemName=hum ao.rest-client 4. Jq https://stedolan.github.io/jq/
40 © 2021 IBM Corporation 免責事項 公開している資料は個⼈の⾒解であり、必ずしも所属法⼈の⽅針や意向を表すものではありません。 IBM Developer Dojoは開発者の⽅を対象に、IBM
Cloudを主とした技術情報をお伝えする⽬的で開催し ております。講師や運営スタッフにより、開催毎に最適と判断した内容でお届けしています。 ハンズオンを伴う講義はお客様の費⽤負担が発⽣しない環境と⼿順にてご案内しております。 クラウド上に構築した製作物は、お客様ご⾃⾝で適切に削除をお願い致します。 クレジットカード情報の登録を伴わない場合は費⽤は⼀切発⽣しませんが、ご登録いただいているお客様 はご注意下さい。 講師陣は皆様のご利⽤状況を個別に確認することはできません。ご理解とご協⼒をお願い致します。 当シリーズではサードパーティのサービスやソフトウェア(LINE API、React Native、VS Codeなど)を使 ⽤しますが、本番環境での使⽤をこれに限定するものではありません。 ご⾃⾝の状況等を鑑み、適切にご判断いただきますよう、お願い申し上げます。 当シリーズで提供するソースコードは講義⽤のものです。実際の⾦融機関で使⽤するにはセキュリティや エラーハンドリングなど数々の考慮、設計、実装が必要です。このハンズオンでは『動くものを作ってみ る』ことに主眼を置いていますので、そういった点は含まれないことをご了承ください。 本⽇はご参加いただき、誠にありがとうございました。
講義後アンケート︓ 下記URLから回答をお願いします。 https://app.sli.do/event/kbixdsee