SlideShare a Scribd company logo
1 of 45
Spring I/O 2017での
拡張のお話
株式会社タグバンガーズ
佐々木
佐々木亜里沙
株式会社タグバンガーズ
JSUGお手伝い
Spring I/Oは2回目の参加
自己紹介
2
• Spring Cloud Functionのお話
• Spring Auto REST Docsの拡張のお話
おしながき
3
Spring Cloud Function
について
4
聴講セッション
Road to Serverless
by Dave Sayer @Pivotal
http://presos.dsyer.com/decks/road-to-serverless.html
• ServerlessとFunction
• Spring Cloud Functionのメリット
• Spring Cloud Functionのもつ機能
• 実行の流れ
• サンプル
おしながき
5
サーバーレスな環境を提供してくれるサービスたち
ServerlessとFunction
6
• AWS lambda
• Google Cloud Functions
• Azure Function
• IBM OpenWhisk
• Fission
• Kubeless
• …
イベントやストリームデータを
トリガーにしてコードを実行できる
インフラのメンテナンスを気にしなくて良い
7
イベント
(ファイルアップロードなど)
ストリームデータ
(クリックイベント
行動分析など)
Function実行
S3
Kinesis
Lambda
利用シーン例
こいつを
Spring管理下の
Beanにしよう
Spring Cloud Function
8
サーバレスアーキテクチャに対する
Spring Bootのアプローチ
SpringでFunctionを書いて
サーバレスな環境で実行できる
https://github.com/markfisher/spring-cloud-function
※Experimental project
Springプロジェクトに入ることが決定しました! (by @making)
• Spring(DI,連携、autoconfiguration)と
ビルドツール(テスト・CI、ローカル実行)を使って
サーバレスの恩恵を受けられる
Spring Cloud Functionのメリット
9
Spring使ってる開発者
FaaS API/UIをネイティブで利用するより
少なくわかりやすいステップで書ける
Function信者 Springについて知る必要がない
Spring Cloud Functionのメリット
10
• 実行プラットフォームからビジネスロジックのライフスタイル
を疎結合にする
同じコードをwebエンドポイント/ストリームプロセッサ/タスク
として実行できる
サーバレスプロバイダ、スタンドアロンな環境(ローカルやPaaS)でも
同じプログラミングモデルで実行することができる
• @Bean としてjava.util.Function(Supplier, Consumerも)を登録でき
る
• @FunctionScan(Function向けのComponentScan)
• function のコードをコンパイルして実行できる
• 孤立したクラスローダでデプロイできる(JVM Packing)
• AWS Lambdaなどサーバレスなサービスプロバイダに対するアダ
プタを提供
Spring Cloud Functionの機能
11
12
関数を用意してwebのエンドポイントとして提供
13
関数を用意してストリームのイベントプロセッサを提供
14
サーバレスなサービス、PaaSにデプロイするためのアダプタも提供
実行の流れ
15
AWS Lambdaの#handleRequestが呼ばれる
Springコンテナの初期化(1回だけ)
SpringコンテナからfunctionのBeanを取得
※AWS Lambda Functionの場合
❶
❷
❸
Configurationクラスを探してコンテナ作る
functionを探す
FluxFunction で wrap される❹
実行される❺
S3のバケットに画像をアップロードしたらAWS Lambda Functionが
実行されてリサイズしたものを別のバケットに入れてくれるサンプ
ル
https://github.com/bourbonizable/spring-cloud-function-adapter-aws-sample
サンプルアプリ
16
ファイルアップロード
Function実行
S3
Lambda
SpringのBean
イベント検知
関数実行
17
AWS Lambdaの#handleRequestが呼ばれる
public class SpringBootRequestHandler<E, O>
extends SpringFunctionInitializer
implements RequestHandler
18
19
AWS Lambdaにjarをアップロード
20
Spring Auto REST Docs
について
21
聴講セッション
Introducing Spring Auto REST Docs
by Florian Benz @ScalableCapital
https://www.slideshare.net/fbenz/introducing-spring-auto-rest-docs
• ドキュメント作成の方法
• Spring REST Docs?
• 書き方
• Spring Auto REST Docs
おしながき
22
23
Spring REST Docsに関するもっと詳しい解説や書き方、運用方法は楽天
さんのスライドを参照ください!
https://www.slideshare.net/241takahiro/spring-
onewebdocument
https://www.slideshare.net/rakutentech/springsprin
g-day-2016
24
仕様ドリブンなドキュメンテーション
ドキュメント作成の方法
コードとドキュメントは同期しない
コード ドキュメント
仕様
25
テストドリブンなドキュメンテーション
ドキュメント作成の方法
テストを通った内容がドキュメント化される
コードとドキュメントが同期される = 正確なドキュメント
コード ドキュメント
テスト
Spring REST Docs
• テストを通ると
HTTPリクエストやレスポンスが記載された
ドキュメントのもと(スニペット, 部品)を
生成してくれるツール
• asciidoc形式で生成される(Markdownもサポート)
• 対応しているテストコード:
• Junit + Spring MVC Test, TestNG, REST Assured
Spring REST Docs?
26
https://www.slideshare.net/jylee1229/spring-rest-doc-58313717
• http://asciidoctor.org/
• https://github.com/asciidoctor/asciidoctor
補足:Asciidoctor
27
AsciiDocという軽量なマークアップ言語の拡張版
28
作り方
pom.xml or build.gradleにビルドの設定を記述
**Documentation.java クラスを作る
テストコードを書き、
ドキュメント用の記述を追記
テスト実行
テストが通ったAPIごとに
スニペットが生成される
ちょっとまとめる
できあがり!!!
❶
❷
❸
❹
❺
29
ドキュメント用のコードの書き方
デフォルトで生成されるスニペット
• curl-request.adoc
• http-request.adoc
• http-response.adoc
• httpie-request.adoc
• request-body.adoc
• response-body.adoc
生成されるスニペット
30
[source,bash]
----
$ curl 'http://localhost:8080/tags' -i -X POST 
-H 'Content-Type: application/hal+json' 
-d '{
"name" : "REST"
}'
----
|===
|Path|Type|Description
|`name`
|`String`
|The name of the tag
|===
[source,http,options="nowrap"]
----
HTTP/1.1 201 Created
Location: http://localhost:8080/tags/7
----
curl-request.adoc
request-fields.adoc
http-response.adoc
31
[[resources-tags-create]]
=== Creating a tag
A `POST` request is used to create a note
operation::tags-create-example[snippets='request-
fields,curl-request,http-response']
[[resources-note]]
== Note
The Note resource is used to retrieve, update, and
delete individual notes
[[resources-note-links]]
=== Links
include::{snippets}/note-get-example/links.adoc[]
スニペットをまとめる
snippet.adoc
まとめ.adoc
snippet.adoc
snippet.adoc
snippet.adoc
32
もっともっとメンテナンス性を高くしたい!
コードとドキュメントを
もっと短く書きたい。
33
34
テストコードにDSLを書く
JSONを表すPOJOとJavadocを使って
ドキュメンテーションを生成する
サードパーティーなライブラリ
Spring Auto REST Docs
Benzさん
• JSON構造全体を認識し、フィールドのJavadocと一般的
なvalidationアノテーションをドキュメント化してくれる
(@NotNull, @NotEmpty,@NotBlank,独自制約(個別・グループ)
• パスパラメータ、クエリパラメータが自動でドキュメント化
される
• 他のスニペットをインクルードしたスニペットを作ってくれ
るので少ないコードで書ける
• ドキュメント認証
Auto REST Docsが持つ機能
35
36
37
38
例:手書きでまとめている部分
39
40
41
例:Path Parameters
42
43
https://github.com/ScaCap/spring-auto-restdocs
https://scacap.github.io/spring-auto-restdocs/#gettingstarted
使ってみたい!
44
Spring REST Docsのプロジェクトを用意
pom.xml or build.gradleに拡張の記述を追記
MockMvcの設定
❶
❷
❸
Thank you!

More Related Content

What's hot

Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo!デベロッパーネットワーク
 
これから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーションこれから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーション土岐 孝平
 
SpringベースのCloud Native Application
SpringベースのCloud Native ApplicationSpringベースのCloud Native Application
SpringベースのCloud Native Application土岐 孝平
 
Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具Kazuyuki Miyake
 
Spring Security 5.0 解剖速報
Spring Security 5.0 解剖速報Spring Security 5.0 解剖速報
Spring Security 5.0 解剖速報Takuya Iwatsuka
 
Spring Boot + Netflix Eureka
Spring Boot + Netflix EurekaSpring Boot + Netflix Eureka
Spring Boot + Netflix Eureka心 谷本
 
現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタート現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタートKazuyuki Miyake
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Takuro Sasaki
 
試験にでるSpring
試験にでるSpring試験にでるSpring
試験にでるSpring土岐 孝平
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門miso- soup3
 
本番運用で使うVisual Studio
本番運用で使うVisual Studio本番運用で使うVisual Studio
本番運用で使うVisual StudioKazuyuki Miyake
 
おれおれブログシステムにServiceWorkerを導入してみた #serviceworker
おれおれブログシステムにServiceWorkerを導入してみた #serviceworkerおれおれブログシステムにServiceWorkerを導入してみた #serviceworker
おれおれブログシステムにServiceWorkerを導入してみた #serviceworkerToshiaki Maki
 
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話JustSystems Corporation
 
楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)Rakuten Group, Inc.
 
Riot.jsを用いたweb開発 takusuta tech conf #1
Riot.jsを用いたweb開発   takusuta tech conf #1Riot.jsを用いたweb開発   takusuta tech conf #1
Riot.jsを用いたweb開発 takusuta tech conf #1Keisuke Imai
 
ASP.NET WEB API 開発体験
ASP.NET WEB API 開発体験ASP.NET WEB API 開発体験
ASP.NET WEB API 開発体験miso- soup3
 
Java + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetupJava + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetupToshiaki Maki
 
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのことDevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのことTerui Masashi
 

What's hot (19)

Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
 
これから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーションこれから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーション
 
SpringベースのCloud Native Application
SpringベースのCloud Native ApplicationSpringベースのCloud Native Application
SpringベースのCloud Native Application
 
Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具
 
Spring Security 5.0 解剖速報
Spring Security 5.0 解剖速報Spring Security 5.0 解剖速報
Spring Security 5.0 解剖速報
 
Spring Boot + Netflix Eureka
Spring Boot + Netflix EurekaSpring Boot + Netflix Eureka
Spring Boot + Netflix Eureka
 
現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタート現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタート
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
 
試験にでるSpring
試験にでるSpring試験にでるSpring
試験にでるSpring
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
 
本番運用で使うVisual Studio
本番運用で使うVisual Studio本番運用で使うVisual Studio
本番運用で使うVisual Studio
 
おれおれブログシステムにServiceWorkerを導入してみた #serviceworker
おれおれブログシステムにServiceWorkerを導入してみた #serviceworkerおれおれブログシステムにServiceWorkerを導入してみた #serviceworker
おれおれブログシステムにServiceWorkerを導入してみた #serviceworker
 
Application Bootstrap
Application BootstrapApplication Bootstrap
Application Bootstrap
 
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
 
楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)
 
