Wicket with SpringBoot
on Azure


はじめに
3
背景と目的










4
想定するIoTシステムのモデル


5
学修者と学修シナリオ(案)




6
学修者と学修シナリオ(案)
7
今日のお話
8
今日のお話
学修シナリオ(案)にむけた

教材のプロトタイプをつくってみた
・せっかくの機会なのでAzureで

 ※DreamSpark使えると学生がやりやすいはず
・WicketをSpringBootで動かしてみる
・SpringBootをAzure Web Appsで動かしてみる
・Azure Table Storage をJavaから使ってみる
9
学習教材の概要(プロトタイプ)


10
学習教材の概要(プロトタイプ)
11
プロトタイプの動作の流れ
• Intel Edison(Arduino)でセンサーデータを取得する

※温度センサーにしてみたらあまりに変化が緩やかなので光量センサ
• センサーデータをHTTP(POST)でWebAPIに送信する

※WebAPIはWicketで簡易実装

※WebSocket or 他のプロトコルにチャレンジしたかったけど今回は時間切れ
• WebAPIで受け取ったデータをAzure Storage Tableに格納する

※Azure Storage SDK for Javaを利用
• Storage Tableから過去20個分の取得データを取り出して、グラフ化する

※グラフはWicket+WickedChartで簡易実装
• 将来拡張しやすいように、WicketはSpringBootで動作させる
わざわざ作らなくても
○○でできるよ 禁止
13
デモ
14
15
ソースコード要点解説
16
Wicket with Spring Boot
17
Wicket with SpringBoot






18
pom.xml:
19
ServletContextInitializer:
20
WebApplication:
21
Example of WebPage:
22
Spring Boot on Azure
23
SpringBoot on Azure








24
SpringBootServletInitializer:
25
pom.xml:
26
pom.xml:
27
ここまでの設定で、Wicket を使う
SpringBootアプリケーションを
Azure Web Appsで動作させられる
28
Wicket WebPage as WebAPI
29


Wicket WebPage as WebAPI
30
Azure Storage Table
31
Azure Table Storage (KVS)
32
pom.xml:
33
アカウント作成:
Application.properties:
34
AzureStorageConfig:
35
AzureStorage:
36
Entity:


TableStorageRepository:
38
WickedChart
39
40
GraphPage, TemperatureChart
41
Grove Light sensor with Edison
42
43
44
45
temperature.js
46
おわりに
47
SpringBootでWicketが動く


48
Edisonで数行でセンサーデータとれる
Azureを使ってみて(1)


49
Azureを使ってみて(2)
50
まとめ
IoTをテーマに、プログラミング初学者∼システム開発経
験者が学習/学修できる教材のプロトタイプをつくってみた
• WicketをSpringBootで動かしてみた
• SpringBootをAzure Web Appで動かしてみた
• Azure Table Storage をJavaから使ってみた
• Javaが使える日本語フレンドリーな高機能PaaSとして
良い感触
51
画像出典















Wicket with Spring Boot on Azure