Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Yoshimasa Tanabe
PDF, PPTX
5,167 views
WildFly Swarm - Rightsize Your Java EE Apps
2016-06-27 JJUGナイトセミナー Javaフレームワーク特集 https://jjug.doorkeeper.jp/events/46954
Software
◦
Read more
8
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 52
2
/ 52
3
/ 52
4
/ 52
5
/ 52
6
/ 52
7
/ 52
8
/ 52
9
/ 52
10
/ 52
11
/ 52
12
/ 52
13
/ 52
14
/ 52
15
/ 52
16
/ 52
17
/ 52
18
/ 52
19
/ 52
20
/ 52
21
/ 52
22
/ 52
23
/ 52
24
/ 52
25
/ 52
26
/ 52
27
/ 52
28
/ 52
29
/ 52
30
/ 52
31
/ 52
32
/ 52
33
/ 52
34
/ 52
35
/ 52
36
/ 52
37
/ 52
38
/ 52
39
/ 52
40
/ 52
41
/ 52
42
/ 52
43
/ 52
44
/ 52
45
/ 52
46
/ 52
47
/ 52
48
/ 52
49
/ 52
50
/ 52
51
/ 52
52
/ 52
More Related Content
PDF
WildFly Swarm In Progress
by
Yoshimasa Tanabe
PDF
Introduction to WildFly Swarm
by
Yoshimasa Tanabe
PDF
Introduction to WildFly Swarm #jjug
by
Yoshimasa Tanabe
PDF
WildFly Swarmではじめる「パーツとしてのJavaEE」
by
Hiroaki NAKADA
PDF
次世代Webコンテナ Undertowについて
by
Yoshimasa Tanabe
PDF
Keycloak で SSO #渋谷java
by
Yoshimasa Tanabe
PPTX
Java EE パフォーマンスTips #glassfish_jp
by
Norito Agetsuma
PDF
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
by
Norito Agetsuma
WildFly Swarm In Progress
by
Yoshimasa Tanabe
Introduction to WildFly Swarm
by
Yoshimasa Tanabe
Introduction to WildFly Swarm #jjug
by
Yoshimasa Tanabe
WildFly Swarmではじめる「パーツとしてのJavaEE」
by
Hiroaki NAKADA
次世代Webコンテナ Undertowについて
by
Yoshimasa Tanabe
Keycloak で SSO #渋谷java
by
Yoshimasa Tanabe
Java EE パフォーマンスTips #glassfish_jp
by
Norito Agetsuma
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
by
Norito Agetsuma
What's hot
PPTX
Java EE8 Report
by
Norito Agetsuma
PDF
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
by
Hiroyuki Ohnaka
PDF
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
by
賢 秋穂
PDF
Hello Java
by
Chihiro Ito
PDF
Spring bootでweb セキュリティ(ログイン認証)編
by
なべ
PDF
jjugccc2018 app review postmortem
by
tamtam180
PDF
Java SE 再入門
by
minazou67
PDF
Javaアプリケーションサーバ 構築・運用の勘所
by
Takahiro YAMADA
PDF
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
by
Ryuji Yamashita
PDF
JavaOne 2015 JDK Update (Jigsaw) #j1jp
by
Yuji Kubota
PPTX
はじめてのSpring Boot
by
なべ
PPTX
JavaOne2015報告会 Java EE アップデート #j1jp
by
Norito Agetsuma
PDF
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
by
Java女子部
PDF
Spring Bootで変わる Javaアプリ開発! #jsug
by
Toshiaki Maki
PPTX
Seasar2で作った俺たちのサービスの今
by
Koichi Sakata
PPTX
20140518 JJUG MySQL Clsuter as NoSQL
by
Ryusuke Kajiyama
PDF
Advanced database monitoring in modern java
by
Chihiro Ito
PDF
Spring bootでweb 基本編
by
なべ
PDF
おれおれブログシステムにServiceWorkerを導入してみた #serviceworker
by
Toshiaki Maki
Java EE8 Report
by
Norito Agetsuma
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
by
Hiroyuki Ohnaka
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
by
賢 秋穂
Hello Java
by
Chihiro Ito
Spring bootでweb セキュリティ(ログイン認証)編
by
なべ
jjugccc2018 app review postmortem
by
tamtam180
Java SE 再入門
by
minazou67
Javaアプリケーションサーバ 構築・運用の勘所
by
Takahiro YAMADA
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
by
Ryuji Yamashita
JavaOne 2015 JDK Update (Jigsaw) #j1jp
by
Yuji Kubota
はじめてのSpring Boot
by
なべ
JavaOne2015報告会 Java EE アップデート #j1jp
by
Norito Agetsuma
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
by
Java女子部
Spring Bootで変わる Javaアプリ開発! #jsug
by
Toshiaki Maki
Seasar2で作った俺たちのサービスの今
by
Koichi Sakata
20140518 JJUG MySQL Clsuter as NoSQL
by
Ryusuke Kajiyama
Advanced database monitoring in modern java
by
Chihiro Ito
Spring bootでweb 基本編
by
なべ
おれおれブログシステムにServiceWorkerを導入してみた #serviceworker
by
Toshiaki Maki
Viewers also liked
PDF
From Zero to Hero with REST and OAuth2 #jjug
by
Toshiaki Maki
PPTX
アジャイルメトリクス実践ガイド
by
Hiroyuki Ito
PDF
缶詰屋さんの課題解決にスクラムを使ってみた
by
Toshiyuki Ohtomo
PDF
Eclipse IoT - ecosystem
by
Boris Adryan
PDF
Swaggerで始めるモデルファーストなAPI開発
by
Takuro Sasaki
PPTX
Presentation
by
Laxman Kumar
PPTX
AD Authenticate All The Things
by
Alan Williams
PDF
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
by
Leo Lorieri
PDF
Openshift v3-a-revolucao-dos-containers-3
by
Ricardo Martinelli de Oliveira
PDF
Sprint 38 review
by
ManageIQ
PDF
Microservices with WildFly Swarm - JavaSI 2016
by
Charles Moulliard
PDF
Writing Java EE microservices using WildFly Swarm
by
Comsysto Reply GmbH
PDF
WildFly Swarm: Criando Microservices com Java EE 7
by
George Gastaldi
PDF
JBoss AS7
by
nekop
PDF
JBoss AS7 rev2
by
nekop
PDF
Security enforcement of Microservices with API Management
by
Charles Moulliard
PDF
JBoss Application Server 入門~ Seasar2を動かして見よう!~ on Seasar Conference 2009 White
by
bose999
PDF
RedHat MW 2015
by
omatsuha
PDF
Security enforcement of Java Microservices with Apiman & Keycloak
by
Charles Moulliard
PDF
Wicket + EJB3 on JBoss (Japanese)
by
bose999
From Zero to Hero with REST and OAuth2 #jjug
by
Toshiaki Maki
アジャイルメトリクス実践ガイド
by
Hiroyuki Ito
缶詰屋さんの課題解決にスクラムを使ってみた
by
Toshiyuki Ohtomo
Eclipse IoT - ecosystem
by
Boris Adryan
Swaggerで始めるモデルファーストなAPI開発
by
Takuro Sasaki
Presentation
by
Laxman Kumar
AD Authenticate All The Things
by
Alan Williams
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
by
Leo Lorieri
Openshift v3-a-revolucao-dos-containers-3
by
Ricardo Martinelli de Oliveira
Sprint 38 review
by
ManageIQ
Microservices with WildFly Swarm - JavaSI 2016
by
Charles Moulliard
Writing Java EE microservices using WildFly Swarm
by
Comsysto Reply GmbH
WildFly Swarm: Criando Microservices com Java EE 7
by
George Gastaldi
JBoss AS7
by
nekop
JBoss AS7 rev2
by
nekop
Security enforcement of Microservices with API Management
by
Charles Moulliard
JBoss Application Server 入門~ Seasar2を動かして見よう!~ on Seasar Conference 2009 White
by
bose999
RedHat MW 2015
by
omatsuha
Security enforcement of Java Microservices with Apiman & Keycloak
by
Charles Moulliard
Wicket + EJB3 on JBoss (Japanese)
by
bose999
Similar to WildFly Swarm - Rightsize Your Java EE Apps
PDF
クラウド開発に役立つ OSS あれこれ
by
Masataka MIZUNO
PDF
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
by
R S
PPTX
Developer summit continuous deliveryとjenkins
by
Kohsuke Kawaguchi
PDF
Jjug springセッション
by
Yuichi Hasegawa
PPTX
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
by
Ryusaburo Tanaka
PDF
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
by
Masaya Aoyama
PPTX
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
by
LIFULL Co., Ltd.
PDF
Rocroにおけるgcp活用事例
by
Kishin Yagami
PDF
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
by
Takeshi Mikami
PDF
Grails 2.0.0.M1の話
by
Tsuyoshi Yamamoto
PDF
Spring I/O 2018 報告 RESTDocs RAML, Cloud Contract
by
Takuya Iwatsuka
PDF
Quarkus による超音速な Spring アプリケーション開発
by
Chihiro Ito
PDF
Scala EE 7 Essentials
by
tnoda
PDF
Personal Cloud Automation
by
Etsuji Nakai
PDF
Cloud Foundry: Open Platform as a Service
by
Shunsuke Kurumatani
PDF
cloudstack devcloud
by
Kimihiko Kitase
PDF
Dodai projectの紹介
by
Osamu Habuka
PDF
Google Compute EngineとGAE Pipeline API
by
maruyama097
PDF
Google Compute EngineとPipe API
by
maruyama097
PDF
G * magazine 0
by
Tsuyoshi Yamamoto
クラウド開発に役立つ OSS あれこれ
by
Masataka MIZUNO
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
by
R S
Developer summit continuous deliveryとjenkins
by
Kohsuke Kawaguchi
Jjug springセッション
by
Yuichi Hasegawa
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
by
Ryusaburo Tanaka
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
by
Masaya Aoyama
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
by
LIFULL Co., Ltd.
Rocroにおけるgcp活用事例
by
Kishin Yagami
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
by
Takeshi Mikami
Grails 2.0.0.M1の話
by
Tsuyoshi Yamamoto
Spring I/O 2018 報告 RESTDocs RAML, Cloud Contract
by
Takuya Iwatsuka
Quarkus による超音速な Spring アプリケーション開発
by
Chihiro Ito
Scala EE 7 Essentials
by
tnoda
Personal Cloud Automation
by
Etsuji Nakai
Cloud Foundry: Open Platform as a Service
by
Shunsuke Kurumatani
cloudstack devcloud
by
Kimihiko Kitase
Dodai projectの紹介
by
Osamu Habuka
Google Compute EngineとGAE Pipeline API
by
maruyama097
Google Compute EngineとPipe API
by
maruyama097
G * magazine 0
by
Tsuyoshi Yamamoto
WildFly Swarm - Rightsize Your Java EE Apps
1.
Rightsize Your Java
EE Apps 田邊 義真 @emaggame http://morec.at 2016-06-27 JJUG ナイトセミナー Java フレームワーク特集
2.
Topics ● WildFly/WildFly Swarm ? ● 基本的な使い方 ● Fractions ● 便利な機能 ● コミュニティ
3.
WildFly? WildFly Swarm??
4.
● wildfly.org ● Java EE 7
対応 AP サーバ ● 高速な起動 ● 高度な管理インタフェース ● Module Class Loader
5.
● wildfly-swarm.io ● WildFly を組込んだ uber
jar を作成可能 ● 機能 (Fraction) に応じた構成の実現 ● 各種インテグレーション ( 例 Netflix OSS)
6.
Monolithic Application Server All
In One のため、スリム化は自身で行う必要がある https://wildfly-swarm.gitbooks.io/wildfly-swarm-users-guide/content/getting-started/basics.html
7.
WildFly Swarm Uberjar ● 分割と再構築 ● Fraction
という単位で構成 ● アプリケーションに必要なもののみ利用できる https://wildfly-swarm.gitbooks.io/wildfly-swarm-users-guide/content/getting-started/basics.html
8.
基本的な使い方
9.
利用したい Fraction を選択 <dependency> <groupId>org.wildfly.swarm</groupId> <artifactId>jaxrs</artifactId> </dependency>
10.
Java EE アプリケーションを書く @Path("/hello") public
class HelloWorld { @GET @Produces(MediaType.APPLICATION_JSON) public String hello() { return "{"message" : "Hello, WildFly Swarm!"}"; } }
11.
main() メソッド public class
App { public static void main(String[] args) ... { // WildFly を表す Container container = new Container(args); // デプロイするアプリケーション JAXRSArchive deployment = ...; // WildFly の起動とアプリケーションのデプロイ container.start().deploy(deployment); } }
12.
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>
13.
あとは実行するだけ ● 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
14.
通常の WildFly との比較 ● WildFly 1.Download/Install 2.設定 3.起動
& デプロイ ● WildFly Swarm 1.依存性で解決 2.設定・起動・デプロイは すべて main() で記述
15.
Fractions
16.
Fraction ● 機能や設定の単位 ● Convention over configuration
17.
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/
18.
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/
19.
core ● Java EE や
WildFly の subsystem 相当 – JAX-RS, CDI, JPA, … – Undertow, Datasources, Logging, ...
20.
Datasources(core) <dependency> <groupId>org.wildfly.swarm</groupId> <artifactId>datasources</artifactId> </dependency> ※jpa を利用する場合は自動的に追加される <dependency> <groupId>org.wildfly.swarm</groupId> <artifactId>jpa</artifactId> </dependency>
21.
Datasources(core) Container container =
... container.fraction(new DatasourcesFraction() .jdbcDriver(<jdbc driver settings>) .dataSource(myDS, ds -> ds .driverName(...) .connectionUrl(...) .userName(...) .password(...) ) ); WildFly の設定内容がそのまま API になっている
22.
テスト書いてないとか ...
23.
!!!
24.
Arquillian(core) ● arquillian.org ● 実際に AP サーバを起動
/ デプロイしてテストする 本物の EJB や CDI コンテナを利用できる ● 通常 WildFly を事前にインストールする必要あり – WildFly Swarm では不要
25.
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>
26.
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
27.
テストもばっちり ! ∩ ∩
28.
Ribbon/Hystrix(Netflix OSS) ● github.com/Netflix Ribbon Service A Service
A' クライアントサイド ロードバランシング Hystrix Service A サーキットブレーカ Service Afallback
29.
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>
30.
Ribbon/Hystrix(Netflix OSS) ● Ribbon や
Hystrix を使う下準備を支援 ● 現状、アノテーションで有効というわけではなく、 Ribbon/Hystrix の API を書く必要あり※ ● 利用例としては公式チュートリアルがわかりやすい – http://wildfly-swarm.io/tutorial/ ※ ボイラープレートを減らすための issue は切られている https://issues.jboss.org/browse/SWARM-521
31.
Topology ● サービスディスカバリ Service A Service Discovery
32.
Topology ● サービスディスカバリ ● 実装として以下の 3 種類が利用できる –
jgroups – consul – openshift <dependency> <groupId>org.wildfly.swarm</groupId> <artifactId>topology-x</artifactId> </dependency>
33.
Topology ● 実装によらず同じようにサービス登録可能※ JAXRSArchive deployment =
… deployment .as(TopologyArchive.class) .advertise("awesome-service"); ※consul の URL などは別途 API ないしシステムプロパティなどで渡す
34.
Topology(consul での例 ) consul-ui
の画面 サービスを 8080/8180 ポートで 2 インスタンスで立ち上げている
35.
Keycloak ● keycloak.org ● いろいろな認証 / 認可に対応した
SSO サーバ ● WildFly Swarm では認証クライアント設定用 API を提供
36.
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>
37.
Swagger ● swagger.io ● API からドキュメントやモックを生成 ● Swagger を
JAX-RS で利用する場合の下準備を いろいろやってくれる
38.
Swagger <dependency> <groupId>org.wildfly.swarm</groupId> <artifactId>swagger</artifactId> </dependency>
39.
Swagger @Path("/time") @Api(...) public class TimeResource
{ @GET @Path("/now") @Produces(MediaType.APPLICATION_JSON) @ApiOperation(...) public String get() {…} }
40.
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": ... ... }
41.
Swagger UI によるドキュメント化
42.
Swagger UI によるドキュメント化
43.
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 突然現れるバナー
44.
便利な機能
45.
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
46.
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
47.
コミュニティ
48.
コミュニティ ● @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
49.
コミュニティ http://wildfly-swarm.io/posts/announcement-1-0-0-cr2/ ● わかる範囲での質問の受け答え ● バグ報告 ● ちょっとした p-r ● ヘルパーメソッド追加 ● バグフィックス ● サンプル追加 ● 最初のバージョンが出てからウォッチ 自分がやったこと
50.
さいごに
51.
WildFly Swarm Tour ● ひととおり
WildFly Swarm を触ってみるガイド – 最新の WildFly Swarm に追従 – JAX-RS/CDI/JPA – Arquillian – Keycloak – Docker https://emag.gitbooks.io/wildfly-swarm-tour/content/
52.
所感 ● まだ GA ではないもののだいぶ安定してきた ● 開発からまだ
1 年、そこまで色がついておらず、 今後生かすも殺すもコミュニティ次第と感じる ● ぜひ応援お願いします !!
Download