Riot.jsを用いたweb開発 takusuta tech conf #1
Riot.jsを用いたweb開発   takusuta tech conf #1Riot.jsを用いたweb開発   takusuta tech conf #1
Riot.jsを用いたweb開発 takusuta tech conf #1
 
ASP.NET WEB API 開発体験
ASP.NET WEB API 開発体験ASP.NET WEB API 開発体験
ASP.NET WEB API 開発体験
 
Java + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetupJava + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetup
 
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのことDevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
 

Similar to Spring I/O 2017での拡張のお話

JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatformJSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatformTakahiro Fujii
 
スマートニュースの世界展開を支えるログ解析基盤
スマートニュースの世界展開を支えるログ解析基盤スマートニュースの世界展開を支えるログ解析基盤
スマートニュースの世界展開を支えるログ解析基盤Takumi Sakamoto
 
アプリ開発&チーム管理で 役立った拡張機能
アプリ開発&チーム管理で役立った拡張機能アプリ開発&チーム管理で役立った拡張機能
アプリ開発&チーム管理で 役立った拡張機能Masaki Suzuki
 
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践真吾 吉田
 
de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版Minoru Naito
 
Morning Session - AWS Serverless Ways
Morning Session - AWS Serverless WaysMorning Session - AWS Serverless Ways
Morning Session - AWS Serverless Waysakitsukada
 
