Globalcode – Open4education
MicroProfile advantages for
monolitic applications
Víctor Orozco
Globalcode – Open4education
AGENDAAGENDA
Monolitos
Microserviçõs
MicroProfile
Demo
Globalcode – Open4education
Título 1
Cloud
Native?
Globalcode – Open4education
Sistemas
legados (1995)
Java 8
Banca, telco,
governo
Nem todo
mundo é Netflix
Java no mundo real
Globalcode – Open4education
”Tem gente que nem teve a oportunidade
de migrar para microserviçõs e o mundo
ta falando já em voltar para monólitos”
(Risada do chaves no fundo)
Eu fazendo uma piada ruim com a gerencia de TI de uma das
maiores empresas da América Central
Globalcode – Open4education
”Como consultor independente é difícil
aceitar que muito do trabalho real é dar
suporte para sistemas legados”
Eu, bem triste depois da piada ruim
Globalcode – Open4education
Java Microservices
7images: @arungupta #devoxx
Globalcode – Open4education
Microservices Architecture
8images: @tuxtor
Maior complexidade de programação, integração e gestão
Globalcode – Open4education
Eclipse MicroProfile
9
Globalcode – Open4education
Java EE
10images: @reza_rahman
Globalcode – Open4education
MicroProfile - API’s
11
Globalcode – Open4education
MicroProfile
12
Libraries
● SmallRye
● Hammock
● Apache Geronimo
● Fujitsu Launcher
JEAS - Fat Jar, Uber Jar
● Dropwizard
● KumuluzEE
● Helidon (Oracle)
● Open Liberty (IBM)
● Apache Meecrowave
● Thorntail/Quarkus (Red Hat)
● Payara Micro
Micro server - Thin War
● Payara Micro
● Apache TomEE JAX-RS
Full server 😦 = Monolitico
● Payara Application Server
● JBoss Application Server / Wildfly
● WebSphere Liberty (IBM)
● Oracle WebLogic (beta)
● Apache TomEE
Globalcode – Open4education
APIs baseadas no
Java EE
CDI extensions
APIs micro em app
servers tradicionais
MP Monolítico
Globalcode – Open4education
Alguns use cases comuns
14
● Externalização da configuração
● Documentação de APIs para integradores e cliente
● Fault tolerance sem complicações
● Comportamento do monólito em gestores de métricas
Globalcode – Open4education
Configuração
15
● MP Config
● Alternativas: Apache Tamaya, DeltaSpike Config
● Bom para: Docker e k8s
● Monólitos: Configuração no deployment, evitar a necessidade da
recompilação . . . E também Docker e k8s
Globalcode – Open4education
Documentação
16
● MP OpenAPI
● Swagger Java
● Bom para: Documentação REST
● Monólitos: Integrações, documentação on-line
Globalcode – Open4education
Tolerância a falhas
17
● MP Fault Tolerance
● Alternativas: Hystrix, ResilenceJ
● Bom para: SLAs, cotas, tolerância à falhas
● Monólitos: API mais resilientes ou clientes mais resilientes
Globalcode – Open4education
Metricas
18
● MP Metrics
● Alternativas: Metrics CDI
● Bom para: Docker e k8s
● Monólitos: Evitar complexidade JMX, monitoramento via http
Globalcode – Open4education
Demo time!
19
● Hello world
● Payara
● Docker
● Oracle Cloud
Globalcode – Open4education
Oracle Cloud
20
Globalcode – Open4education
Oracle Cloud
21
Globalcode – Open4education
Víctor Orozco
22
@tuxtor
me@vorozco.com
https://vorozco.com
MicroProfile benefits for monolitic applications

MicroProfile benefits for monolitic applications