SlideShare a Scribd company logo
© 2014 IBM Corporation
IBM Bluemix Hands-on
Insights for Weatherを使って天気予報
を毎朝メールで受け取る
日本アイ・ビー・エム株式会社
クラウド事業統括 クラウド・ソフトウェア事業部
エコシステム・デベロップメント
藤田 昌也
© 2014 IBM Corporation2
藤田 昌也
Masaya Fujita
Bluemixエバンジェリストとして、Bluemixを世の
中に広めるための活動に従事
基幹システムの開発・運用ProjectのPMから、クラ
ウドの世界へ転身
好きなBluemixのサービスはNode-Red
© 2014 IBM Corporation
IBM Bluemix はアイデアをカタチにするお手伝いをします
3
Security
Services
Web and
application
services
Cloud
Integration
Services
Mobile
Services
Database
services
Big Data
services
Watson
Services
© 2014 IBM Corporation4
PaaSが注目される背景
IBM Bluemixとは
アプリケーションをつくってみよう!
IBM Bluemixの特徴的なサービス(付録)
© 2014 IBM Corporation5
PaaSが注目される背景
(企業ビジネスの視点から)
© 2014 IBM Corporation6
クラウドを含む新しいテクノロジーの出現により、
私たちは今、転換期にあるといえます。
タイムリーなマーケティング・キャンペーン
ある店舗でクレジット・カードを
使用すると、近隣の店舗から
クーポンが送られてきます。
その結果、
109%の売り上げ増を実現
ジャスト・イン・タイムのメンテナンス
迅速なビッグデータ分析
国際的な航空エンジン製造業者では、
1年でサービス収益が
12%
国際的な証券取引所での市場監視アルゴリズムでビッグデータ分析プラットフォームを活用し、
99% 35%
向上。
リアルタイムのモニタリングと
予測障害検知を活用。
応答時間を
短縮
ITリソースの削減
テクノロジーは、ビジネス・産業全体を活性化しています
© 2014 IBM Corporation7
世界の企業経営層が今、最も着目しているのはテクノロジー
2015IBM グローバル経営層スタディー。IBMが毎年行っている、世界の企業のCxOへのア
ンケート調査。
© 2014 IBM Corporation8
© IBM Corporation 2
Uberize
新興のデジタル企業が既存の業界を大きく変えるこ
と。
車両などの運送設備を持たずに、デジタル・テクノロ
ジーを活用したサービスで、運輸業界を変革しつつ
ある。
突如として現る、デジタル武装した破壊者に立ち向
かうためには、テクノロジーが重要
500億ドルの会社評価額を得て、
Uberは世界でもっとも価値あるスタートアップとなった
破壊的テクノロジー(Disruptive Technology)
© 2014 IBM Corporation9
世界の経営層が着目するテクノロジーとは?
© 2014 IBM Corporation
クラウドが求められる理由
競争激化によるコスト削減圧力
–必要なものを必要な期間使えることから、全体としてコスト低減
–保守・運用を気にしなくて済む
デジタル化された顧客・消費者(PC、スマホ経由の購買)の購買パター
ンの変化
–開発期間や環境構築に要する時間を節約でき、タイムリーな運用が可能
–クラウドネイティブなサービス・APIの活用した、モバイルアプリ / Webアプリの提供
最新テクノロジーの活用による競争力強化
–ビッグデータ、IoT、人口知能、、
–クラウド環境での利用が当たり前となってきている
© 2014 IBM Corporation
クラウド サービスの分類とPaaS
11
ハードウェア
OS
ミドルウェア
アプリ SaaS
Software
as
a Service PaaS
Platform
as
a Service
IaaS
Infrastructure
as a Service
Office 365
Google
Apps
Salseforce
Softlayer
AWS
MS Azure
GCP
Bluemix
AWS
MS Azure
GAE
アプリケーション
ミドルウェア
仮想マシン
エンドユーザー
アプリ開発者
アプリ開発者
インフラエンジニア
© 2014 IBM Corporation
PaaSが必要とされる背景
ユーザー体験はあっという間に減衰。鮮度・満足度を維持するためには、
開発・改良のサイクルの短縮化でき、開発に専念できる環境が必要。
© 2014 IBM Corporation
PaaSが変えるアプリケーション開発
従来環境
ソースコード
言語環境
Webサーバー
データベース
ソースコード
管理
ストレージ
バックアップ
OS
ハードウェア
運用・メンテナンスも
大変!!
構築に手間と時間
がかかる
PaaS
ソースコード
すべてをクラウドで提供
選択し組み合わせるだけ!!
インフラ構築・管理から開放
開発サイクルが短縮!!
開発に専念できる環境
© 2014 IBM Corporation
IBM Bluemixとは
14
© 2014 IBM Corporation
Bluemixの特徴 1 : アプリ実行環境をすばやく提供
ランタイム
アプリ
コード
アプリ
コード
開発者
わずか1分で
コードを動かす環境準備
任意の開発言語を使用可能
© 2014 IBM Corporation
Bluemixの特徴 2 :コンポーザブルな環境を提供
Securit
y
Service
s
Web and
applicatio
n services
Cloud
Integration
Services
Mobile
Service
s
Database
services
Big Data
services
Watson
Service
s
DB
Mobile
IoT
Watson120 種類を超える
サービス
自由に組み合わせ、
アイデアを形に
他社のサービス/API
も豊富
© 2014 IBM Corporation
Bluemixの特徴 3 : オープンソースがベース
Cloud Foundryがベース
特定のインフラや言語、フレームワークに依存しないオープンなPaaS
ベンダーロックインを避けられる
© 2014 IBM Corporation18
実際にアプリケーションを
開発してみましょう!
© 2014 IBM Corporation
作成するアプリケーションの概要
 毎朝7時に、その日の天気情報をスマホにメールしてくれるWebアプリケーション