「Azure durable functions」の概要
「Azure durable functions」の概要「Azure durable functions」の概要
「Azure durable functions」の概要裕之 木下
 
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevcServerless Architecture Overview #cdevc
Serverless Architecture Overview #cdevcMasahiro NAKAYAMA
 
Cloud Native Appのデプロイ先に関する考察:VM? コンテナ? aPaaS? or Serverless?
Cloud Native Appのデプロイ先に関する考察:VM? コンテナ? aPaaS? or Serverless?Cloud Native Appのデプロイ先に関する考察:VM? コンテナ? aPaaS? or Serverless?
Cloud Native Appのデプロイ先に関する考察:VM? コンテナ? aPaaS? or Serverless?Yosuke Arai
 
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践de:code 2017
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから真吾 吉田
 
ここが良かったDatadog
ここが良かったDatadogここが良かったDatadog
ここが良かったDatadogtyamane
 
LINE API 紹介&LINE API Use Case(Azure編)
LINE API 紹介&LINE API Use Case(Azure編)LINE API 紹介&LINE API Use Case(Azure編)
LINE API 紹介&LINE API Use Case(Azure編)拓将 平林
 
[Serverless OpenHack Tokyo] Azure Serverless (Japanese)
[Serverless OpenHack Tokyo] Azure Serverless (Japanese)[Serverless OpenHack Tokyo] Azure Serverless (Japanese)
[Serverless OpenHack Tokyo] Azure Serverless (Japanese)Naoki (Neo) SATO
 
