SlideShare uma empresa Scribd logo
1 de 43
Microprofile
Como JavaEE está se adequando a nova onde dos Microserviços
Quem sou?
Vinicius Soares
• Arquiteto de Software
• Especialista Java
• Entusiasta CI / CD
• Pai da Nega Mary
• Microserviços e significados;
• História do JavaEE;
• Projeto Microprofile;
• Contribuidores;
• Conclusões;
Agenda
Microserviços
• Responsabilidade individual;
• Teste e deploy independente;
• Scalável e versionado facilmente;
• Implementação em diferentes linguagens;
• Desenvolvido por pequenos times;
• Containerização;
• Reduz o time to market;
Microserviços
• Implementa RESTful webservices utilizando JSON;
• Entrega de novas features rapidamente;
• Resiliente;
• Serviços stateless;
• Cloud computing;
Microserviços
#Inovação #Comunidade #DesignThinking
Monolítico  
       
SOA Microserviço
JavaEE
JavaEE
JavaEE
microprofile.io
• Méritocracia.
• Fornecedor neutro;
• Liderança pode mudar a qualquer momento;
• Fornece a infraestrutura para o projeto;
• Propriedade de marca registrada;
• Aceita licença da Apache;
Microprofile
• Uma comunidade de indivíduos, organizações e fornecedores
colaborando com um projeto open source (Eclipse) para trazer
microserviços para a comunidade Enterprise Java.
Microprofile
• Projeto baseado no JavaEE.
• Foco na otimização da arquitetura.
• Features incrementais.
• Controle feito pela comunidade.
Microprofile
Pavimentando um caminho ao microserviço
Estratégias
1 - Alavancar o JavaEE
• Alavancar as tecnologias do Java EE mais importantes para
microserviços;
• Clientes focados no conhecimento e experiência;
• Facilitação para cliente, fornecedor e adoção de parceiros.
2 – Inovação orgânica
• Começar com as boas práticas de desenvolvimento de microserviços;
• Desenvolver um modelo CDI de programação para suportar estes
patterns;
3 – Open Source
• Criar uma forte comunidade;
• Colaborar nas especificações;
• Encorajar multiplas implementações;
• Padronizar tecnologias quando estiverem prontas;
Microprofile
Entregas rápidas de releases!
Microprofile
Microprofile
RELEASE
S
1.0
• Jax-RS
• CDI
• JSON-P
1.1
• Configuration API
• CDI 1.2
• Jax-RS 2.0
• JSON-P
1.2 (30/09)
• Configuration API 1.1
• Fault Tolerance 1.0
• JWT propagation 1.0
• Health Metrics 1.0
• Health Check 1.0
JavaEE - Microprofile
Pavimentando um caminho ao microserviço
Fornecedores
Implementações
Microprofile
Wildfly Swarm
• Jar size ~65mb
• Startup ~6s
• Heap ~40mb
• Jar with bootstrap layer
IBM Liberty
IBM Liberty
• Jar size ~35mb
• Startup ~7s
• Heap ~21mb
• Liberty, Java EE
Payara
Payara
• Jar size ~33mb
• Startup ~5s
• Heap ~20mb
• Glassfish, JavaEE
Apache TomEE
Apache TomEE
• Jar size ~35mb
• Startup ~3s
• Heap ~75mb
• Jar with bootstrap layer
• Tomcat, Java EE
Backlog Feature
Backlog

Container API

Microservic-y annotations (Ex: Circuit Breaker)

Testing

Distribuited Logging

Distribuited Tracing

OAuth2/OpenID connect

Security

Service Discovery

Health Check*

Configuration*

Metrics/Monitoring

Websockets

JSON-B

Bean Validation

JPA

JTA

Messaging / Eventing

Asynchronous / Reactive Patterns

Integration with Reactive / Eventing Systems

NetflixOSS Integration

JCache

JDK8 Lamba + Streams
Mas e a minha feature?
https://groups.google.com/forum/#!forum/microprofile
Entre na comunidade!!!!!!
• Comunidade é o mais importante;
• Features EE e non-EE;
• NÃO é uma divisão;
• Eficiente para migrar sistemas legados;
• Ainda esta muito atrás do Spring;
Conclusões
• Nem todo mundo quer usar Docker;
• Nem todo mundo quer usar Node.js;
• Muitos estão felizes com Java EE;

Componentes robustos e maduros;

Escalável, baseado em padrões e bem integrado;
• Nem todo mundo quer usar o que o Java EE provê

Subsistemas de um servidor de aplicação
Porque usar?
Referências

Microprofile.io – http://microprofile.io

Google + Microprofile groups - bit.ly/MicroProfileForum

Eclipse github repositories – https://github.com/eclipse/microprofile

Microprofile examples - https://github.com/microprofile/microprofile-samples

