ibm bluemix handson the weather company api
Post on 13-Feb-2017
865 Views
Preview:
TRANSCRIPT
© 2014 IBM Corporation
IBM Bluemix Hands-onInsights for Weather を使って天気予報を毎朝メールで受け取る
日本アイ・ビー・エム株式会社 クラウド事業統括 クラウド・ソフトウェア事業部 エコシステム・デベロップメント 藤田 昌也
© 2014 IBM Corporation2
藤田 昌也Masaya Fujita
Bluemix エバンジェリストとして、 Bluemix を世の中に広めるための活動に従事
基幹システムの開発・運用 Project の PM から、クラウドの世界へ転身
好きな Bluemix のサービスは Node-Red
© 2014 IBM Corporation
IBM Bluemix はアイデアをカタチにするお手伝いをします
3
Security Service
s
Web and application
services
CloudIntegration
Services
Mobile Service
s
Database services
Big Data services
Watson Service
s
© 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
ミドルウェア
アプリ SaaSSoftware
as a Service PaaS
Platform as
a Service
IaaSInfrastructure as a Service
Office 365Google Apps
Salseforce
Softlayer
AWSMS Azure
GCP
BluemixAWS
MS AzureGAE
アプリケーション
ミドルウェア
仮想マシン
エンドユーザー
アプリ開発者
アプリ開発者インフラエンジニア
© 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 : コンポーザブルな環境を提供
Security
Services
Web and application services
CloudIntegration
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.js44
© 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ボタンのクリックで実行環境へ
反映
各ノードの動作を設定
シートにドラッグ&ドロップし処理順にノー
ドを結合
top related