19
Weather Company API
(天気情報API)
スマホWebアプリケーション
IBM BluemixAPI Call
天気情報
今日の天気は晴れ。最高気温は..
メール
© 2014 IBM Corporation
Web APIとは?
20
 API ( Application Programmable Interface )
– 特定の機能を持つプログラム(部品)を、外部のプログラムから利用できるようにするための仕組み
– FacebookやTwitterのWeb APIを使うことで、巨大サービスの機能を組み合わせてアプリを作れる!
Facebook API
クライアント
アプリケーション
認証はFacebook
ぐるナビ API
レストラン検索して
Google Map API
Mapに表示!
© 2014 IBM Corporation
テクノロジー企業に限らず、APIの公開が企業の成長の鍵
21
© 2014 IBM Corporation
The Weathere Company API
22
10日分の天気予報
2日間の時間単位の天気予報
現在の天気の状態
過去24時間の天気
© 2014 IBM Corporation
The Weather Company API の使い方
 認証情報と共に、URLにHTTP Requestを送る
 一番簡単な方法は、ブラウザのアドレズバーにURLをセットし、開く
Weather Company API
(天気情報API)
Webアプリケーション
IBM BluemixAPI Call
天気情報
© 2014 IBM Corporation
天気情報メール配信アプリの作成手順
24
1. Bluemixへの登録(フリーアカウントの取得)
2. Webアプリケーションサーバー & 開発環境のセットアップ
3. The Weather Company APIの登録(アプリへのバインド)
4. API Call URLの作成
5. アプリの開発 & 稼動確認テスト
© 2014 IBM Corporation
Bluemix フリーアカウントの登録
 ブラウザのアドレスバーに 「Bluemix.net」と入力しEnter
 右上の「登録」ボタンからフリーアカウント登録
25
30日間
メモリ2GB 10サービス
© 2014 IBM Corporation
準備体操 : BluemixでWebアプリの実行環境をセットアップ
PHP webアプリの実行環境をセットアップ
1. PHPランタイムの選択(Bluemixのカタログより)
2. アプリケーション名を決め、サーバーの作成
3. テストページの確認
1. PHPを選択
3. テストページへアクセス2. アプリ名を指定して「Create」
※Bluemix上でユニークな名前とする
わずか1分で
自作アプリを全世界に公開!
© 2014 IBM Corporation
Webアプリサーバー & 開発環境 ( Node-RED )のセットアップ
①カタログから、Node-RED
Starterを選択
②アプリ名を指定して「作成」
Node.jsサーバー上で稼動する、ビジュアルプログラミングツール
1. Node-RED Starterを選択し、アプリ名を決め、アプリを作成
© 2014 IBM Corporation
Node-REDの起動
Bluemixのダッシュボードに記載されているLinkより、Node-REDを起動
ビジュアルフローエディタ
Node-RED
© 2014 IBM Corporation
Node-REDとは?
29
 node.js で動作・軽量
 機能をカプセル化してNodeとして利用
 独自Nodeを作成・追加可能
 Bluemixの様々なサービスを簡単に利
用可能
ブラウザベースのUIで、データフローを書きアプリを作成するツール
IoT Foundationからのストリームデータを容易に加工可能
IoTアプリだけではなく、Web
Applicationも開発可能!!
プロトタイピングに最適!!
© 2014 IBM Corporation
Node-REDでのアプリ開発方法
30
①ノードを選択し
ドラッグ&ドロップ
②ノード間を接続
④Deployを選択Node-RED画面
③ノードプロパティ設定
© 2014 IBM Corporation
代表的なNode
31
コネクタが右側に存在
⇒イベントの起動
イベント起動条件を満たし
たとき、その情報を送信す
る
コネクタが左右に存在
⇒データ変換/分岐
左からデータ受信。
それを変換/分岐させ、右側に結
果を返す
コネクタが左側に存在
⇒外部アプリ起動/DB保存
左からデータを受信し、それを送
信/保存
E-mailが届いたら
一定時間ごとに
Http リクエストが来たら
ハッシュタグにTweetされたら
Httpリクエストを発行
Javascriptでデータ変換
音声をテキスト化
Web Pageを生成
データベースに格納
デバッグウィンドウに情報表示
SMSを送信
メール送信
今日使用するNode
© 2014 IBM Corporation
Node-REDでTwitter検索
IDでLoginし、Twitter連携を許可
検索キーワードをセット
© 2014 IBM Corporation
The Weather Company APIの登録(アプリへのバインド)
33
クリック
Weatherで検索
クリック
作成
天気情報APIをNode-RED アプリから使用できるように、登録。
User IDやPasswordが発行されます!
© 2014 IBM Corporation
UserID/Passwordの確認
34
アプリのダッシュボードから環境変数をクリック
環境変数をクリック
Username/Pasword
重要!コピーしてください。
これを①とします。
© 2014 IBM Corporation
天気情報リクエストURLの作成
35
10日分の毎日の予報を返答するAPIへのリクエストURL =
リクエストURLのベースURL +
APIを呼び出すためのURL +
パラメータ(検索条件: 緯度/経度、表示言語)
?units=m&geocode=35.68%2C139.68&language=ja-JP
https://5a78b670-b435-48aa-83df-8597e7535ef2:AMPv7hkvXe@twcservice.mybluemix.net:443
/api/weather/v2/forecast/daily/10day
https://5a78b670-b435-48aa-83df-8597e7535ef2:AMPv7hkvXe@twcservice.mybluemix.net:443
/api/weather/v2/forecast/daily/10day
?units=m&geocode=35.68%2C139.68&language=ja-JP
UserID Pass
①を使用!!
東京の緯度/経度 日本語
© 2014 IBM Corporation
ブラウザで確認してみましょう! URLを入力!
天気情報Get
© 2014 IBM Corporation
使用するNodeを集める
「Input」カテゴリ
「Function」カテゴリ
「Output」カテゴリ
「Social」カテゴリ
© 2014 IBM Corporation
Node-REDアプリケーションの作成
毎朝7時に
天気APIから天気予報
をGETして
今日の日中と夜の
天気を抽出して
e-mailで送信!
処理Logの確認
© 2014 IBM Corporation
プロパティーの設定 1
作成したRequest URL
© 2014 IBM Corporation
プロパティーの設定 2
msg.payload = "今日の日中の天気は " +
msg.payload.forecasts[0].narrative + "夜は" +
msg.payload.forecasts[0].night.narrative;
return msg;
Copy & Paste
送信先
smtp.mail.yahoo.co.jp
yahoo! Mailのアカウント
最後にクリック
© 2014 IBM Corporation
稼動確認テスト
クリック メールされる
本日の天気予報
© 2014 IBM Corporation
まとめ
成長のため、テクノロジーに、特にクラウド、モバイル、ソーシャルといったIT
テクノロジーを重視する企業が増えている。
変化の激しい環境において、テクノロジーで差別化を図る場合は、とにかく
スピードが命。
特にITにおいては、既存のサービスやAPIを組み合わせることで、迅速に開
発ができるプラットフォーム、PaaSが着目されている。
Bluemixを使うことで、発想をすぐに形に変とし、サービスを開始すること
ができる。
© 2014 IBM Corporation
[付録]
IBM Bluemixの特徴的なサービス
43
© 2014 IBM Corporation
Bluemix、モバイル向けのサービス(MBaaS)
 サービスはクラウド上で提供
