SlideShare une entreprise Scribd logo
1  sur  52
Télécharger pour lire hors ligne
Rightsize Your Java EE Apps
田邊 義真 @emaggame
http://morec.at
2016-06-27 JJUG ナイトセミナー Java フレームワーク特集
Topics
●
WildFly/WildFly Swarm ?
●
基本的な使い方
●
Fractions
●
便利な機能
●
コミュニティ
WildFly?
WildFly Swarm??
●
wildfly.org
●
Java EE 7 対応 AP サーバ
●
高速な起動
●
高度な管理インタフェース
●
Module Class Loader
●
wildfly-swarm.io
●
WildFly を組込んだ uber jar を作成可能
●
機能 (Fraction) に応じた構成の実現
●
各種インテグレーション ( 例 Netflix OSS)
Monolithic Application Server
All In One のため、スリム化は自身で行う必要がある
https://wildfly-swarm.gitbooks.io/wildfly-swarm-users-guide/content/getting-started/basics.html
WildFly Swarm Uberjar
●
分割と再構築
●
Fraction という単位で構成
●
アプリケーションに必要なもののみ利用できる
https://wildfly-swarm.gitbooks.io/wildfly-swarm-users-guide/content/getting-started/basics.html
基本的な使い方
利用したい Fraction を選択
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>jaxrs</artifactId>
</dependency>
Java EE アプリケーションを書く
@Path("/hello")
public class HelloWorld {
@GET
@Produces(MediaType.APPLICATION_JSON)
public String hello() {
return "{"message" : "Hello, WildFly Swarm!"}";
}
}
main() メソッド
public class App {
public static void main(String[] args) ... {
// WildFly を表す
Container container = new Container(args);
// デプロイするアプリケーション
JAXRSArchive deployment = ...;
// WildFly の起動とアプリケーションのデプロイ
container.start().deploy(deployment);
}
}
uber jar にするためのプラグイン
<plugin>
<groupId>org.wildfly.swarm</groupId>
<artifactId>wildfly-swarm-plugin</artifactId>
<configuration>
<mainClass>your.awesome.App</mainClass>
</configuration>
<executions><execution>
<goals><goal>package</goal></goals>
</execution>
</executions>
</plugin>
あとは実行するだけ
●
mvn package && java -jar yourapp-swarm.jar
●
mvn wildfly-swarm:run
●
Run main() from IDE
$ curl localhost:8080/hello
{"message" : "Hello, WildFly Swarm!"}
Gradle も利用できます
https://wildfly-swarm.gitbooks.io/wildfly-swarm-users-guide/content/getting-started/tooling/gradle-plugin.html
通常の WildFly との比較
●
WildFly
1.Download/Install
2.設定
3.起動 & デプロイ
●
WildFly Swarm
1.依存性で解決
2.設定・起動・デプロイは
すべて main() で記述
Fractions
Fraction
●
機能や設定の単位
●
Convention over configuration
Fractions 一覧※
core
jolokia
vertx
drools
netflix
spring
spring-boot
topology-jgroups
topology-consul
topology-openshift
swagger
keycloak
logstash
servers
camel
※ これは大まかな ( リポジトリの ) 単位。
実際に依存性を追加する単位を知りたい場合は以下サイトの View all available dependencies をクリック
http://wildfly-swarm.io/generator/
Fractions 一覧※
core
jolokia
vertx
drools
netflix
spring
spring-boot
topology-jgroups
topology-consul
topology-openshift
swagger
keycloak
logstash
servers
camel
この資料で紹介
※ これは大まかな ( リポジトリの ) 単位。
実際に依存性を追加する単位を知りたい場合は以下サイトの View all available dependencies をクリック
http://wildfly-swarm.io/generator/
core
●
Java EE や WildFly の subsystem 相当
– JAX-RS, CDI, JPA, …
– Undertow, Datasources, Logging, ...
Datasources(core)
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>datasources</artifactId>
</dependency>
※jpa を利用する場合は自動的に追加される
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>jpa</artifactId>
</dependency>
Datasources(core)
Container container = ...
container.fraction(new DatasourcesFraction()
.jdbcDriver(<jdbc driver settings>)
.dataSource(myDS, ds -> ds
.driverName(...)
.connectionUrl(...)
.userName(...)
.password(...)
)
);
WildFly の設定内容がそのまま API になっている
テスト書いてないとか ...
!!!
Arquillian(core)
●
arquillian.org
●
実際に AP サーバを起動 / デプロイしてテストする
本物の EJB や CDI コンテナを利用できる
●
通常 WildFly を事前にインストールする必要あり
– WildFly Swarm では不要
Arquillian(core)
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>arquillian</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
<scope>test</scope>
</dependency>
Arquillian(core)
@RunWith(Arquillian.class)
public class AwesomeIT implements ContainerFactory {
@Deployment
public static Archive createDeployment() {...}
@Override
public Container newContainer(String... args) {...}
@Test
public void test() {...}
}
1.0.0.CR2 で ContainerFactory を implements しない方法も追加
http://wildfly-swarm.io/posts/announcement-1-0-0-cr2/#_arquillian_testing_improvements
テストもばっちり !
∩ ∩
Ribbon/Hystrix(Netflix OSS)
●
github.com/Netflix
Ribbon
Service A
Service A'
クライアントサイド ロードバランシング
Hystrix
Service A
サーキットブレーカ
Service Afallback
Ribbon/Hystrix(Netflix OSS)
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>ribbon</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>hystrix</artifactId>
</dependency>
Ribbon/Hystrix(Netflix OSS)
●
Ribbon や Hystrix を使う下準備を支援
●
現状、アノテーションで有効というわけではなく、
Ribbon/Hystrix の API を書く必要あり※
●
利用例としては公式チュートリアルがわかりやすい
– http://wildfly-swarm.io/tutorial/
※ ボイラープレートを減らすための issue は切られている
https://issues.jboss.org/browse/SWARM-521
Topology
●
サービスディスカバリ
Service A
Service
Discovery
Topology
●
サービスディスカバリ
●
実装として以下の 3 種類が利用できる
– jgroups
– consul
– openshift
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>topology-x</artifactId>
</dependency>
Topology
●
実装によらず同じようにサービス登録可能※
JAXRSArchive deployment = …
deployment
.as(TopologyArchive.class)
.advertise("awesome-service");
※consul の URL などは別途 API ないしシステムプロパティなどで渡す
Topology(consul での例 )
consul-ui の画面
サービスを 8080/8180 ポートで 2 インスタンスで立ち上げている
Keycloak
●
keycloak.org
●
いろいろな認証 / 認可に対応した SSO サーバ
●
WildFly Swarm では認証クライアント設定用 API
を提供
Keycloak
JAXRSArchive deployment = …
deployment.as(Secured.class)
.protect("/entries/*")
.withMethod("POST", "PUT", "DELETE")
.withRoles("author");
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>keycloak</artifactId>
</dependency>
Swagger
●
swagger.io
●
API からドキュメントやモックを生成
●
Swagger を JAX-RS で利用する場合の下準備を
いろいろやってくれる
Swagger
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>swagger</artifactId>
</dependency>
Swagger
@Path("/time")
@Api(...)
public class TimeResource {
@GET
@Path("/now")
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(...)
public String get() {…}
}
Swagger
$ curl localhost:8080/swagger.json
...
{
"swagger": "2.0", ...
"paths": {
"/time/now": {
"get": {
"summary": "Get the current time",
"description": "Returns the time as a string",
"produces": ["application/json"],
"responses": {"200": ...
...
}
Swagger UI によるドキュメント化
Swagger UI によるドキュメント化
Spring/Spring Boot
●
Spring + WildFly はよく見かける組み合わせ
現状ユーザガイド未記載なので、サンプルを参照
https://github.com/wildfly-swarm/wildfly-swarm-examples/tree/master/spring
https://github.com/wildfly-swarm/wildfly-swarm-examples/tree/master/spring-boot
突然現れるバナー
便利な機能
project-stages.yml
https://wildfly-swarm.gitbooks.io/wildfly-swarm-users-guide/content/configuration/#_configuration_overlays_using_stage_properties
# defualt ステージ
database:
connection:
url: jdbc:h2:mem:dev
---
project:
stage: production
database:
connection:
url: jdbc:postgresql://localhost:5432/awesome-db
project-stages.yml
●
起動時にステージ名を渡す
– -Dswarm.project.stage=<stage name>
Container container = …
container
.stageConfig()
.resolve("database.connection.url")
.getValue()
https://wildfly-swarm.gitbooks.io/wildfly-swarm-users-guide/content/configuration/#_configuration_overlays_using_stage_properties
コミュニティ
コミュニティ
●
@wildflyswarm
●
Google Groups
●
IRC(#wildfly-swarm on Freenode)
●
ドキュメント
– https://wildfly-swarm.gitbooks.io/wildfly-swarm-users-guide/content/
●
サンプル
– https://github.com/wildfly-swarm/wildfly-swarm-examples
コミュニティ
http://wildfly-swarm.io/posts/announcement-1-0-0-cr2/
●
わかる範囲での質問の受け答え
●
バグ報告
●
ちょっとした p-r
●
ヘルパーメソッド追加
●
バグフィックス
●
サンプル追加
●
最初のバージョンが出てからウォッチ
自分がやったこと
さいごに
WildFly Swarm Tour
●
ひととおり WildFly Swarm を触ってみるガイド
– 最新の WildFly Swarm に追従
– JAX-RS/CDI/JPA
– Arquillian
– Keycloak
– Docker
https://emag.gitbooks.io/wildfly-swarm-tour/content/
所感
●
まだ GA ではないもののだいぶ安定してきた
●
開発からまだ 1 年、そこまで色がついておらず、
今後生かすも殺すもコミュニティ次第と感じる
●
ぜひ応援お願いします !!

Contenu connexe

Tendances

JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」Hiroyuki Ohnaka
 
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側賢 秋穂
 
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新Masatoshi Tada
 
Java EEハンズオン資料 JJUG CCC 2015 Fall
Java EEハンズオン資料 JJUG CCC 2015 FallJava EEハンズオン資料 JJUG CCC 2015 Fall
Java EEハンズオン資料 JJUG CCC 2015 FallMasatoshi Tada
 
Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編なべ
 
jjugccc2018 app review postmortem
jjugccc2018 app review postmortemjjugccc2018 app review postmortem
jjugccc2018 app review postmortemtamtam180
 
Java SE 再入門
Java SE 再入門Java SE 再入門
Java SE 再入門minazou67
 
Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所Takahiro YAMADA
 
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12Ryuji Yamashita
 
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpJavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpYuji Kubota
 
はじめてのSpring Boot
はじめてのSpring BootはじめてのSpring Boot
はじめてのSpring Bootなべ
 
JavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jpJavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jpNorito Agetsuma
 
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!Java女子部
 
Spring Bootで変わる Javaアプリ開発! #jsug
Spring Bootで変わる Javaアプリ開発! #jsugSpring Bootで変わる Javaアプリ開発! #jsug
Spring Bootで変わる Javaアプリ開発! #jsugToshiaki Maki
 
Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Koichi Sakata
 
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQLRyusuke Kajiyama
 
Advanced database monitoring in modern java
Advanced database monitoring in modern javaAdvanced database monitoring in modern java
Advanced database monitoring in modern javaChihiro Ito
 
Spring bootでweb 基本編
Spring bootでweb 基本編Spring bootでweb 基本編
Spring bootでweb 基本編なべ
 

Tendances (20)

Java EE8 Report
Java EE8 ReportJava EE8 Report
Java EE8 Report
 
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
 
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
 
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
 
Hello Java
Hello JavaHello Java
Hello Java
 
Java EEハンズオン資料 JJUG CCC 2015 Fall
Java EEハンズオン資料 JJUG CCC 2015 FallJava EEハンズオン資料 JJUG CCC 2015 Fall
Java EEハンズオン資料 JJUG CCC 2015 Fall
 
Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編
 
jjugccc2018 app review postmortem
jjugccc2018 app review postmortemjjugccc2018 app review postmortem
jjugccc2018 app review postmortem
 
Java SE 再入門
Java SE 再入門Java SE 再入門
Java SE 再入門
 
Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所
 
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
 
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpJavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jp
 
はじめてのSpring Boot
はじめてのSpring BootはじめてのSpring Boot
はじめてのSpring Boot
 
JavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jpJavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jp
 
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
 
Spring Bootで変わる Javaアプリ開発! #jsug
Spring Bootで変わる Javaアプリ開発! #jsugSpring Bootで変わる Javaアプリ開発! #jsug
Spring Bootで変わる Javaアプリ開発! #jsug
 
Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今
 
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL
 
Advanced database monitoring in modern java
Advanced database monitoring in modern javaAdvanced database monitoring in modern java
Advanced database monitoring in modern java
 
Spring bootでweb 基本編
Spring bootでweb 基本編Spring bootでweb 基本編
Spring bootでweb 基本編
 

En vedette

From Zero to Hero with REST and OAuth2 #jjug
From Zero to Hero with REST and OAuth2 #jjugFrom Zero to Hero with REST and OAuth2 #jjug
From Zero to Hero with REST and OAuth2 #jjugToshiaki Maki
 
アジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドアジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドHiroyuki Ito
 
缶詰屋さんの課題解決にスクラムを使ってみた
缶詰屋さんの課題解決にスクラムを使ってみた缶詰屋さんの課題解決にスクラムを使ってみた
缶詰屋さんの課題解決にスクラムを使ってみたToshiyuki Ohtomo
 
Eclipse IoT - ecosystem
Eclipse IoT - ecosystemEclipse IoT - ecosystem
Eclipse IoT - ecosystemBoris Adryan
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Takuro Sasaki
 
AD Authenticate All The Things
AD Authenticate All The ThingsAD Authenticate All The Things
AD Authenticate All The ThingsAlan Williams
 
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
Deis, a PaaS built with Docker,  Docker Meetup Sao Paulo #3 @WayraDeis, a PaaS built with Docker,  Docker Meetup Sao Paulo #3 @Wayra
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @WayraLeo Lorieri
 
Sprint 38 review
Sprint 38 reviewSprint 38 review
Sprint 38 reviewManageIQ
 
Microservices with WildFly Swarm - JavaSI 2016
Microservices with WildFly Swarm - JavaSI 2016Microservices with WildFly Swarm - JavaSI 2016
Microservices with WildFly Swarm - JavaSI 2016Charles Moulliard
 
Writing Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly SwarmWriting Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly SwarmComsysto Reply GmbH
 
WildFly Swarm: Criando Microservices com Java EE 7
WildFly Swarm: Criando Microservices com Java EE 7WildFly Swarm: Criando Microservices com Java EE 7
WildFly Swarm: Criando Microservices com Java EE 7George Gastaldi
 
JBoss AS7
JBoss AS7JBoss AS7
JBoss AS7nekop
 
JBoss AS7 rev2
JBoss AS7 rev2JBoss AS7 rev2
JBoss AS7 rev2nekop
 
Security enforcement of Microservices with API Management
Security enforcement of Microservices with API ManagementSecurity enforcement of Microservices with API Management
Security enforcement of Microservices with API ManagementCharles Moulliard
 
JBoss Application Server 入門 ~ Seasar2を動かして見よう!~ on Seasar Conference 2009 White
JBoss Application Server 入門~ Seasar2を動かして見よう!~ on Seasar Conference 2009 WhiteJBoss Application Server 入門~ Seasar2を動かして見よう!~ on Seasar Conference 2009 White
JBoss Application Server 入門 ~ Seasar2を動かして見よう!~ on Seasar Conference 2009 Whitebose999
 
RedHat MW 2015
RedHat MW 2015RedHat MW 2015
RedHat MW 2015omatsuha
 
Security enforcement of Java Microservices with Apiman & Keycloak
Security enforcement of Java Microservices with Apiman & KeycloakSecurity enforcement of Java Microservices with Apiman & Keycloak
Security enforcement of Java Microservices with Apiman & KeycloakCharles Moulliard
 
Wicket + EJB3 on JBoss (Japanese)
Wicket + EJB3 on JBoss (Japanese)Wicket + EJB3 on JBoss (Japanese)
Wicket + EJB3 on JBoss (Japanese)bose999
 

En vedette (20)

From Zero to Hero with REST and OAuth2 #jjug
From Zero to Hero with REST and OAuth2 #jjugFrom Zero to Hero with REST and OAuth2 #jjug
From Zero to Hero with REST and OAuth2 #jjug
 
アジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドアジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイド
 
缶詰屋さんの課題解決にスクラムを使ってみた
缶詰屋さんの課題解決にスクラムを使ってみた缶詰屋さんの課題解決にスクラムを使ってみた
缶詰屋さんの課題解決にスクラムを使ってみた
 
Eclipse IoT - ecosystem
Eclipse IoT - ecosystemEclipse IoT - ecosystem
Eclipse IoT - ecosystem
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
 
Presentation
PresentationPresentation
Presentation
 
AD Authenticate All The Things
AD Authenticate All The ThingsAD Authenticate All The Things
AD Authenticate All The Things
 
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
Deis, a PaaS built with Docker,  Docker Meetup Sao Paulo #3 @WayraDeis, a PaaS built with Docker,  Docker Meetup Sao Paulo #3 @Wayra
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
 
Openshift v3-a-revolucao-dos-containers-3
Openshift v3-a-revolucao-dos-containers-3Openshift v3-a-revolucao-dos-containers-3
Openshift v3-a-revolucao-dos-containers-3
 
Sprint 38 review
Sprint 38 reviewSprint 38 review
Sprint 38 review
 
Microservices with WildFly Swarm - JavaSI 2016
Microservices with WildFly Swarm - JavaSI 2016Microservices with WildFly Swarm - JavaSI 2016
Microservices with WildFly Swarm - JavaSI 2016
 
Writing Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly SwarmWriting Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly Swarm
 
WildFly Swarm: Criando Microservices com Java EE 7
WildFly Swarm: Criando Microservices com Java EE 7WildFly Swarm: Criando Microservices com Java EE 7
WildFly Swarm: Criando Microservices com Java EE 7
 
JBoss AS7
JBoss AS7JBoss AS7
JBoss AS7
 
JBoss AS7 rev2
JBoss AS7 rev2JBoss AS7 rev2
JBoss AS7 rev2
 
Security enforcement of Microservices with API Management
Security enforcement of Microservices with API ManagementSecurity enforcement of Microservices with API Management
Security enforcement of Microservices with API Management
 
JBoss Application Server 入門 ~ Seasar2を動かして見よう!~ on Seasar Conference 2009 White
JBoss Application Server 入門~ Seasar2を動かして見よう!~ on Seasar Conference 2009 WhiteJBoss Application Server 入門~ Seasar2を動かして見よう!~ on Seasar Conference 2009 White
JBoss Application Server 入門 ~ Seasar2を動かして見よう!~ on Seasar Conference 2009 White
 
RedHat MW 2015
RedHat MW 2015RedHat MW 2015
RedHat MW 2015
 
Security enforcement of Java Microservices with Apiman & Keycloak
Security enforcement of Java Microservices with Apiman & KeycloakSecurity enforcement of Java Microservices with Apiman & Keycloak
Security enforcement of Java Microservices with Apiman & Keycloak
 
Wicket + EJB3 on JBoss (Japanese)
Wicket + EJB3 on JBoss (Japanese)Wicket + EJB3 on JBoss (Japanese)
Wicket + EJB3 on JBoss (Japanese)
 

Similaire à WildFly Swarm - Rightsize Your Java EE Apps

SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireSDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireAkio Katayama
 
実行可能JavaFXアプリケーションJAR(発表直前版)
実行可能JavaFXアプリケーションJAR(発表直前版)実行可能JavaFXアプリケーションJAR(発表直前版)
実行可能JavaFXアプリケーションJAR(発表直前版)torutk
 
Active Object
Active ObjectActive Object
Active Objecty-uti
 
Android4.2徹底解剖!
Android4.2徹底解剖!Android4.2徹底解剖!
Android4.2徹底解剖!leverages_event
 
R5 3 type annotation
R5 3 type annotationR5 3 type annotation
R5 3 type annotationEIICHI KIMURA
 
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?Takahiro YAMADA
 
はじめてのJPA
はじめてのJPAはじめてのJPA
はじめてのJPAkawaba
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのことNTT DATA OSS Professional Services
 
2012年javaメモリリーク
2012年javaメモリリーク2012年javaメモリリーク
2012年javaメモリリークtorutk
 
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajoOpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajoTakahiro YAMADA
 
Migration Guide from Java 8 to Java 11 #jjug
Migration Guide from Java 8 to Java 11 #jjugMigration Guide from Java 8 to Java 11 #jjug
Migration Guide from Java 8 to Java 11 #jjugYuji Kubota
 
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]David Buck
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaYuta Kawadai
 
第12回 つ部 ミーティング兼忘年会 LT資料
第12回 つ部 ミーティング兼忘年会 LT資料第12回 つ部 ミーティング兼忘年会 LT資料
第12回 つ部 ミーティング兼忘年会 LT資料Kenji Nagase
 
React Native GUIDE
React Native GUIDEReact Native GUIDE
React Native GUIDEdcubeio
 
TDC20111031_Groovy_Geb
TDC20111031_Groovy_GebTDC20111031_Groovy_Geb
TDC20111031_Groovy_GebNobuhiro Sue
 
Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)akira6592
 

Similaire à WildFly Swarm - Rightsize Your Java EE Apps (20)

Gradle handson
Gradle handsonGradle handson
Gradle handson
 
SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireSDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 Whire
 
実行可能JavaFXアプリケーションJAR(発表直前版)
実行可能JavaFXアプリケーションJAR(発表直前版)実行可能JavaFXアプリケーションJAR(発表直前版)
実行可能JavaFXアプリケーションJAR(発表直前版)
 
Active Object
Active ObjectActive Object
Active Object
 
Android4.2徹底解剖!
Android4.2徹底解剖!Android4.2徹底解剖!
Android4.2徹底解剖!
 
R5 3 type annotation
R5 3 type annotationR5 3 type annotation
R5 3 type annotation
 
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
 
はじめてのJPA
はじめてのJPAはじめてのJPA
はじめてのJPA
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと
 
Cve 2013-0422
Cve 2013-0422Cve 2013-0422
Cve 2013-0422
 
2012年javaメモリリーク
2012年javaメモリリーク2012年javaメモリリーク
2012年javaメモリリーク
 
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajoOpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
 
Migration Guide from Java 8 to Java 11 #jjug
Migration Guide from Java 8 to Java 11 #jjugMigration Guide from Java 8 to Java 11 #jjug
Migration Guide from Java 8 to Java 11 #jjug
 
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
 
第12回 つ部 ミーティング兼忘年会 LT資料
第12回 つ部 ミーティング兼忘年会 LT資料第12回 つ部 ミーティング兼忘年会 LT資料
第12回 つ部 ミーティング兼忘年会 LT資料
 
React Native GUIDE
React Native GUIDEReact Native GUIDE
React Native GUIDE
 
TDC20111031_Groovy_Geb
TDC20111031_Groovy_GebTDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
 
Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)
 
Java in the World of Container by David Buck
Java in the World of Container by David BuckJava in the World of Container by David Buck
Java in the World of Container by David Buck
 

WildFly Swarm - Rightsize Your Java EE Apps