JBoss AS Avançado
JBoss AS Slide 1 2 Apresentação Fernando Lozano fernando@lozano.eti.br Profissional Certificado LPI RHCE JBoss Dev SCWCD IBM SOA MCSE Consultor em Software Livre há 15 anos Consultor em Java há 12 anos Ex-Editor e Ex-Colunista da Revista Java Magazine Autor do livro Java em GNU/Linux Instrutor dos cursos de Tomcat JBoss AS Portlets
JBoss AS Slide 1 3 O Que é o JBoss AS Considerado o servidor de aplicações Java EE mais utilizado em todo o mundo; Provavelmente o servidor de aplicações mais usado do mundo! Certificado nos padrões J2EE 1.4 (JBoss 4.x) e Java EE 5 (JBoss 5.x); Carro-chefe de uma família de produtos open-source que inclui soluções para BPM, SOA, Portal, Frameworks de desenvolvimento, etc; Escrito inteiramente em Java, o que lhe confere maior portabilidade e flexibilidade;
JBoss AS Slide 1 4 Quem Usa JBoss AS Mundo Brasil Alcatel Ameritrade General Eletric Nortel Verizon Siemens Banco Votorantin Caixa Econômica Federal Sul América Seguros
JBoss AS Slide 1 5 O Que É um Servidor de Aplicações Infra-estrutura para Sistemas de Informação Corporativos e Aplicativos Internet; Muito mais do que um servidor web + linguagem de script! Fornece ao desenvolvedor recursos sofisticados para distribuição, transações, segurança, messageria e interoperabilidade; Fornece ao administrador recursos avançados de monitoração, otimização e alta-disponibilidade; Benchmarks recentes indicam performance superior para aplicações web em relação a soluções nativas (ex: Apache + PHP ou IIS + ASP.NET);
JBoss AS Slide 1 6 JBoss AS: Plataforma para Integração Suporta clientes baseados em diversos protocolos, por exemplo HTTP, RMI e IIOP, além de Web Services SOAP e REST; Fornece conectividade de fábrica para bancos de dados relacionais, diretórios LDAP, e outros servidores de aplicação Java EE ou CORBA; Suporta módulos padrão JCA para sistemas ERP e Mainframe, ex: CICS e SAP R/3; Agendamento de tarefas embutido; Também suporta módulos padrão JAAS para Single-Sign On de Rede, Autenticação por biometria, tokens e Smartcards;
JBoss AS Slide 1 7 Aplicações Java EE Open Source (você pode rodar no JBoss AS!) Alfresco gerenciamento de documentos Compierre ERP Enterprise Resource Planning Dimdim Conferência de vídeo via web exo Platform Portais, gerencia de conteúdo e gerencia de conhecimento Hipergate CRM Customer Relationship Management Hyperic Gerenciamento de redes Orchestra BPM & BPEL - Processos Pentaho Business Inteligente Scarab Bug / Issue tracking ServiceMix ESB Enterprise Service Bus Xwiki Wiki de 2ª geração Yahoo! Zimbra Webmail e colaboração
JBoss AS Slide 1 8 Tecnologias do Java EE Padrões Java EE embutidos no JBoss AS Servlets, JSP, JSTL, JSF EJB 2 & 3 (incluindo JPA) JMS JTA JAAS JMX JAX-RPC & JAX-WS Frameworks e Linguagens compatíveis com o JBoss AS Ajax: Dojo, JQuery, etc Struts, Wicket Hibernate, ibatis Spring Google Guice & GWT Goovy & Grails Quercus (PHP), (J)Ruby, (J/P)ython
JBoss AS Slide 1 9 EJB Enterprise Java Beans Tecnologia para construção de aplicações distribuídas: Permite distribuir componentes de uma mesma aplicação entre diversos servidores; Distribuição transparente: começe com tudo em um único servidor, separe em diferentes servidores conforme a conveniência; Gerenciamento transparente de transações envolvendo múltiplos recursos; ex: Oracle, PostgreSQL e CICS na mesma transação! Integração de aplicações em alto-nível: possível tecnologia para implementar SOA;
JBoss AS Slide 1 10 JPA Persistência de Objetos Elimina o gap entre a modelagem e programação OO e o banco de dados Relacional; Sintaxe simplificada para consultas complexas (em comparação com o SQL relacional); Torna a aplicação independente do banco de dados, sem abrir mão de recursos avançados do SGBDR como stored procedures; Otimizações de lazy loading (carrega os dados sob demanda); Compatível com estratégias de cache agressivas (BD em memória transparente para a aplicação);
JBoss AS Slide 1 11 Administração e Tuning de EJBs e JPA Protocolo de acesso remoto: RMI, IIOP, Pooled, Unified Quantidade de instâncias no pool; Passivação em disco (Statefull EJBs); Restrições de acesso baseadas em roles; Cache de segundo nível (JPA, Entity Beans); Persistência dos timers p/ agendamento; Autenticação para o acesso remoto;
JBoss AS Slide 1 12 JMS - Messageria Implementa fluxos de trabalho com componentes online e de back-end Obrigatório em aplicações bancárias / financeiras e grandes lojas on-line Fornece garantida de entrega para mensagens entre aplicações (não confundir com e-mail ou IM) Isola aplicações de falhas de infra-estrutura Permite escalonar a carga, por exemplo durante o dia mais poder para o web site, à noite processos batch para fluxo de caixa
JBoss AS Slide 1 13 Administração e Tuning do JMS Quantidade de sessões concorrentes Dead Letter Queue (tratamento de mensagens não-processadas) Nível de QoS para cada fila Uso de BD externo Autorização baseada em roles Autenticação e SSL para o acesso remoto
JBoss AS Slide 1 14 Clusters JBoss AS Totalmente autônomo, i.e., não depende de infra do SO ou storage Ativo-ativo: escalabilide e também tolerância à falhas Heterogêneo: Um mesmo cluster pode incluir um mainframe IBM, um Itanium com Linux, um UltraSpart e um Xeon com Windows Na verdade, cada serviço do JBoss AS (Web, EJB, JMS, JPA) exige configurações e otimizações especializadas, como se cada um formasse um cluster independente dos demais
JBoss AS Slide 1 15 Tuning do Cluster Conexões ponto-a-ponto ou multicast Replicação x armazenamento distribuído Lock e coerência distribuída para cache JPA Quantidade de threads de comunicação Granularidade da replicação Serviços e aplicações clusterizados x não-clusterizados Autodiscovery dos nós Balanceamento de carga externo (apenas para HTTP)
JBoss AS Slide 1 16 JMX Administração Remota Permite monitorar e atuar sobre qualquer servidor Java EE Possibilita ampla oferta de ferramentas Open Source e proprietárias para administração do JBoss AS: MC4J, JOPR, Zabbix, Nagios, JConsole
JBoss AS Slide 1 17 Administração (infra) x Desenvolvimento Tradicionalmente, o mercado profissional Java EE tem se focado no desenvolvimento de sistemas Com o amadurecimento deste mercado, surge a necessidade de administradores capazes de configurar ambientes JBoss AS otimizados para performance, segurança e alta disponibilidade Evolução semelhante ocorreu com os SGBDRs (Bancos de Dados Relacionais)
JBoss AS Slide 1 18 Perfil do ASA (Application Server Administrator) Conhecer tanto desenvolvimento quanto infra Lidar com performance, segurança e alta disponibilidade Lidar com questões integração envolvendo diferentes serviços de rede e aplicativos Orientar desenvolvedores na utilização plena das capacidades oferecidas pelo Java EE Ser capaz de realizar troubleshooing desde o Sistema Operacional até o Banco de Dados Tende a se tornar o profissional mais valorizado de infra em TI!
JBoss AS Slide 1 19 JBoss AS para Administradores na 4Linux Curso 436: Administração Essencial Infra do AS Configuração e instalação do JBoss AS otimizada para Linux Deployment de aplicações e componentes Configurações de rede e segurança: Autenticação, autorização e SSL Conexão a SGBD, LDAP, e-mail internet Curso 467: Administração Avançada Serviços Especializados Configuração e tuning de EJB Configuração e tuning de JPA e Hibernate Administração do servidor de mensagens (JMS) Clusters para escalabiliade e alta disponibilidade Monitoração de Performance
JBoss AS Slide 1 20 FIM