– ミドルウェアのデプロイや管理は不要
 3rdパーティーのサービスも活用可能
 マルチ言語サポートの一貫したSDK
–Android Java
– iOS Objective-C
– JavaScript (Web, Cordova, Worklight, Node.js)
 API呼び出しだけでなく、開発やテストを支援するサービスも提供
– AppScan Mobile Analyzer、RapidApps
Mobile
Web
Node.js
44
© 2014 IBM Corporation
Bluemixモバイル・サービスの管理・統計情報の確認
 Analyticsタブ
– Mobile Application Security
• Bluemixサービスへのリクエスト数のサマリー
– Mobile Data
• ストレージ容量、APIコール数
– Push
• Push配信の送信履歴
– AnalyticsのREST APIで生データも取得可能
 各サービス固有の管理機能
– Mobile Data
• データのインポート、参照/削除
– Push
• Push配信の実行
• 購読(Subscribe)、グループ(Tag)状況の確認
45
Mobile DataのAnalytics情報
© 2014 IBM Corporation
モバイル向けに活用が可能なロケーション・サービス(3rd Pary)
ピツニーボウズ・ソフトウェア提供のロケーションAPI
 Geocoding
– 入力: 住所の文字列
– 出力: 経度・緯度
 Reverse Geocoding
– 入力: 経度・緯度
– 出力: 住所文字列
 Travel boundary
– 入力: 出発地点&移動時間or移動距離
– 出力: 到達可能なエリアの形状
 Validate Address
– 入力: 住所文字列
– 出力: 正規化された住所文字列
46
東京駅から
車で15分で
到達可能なエリア
東京駅から
車で10分で
到達可能なエリア
Travel boundaryの利用例
© 2014 IBM Corporation
Bluemixで始めるアナリティクス
統計解析
実行環境
(R)
スプレッドシート
BIツール
統計解析
統合開発環境
データロード
テーブル参照
クエリ発行
データウェアハウス
(BLU Acceleration)
ブラウザ
Bluemix
アプリケーション
(Liberty,
Ruby Sinatra, …)
Rスクリプトの実行 Rスクリプトの開発
dashDB
データウェアハウジングおよび分析用のアジャイル・プラットフォームであるdashDBサービスの活用
47
© 2014 IBM Corporation
Bluemixアナリティクス・サービス その他の例
Hadoop ベースのクラスター環境である IBM Analytics for Hadoop
(現在ベータ版)の利用
48
 Hadoop の環境の構築・管理からの開放
 InfoSphere BigInsights Enterprise Edition V3.0
 オープンソースの Apache Hadoop がベース
 Hive, MapReduce, Pig などが利用可能
 ビッグデータの分析アプリケーションの開発に注力
 Hadoop クラスター上のデータへの簡単なアクセスと
簡単なデータのロード
 分析アプリケーションの簡単な開発
 チャートやグラフを使ったデータの可視化
