ibm bluemix handson the weather company api

51
© 2014 IBM Corporation IBM Bluemix Hands-on Insights for Weather をををををををを ををををををををををを 日日日日 日日日 日日日日日日 ・・ 日日日日日日日日 日日日日 日日日日日日日日日 日日日日日日 日日日日日日日日 日日 日日

Upload: masaya-fujita

Post on 13-Feb-2017

865 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

IBM Bluemix Hands-onInsights for Weather を使って天気予報を毎朝メールで受け取る

日本アイ・ビー・エム株式会社  クラウド事業統括 クラウド・ソフトウェア事業部 エコシステム・デベロップメント 藤田 昌也

Page 2: Ibm bluemix handson the weather company api

© 2014 IBM Corporation2

藤田 昌也Masaya Fujita

Bluemix エバンジェリストとして、 Bluemix を世の中に広めるための活動に従事

基幹システムの開発・運用 Project の PM から、クラウドの世界へ転身

好きな Bluemix のサービスは Node-Red

Page 3: Ibm bluemix handson the weather company api

© 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

Page 4: Ibm bluemix handson the weather company api

© 2014 IBM Corporation4

PaaS が注目される背景

IBM Bluemix とは

アプリケーションをつくってみよう!

IBM Bluemix の特徴的なサービス(付録)

Page 5: Ibm bluemix handson the weather company api

© 2014 IBM Corporation5

PaaS が注目される背景(企業ビジネスの視点から)

Page 6: Ibm bluemix handson the weather company api

© 2014 IBM Corporation6

クラウドを含む新しいテクノロジーの出現により、私たちは今、転換期にあるといえます。

タイムリーなマーケティング・キャンペーンある店舗でクレジット カー・ドを使用すると、近隣の店舗からクーポンが送られてきます。その結果、

109% の売り上げ増を実現

ジャスト イン タイムのメンテナ・ ・ンス

迅速なビッグデータ分析

国際的な航空エンジン製造業者では、1 年でサービス収益が

12%

国際的な証券取引所での市場監視アルゴリズムでビッグデータ分析プラットフォームを活用し、

99% 35%

向上。リアルタイムのモニタリングと予測障害検知を活用。

応答時間を短縮

IT リソースの削減

テクノロジーは、ビジネス・産業全体を活性化しています

Page 7: Ibm bluemix handson the weather company api

© 2014 IBM Corporation7

世界の企業経営層が今、最も着目しているのはテクノロジー

2015IBM グローバル経営層スタディー。 IBM が毎年行っている、世界の企業の CxO へのアンケート調査。

Page 8: Ibm bluemix handson the weather company api

© 2014 IBM Corporation8

© IBM Corporation 2

Uberize

新興のデジタル企業が既存の業界を大きく変えること。

車両などの運送設備を持たずに、デジタル・テクノロジーを活用したサービスで、運輸業界を変革しつつある。

突如として現る、デジタル武装した破壊者に立ち向かうためには、テクノロジーが重要

500 億ドルの会社評価額を得て、Uber は世界でもっとも価値あるスタートアップとなった

破壊的テクノロジー( Disruptive Technology )

Page 9: Ibm bluemix handson the weather company api

© 2014 IBM Corporation9

世界の経営層が着目するテクノロジーとは?

Page 10: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

クラウドが求められる理由

競争激化によるコスト削減圧力–必要なものを必要な期間使えることから、全体としてコスト低減–保守・運用を気にしなくて済む

デジタル化された顧客・消費者( PC 、スマホ経由の購買)の購買パターンの変化

–開発期間や環境構築に要する時間を節約でき、タイムリーな運用が可能–クラウドネイティブなサービス・ API の活用した、モバイルアプリ / Web

アプリの提供

最新テクノロジーの活用による競争力強化–ビッグデータ、 IoT 、人口知能、、–クラウド環境での利用が当たり前となってきている

Page 11: Ibm bluemix handson the weather company api

© 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

アプリケーション

ミドルウェア

仮想マシン

エンドユーザー

アプリ開発者

アプリ開発者インフラエンジニア

Page 12: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

PaaS が必要とされる背景

ユーザー体験はあっという間に減衰。鮮度・満足度を維持するためには、

開発・改良のサイクルの短縮化でき、開発に専念できる環境が必要。

Page 13: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

PaaS が変えるアプリケーション開発

従来環境ソースコード

言語環境

Web サーバー

データベース

ソースコード管理

ストレージ

バックアップ

OSハードウェア

運用・メンテナンスも大変 !!

構築に手間と時間がかかる

PaaSソースコード

すべてをクラウドで提供

選択し組み合わせるだけ!!

インフラ構築・管理から開放

開発サイクルが短縮 ! !

開発に専念できる環境

Page 14: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

IBM Bluemix とは

14

Page 15: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

Bluemix の特徴 1 : アプリ実行環境をすばやく提供

