servidores de aplicação: por que ainda precisamos deles?
DESCRIPTION
Servidores de Aplicação Java EETRANSCRIPT
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Application Servers, Por Que Ainda Precisamos Deles?
Bruno Borges Principal Product Manager Oracle Latin America Agosto, 2014
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
• Bruno Borges
– Principal Product Manager, Java Evangelist – Oracle Latin America
– @brunoborges – [email protected]
Speaker
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
• Aplicações em multicamadas
• Clients
– Browsers, Mobile Apps, REST clients, Web Services, Remote EJB Clients (RMI-IIOP)
• Web Tier
– JSP/Servlet, JSF, REST services, Web Services, WebSockets
• Business Tier – EJBs, JMS, JPA, JCA
Arquitetura Java EE Comum – Monolítica
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
”If you can't build a Monolith, what makes you think Microservices are the answer? ”
– Simon Brown, Coding the Architecture
bit.ly/ballofmud
µServices
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Java Server-side Containers
ndertow
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Frameworks e Plataformas
Dropwizard
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Management, Monitoring, Config, Container Tools
Shipyard
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Microservices
• Sem dúvida um modelo de arquitetura interessante, “moderno”
• Mas não é novo (SOA)
• Requer alto nível de expertise
– DevOps, Infraestrutura, Deployment, ALM, etc
• Requer integrar diferentes tecnologias e produtos
– Administração e Monitoramento
– Configurações
– Diagnóstico
• Lidar com múltiplos fabricantes
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Source: bit.ly/archcodestyle
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 15
Java Enterprise Edition Platform
Java EE 7
DEVELOPER PRODUCTIVITY
Java EE 7
– Batch
– Concurrency
– Simplified JMS
– More annotated POJOs
– Less boilerplate code
– Cohesive integrated platform – WebSockets
– JSON
– Servlet 3.1 NIO
– REST
MEETING ENTERPRISE DEMANDS
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Application Servers
• Open Source
– GlassFish
– WildFly
– Apache TomEE
• Comerciais
– Oracle WebLogic Server
– IBM WebSphere Application Server
– JBoss
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Application Servers com Dynamic Clustering
Oracle Confidential – Internal/Restricted/Highly Restricted 17
• Aplicações distribuídas escaláveis
• Processamento distribuído JMS
• Administração Centralizada
Configuração Simplificada de Clusters Dynamic Clusters
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Whole Server Migration
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
JMS Replicated Store em Memória
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
JDBC Statement Cache Adapting on Memory Pressure
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Data Source Connection Shrinking on Memory Pressure
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Do que os App Servers já são capazes?
• Monitoramento de N apps
• Gerenciamento e Coordenação de Recursos
– DB Connections, JMS, Security Providers, Connectors com Legados, Transaction Management (XA)
• ClassLoader Isolation não é mais um problema em app servers
• Clustering, Load Balancing, Fail-over
• Features de Segurança
• Disaster Recovery
• Online Upgrade/Patching
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Arquitetura Java EE Distribuida
• Diversas aplicações
• Modelo SOA
– Serviços REST
– Serviços SOAP
• EJBs remotos distribuidos
• Camada Web desacoplada – Talvez até em outra linguagem
App1
App3
App2
Front-end Web
Serviços REST WebServices SOAP
Back-end
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
O que falta para os app servers?
• Gerenciar recursos de SO para completo isolamento das aplicações
App Server
Memória CPU Network IO
App1 App2 App3
Virtualization
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
“If you watch the software industry backwards, it starts with kids flailing; ends with old guys solving impossible problems by thinking hard.”
– Gary Bernhardt twitter.com/garybernhardt/status/152455259543961600
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |