Bluemix HandsOn CoEdo 0716

IBM Cloud Software
アプリ作成の新しい形を体験する
IBM Bluemix 体験ハンズオン
日本アイ・ビー・エム株式会社
クラウド・ソフトウェア事業部 エコシステム・デベロップメント
1
© 2015 IBM Corporation
IBM Cloud Software
Agenda
IBM Bluemix基本操作
IDSと連携したアプリケーション開発
Node-REDでIoTアプリの作成
Node-REDでWeb APIを活用したアプリを動かす
まとめ : API活用によるアプリ開発とIBM Bluemix
2
© 2015 IBM Corporation
IBM Cloud Software
IBM Bluemixへのログイン
■Webブラウザを起動し、下記URLより Bluemix にログインします。
使用するブラウザは「Google Chrome」推奨です。
http://bluemix.net
■右上部の「ログイン」をクリック。
■IBM ID(メールアドレス)とパスワードを⼊⼒し、「サインイン」ボタンをクリック。
3
© 2015 IBM Corporation
作業する地域を確認する
Bluemixは、「米国南部」と「英国」の2つの地域で稼動しています。
上部メニューの 「地域」 をクリックすることで、稼動する環境を選択することができます。
今回は「⽶国南部」を利⽤します。地域が「⽶国南部」になっていることを確認してくだ
さい。
「英国」になっている場合は、「地域」をクリックして、「米国南部」を選択してください
4
© 2015 IBM Corporation
[補足] 「米国南部」選択時のポップアップへの対応方法
米国南部を選択した際に、スペースを作成するように指示するポップアップ・ウィンドウが表
⽰された場合は、任意の名前を⼊⼒し、作成をクリックしてください。
本資料では
スペース名として
「dev」を使用します
5
© 2015 IBM Corporation
アプリケーション実⾏環境の構築 (1/3)
1.上部メニューの”カタログ”にて、作成するアプリケーションの実⾏環境を選択します。
ランタイム カテゴリから、Node.js による JavaScriptの実⾏環境を選択します。
2.アプリケーション名とホスト名を指定して“作成”ボタンをクリックします。
任意の名前を指定します。
重複しているとエラーに
なるのでユニークな名称を
指定してください
6
© 2015 IBM Corporation
アプリケーション実⾏環境の構築 (2/3)
3.上部メニューの”ダッシュボード”をクリックし、作成中のアプリケーションを選択します。
30秒ほどでインスタンスの作成および起動が完了します。
画面右端の “アプリの正常性” のステータスが赤色から緑色に変わり、
「アプリは稼動しています。」のメッセージが表示されたことを確認してください。
これだけの手順で Node.js の実⾏環境が構築できました。
“アプリの正常性” のステータスが変わらない場合は、
Web ブラウザのリロード (F5キー)をお試しください。
7
© 2015 IBM Corporation
アプリケーション実⾏環境の構築 (3/3)
4.それではサンプルとして⽤意されたスターター・アプリケーションを実⾏してみましょう。
アプリケーションの “経路: “のリンクをクリックすると、作成された Node.js 上で
JavaScript のスターター・アプリケーションが動いていることが確認できます。
8
この例では、http://WebApp001.mybluemix.net/にアクセスしています
© 2015 IBM Corporation
サービスの追加 (1/2)
1.上部メニューの “カタログ” をクリックし、カタログからアプリケーションと連携させたい
サービスを選択します。 ここでは、先ほど作成した Node.js の実⾏環境に
SQL Database(DB2) のサービスを追加してみましょう。
2.サービスを追加するアプリケーションを指定し、”作成”ボタンをクリックします。
(“アプリケーション”の選択” で先ほど作成したアプリ名を指定します。)
SQL Database のサービス名や
プランはデフォルトのままでOKです
9
© 2015 IBM Corporation
サービスの追加 (2/2)
3.アプリケーションの再起動(再ステージ)の確認があります。OKボタンをクリックします。
4.約20秒ほどでサービスの追加が完了します。
アプリケーションの “概要” 画面の下部に、SQL Database サービスが表示される
ことを確認してください。 たったこれだけの手順で、アプリケーションからデータベースが
使用できるようになりました。
“アプリの正常性” のステータスが変わらない場合は、
Web ブラウザのリロード (F5キー)をお試しください。
10
© 2015 IBM Corporation
アプリケーション実⾏環境の詳細 (1/4)
〜リソースの動的追加
アプリケーションの “概要” の画面には、実⾏環境が使用するリソース情報が
表示されています。
ここで実⾏環境のリソース変更が可能です。
インスタンス : 3、メモリー : 384MB と指定して「保存」をクリックします。
再起動後、リソースが拡張されていることを確認してください。
11
© 2015 IBM Corporation
アプリケーション実⾏環境の詳細 (2/4)
〜リソースの動的追加
左端のメニューから ”SDK for Node.js” を選択します。
ページ上部で CPU やメモリーの使⽤率など、インスタンスの詳細情報が確認できます。
先程インスタンスを増やしたので、リストには3⾏が表⽰されています。
今度はリソースの縮退を⾏ってみましょう。
インスタンス : 1、メモリー : 64MB と指定して「保存」をクリックします。
リソースは増やすだけでなく、減らすこともできることを確認してください。
12
※画⾯の切り替えがうまくいかない場合は、Web ブラウザのリロード (F5キー)をお試しください。
© 2015 IBM Corporation
アプリケーション実⾏環境の詳細 (3/4)
〜ファイル/ログの参照
左端のメニューから ”ファイルとログ” を選択します。
実⾏環境のファイルシステム上にあるアプリケーション・ファイルやログ・ファイルを
参照したりダウンロードしたりすることができます。
※画⾯の切り替えがうまくいかない場合は、Web ブラウザのリロード (F5キー)をお試しください。
13
© 2015 IBM Corporation
アプリケーション実⾏環境の詳細 (4/4)
〜環境変数の参照
”SDK for Node.js” ページの下部にて、実⾏環境に設定されている環境変数の
情報が確認できます。(環境変数を新しく追加することも可能です)
連携に必要となる情報は、自動的に環境変数にセットされるので、アプリケーションは
これらの環境変数の値を取得して、サービスにアクセスします。
SQLDatabase 接続の場合
IPアドレス, ポート番号, DB名,
username, password などが
環境変数としてセットされます。
Bluemix では、Web ブラウザからアプリケーション実⾏環境の構築やサービスのバインド、
様々な運⽤管理作業ができることを確認いただきました。 お疲れ様でした!
14
© 2015 IBM Corporation
IBM Cloud Software
IBM Bluemix基本操作
IDSと連携したアプリケーション開発
Node-REDでIoTアプリの作成
Node-REDでWeb APIを活用したアプリを動かす
まとめ : API活用によるアプリ開発とIBM Bluemix
15
© 2015 IBM Corporation
作成したインスタンスのアプリケーション・コードをリポジトリに追加し、コードを
編集してアプリケーションを変更する流れを体験していただきます。
1. ダッシュボード左側のメニューの「概要」を選択。
右端の「GITの追加」をクリック。
2.
16
「Git リポジトリーの作成」のウィンドウが表示される。
チェックボックスが選択されていることを確認して
「続⾏」をクリック。
完了を待って「クローズ」をクリック。
© 2015 IBM Corporation
3. リポジトリに追加されたコードを
エディターで開きます。
「コードの編集」をクリック。
4.
17
ブラウザの新規タブ(ウィンドウ)にて、クラウドベースの統合開発環境「IBM Bluemix
DevOps Services」が開きます。
© 2015 IBM Corporation
5. スターター・コードを編集してみましょう。
右側のツリー表示から Publicディレクトリを展開し
index.html を選択します。
6. 表示内容を変えてみましょう。
<h1>タグの中の 「Hi there!」を他の⽂字列に置き換えます。
18
© 2015 IBM Corporation
7. デプロイボタンをクリックします。
変更したコードがBluemixにデプロイされます。
8. デプロイが完了するとシグナルが緑に戻ります。アプリケーションを開いて変更を確認します。
なお、Bluemixのダッシュボード画面で操作することも可能です。
9. コードの修正が反映されていることをご確認ください。
19
© 2015 IBM Corporation
今デプロイしていただたアプリケーションは、ワークスペース(エディター)から
直接デプロイされたものです。リポジトリの内容は変更されていません。
PUSH
COMMIT
リモート
リポジトリ
ローカル
リポジトリ
アプリ
コード
ワークスペース
IDS
20
DEPLOY
アプリ
コード
ランタイム
DEPLOY
Bluemix
© 2015 IBM Corporation
コードの変更をリポジトリに反映した上で、Bluemixにデプロイしてみます。
※変更が反映されることを確認できるように、再度index.htmlを編集しておきましょう。
10. エディター画面左端の「Git リポジトリー」アイコンを
クリックします。
アイコンが表示されていない場合は、メニューから
「表示」→「関連項目を開く」→「Gitリポジトリー」
を選択します。
21
© 2015 IBM Corporation
11.リポジトリの管理画⾯が表示されます。
変更内容のリストに、先程編集した public/index.html があることを確認してください。
public/html を展開すると修正前/修正後のコードを確認できます。
22
© 2015 IBM Corporation
12.ここでは、すべての変更内容をリポジトリに記録させましょう。
「すべて選択」をチェックし、コミットメッセージを⼊⼒した上で、「コミット」をクリックします。
23
© 2015 IBM Corporation
13.発信リストにコミットした内容が追加されています。
「プッシュ」をクリックすると、コミット内容が反映され、そのままBluemixにデプロイされます。
24
© 2015 IBM Corporation
13.デプロイの状況は「BUILD & DEPLOY」で確認できます。
お疲れ様でした!
BluemixとIDS(IBM Bluemix DevOps Services)を連携させることで、
ソースコードの編集からバージョン管理といった開発作業から環境構築、実⾏まで
すべてWebブラウザから⾏うことができることを体験していただきました。
25
© 2015 IBM Corporation
IBM Cloud Software
IBM Bluemix基本操作
IDSと連携したアプリケーション開発
Node-REDでIoTアプリの作成
Node-REDでWeb APIを活用したアプリを動かす
まとめ : API活用によるアプリ開発とIBM Bluemix
26
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでIoTアプリを作成
■全体像
サービス
IoT Foundationサービスは
センサーデータを仲介する
IBM IoT
Foundation
デバイス
IBM Bluemix
スマホのセンサーで計測した
データをクラウドサービスに送信
27
アプリケーション
アプリはサービスからセンサー
データを取得して処理する
© 2015 IBM Corporation
IBM Cloud Software
IoT Foundation環境の作成
■Bluemixの米国のデータセンターを使用します。
右上部の「地域」をクリックし、「米国南部」を選択。
もし「スペースの作成」というウィンドウが
表示された場合は、任意の名前(dev等)を
指定してスペースを作成してください。
■上部メニューから「カタログ」をクリック。
■最上段の「ボイラープレート」カテゴリの中から
「Internet of Things Foundation Starter」
を選択。
28
© 2015 IBM Corporation
IBM Cloud Software
IoT Foundation環境の作成
■アプリ名とホスト名を⼊⼒します。
実際にはアプリ名を⼊⼒フィールドに⼊れると、ホスト名も同じ名前が指定されます。
既に同じ名前のホストが存在する場合エラーとなりますので、他の人と重複しなそうな
名前を指定してください。 例 : IoTserver2015xx など。
■「作成」ボタンをクリックすると、IoT Foundationの環境作成が始まります。
完了までしばらくお待ちください。
29
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでIoTアプリを作成
■スマートフォンをお持ちの方は、スマホのブラウザで下記URLに
アクセスしてください。
http://phonesensor.mybluemix.net
PhoneSensorが起動します。スマホに内蔵された各種センサーの
情報を取得し、BluemixのIoT Foundationサービスに送信して
います。
■このセンサー情報を受け取って処理するアプリをBluemix上の
Node-REDで作ってみましょう。
Bluemixのダッシュボードから、先程作成したボイラープレートの
アプリのURLを開き、Node-REDを起動します。
直接WebブラウザでURLを
指定して開いてもOKです。
右の例の場合はこちらのURLです。
http://IoTServer2015xx.mybluemix.net
30
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでIoTアプリを作成
■Node-REDが起動します。
Sheet 1にサンプルのフローが用意されていますが、これは使用しないので別シートを追加します。
上部の「+」(プラス)ボタンをクリックします。
Sheet 2が開きますので、ここで処理フローを作成してみましょう。
31
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでIoTアプリを作成
■スマホのセンサー情報を、クラウド上のIoT Foundation
サービスから受け取ってみましょう。
左側のパレットから「ibmiot」ノードを中央のキャンバスに
ドラッグ&ドロップします。
ドラッグ&ドロップ
■キャンバスにドロップした「IBM IoT App In」ノードをダブルクリックして設定画面を開きます。
Authentication は「Quickstart」を選択。
Device Id に先程のPhoneSensorに表示されている
⽂字列の末尾12桁の数字を⼊⼒。
32
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでIoTアプリを作成
■受け取ったデータを表示するノードを用意します。
左側のパレットから「debug」ノードを中央のキャンバスに
ドラッグ&ドロップします。
ドラッグ&ドロップ
■ノードの横にあるコネクタをクリック&ホールドし、「ibmiot」ノードと「debug」ノードを線で繋ぎます。
この部分を掴んで引っ張る
33
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでIoTアプリを作成
■これでデータの⼊⼒と出⼒の定義ができました。
それでは実際に動かしてみましょう。
右上の「Deploy」ボタンをクリックします。
■画面上部に「Successfully Deployed」の文字が表示されればOKです。
(この文字はすぐに消えます)
■実⾏結果を確認してみましょう。
右上の「debug」タブを選択します。debugノードに流れて
きたデータはここに表示されます。
先程のPhoneSensorを動かします。スマホのセンサー情報が
debug画面に表示されれば成功です。
取得できる情報はスマホの機種によって
異なる場合があります。
34
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでIoTアプリを作成
■debug画面にセンサーデータがうまく表示されない場合のチェックポイント
-PhoneSensorが正しく稼動しているかどうかを確認してください。スリープ状態でアプリが
停止していないでしょうか。
-PhoneSensorの接続ステータスが「Connected」になっていることを確認してください。
例えば、誤ってPhoneSensor画面下部の「Register」をタップしてしまうと、ステータスが
「Disconnected」になります。
-「ibmiot」ノードのDevice Idが
正しく設定されているかどうかを
ご確認ください。
例えば、スマホのWebブラウザで
PhoneSensorを再読み込みすると
Device Idが変わってしまいます。
その場合は再度「ibmiot」ノードの
定義情報をPhoneSensor側と
同じになるよう変更してください。
35
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでIoTアプリを作成
■正しくセンサー情報が取得できたので、この情報に応じて何らかの処理を⾏うフローを作ってみましょう。
「tiltLR」というデータ項目に着目します。
これはスマホ端末の左右の傾きを測定しているようです。
実際に端末を動かして、値の変化を確認してください。
この傾き度合いによって表⽰メッセージを変えてみましょう。
■センサー情報から「tiltLR」の値だけを抽出します。
左側のパレットから「function」ノードを中央のキャンバスに
ドラッグ&ドロップします。
ダブルクリックで設定画面を開き、Functionの内容を
以下のように書き換えて「OK」をクリックします。
return {payload:msg.payload.d.tiltLR};
36
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでIoTアプリを作成
■正しく動くかどうか確認してみましょう。
「ibmiot」と「debug」との間に、今作成した
「function」ノードを挟むように線を繋ぎ変えます。
線はクリックで選択した状態でDeleteキーで
削除できます。
■右上の「Deploy」ボタンをクリックします。
■不要な情報が削除されて、「tiltLR」の値だけが
表示されればOKです。
37
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでIoTアプリを作成
■「tiltLR」の値によって処理を分岐させます。
左側のパレットから「switch」ノードを中央のキャンバスに
ドラッグ&ドロップします。
ダブルクリックで設定画面を開き、分岐条件を指定します。
左に5度以上傾いた場合=「左に傾いてます」
右に5度以上傾いた場合=「右に傾いてます」
傾きが5度未満の場合=「ほぼフラットです」
上記のような条件設定をするには
右図のように指定して「OK」を
クリックします。
条件を追加するには、「+rule」
ボタンをクリックします。
傾きが-5度以上(左)なら1番へ
傾きが5度以上(右)なら2番へ
どちらでもない(フラット)なら3番へ
38
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでIoTアプリを作成
■条件分岐された後の処理を作成します。
左側のパレットから「template」ノードを中央のキャンバスに
ドラッグ&ドロップします。
ダブルクリックで設定画面を開き、表示するメッセージを定義します。
ご自由にメッセージの内容を⼊⼒してください。
{{payload}} と指定すると、先程debug
画面で確認した傾きデータの値が表示
されます。
1番(左)
2番(右)
3番(フラット)
同様に2番、3番のノードも作成し、
それぞれメッセージを定義します。
最後にswitchノードのコネクタと
1番、2番、3番のノードを線で繋げます。
39
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでIoTアプリを作成
■キャンバスの中を整理して、各ノードを以下の図のように接続してください。
正しく線が繋がっていれば、ノード自体は
キャンバス内のどこに置かれていても動作
に影響はありません。
■処理フローが完成しました!
それでは実際に動かしてみましょう。
右上の「Deploy」ボタンをクリックします。
40
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでIoTアプリを作成
■「Successfully Deployed」のメッセージが表示されれば
成功です。
PhoneSensorを稼動させたスマホを左右に傾けて
指定したメッセージが表示されることを確認してください。
お疲れ様でした!
IBM Bluemix と Node-RED によって、ほぼノンプログラミングで
IoTデバイスから収集したデータを処理するアプリが作れました。
41
© 2015 IBM Corporation
IBM Cloud Software
IBM Bluemix基本操作
IDSと連携したアプリケーション開発
Node-REDでIoTアプリの作成
Node-REDでWeb APIを活用したアプリを動かす
まとめ : API活用によるアプリ開発とIBM Bluemix
42
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでWeb APIを活用したアプリを動かす
■Node-REDは作成したフローをJSON形式の⽂字列としてexport/importすることができます。
あらかじめ作成済みの処理フローをde-REDに取り込んでみましょう。
サンプルアプリのテキストファイルをメモ帳で開き、⽂字列をすべて選択→コピーします。
テキストファイルの配布については講師よりガイドいたします。
[{"id":"13257eec.669069","type":"websocket-listener","path":"/ws/stations","wholemsg":"false"},{"id":"28a6990b.d75966","type":"websocket
out","name":"","server":"13257eec.669069","x":677,"y":274,"z":"60aa0f7b.9f55f","wires":[]},{"id":"f5ecfe3e.0a13","type":"xml","name":"","attr":"$","chr":"_","x":498.5,"y"
:275,"z":"60aa0f7b.9f55f","wires":[["28a6990b.d75966","3e967dc2.c16982"]]},{"id":"3e967dc2.c16982","type":"debug","name":"","active":true,"console":"false","compl
ete":"false","x":626.5,"y":340,"z":"60aa0f7b.9f55f","wires":[]},{"id":"2c1c43fd.d3e3bc","type":"http request","name":"リクナビAPI呼び出し
","method":"GET","url":"http://webservice.recruit.co.jp/shingaku/school/v2/?code=SC000059&key=43ba47966ce3abea","x":326,"y":275,"z":"60aa0f7b.9f55f","wires":[
["f5ecfe3e.0a13"]]},{"id":"ad4079b6.52bf88","type":"websocket
in","name":"","server":"13257eec.669069","x":126,"y":275,"z":"60aa0f7b.9f55f","wires":[["2c1c43fd.d3e3bc"]]},{"id":"fda27200.025d9","type":"http
response","name":"","x":492,"y":181,"z":"60aa0f7b.9f55f","wires":[]},{"id":"774506a8.88baf8","type":"template","name":"表示内容の定義
","field":"payload","template":"<!DOCTYPE html>¥n<html>¥n <head>¥n <meta name=¥"viewport¥" content=¥"initial-scale=1.0, user-scalable=no¥">¥n <meta
charset=¥"utf-8¥">¥n <title>筑波大学はココ!</title>¥n <style>¥n
html, body, #map-canvas {¥n
height: 94%;¥n
margin: 5px;¥n
padding:
0px¥n
}¥n </style>¥n <script src=¥"https://maps.googleapis.com/maps/api/js?v=3.exp¥"></script>¥n <script>¥n¥t¥tfunction initialize() {¥n¥t¥t var myLatlng
= new google.maps.LatLng(36.095, 140.084);¥n¥t¥t var mapOptions = {¥n¥t¥t zoom: 11,¥n¥t¥t center: myLatlng,¥n¥t¥t };¥n¥t¥t var map = new
google.maps.Map(document.getElementById('map-canvas'), mapOptions);¥n¥t¥t ¥n¥t¥t var loc = window.location;¥n
if (loc.protocol === ¥"https:¥") {¥n
newUri = ¥"wss:¥";¥n
} else {¥n
newUri = ¥"ws:¥";¥n
}¥n
newUri += ¥"//¥" + loc.host + ¥"/ws/stations¥";¥n¥t¥t ¥n¥t¥t ¥n¥t¥t var sock = new
WebSocket(newUri);¥n¥t¥t sock.onopen = function(){ ¥n¥t¥t console.log(¥"Connected websocket¥");¥n¥t¥t console.log(¥"Sending
ping..¥");¥n¥t¥t¥tsock.send(¥"Ping!¥");¥n¥t¥t console.log(¥"Ping sent..¥");¥n¥t¥t };¥n¥t¥t sock.onerror = function(){ console.log(¥"Websocket error¥"); };¥n¥t¥t
sock.onmessage = function(evt){¥n¥t¥t var schoolData = JSON.parse(evt.data);¥n¥t¥t var stations = schoolData.results.school[0].campus;¥n¥t¥t¥tfor(var i = 0; i
< stations.length; i++) {¥n¥t¥t¥t var camp = stations[i];¥n
var marker = new google.maps.Marker({¥n¥t¥t¥t position: new
google.maps.LatLng(camp.latitude[0],camp.longitude[0]),¥n¥t¥t¥t map: map,¥n¥t¥t¥t animation: google.maps.Animation.BOUNCE,¥n¥t¥t¥t title:
camp.address[0]¥n¥t¥t¥t });¥n¥t¥t¥t ¥n¥t¥t¥t}¥n¥t¥t };¥n¥t¥t};¥n¥t¥t¥n¥t¥tgoogle.maps.event.addDomListener(window, 'load', initialize);¥n¥n </script>¥n
</head>¥n <body>¥n <div id=¥"map-canvas¥"></div>¥n <font size=¥"6¥">筑波大学はココ!</font>¥n <br>powered by IBM Bluemix and Node-RED¥n <div
align=¥"right¥"> ¥n <a href=¥"http://webservice.recruit.co.jp/¥"><img src=¥"http://webservice.recruit.co.jp/banner/shingaku-m.gif¥" alt=¥"リクナビ進学 Webサービス¥"
width=¥"88¥" height=¥"35¥" border=¥"0¥" title=¥"リクナビ進学 Webサービス¥"></a>¥n </div> ¥n
</body>¥n</html>","x":330,"y":181,"z":"60aa0f7b.9f55f","wires":[["fda27200.025d9"]]},{"id":"636d7b37.9c9284","type":"http
in","name":"","url":"/schoolmap","method":"get","x":143,"y":181,"z":"60aa0f7b.9f55f","wires":[["774506a8.88baf8"]]}]
43
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでWeb APIを活用したアプリを動かす
■Node-REDでシートを追加します。
上部の「+」(プラス)ボタンをクリックして、Sheet 3 を開きます。
■Sheet 3 に先程コピーした処理フローを取り込みます。
上部右端の三本線のアイコンをクリックし、表示されたメニューから「import」→「Clipboard」を
選択します。
44
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでWeb APIを活用したアプリを動かす
■「Import nodes」ウィンドウが表示されるので、
先程クリップボードにコピーしたテキストをペースト
して、OKボタンをクリックします。
■処理フローが取り込まれますので、キャンバスの適当な場所をクリックして配置します。
45
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでWeb APIを活用したアプリを動かす
■このアプリを動かしてみましょう。
右上の「Deploy」ボタンをクリックします。
■画面上部に「Successfully Deployed」の文字が表示されればOKです。
■実⾏結果を確認してみましょう。
Webブラウザの新しいタブを開いて、Node-REDのホスト名の末尾に「/schoolmap」という
パスを付加したURLにアクセスします。
Node-REDを開いているWebブラウザのURLの末尾の「/red/#」を削除し、「/schoolmap」を追加します。
(例)
http://iotserver2015xx.mybluemix.net/red/#
でNode-REDを開いている場合、
http://iotserver2015xx.mybluemix.net/schoolmap にアクセスします。
46
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでWeb APIを活用したアプリを動かす
■Node-REDで作ったサンプルアプリ「筑波大学はココ!」が表示されればOKです。
地図上の筑波大学のキャンパスにマーカーが表示され、マウスポインタを合わせると
大学の住所が表示されます。
47
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでWeb APIを活用したアプリを動かす
■debug画面に、リクナビ進学APIを呼び出した結果が表示されていることを確認してください。
緯度経度や住所以外にも様々な情報が取得できています。
このようにクラウドで公開されている外部のAPIを呼び出すことで、アプリの機能を拡張できます
48
© 2015 IBM Corporation
IBM Cloud Software
Node-REDでWeb APIを活用したアプリを動かす
■試してみましょう
リクナビ進学APIに対してリクエストする内容を変えてみましょう。
■「リクナビAPI呼び出し」ノードをダブルクリックして構成画面を開きます。
■URL欄の「code=SC000059」の部分を「code=SC000006」と変更して「OK」をクリック。
SC000006は茨城大学の学校コードです。
時間のある方は、
SC000192 : 関⻄⼤学
SC000491 : 日本大学
なども試して結果を確認してみましょう。
■デプロイして結果を⾒てみましょう。
右上の「Deploy」ボタンをクリックします。
「筑波大学はココ!」をWebブラウザで再読み込みすると、実⾏結果はどう変わるでしょうか?
49
© 2015 IBM Corporation
IBM Cloud Software
IBM Bluemix基本操作
IDSと連携したアプリケーション開発
Introduction to Cloud Foundry
Node-REDでWeb APIを活用したアプリを動かす
まとめ : API活用によるアプリ開発とIBM Bluemix
50
© 2015 IBM Corporation
IBM Cloud Software
API活用によるアプリ開発とIBM Bluemix
■「筑波大学はココ!」アプリはBluemix環境のNode-RED上で稼動しています。
地図はGoogle Maps APIを、⼤学の住所および緯度経度の情報はリクナビ進学APIを
呼び出して統合し、Webブラウザ上に表示しています。
IBM Bluemix
筑波大学はココ!
アプリ
51
Google
Maps API
リクナビ
進学API
© 2015 IBM Corporation
IBM Cloud Software
IBM Bluemix活用
-必要なときに必要なコンピュータをインターネット経由で利⽤。
-イチからすべて自分で作らなくていい。 所有しなくていい。
-すぐに利⽤できてアプリの機能を拡張できるAPIが揃っている。
BluemixはAPIを活用した
クラウド時代のアプリ開発に
最適なプラットフォーム
52
© 2015 IBM Corporation
IBM Cloud Software
THANK YOU!
53
© 2015 IBM Corporation
Empowering the IBM ecosystem
Bluemix User Group - BMXUG(ビーザグ)
Bluemixのユーザー会が発足しました!
ぜひご参加ください!
BMXUGはユーザー様主体、有志によって運営される
情報交換・ネットワーキングの場です
© 2015 IBM Corporation
Empowering the IBM ecosystem
BMXUGへの参加方法
で「グループに参加」
http://ibm.biz/bmxug-facebook
で「コミュニティに参加」
http://bmxug.doorkeeper.jp
© 2015 IBM Corporation
IBM Bluemix Challenge 2015
IBM Bluemixを使用したアプリ開発コンテスト
米国 IBM Watson研究所ご招待、Oculus Rift など多数の副賞
コンテストの詳細はこちら
参加者特典として、参加者のフリートライアル期間を延⻑
ibm.biz/BMcontest
ぜひご参加ください!!
http://ibm.biz/bmcontest
一般部門:応募締切 7月24日(⾦)
学生部門:応募締切 8月20日 (木)
新しい未来を予感できる、アプリやサービス
(学生の参加も可能)
コネクテッド・ビークル または モビリティ/トラン
ス ポーテーションを支えるアプリ
(応募資格: 大学生/大学院生限定)
特典:Bluemix無償利⽤ 90日提供
副賞:Watson研究所ご招待、
Oculus Rift、他
特典:Bluemix無償利⽤ 120日提供
Watson研究所ご招待
© 2015 IBM Corporation