jboss eap 6
DESCRIPTION
JBoss EAP 6 - Um novo conceito em middlewareTRANSCRIPT
JBoss EAP 6:Um novo conceito em middleware
JBoss EAP 6
• O que é um middleware e para que é usado
• Um breve histórico do JBoss
• JBoss EAP 6
• Community vs. Enterprise
• Além do JBoss EAP 6
O que é um middleware e para que é usado
Plataforma
● Infra-estrutura / sistema operacional
● Interação entre o humano e a máquina
Aplicativos
● Ênfase no design e nas funcionalidades (Requisitos funcionais)
● Foco no objetivo do seu negócio
Requisitos não funcionais● Performance
● Disponibilidade
● Escalabilidade
● Segurança
● Distribuição
● Manutenção
● Gerenciamento
● Padrões abertos
● Suporte
Mais que um servidor de aplicação● Como se conectar a um LDAP?
● Como se conectar a sistemas legados?
Com o JavaEE tudo isso está encapsulado e pronto para o uso
● O desenvolvedor se concentra somente nos problemas do negócio
● Menor tempo de desenvolvimento, menor custo
Um breve histórico do JBoss
● Fundação:
● Projeto EJBOSS fundado em 1999 por Marc Fleury
● Aquisição:
● Red Hat adquiriu o JBoss em junho de 2006
● Missão: Oferecer uma linha de produtos de middleware para ajudar as organizações a acelerar suas habilidades em desenvolver, deployar, integrar e gerenciar suas aplicações.
Evolução dos servidores de aplicação Java
JBoss Timeline
JBoss AS 6.0 / 6.1
● JavaEE 6 Web Profile++ ou Full Profile-- (nem um nem outro)● Baseado na versão 5.x (Microcontainer)● Mais leve que o AS 5● Trampolim para o AS 7
E quanto as novas tecnologias?
● HornetQ (JMS)● Infinispan (Cache)● Apache CXF (Web Services)● mod_cluster● OSGI
Decisão:
● O JBoss AS 6 não virará um produto Enterprise
JBoss AS 7 - Desafios
● A difícil tarefa de se olhar no espelho
● Menor, mais rápido, mais sexy
● Tempo de startup e uso de memória
● Melhorar o gerenciamento
● Simplificar a configuração
● Remover camadas de abstração
● Remover o legado
● Modularizar
JBoss AS 7
● Lançado em julho de 2011, 6 meses após o AS 6
● Código completamente reescrito
● JBoss AS 7.0.1 - agosto de 2011
● JBoss AS 7.0.2 - setembro de 2011
● JBoss AS 7.1 - fevereiro de 2012 - Java EE 6 Full
profile certified
JBoss EAP 6.0
● Junho de 2012 - Java EE 6 Full profile certified
JBoss EAP 6
Principais características:
● Rápido e leve
● Modular, baseado em OSGI
● Configuração unificada, voltada para o usuário
Não mais aquele monte de arquivo XML
● Múltiplas interfaces de gerenciamento
CLI, HTTP API, REST API, Console
● Suporte ao gerenciamento de vários nós (modo domain)
● Cloud-ready
Arquitetura do JBoss EAP 6
Principais características do MSC:
● Pequeno, leve e eficiente
Jar de 216kb, pouquíssima memória
● Tarefas concorrentes e altamente escaláveis
● Serviços baseados em interface
Não requer uso de XML nem usa reflection
● Somente dois estados, sem estados de transição
UP e DOWN
● Múltiplos modos de startup dos serviços
Ativo, passivo, sob demanda, lazy e never
Boot em 3 segundos!
Como isso foi possível?
Como isso foi possível?
●Startup e deploy concorrente (threads)
●Lookup de recursos e classloading mais rápidos
●Indexação de anotações (API Annotations)
●Cache dos metadados de reflexão (API Reflection)
●Serviços sob demanda (Lazy loading)
●Parse de arquivos XML através da API Stax
●Feito a partir do zero
Performance
Tempo de boot:
Consumo de memória:
Administração
Configuração com foco no usuário
Interface de administração web e linha de comando
Modularização
Modularização
● Pequeno, leve e eficiente
Duas bibliotecas iguais de versões diferentes agora podem conviver no servidor
● Classloading modular
Modulos só conseguem ver o que é definido
● Definição de módulos externos
Não é preciso abrir o JAR
● Dinâmico
Os módulos podem ser redefinidos
● Extensível
JBoss OSGI implementado nos próprios módulos
JBoss Modules
JBoss Modules
Gerenciamento
Dois modos de operação
● Standalone
Modo tradicional (um servidor por JVM simples)
Facilidades de gerenciamento por ser uma JVM
Sem controle do ciclo de vida via gerenciamento (somente shutdown)
● Domain
Multi-JVM, vários servidores
Gerenciamento coordenado pelo Domain Controller
Várias instâncias (JVM's) por Host
Controle total do ciclo de vida dos servidores via Host Controller
Topologia modo Domain
JBoss EAP 6
● Versão 6.0 - junho de 2012
37 patches
● Versão 6.0.1 - dezembro de 2012
58 patches
● Versão 6.1.0 - maio de 2013
23 patches
● Versão 6.1.1 - setembro de 2013
3 patches
● Versão 6.2 Beta - outubro de 2013
Community vs. Enterprise
+
JBoss AS vs. JBoss EAP
● Community Project (JBoss AS / Wildfly)
Patrocinado pela comunidade JBoss/RedHat
Inovações em um ritmo muito rápido
Foco em novas funcionalidades
Não há suporte
● Enterprise Application Platform (JBoss EAP)
Criado a partir de pontos estáveis do JBoss Community
Integrado com o JBoss Developer Studio e o JBoss Operations Network
Rigorosamente testado (performance, escalabilidade, SpecJ, etc..)
Certificado em várias combinações de S.O., JVM e banco de dados
Ciclos cumulativos de patches de correção
Suportado por 5 anos + 2
JBoss AS vs. JBoss EAP
Além do JBoss EAP 6
Solução para gerenciamento do JBoss (monitorar, deployar e gerenciar) toda a linha de middleware JBoss (EAP, ESB, EDS, Apache, S.O., etc..)
Suporta alertas, mensagens, envio de traps, etc..
Recursos de aplicações (requisições, sessões, filas JMS, mensagens no Service Bus)
JBoss Operations Network (JON)
JBoss Operations Network (JON)
Ferramenta de desenvolvimento (IDE) para criação, teste e deploy de aplicações.
Inclui uma série de ferramentas com recursos e suporte para vários frameworks incluindo JavaEE 6, RichFaces, Java Server Faces (JSF), Enterprise Java Beans (EJB), Java Persistence API (JPA), Hibernate, JAX-RS, CDI, HTML 5 e várias outras novas tecnologias
Já incluido na subscrição do JBoss EAP
JBoss Developer Studio
JBoss Developer Studio
JBoss Developer Studio
Business Rule Management System (BRMS) é um sistema onde são definidas as regras de negócio e as lógicas de decisão dentro da organização.
Uma plataforma para modelagem de negócio
Separação da lógica de negócio dos dados
Facilidade de manutenção das regras de negócio
Mudanças dinâmicas e reuso das regras de negócio
JBoss BRMS
JBoss BRMS
JBoss Enterprise Service Bus (ESB) provê a infraestrutura necessária para o princípio da arquitetura orientada a serviços (SOA).
Provê orquestração de processos
Provê tradução de protocolos
Adapters, repositories, gerência de mudanças
Qualidade de serviços, qualidade de proteção (segurança)
Tudo é um serviço inclusive o Bus
JBoss ESB (SOA Platform)
JBoss ESB (SOA Platform)
JBoss ESB (SOA Platform)
JBoss Enterprise Data Services (EDS) permite a virtualização de dados, provê a união e integração de diferentes fontes de dados em uma fonte única de informação.
Diferentes fontes de dados (bases de dados, arquivos, aplicações, serviços, etc..)
Provê performance, segurança e integridade de dados
JBoss EDS (Enterprise Data Services)
JBoss EDS (Enterprise Data Services)
JBoss EDS (Enterprise Data Services)
JBoss Portal (Baseado no EAP 6.1)
JBoss Portal (Baseado no EAP 6.1)
Combina vários frameworks populares de desenvolvimento em uma simples solução.
Todos os componentes são testados, certificados e suportados para uso no JBoss.
Frameworks: Hibernate, JBoss Seam, GWT, RichFaces, Spring e Struts.
Já incluido na subscrição do JBoss EAP
JBoss Web Framework Kit
Novas tecnologias (JavaEE 6)
Novas tecnologias (JavaEE 6)
Novas tecnologias (Wildfly 8 - JavaEE 7)
Novas APIs• WebSockets, HTML 5, JSON, NIO async I/O• JCache, NoSQL, Concurrency Utilities
Novas versões das APIs existentes• JSF 2.2, JMS 2.0, JPA 2.1, EJB 3.2, CDI 1.1, Servlet 3.1, JAX-RS 2.0, JTA 1.2
Obrigado
Elvis Henrique [email protected]/elvisnaomorreu