Release Repo – https://repo.eclipse.org/content/repositories/microprofile-releases/

Snapshot Repo – https://repo.eclipse.org/content/repositories/microprofile-snapshots/
Dúvidas?
© Copyright 2014 DBServer Assessoria em Sistemas de Informação – Todos os direitos reservados
Vinicius Soares
Arquiteto de Software
viniciuss@dbserver.com.br
linkedin.com/viniciusdurantisoares
@vicolino_

Mais conteúdo relacionado

Semelhante a Microprofile - Como o Java EE esta se adequando aos microserviços

TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
TDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com JavaTDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com JavaRodrigo Cândido da Silva
 
Java one
Java oneJava one
Java oneIsmael
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosThiago Soares
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceGlobalcode
 
Integrações e o ecossistema Java - Fabric8 ao Resgate!
Integrações e o ecossistema Java - Fabric8 ao Resgate!Integrações e o ecossistema Java - Fabric8 ao Resgate!
Integrações e o ecossistema Java - Fabric8 ao Resgate!Leandro Gomes
 
JSR 375 Segurança em Java EE 8
JSR 375 Segurança em Java EE 8JSR 375 Segurança em Java EE 8
JSR 375 Segurança em Java EE 8Helder da Rocha
 
JBoss-WildFly - Avançado
JBoss-WildFly - AvançadoJBoss-WildFly - Avançado
JBoss-WildFly - AvançadoAdriano Schmidt
 
Introdução ao WSO2 API Microgateway 3.1
Introdução ao WSO2 API Microgateway 3.1Introdução ao WSO2 API Microgateway 3.1
Introdução ao WSO2 API Microgateway 3.1WSO2
 
TDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureTDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureDr. Spock
 
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...Rodrigo Cândido da Silva
 
Escalabilidade e Resiliência de Microservices em Python
Escalabilidade e Resiliência de Microservices em PythonEscalabilidade e Resiliência de Microservices em Python
Escalabilidade e Resiliência de Microservices em PythonGuilherme Vierno
 
TDC2018FLN | Trilha Python - Microservices em Python: desafios e soluções
TDC2018FLN | Trilha Python - Microservices em Python: desafios e soluçõesTDC2018FLN | Trilha Python - Microservices em Python: desafios e soluções
TDC2018FLN | Trilha Python - Microservices em Python: desafios e soluçõestdc-globalcode
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começouJose Wilker
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouJose Wilker
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começouJose Wilker
 
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Tiago Marchetti Dolphine
 

Semelhante a Microprofile - Como o Java EE esta se adequando aos microserviços (20)

TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
TDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com JavaTDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com Java
 
Java one
Java oneJava one
Java one
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãos
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open Source
 
Integrações e o ecossistema Java - Fabric8 ao Resgate!
Integrações e o ecossistema Java - Fabric8 ao Resgate!Integrações e o ecossistema Java - Fabric8 ao Resgate!
Integrações e o ecossistema Java - Fabric8 ao Resgate!
 
JSR 375 Segurança em Java EE 8
JSR 375 Segurança em Java EE 8JSR 375 Segurança em Java EE 8
JSR 375 Segurança em Java EE 8
 
Api todo list
Api todo listApi todo list
Api todo list
 
JBoss-WildFly - Avançado
JBoss-WildFly - AvançadoJBoss-WildFly - Avançado
JBoss-WildFly - Avançado
 
Introdução ao WSO2 API Microgateway 3.1
Introdução ao WSO2 API Microgateway 3.1Introdução ao WSO2 API Microgateway 3.1
Introdução ao WSO2 API Microgateway 3.1
 
TDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureTDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & Azure
 
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
 
JavaFX Mobile
JavaFX MobileJavaFX Mobile
JavaFX Mobile
 
Escalabilidade e Resiliência de Microservices em Python
Escalabilidade e Resiliência de Microservices em PythonEscalabilidade e Resiliência de Microservices em Python
Escalabilidade e Resiliência de Microservices em Python
 
TDC2018FLN | Trilha Python - Microservices em Python: desafios e soluções
TDC2018FLN | Trilha Python - Microservices em Python: desafios e soluçõesTDC2018FLN | Trilha Python - Microservices em Python: desafios e soluções
TDC2018FLN | Trilha Python - Microservices em Python: desafios e soluções
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começou
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começou
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começou
 
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
 
Tecnologia Java
Tecnologia JavaTecnologia Java
Tecnologia Java
 

Microprofile - Como o Java EE esta se adequando aos microserviços

Notas do Editor

  1. Salientar que o oauth2 não é compativel com o oauth1
  2. Salientar que o oauth2 não é compativel com o oauth1
  3. Salientar que o oauth2 não é compativel com o oauth1