© 2014 IBM Corporation
更にWatsonもサービスとして提供
顧客モデル化サービス(User Modeling)
人と人とのエンゲージメントをサポートするために、ソーシャルメディアなどの分析による、
個々人のプロファイリングを行うサービス
言語識別サービス(Language Identification)
テキストで書かれた文字を元に、どの言語なのかを判断するサービス
(現時点では15の言語に対応)
機械翻訳サービス(Machine Translation)
ある言語で書かれたテキストを、他の言語のテキストに翻訳するサービス
概念拡張サービス(Concept Expansion)
婉曲な表現や話し言葉の用語を、より一般的でわかり易い用語に解読するサービス(例:“The Big Apple” → “ニューヨーク市”)
メッセージの共感サービス(Message Resonance)
特定のコミュニティ(人の集まり)に対して、あるメッセージを伝えたいときに、最も共感してもらえる用語を分析するサービス
質問応答サービス(Question Answer)
あるデータソース(Webページなど)に対するユーザーの問い合わせに対し、回答を返すサービス
関係性の抽出サービス(Relationship Extraction)
文章の構文解析を行い、名詞、動詞や目的語など、どの言葉が何を指し示しているのか等を含めた関係性の解析を行うサービス
注目のWatsonテクノロジーが、IBM Bluemix上で利用することが可能に!(下記7種類)
49
© 2014 IBM Corporation
 IBM IoT Foundation
– クラウド上でMQTTサーバー機能を提供
– デバイス/アプリケーションはMQTTプロトコルを使用し、IoT Foundationに接続
 IBM Bluemix
– ブラウザ・ベースのコーディネーション・ツールNode-REDを提供
– Node-REDはIoTサービスを利用してIoT Foundationに接続
IBM Bluemix
MQTT
IBM IoT
Foundation
MQTTサーバー
アプリケーション
アプリケーション
アプリケーション
IoTサービス
MQTT
アプリケーション
MQTT
MQTT
MQTT
MQTTクライアント
BluemixとIoT(Internet Of Things)
以下の2種類によって、アプリケーション開発に注力したスピーディなIoTアプリの実現が可能
50
© 2014 IBM Corporation
Bluemix IoT機能の中核となる“Node-RED”
51
 Node-REDとは
– デバイス、API、 オンライン・サービスのコーディネーション・ツール
• IBMのEmerging Technologyというチームが開発
• 異なるイベント・ソースの処理を簡素化
–ブラウザベースのUIで処理フローを作成し、直接実行環境にデプロイ
– Node.js上でツールや
ランタイムが動作
– BluemixのNode.js
でも実行環境を提供
処理ノードを
パレットから選
択
Deployボタンのクリックで
実行環境へ反映
各ノードの
動作を設定
シートにドラッグ&ドロップし
処理順にノードを結合

More Related Content

PPTX
Twilio x SendGrid x Bluemix 実践ハンズオン
PPTX
【Twilio勉強会 with Bluemix in 福岡】 電話のボタン応答無しで!?音声認識による自動回答サービスを作ろう!
PPTX
Twilio bluemix hands-on 資料
PPTX
Bluemixで始めるIoT
PPT
IoTデバイスと簡単に連携できる統合開発&配信環境 Bluemix を使ったゲーム開発
PPTX
IBM Bluemix Node-REDを使って簡単アプリ作成を体験する
PDF
Node red hands on - public
PDF
【大阪】Bluemix勉強会 - Watson ハンズオン -
Twilio x SendGrid x Bluemix 実践ハンズオン
【Twilio勉強会 with Bluemix in 福岡】 電話のボタン応答無しで!?音声認識による自動回答サービスを作ろう!
Twilio bluemix hands-on 資料
Bluemixで始めるIoT
IoTデバイスと簡単に連携できる統合開発&配信環境 Bluemix を使ったゲーム開発
IBM Bluemix Node-REDを使って簡単アプリ作成を体験する
Node red hands on - public
【大阪】Bluemix勉強会 - Watson ハンズオン -

What's hot (20)

PPTX
Ibm bluemix を使ってモバイルのセンサーデータを利用する
PDF
IoTクラウドで拡がるBluemixの世界
PDF
話題のNode-REDでIoTアプリを作ってみよう
PDF
Bluemixの概要とアプリの作り方
PDF
WWCT ラズパイ Bluemix 講習資料
PDF
Twilioを使ったIVRアプリを Node-REDだけで作ってみました。
PDF
Watsonを使ってAIアプリを作ってみよう!-ハンズオン-
PDF
最適なBluemixデータベース・サービスを選ぶ
PDF
進化を続けるBluemix 最新情報
PDF
Bluemixと既存システムとの連携
PDF
IBM Bluemix紹介
PDF
MySQL Clusterに適したベアメタルクラウド SoftLayer
PDF
大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!
PDF
【JSLGG】お手軽watsonアプリ開発セミナー
PDF
Bluemix_API_Possibility
PDF
Bluemixの基本を知る -全体像-
PPTX
【AWS Night in ITHD】AWSとのSoftLayerで仮想ネットワークオーバーレイ
PDF
IBM Bluemix Infrastructure (SoftLayer) introduction
PDF
Bluemixではじめるアナリティクス
PPT
Softlayer と Bluemix (IaaS と PaaS) 適材適所でアプリケーション開発
Ibm bluemix を使ってモバイルのセンサーデータを利用する
IoTクラウドで拡がるBluemixの世界
話題のNode-REDでIoTアプリを作ってみよう
Bluemixの概要とアプリの作り方
WWCT ラズパイ Bluemix 講習資料
Twilioを使ったIVRアプリを Node-REDだけで作ってみました。
Watsonを使ってAIアプリを作ってみよう!-ハンズオン-
最適なBluemixデータベース・サービスを選ぶ
進化を続けるBluemix 最新情報
Bluemixと既存システムとの連携
IBM Bluemix紹介
MySQL Clusterに適したベアメタルクラウド SoftLayer
大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!
【JSLGG】お手軽watsonアプリ開発セミナー
Bluemix_API_Possibility
Bluemixの基本を知る -全体像-
【AWS Night in ITHD】AWSとのSoftLayerで仮想ネットワークオーバーレイ
IBM Bluemix Infrastructure (SoftLayer) introduction
Bluemixではじめるアナリティクス
Softlayer と Bluemix (IaaS と PaaS) 適材適所でアプリケーション開発
Ad