ランタイム

アプリコード

アプリコード

開発者わずか 1 分でコードを動かす環境準備

任意の開発言語を使用可能

Page 16: Ibm bluemix handson the weather company api

© 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も豊富

Page 17: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

Bluemix の特徴 3 : オープンソースがベース

Cloud Foundry がベース特定のインフラや言語、フレームワークに依存しないオープンな PaaS

ベンダーロックインを避けられる

Page 18: Ibm bluemix handson the weather company api

© 2014 IBM Corporation18

実際にアプリケーションを

開発してみましょう!

Page 19: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

作成するアプリケーションの概要

毎朝 7 時に、その日の天気情報をスマホにメールしてくれる Web アプリケーション

19

Weather Company API(天気情報 API )

スマホWeb アプリケーション

IBM BluemixAPI Call

天気情報

今日の天気は晴れ。最高気温は ..

メール

Page 20: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

Web API とは?

20

API ( Application Programmable Interface )– 特定の機能を持つプログラム(部品)を、外部のプログラムから利用できるようにする

ための仕組み– Facebookや Twitter の Web API を使うことで、巨大サービスの機能を組み合わせてア

プリを作れる!

Facebook API

クライアントアプリケーション

認証は Facebook

ぐるナビ API

レストラン検索して

Google Map API

Map に表示!

Page 21: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

テクノロジー企業に限らず、 API の公開が企業の成長の鍵

21

Page 22: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

The Weathere Company API

22

10 日分の天気予報

2日間の時間単位の天気予報

現在の天気の状態

過去 24 時間の天気

Page 23: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

The Weather Company API の使い方

認証情報と共に、 URL に HTTP Request を送る一番簡単な方法は、ブラウザのアドレズバーに URL をセットし、開く

Weather Company API(天気情報 API )

Web アプリケーション

IBM BluemixAPI Call

天気情報

Page 24: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

天気情報メール配信アプリの作成手順

24

1. Bluemix への登録(フリーアカウントの取得)

2. Web アプリケーションサーバー & 開発環境のセットアップ

3. The Weather Company API の登録(アプリへのバインド)

4. API Call URL の作成

5. アプリの開発 & 稼動確認テスト

Page 25: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

Bluemix フリーアカウントの登録

ブラウザのアドレスバーに 「 Bluemix.net」と入力し Enter右上の「登録」ボタンからフリーアカウント登録

25

30 日間

メモリ 2GB 10 サービス

Page 26: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

準備体操 : Bluemix で Web アプリの実行環境をセットアップPHP web アプリの実行環境をセットアップ

1. PHP ランタイムの選択 (Bluemix のカタログより )2. アプリケーション名を決め、サーバーの作成3. テストページの確認

1. PHP を選択

3. テストページへアクセス

2. アプリ名を指定して「 Create」※Bluemix 上でユニークな名前とする

わずか 1 分で

自作アプリを全世界に公開!

Page 27: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

Web アプリサーバー & 開発環境 ( Node-RED ) のセットアップ

①カタログから、 Node-RED Starter を選択

②アプリ名を指定して「作成」

Node.js サーバー上で稼動する、ビジュアルプログラミングツール1. Node-RED Starter を選択し、アプリ名を決め、アプリを作成

Page 28: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

Node-RED の起動

Bluemix のダッシュボードに記載されている Link より、 Node-RED を起動

ビジュアルフローエディタ

Node-RED

Page 29: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

Node-RED とは?

29

node.js で動作・軽量 機能をカプセル化して Node とし

て利用 独自 Node を作成・追加可能 Bluemix の様々なサービスを簡単

に利用可能

ブラウザベースの UI で、データフローを書きアプリを作成するツールIoT Foundation からのストリームデータを容易に加工可能

IoT アプリだけではなく、 Web Application も開発可能!!

プロトタイピングに最適!!

Page 30: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

Node-RED でのアプリ開発方法

30

①ノードを選択しドラッグ & ドロップ ②ノード間を接続

④Deploy を選択Node-RED画面

③ノードプロパティ設定

Page 31: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

代表的な Node

31

コネクタが右側に存在⇒イベントの起動イベント起動条件を満たしたとき、その情報を送信する

コネクタが左右に存在⇒データ変換 / 分岐左からデータ受信。それを変換 / 分岐させ、右側に結果を返す

コネクタが左側に存在⇒外部アプリ起動 /DB保存左からデータを受信し、それを送信 /保存

E-mail が届いたら

一定時間ごとに

Http リクエストが来たら

ハッシュタグに Tweet されたら

Http リクエストを発行

Javascript でデータ変換

音声をテキスト化

Web Page を生成

データベースに格納

デバッグウィンドウに情報表示

SMS を送信

メール送信

今日使用する Node

Page 32: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

Node-RED で Twitter 検索

ID で Login し、 Twitter連携を許可