Windows azureって何
Windows azureって何Windows azureって何
Windows azureって何Kana SUZUKI
 
データ分析基盤におけるOpsのためのDev with event driven + serverless
データ分析基盤におけるOpsのためのDev with event driven + serverlessデータ分析基盤におけるOpsのためのDev with event driven + serverless
データ分析基盤におけるOpsのためのDev with event driven + serverlessShoji Shirotori
 
OpenWhisk Serverless への期待
OpenWhisk Serverless への期待OpenWhisk Serverless への期待
OpenWhisk Serverless への期待Hideaki Tokida
 

Similar to Spring I/O 2017での拡張のお話 (20)

JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatformJSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
 
スマートニュースの世界展開を支えるログ解析基盤
スマートニュースの世界展開を支えるログ解析基盤スマートニュースの世界展開を支えるログ解析基盤
スマートニュースの世界展開を支えるログ解析基盤
 
アプリ開発&チーム管理で 役立った拡張機能
アプリ開発&チーム管理で役立った拡張機能アプリ開発&チーム管理で役立った拡張機能
アプリ開発&チーム管理で 役立った拡張機能
 
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
 
Eight meets AWS
Eight meets AWSEight meets AWS
Eight meets AWS
 
de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版
 
Serverless for VUI
Serverless for VUIServerless for VUI
Serverless for VUI
 
Morning Session - AWS Serverless Ways
Morning Session - AWS Serverless WaysMorning Session - AWS Serverless Ways
Morning Session - AWS Serverless Ways
 
「Azure durable functions」の概要
「Azure durable functions」の概要「Azure durable functions」の概要
「Azure durable functions」の概要
 
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevcServerless Architecture Overview #cdevc
Serverless Architecture Overview #cdevc
 
Cloud Native Appのデプロイ先に関する考察:VM? コンテナ? aPaaS? or Serverless?
Cloud Native Appのデプロイ先に関する考察:VM? コンテナ? aPaaS? or Serverless?Cloud Native Appのデプロイ先に関する考察:VM? コンテナ? aPaaS? or Serverless?
Cloud Native Appのデプロイ先に関する考察:VM? コンテナ? aPaaS? or Serverless?
 
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから
 
ここが良かったDatadog
ここが良かったDatadogここが良かったDatadog
ここが良かったDatadog
 
JavaOne2017参加報告 Microservices topic & approach #jjug
JavaOne2017参加報告 Microservices topic & approach #jjugJavaOne2017参加報告 Microservices topic & approach #jjug
JavaOne2017参加報告 Microservices topic & approach #jjug
 
LINE API 紹介&LINE API Use Case(Azure編)
LINE API 紹介&LINE API Use Case(Azure編)LINE API 紹介&LINE API Use Case(Azure編)
LINE API 紹介&LINE API Use Case(Azure編)
 
[Serverless OpenHack Tokyo] Azure Serverless (Japanese)
[Serverless OpenHack Tokyo] Azure Serverless (Japanese)[Serverless OpenHack Tokyo] Azure Serverless (Japanese)
[Serverless OpenHack Tokyo] Azure Serverless (Japanese)
 
Windows azureって何
Windows azureって何Windows azureって何
Windows azureって何
 
データ分析基盤におけるOpsのためのDev with event driven + serverless
データ分析基盤におけるOpsのためのDev with event driven + serverlessデータ分析基盤におけるOpsのためのDev with event driven + serverless
データ分析基盤におけるOpsのためのDev with event driven + serverless
 
OpenWhisk Serverless への期待
OpenWhisk Serverless への期待OpenWhisk Serverless への期待
OpenWhisk Serverless への期待
 

Spring I/O 2017での拡張のお話

Editor's Notes

  1. イベントをトリガーして関数を実行
  2. 設定ファイルにコードを文字で書いちゃってもコンパイルしてfunctionとして実行できる
  3. 関数を用意してwebのエンドポイントとして提供
  4. 関数を用意してストリームのイベントプロセッサ
  5. サーバレスのPaaSにデプロイするためのアダプターが用意されてます
  6. テストドリブンなドキュメンテーション
  7. Weatherというディレクトリにスニペットを出力する。これはRestDocumentationResultHandlerというもので記載される MockMvcRestDocumentationのstatic documentメソッドでこのクラスのインスタンスが取得できる
  8. You can change the default snippet configuration during setup using the RestDocumentationConfigurer API. For example, to only produce the curl-request snippet by default:
  9. NotNull (Bean Validation) NotEmpty (Hibernate Validator) NotBlank (Hibernate Validator) JSON、Controllerのjavadoc,レクエスト・レスポンスのアノテーション