SlideShare uma empresa Scribd logo
1 de 23
Wildfly Swarm
Mateus M. da Costa
Quem sou?
● Desenvolvedor Java/JEE
● Oracle Certified Enterprise JavaBeans
Developer
● Praticante de Kendo nas horas vagas
Agenda
➢ Introdução
➢ Wildfly Swarm
➢ Configuração
➢ Exemplo
Introdução
● Aplicações Java EE
Introdução
● Microserviços
➢ Desacoplados
➢ Ciclos de liberação independentes
➢ Preferencialmente autocontido
➢ Escalabilidade independente
Introdução
"Easier automation, easier deployment and a reduction in the amount of
infrastructure you have to manage lead us to recommend embedded servers
over application servers for future projects."
Radar ThoughtWorks, Abril 2016
Introdução
● UberJar
➢ Um JAR que contém a aplicação
Wildfly Swarm
● Permite a você escolher os serviços Java EE
necessários para sua aplicação.
Wildfly Swarm
● Wildfly em partes (Fractions)
– UberJars – Jars auto-contidos
● Não é limitado aos subsistemas do Wildfly
– NetFlix OSS - Ribbon, Hystrix
Wildfly Swarm
● Requisitos
➢ JDK 8
➢ Maven 3.3
Configuração
Configuração
● Construindo a aplicação Swarm
$mvn package
● Rodando a aplicação
$mvn wildfy-swarm:run
$java -jar app-name-swarm.jar
Configuração
Hello Swarm!
Configuração
● Fractions
➢ Basicamente definem um module.xml
➢ São detectadas automaticamente
➢ Obrigatoriamente declaradas:
➢ Existem subsistemas não inclusos no WildFly. Exemplo:
RxJava.
➢ Necessitar ativas módulos do WildFly excluídos por
padrão.
Configuração
● Fractions
➢ Existem dependências entre elas
➢ Exemplo: JAX-RS -> Undertow
Configuração
● Fractions
Configuração
● Bill of Materials (BOM)
➢ bom-all – inclui tudo
➢ bom-deprecated – inclui frações depreciadas
➢ bom-experimental – frações experimentais que
podem desaparecer repentinamente
➢ bom-unstable – frações ainda sujeitas a mudanças
➢ bom ou bom-stable – apenas frações estaveis
Configuração
● Stages
➢ Em alguns casos, é preciso que as configurações
mudem conforme o ambiente
➢ Configurações podem ser expecificadas em arquivos
YAM
➢ Para executar: -Dswarm.project.stage=<stage name>
➢ Se nenhum arquivo for informado, é utilizado o project-
defaults.yml
Configuração
● Hollow
➢ O Hollow uberjar é um JAR que contém apenas o
servidor, sem a aplicação
➢ Definido pelo sufixo -hollow-swarm.jar
Exemplo
Dúvidas
Referência
https://wildfly-swarm.gitbooks.io/wildfly-swarm-users-
guide/content/v/2017.5.0/
Obrigado!!
mmdcosta@gmail.com
www.linkedin.com/in/mateuscosta1987/
https//github.com/mateusmcosta/cidade-service

Mais conteúdo relacionado

Semelhante a WildFly Swarm

Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoRegis Machado
 
A arquitetura modular do Java 9
A arquitetura modular do Java 9A arquitetura modular do Java 9
A arquitetura modular do Java 9Helder da Rocha
 
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
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaMariana de Azevedo Santos
 
Projetos Java com Maven
Projetos Java com MavenProjetos Java com Maven
Projetos Java com MavenEdgar Dantas
 
Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01Antonio Alves
 
Curso Java #01 - Introdução
Curso Java #01 - IntroduçãoCurso Java #01 - Introdução
Curso Java #01 - IntroduçãoRenato Sousa
 
Caelum java-objetos-fj11
Caelum java-objetos-fj11Caelum java-objetos-fj11
Caelum java-objetos-fj11Caique Moretto
 
Alta-disponibilidade com MySQL
Alta-disponibilidade com MySQLAlta-disponibilidade com MySQL
Alta-disponibilidade com MySQLMySQL Brasil
 
Boa Práticas no Desenvolvimento Java Enterprise
Boa Práticas no Desenvolvimento Java EnterpriseBoa Práticas no Desenvolvimento Java Enterprise
Boa Práticas no Desenvolvimento Java EnterpriseOziel Moreira Neto
 
TDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureTDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureDr. Spock
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaÁlvaro Farias Pinheiro
 
JVM Performance Monitoring with the Nashorn Javascript engine
JVM Performance Monitoring with the Nashorn Javascript engineJVM Performance Monitoring with the Nashorn Javascript engine
JVM Performance Monitoring with the Nashorn Javascript engineMarcelo Rodrigues
 

Semelhante a WildFly Swarm (20)

Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
 
A arquitetura modular do Java 9
A arquitetura modular do Java 9A arquitetura modular do Java 9
A arquitetura modular do Java 9
 
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
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em Java
 
Projetos Java com Maven
Projetos Java com MavenProjetos Java com Maven
Projetos Java com Maven
 
Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01
 
Curso Java #01 - Introdução
Curso Java #01 - IntroduçãoCurso Java #01 - Introdução
Curso Java #01 - Introdução
 
Caelum java-objetos-fj11
Caelum java-objetos-fj11Caelum java-objetos-fj11
Caelum java-objetos-fj11
 
Caelum Java
Caelum JavaCaelum Java
Caelum Java
 
Caelum java-objetos-fj11
Caelum java-objetos-fj11Caelum java-objetos-fj11
Caelum java-objetos-fj11
 
Alta-disponibilidade com MySQL
Alta-disponibilidade com MySQLAlta-disponibilidade com MySQL
Alta-disponibilidade com MySQL
 
Boa Práticas no Desenvolvimento Java Enterprise
Boa Práticas no Desenvolvimento Java EnterpriseBoa Práticas no Desenvolvimento Java Enterprise
Boa Práticas no Desenvolvimento Java Enterprise
 
TDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureTDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & Azure
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Protractor
ProtractorProtractor
Protractor
 
JavaFX Mobile
JavaFX MobileJavaFX Mobile
JavaFX Mobile
 
Introdução - Java WEB
Introdução - Java WEBIntrodução - Java WEB
Introdução - Java WEB
 
Maven introdução Muito Rápida
Maven introdução Muito RápidaMaven introdução Muito Rápida
Maven introdução Muito Rápida
 
JVM Performance Monitoring with the Nashorn Javascript engine
JVM Performance Monitoring with the Nashorn Javascript engineJVM Performance Monitoring with the Nashorn Javascript engine
JVM Performance Monitoring with the Nashorn Javascript engine
 

WildFly Swarm