Viewers also liked (6)

PDF
IBM Bluemix Workshop version 3
PDF
IBM Bluemix hands on
PPT
IBM Softlayer Bluemix Marketplace
PPTX
Bluemix Technical Overview
PDF
IBM Codename: Bluemix - Cloudfoundry, PaaS development and deployment trainin...
PPTX
IBM Bluemix Overview
IBM Bluemix Workshop version 3
IBM Bluemix hands on
IBM Softlayer Bluemix Marketplace
Bluemix Technical Overview
IBM Codename: Bluemix - Cloudfoundry, PaaS development and deployment trainin...
IBM Bluemix Overview
Ad

Similar to Ibm bluemix handson the weather company api (20)

PPTX
イノベート・ハブ九州 Bluemix勉強会#3
PDF
進化を続けるIBM Bluemix 最新情報(2015年3月)
PDF
Ibm io t hands on 150717
PDF
IBM IoT Foundation - Develop IoT Appl in 10 min
PDF
Ibm io t hands on 150717
PDF
Bluemixハンズオン資料
PPT
Bluemix体験レポート@第3回soft layer勉強会 20140901_ver.2
PDF
デモで理解する!Bluemixモバイル・サービス
PDF
Osc sapporo introduction of bluemix
PDF
2014.11.12 ibm bluemix pdf
PPT
Bluemix体験レポート@第3回札幌SoftLayer勉強会 20140901
PDF
10分でわかるBluemix
PDF
IT infra summit 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを見...
PDF
クラウドネイティブなアナリティクス基盤 - IBM Bluemix
PDF
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
PDF
Bluemix Top10 サービス解体新書
PDF
IBM Cloud Private の全貌 (Kubernetesベース)
PDF
Try IoT with Node-RED
PPTX
2016年12月7日(水)CMS & MA Summit 冬の小祭
PDF
BluemixとIBM DevOps Servicesで始めるアプリケーション開発
イノベート・ハブ九州 Bluemix勉強会#3
進化を続けるIBM Bluemix 最新情報(2015年3月)
Ibm io t hands on 150717
IBM IoT Foundation - Develop IoT Appl in 10 min
Ibm io t hands on 150717
Bluemixハンズオン資料
Bluemix体験レポート@第3回soft layer勉強会 20140901_ver.2
デモで理解する!Bluemixモバイル・サービス
Osc sapporo introduction of bluemix
2014.11.12 ibm bluemix pdf
Bluemix体験レポート@第3回札幌SoftLayer勉強会 20140901
10分でわかるBluemix
IT infra summit 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを見...
クラウドネイティブなアナリティクス基盤 - IBM Bluemix
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Bluemix Top10 サービス解体新書
IBM Cloud Private の全貌 (Kubernetesベース)
Try IoT with Node-RED
2016年12月7日(水)CMS & MA Summit 冬の小祭
BluemixとIBM DevOps Servicesで始めるアプリケーション開発