検索キーワードをセット

Page 33: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

The Weather Company API の登録(アプリへのバインド)

33

クリック

Weather で検索

クリック

作成

天気情報 API を Node-RED アプリから使用できるように、登録。User IDや Password が発行されます!

Page 34: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

UserID/Password の確認

34

アプリのダッシュボードから環境変数をクリック

環境変数をクリック

Username/Pasword

重要!コピーしてください。

これを①とします。

Page 35: Ibm bluemix handson the weather company api

© 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:[email protected]:443

/api/weather/v2/forecast/daily/10day

https://5a78b670-b435-48aa-83df-8597e7535ef2:[email protected]:443

/api/weather/v2/forecast/daily/10day

?units=m&geocode=35.68%2C139.68&language=ja-JP

UserID Pass①を使用!!

東京の緯度 / 経度 日本語

Page 36: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

ブラウザで確認してみましょう! URL を入力!

天気情報 Get

Page 37: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

使用する Node を集める

「 Input」カテゴリ

「 Function」カテゴリ

「Output」カテゴリ

「 Social」カテゴリ

Page 38: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

Node-RED アプリケーションの作成

毎朝 7 時に天気 API から天気予報

を GET して

今日の日中と夜の

天気を抽出して e-mail で送信!

処理 Log の確認

Page 39: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

プロパティーの設定 1

作成した Request URL

Page 40: Ibm bluemix handson the weather company api

© 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 のアカウント

最後にクリック

Page 41: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

稼動確認テスト

クリック メールされる

本日の天気予報

Page 42: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

まとめ

成長のため、テクノロジーに、特にクラウド、モバイル、ソーシャルといった IT テクノロジーを重視する企業が増えている。

変化の激しい環境において、テクノロジーで差別化を図る場合は、とにかくスピードが命。

特に IT においては、既存のサービスや API を組み合わせることで、迅速に開発ができるプラットフォーム、 PaaS が着目されている。

Bluemix を使うことで、発想をすぐに形に変とし、サービスを開始することができる。

Page 43: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

[ 付録 ] IBM Bluemix の特徴的なサービス

43

Page 44: Ibm bluemix handson the weather company api

© 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

Page 45: Ibm bluemix handson the weather company api

© 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情報

Page 46: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

モバイル向けに活用が可能なロケーション・サービス( 3rd Pary )

ピツニーボウズ・ソフトウェア提供のロケーション API

Geocoding–入力 : 住所の文字列– 出力 : 経度・緯度

Reverse Geocoding–入力 : 経度・緯度– 出力 : 住所文字列

Travel boundary–入力 : 出発地点&移動時間 or移動距離– 出力: 到達可能なエリアの形状

Validate Address–入力: 住所文字列– 出力: 正規化された住所文字列

46

東京駅から車で 15 分で

到達可能なエリア

東京駅から車で 10 分で

到達可能なエリア

Travel boundary の利用例

Page 47: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

Bluemix で始めるアナリティクス

統計解析実行環境

(R)

スプレッドシート

BIツール

統計解析統合開発環境

データロード

テーブル参照

クエリ発行データウェアハウス(BLU Acceleration)

ブラウザ

Bluemixアプリケーション

(Liberty, Ruby Sinatra, …)

R スクリプトの実行 R スクリプトの開発

dashDBデータウェアハウジングおよび分析用のアジャイル・プラットフォームであるdashDB サービスの活用

47

Page 48: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

Bluemix アナリティクス・サービス その他の例Hadoop ベースのクラスター環境である IBM Analytics for Hadoop(現在ベータ版)の利用

48

Hadoop の環境の構築・管理からの開放 InfoSphere BigInsights Enterprise Edition V3.0

オープンソースの Apache Hadoop がベース

Hive, MapReduce, Pig などが利用可能 ビッグデータの分析アプリケーションの開発に

注力 Hadoop クラスター上のデータへの簡単なア

クセスと簡単なデータのロード 分析アプリケーションの簡単な開発 チャートやグラフを使ったデータの可視化

Page 49: Ibm bluemix handson the weather company api

© 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

Page 50: Ibm bluemix handson the weather company api

© 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

Page 51: Ibm bluemix handson the weather company api

© 2014 IBM Corporation

Bluemix IoT機能の中核となる“ Node-RED”

51

Node-RED とは– デバイス、 API 、 オンライン・サービスのコーディネーション・ツール

• IBM の Emerging Technology というチームが開発• 異なるイベント・ソースの処理を簡素化

–ブラウザベースの UI で処理フローを作成し、直接実行環境にデプロイ– Node.js 上でツールや

ランタイムが動作– Bluemix の Node.js

でも実行環境を提供

処理ノードをパレットから

選択

Deployボタンのクリックで実行環境へ

反映

各ノードの動作を設定

シートにドラッグ&ドロップし処理順にノー

ドを結合