Ibm bluemix handson the weather company api

  • 1. © 2014 IBM Corporation IBM Bluemix Hands-on Insights for Weatherを使って天気予報 を毎朝メールで受け取る 日本アイ・ビー・エム株式会社 クラウド事業統括 クラウド・ソフトウェア事業部 エコシステム・デベロップメント 藤田 昌也
  • 2. © 2014 IBM Corporation2 藤田 昌也 Masaya Fujita Bluemixエバンジェリストとして、Bluemixを世の 中に広めるための活動に従事 基幹システムの開発・運用ProjectのPMから、クラ ウドの世界へ転身 好きなBluemixのサービスはNode-Red
  • 3. © 2014 IBM Corporation IBM Bluemix はアイデアをカタチにするお手伝いをします 3 Security Services Web and application services Cloud Integration Services Mobile Services Database services Big Data services Watson Services
  • 4. © 2014 IBM Corporation4 PaaSが注目される背景 IBM Bluemixとは アプリケーションをつくってみよう! IBM Bluemixの特徴的なサービス(付録)
  • 5. © 2014 IBM Corporation5 PaaSが注目される背景 (企業ビジネスの視点から)
  • 6. © 2014 IBM Corporation6 クラウドを含む新しいテクノロジーの出現により、 私たちは今、転換期にあるといえます。 タイムリーなマーケティング・キャンペーン ある店舗でクレジット・カードを 使用すると、近隣の店舗から クーポンが送られてきます。 その結果、 109%の売り上げ増を実現 ジャスト・イン・タイムのメンテナンス 迅速なビッグデータ分析 国際的な航空エンジン製造業者では、 1年でサービス収益が 12% 国際的な証券取引所での市場監視アルゴリズムでビッグデータ分析プラットフォームを活用し、 99% 35% 向上。 リアルタイムのモニタリングと 予測障害検知を活用。 応答時間を 短縮 ITリソースの削減 テクノロジーは、ビジネス・産業全体を活性化しています
  • 7. © 2014 IBM Corporation7 世界の企業経営層が今、最も着目しているのはテクノロジー 2015IBM グローバル経営層スタディー。IBMが毎年行っている、世界の企業のCxOへのア ンケート調査。
  • 8. © 2014 IBM Corporation8 © IBM Corporation 2 Uberize 新興のデジタル企業が既存の業界を大きく変えるこ と。 車両などの運送設備を持たずに、デジタル・テクノロ ジーを活用したサービスで、運輸業界を変革しつつ ある。 突如として現る、デジタル武装した破壊者に立ち向 かうためには、テクノロジーが重要 500億ドルの会社評価額を得て、 Uberは世界でもっとも価値あるスタートアップとなった 破壊的テクノロジー(Disruptive Technology)
  • 9. © 2014 IBM Corporation9 世界の経営層が着目するテクノロジーとは?
  • 10. © 2014 IBM Corporation クラウドが求められる理由 競争激化によるコスト削減圧力 –必要なものを必要な期間使えることから、全体としてコスト低減 –保守・運用を気にしなくて済む デジタル化された顧客・消費者(PC、スマホ経由の購買)の購買パター ンの変化 –開発期間や環境構築に要する時間を節約でき、タイムリーな運用が可能 –クラウドネイティブなサービス・APIの活用した、モバイルアプリ / Webアプリの提供 最新テクノロジーの活用による競争力強化 –ビッグデータ、IoT、人口知能、、 –クラウド環境での利用が当たり前となってきている
  • 11. © 2014 IBM Corporation クラウド サービスの分類とPaaS 11 ハードウェア OS ミドルウェア アプリ SaaS Software as a Service PaaS Platform as a Service IaaS Infrastructure as a Service Office 365 Google Apps Salseforce Softlayer AWS MS Azure GCP Bluemix AWS MS Azure GAE アプリケーション ミドルウェア 仮想マシン エンドユーザー アプリ開発者 アプリ開発者 インフラエンジニア
  • 12. © 2014 IBM Corporation PaaSが必要とされる背景 ユーザー体験はあっという間に減衰。鮮度・満足度を維持するためには、 開発・改良のサイクルの短縮化でき、開発に専念できる環境が必要。
  • 13. © 2014 IBM Corporation PaaSが変えるアプリケーション開発 従来環境 ソースコード 言語環境 Webサーバー データベース ソースコード 管理 ストレージ バックアップ OS ハードウェア 運用・メンテナンスも 大変!! 構築に手間と時間 がかかる PaaS ソースコード すべてをクラウドで提供 選択し組み合わせるだけ!! インフラ構築・管理から開放 開発サイクルが短縮!! 開発に専念できる環境
  • 14. © 2014 IBM Corporation IBM Bluemixとは 14
  • 15. © 2014 IBM Corporation Bluemixの特徴 1 : アプリ実行環境をすばやく提供 ランタイム アプリ コード アプリ コード 開発者 わずか1分で コードを動かす環境準備 任意の開発言語を使用可能
  • 16. © 2014 IBM Corporation Bluemixの特徴 2 :コンポーザブルな環境を提供 Securit y Service s Web and applicatio n services Cloud Integration Services Mobile Service s Database services Big Data services Watson Service s DB Mobile IoT Watson120 種類を超える サービス 自由に組み合わせ、 アイデアを形に 他社のサービス/API も豊富
  • 17. © 2014 IBM Corporation Bluemixの特徴 3 : オープンソースがベース Cloud Foundryがベース 特定のインフラや言語、フレームワークに依存しないオープンなPaaS ベンダーロックインを避けられる
  • 18. © 2014 IBM Corporation18 実際にアプリケーションを 開発してみましょう!
  • 19. © 2014 IBM Corporation 作成するアプリケーションの概要  毎朝7時に、その日の天気情報をスマホにメールしてくれるWebアプリケーション 19 Weather Company API (天気情報API) スマホWebアプリケーション IBM BluemixAPI Call 天気情報 今日の天気は晴れ。最高気温は.. メール
  • 20. © 2014 IBM Corporation Web APIとは? 20  API ( Application Programmable Interface ) – 特定の機能を持つプログラム(部品)を、外部のプログラムから利用できるようにするための仕組み – FacebookやTwitterのWeb APIを使うことで、巨大サービスの機能を組み合わせてアプリを作れる! Facebook API クライアント アプリケーション 認証はFacebook ぐるナビ API レストラン検索して Google Map API Mapに表示!
  • 21. © 2014 IBM Corporation テクノロジー企業に限らず、APIの公開が企業の成長の鍵 21
  • 22. © 2014 IBM Corporation The Weathere Company API 22 10日分の天気予報 2日間の時間単位の天気予報 現在の天気の状態 過去24時間の天気
  • 23. © 2014 IBM Corporation The Weather Company API の使い方  認証情報と共に、URLにHTTP Requestを送る  一番簡単な方法は、ブラウザのアドレズバーにURLをセットし、開く Weather Company API (天気情報API) Webアプリケーション IBM BluemixAPI Call 天気情報
  • 24. © 2014 IBM Corporation 天気情報メール配信アプリの作成手順 24 1. Bluemixへの登録(フリーアカウントの取得) 2. Webアプリケーションサーバー & 開発環境のセットアップ 3. The Weather Company APIの登録(アプリへのバインド) 4. API Call URLの作成 5. アプリの開発 & 稼動確認テスト
  • 25. © 2014 IBM Corporation Bluemix フリーアカウントの登録  ブラウザのアドレスバーに 「Bluemix.net」と入力しEnter  右上の「登録」ボタンからフリーアカウント登録 25 30日間 メモリ2GB 10サービス
  • 26. © 2014 IBM Corporation 準備体操 : BluemixでWebアプリの実行環境をセットアップ PHP webアプリの実行環境をセットアップ 1. PHPランタイムの選択(Bluemixのカタログより) 2. アプリケーション名を決め、サーバーの作成 3. テストページの確認 1. PHPを選択 3. テストページへアクセス2. アプリ名を指定して「Create」 ※Bluemix上でユニークな名前とする わずか1分で 自作アプリを全世界に公開!
  • 27. © 2014 IBM Corporation Webアプリサーバー & 開発環境 ( Node-RED )のセットアップ ①カタログから、Node-RED Starterを選択 ②アプリ名を指定して「作成」 Node.jsサーバー上で稼動する、ビジュアルプログラミングツール 1. Node-RED Starterを選択し、アプリ名を決め、アプリを作成
  • 28. © 2014 IBM Corporation Node-REDの起動 Bluemixのダッシュボードに記載されているLinkより、Node-REDを起動 ビジュアルフローエディタ Node-RED
  • 29. © 2014 IBM Corporation Node-REDとは? 29  node.js で動作・軽量  機能をカプセル化してNodeとして利用  独自Nodeを作成・追加可能  Bluemixの様々なサービスを簡単に利 用可能 ブラウザベースのUIで、データフローを書きアプリを作成するツール IoT Foundationからのストリームデータを容易に加工可能 IoTアプリだけではなく、Web Applicationも開発可能!! プロトタイピングに最適!!
  • 30. © 2014 IBM Corporation Node-REDでのアプリ開発方法 30 ①ノードを選択し ドラッグ&ドロップ ②ノード間を接続 ④Deployを選択Node-RED画面 ③ノードプロパティ設定
  • 31. © 2014 IBM Corporation 代表的なNode 31 コネクタが右側に存在 ⇒イベントの起動 イベント起動条件を満たし たとき、その情報を送信す る コネクタが左右に存在 ⇒データ変換/分岐 左からデータ受信。 それを変換/分岐させ、右側に結 果を返す コネクタが左側に存在 ⇒外部アプリ起動/DB保存 左からデータを受信し、それを送 信/保存 E-mailが届いたら 一定時間ごとに Http リクエストが来たら ハッシュタグにTweetされたら Httpリクエストを発行 Javascriptでデータ変換 音声をテキスト化 Web Pageを生成 データベースに格納 デバッグウィンドウに情報表示 SMSを送信 メール送信 今日使用するNode
  • 32. © 2014 IBM Corporation Node-REDでTwitter検索 IDでLoginし、Twitter連携を許可 検索キーワードをセット
  • 33. © 2014 IBM Corporation The Weather Company APIの登録(アプリへのバインド) 33 クリック Weatherで検索 クリック 作成 天気情報APIをNode-RED アプリから使用できるように、登録。 User IDやPasswordが発行されます!
  • 34. © 2014 IBM Corporation UserID/Passwordの確認 34 アプリのダッシュボードから環境変数をクリック 環境変数をクリック Username/Pasword 重要!コピーしてください。 これを①とします。
  • 35. © 2014 IBM Corporation 天気情報リクエストURLの作成 35 10日分の毎日の予報を返答するAPIへのリクエストURL = リクエストURLのベースURL + APIを呼び出すためのURL + パラメータ(検索条件: 緯度/経度、表示言語) ?units=m&geocode=35.68%2C139.68&language=ja-JP https://5a78b670-b435-48aa-83df-8597e7535ef2:AMPv7hkvXe@twcservice.mybluemix.net:443 /api/weather/v2/forecast/daily/10day https://5a78b670-b435-48aa-83df-8597e7535ef2:AMPv7hkvXe@twcservice.mybluemix.net:443 /api/weather/v2/forecast/daily/10day ?units=m&geocode=35.68%2C139.68&language=ja-JP UserID Pass ①を使用!! 東京の緯度/経度 日本語
  • 36. © 2014 IBM Corporation ブラウザで確認してみましょう! URLを入力! 天気情報Get
  • 37. © 2014 IBM Corporation 使用するNodeを集める 「Input」カテゴリ 「Function」カテゴリ 「Output」カテゴリ 「Social」カテゴリ
  • 38. © 2014 IBM Corporation Node-REDアプリケーションの作成 毎朝7時に 天気APIから天気予報 をGETして 今日の日中と夜の 天気を抽出して e-mailで送信! 処理Logの確認
  • 39. © 2014 IBM Corporation プロパティーの設定 1 作成したRequest URL
  • 40. © 2014 IBM Corporation プロパティーの設定 2 msg.payload = "今日の日中の天気は " + msg.payload.forecasts[0].narrative + "夜は" + msg.payload.forecasts[0].night.narrative; return msg; Copy & Paste 送信先 smtp.mail.yahoo.co.jp yahoo! Mailのアカウント 最後にクリック
  • 41. © 2014 IBM Corporation 稼動確認テスト クリック メールされる 本日の天気予報
  • 42. © 2014 IBM Corporation まとめ 成長のため、テクノロジーに、特にクラウド、モバイル、ソーシャルといったIT テクノロジーを重視する企業が増えている。 変化の激しい環境において、テクノロジーで差別化を図る場合は、とにかく スピードが命。 特にITにおいては、既存のサービスやAPIを組み合わせることで、迅速に開 発ができるプラットフォーム、PaaSが着目されている。 Bluemixを使うことで、発想をすぐに形に変とし、サービスを開始すること ができる。
  • 43. © 2014 IBM Corporation [付録] IBM Bluemixの特徴的なサービス 43
  • 44. © 2014 IBM Corporation Bluemix、モバイル向けのサービス(MBaaS)  サービスはクラウド上で提供 – ミドルウェアのデプロイや管理は不要  3rdパーティーのサービスも活用可能  マルチ言語サポートの一貫したSDK –Android Java – iOS Objective-C – JavaScript (Web, Cordova, Worklight, Node.js)  API呼び出しだけでなく、開発やテストを支援するサービスも提供 – AppScan Mobile Analyzer、RapidApps Mobile Web Node.js 44
  • 45. © 2014 IBM Corporation Bluemixモバイル・サービスの管理・統計情報の確認  Analyticsタブ – Mobile Application Security • Bluemixサービスへのリクエスト数のサマリー – Mobile Data • ストレージ容量、APIコール数 – Push • Push配信の送信履歴 – AnalyticsのREST APIで生データも取得可能  各サービス固有の管理機能 – Mobile Data • データのインポート、参照/削除 – Push • Push配信の実行 • 購読(Subscribe)、グループ(Tag)状況の確認 45 Mobile DataのAnalytics情報
  • 46. © 2014 IBM Corporation モバイル向けに活用が可能なロケーション・サービス(3rd Pary) ピツニーボウズ・ソフトウェア提供のロケーションAPI  Geocoding – 入力: 住所の文字列 – 出力: 経度・緯度  Reverse Geocoding – 入力: 経度・緯度 – 出力: 住所文字列  Travel boundary – 入力: 出発地点&移動時間or移動距離 – 出力: 到達可能なエリアの形状  Validate Address – 入力: 住所文字列 – 出力: 正規化された住所文字列 46 東京駅から 車で15分で 到達可能なエリア 東京駅から 車で10分で 到達可能なエリア Travel boundaryの利用例
  • 47. © 2014 IBM Corporation Bluemixで始めるアナリティクス 統計解析 実行環境 (R) スプレッドシート BIツール 統計解析 統合開発環境 データロード テーブル参照 クエリ発行 データウェアハウス (BLU Acceleration) ブラウザ Bluemix アプリケーション (Liberty, Ruby Sinatra, …) Rスクリプトの実行 Rスクリプトの開発 dashDB データウェアハウジングおよび分析用のアジャイル・プラットフォームであるdashDBサービスの活用 47
  • 48. © 2014 IBM Corporation Bluemixアナリティクス・サービス その他の例 Hadoop ベースのクラスター環境である IBM Analytics for Hadoop (現在ベータ版)の利用 48  Hadoop の環境の構築・管理からの開放  InfoSphere BigInsights Enterprise Edition V3.0  オープンソースの Apache Hadoop がベース  Hive, MapReduce, Pig などが利用可能  ビッグデータの分析アプリケーションの開発に注力  Hadoop クラスター上のデータへの簡単なアクセスと 簡単なデータのロード  分析アプリケーションの簡単な開発  チャートやグラフを使ったデータの可視化
  • 49. © 2014 IBM Corporation 更にWatsonもサービスとして提供 顧客モデル化サービス(User Modeling) 人と人とのエンゲージメントをサポートするために、ソーシャルメディアなどの分析による、 個々人のプロファイリングを行うサービス 言語識別サービス(Language Identification) テキストで書かれた文字を元に、どの言語なのかを判断するサービス (現時点では15の言語に対応) 機械翻訳サービス(Machine Translation) ある言語で書かれたテキストを、他の言語のテキストに翻訳するサービス 概念拡張サービス(Concept Expansion) 婉曲な表現や話し言葉の用語を、より一般的でわかり易い用語に解読するサービス(例:“The Big Apple” → “ニューヨーク市”) メッセージの共感サービス(Message Resonance) 特定のコミュニティ(人の集まり)に対して、あるメッセージを伝えたいときに、最も共感してもらえる用語を分析するサービス 質問応答サービス(Question Answer) あるデータソース(Webページなど)に対するユーザーの問い合わせに対し、回答を返すサービス 関係性の抽出サービス(Relationship Extraction) 文章の構文解析を行い、名詞、動詞や目的語など、どの言葉が何を指し示しているのか等を含めた関係性の解析を行うサービス 注目のWatsonテクノロジーが、IBM Bluemix上で利用することが可能に!(下記7種類) 49
  • 50. © 2014 IBM Corporation  IBM IoT Foundation – クラウド上でMQTTサーバー機能を提供 – デバイス/アプリケーションはMQTTプロトコルを使用し、IoT Foundationに接続  IBM Bluemix – ブラウザ・ベースのコーディネーション・ツールNode-REDを提供 – Node-REDはIoTサービスを利用してIoT Foundationに接続 IBM Bluemix MQTT IBM IoT Foundation MQTTサーバー アプリケーション アプリケーション アプリケーション IoTサービス MQTT アプリケーション MQTT MQTT MQTT MQTTクライアント BluemixとIoT(Internet Of Things) 以下の2種類によって、アプリケーション開発に注力したスピーディなIoTアプリの実現が可能 50
  • 51. © 2014 IBM Corporation Bluemix IoT機能の中核となる“Node-RED” 51  Node-REDとは – デバイス、API、 オンライン・サービスのコーディネーション・ツール • IBMのEmerging Technologyというチームが開発 • 異なるイベント・ソースの処理を簡素化 –ブラウザベースのUIで処理フローを作成し、直接実行環境にデプロイ – Node.js上でツールや ランタイムが動作 – BluemixのNode.js でも実行環境を提供 処理ノードを パレットから選 択 Deployボタンのクリックで 実行環境へ反映 各ノードの 動作を設定 シートにドラッグ&ドロップし 処理順にノードを結合