JBoss5 @ FISL

4,804 views

Published on

Published in: Technology, Education
  • Be the first to comment

JBoss5 @ FISL

  1.  
  2. Edgar Silva [email_address]
  3. Palestrante <ul><li>Edgar Silva </li></ul><ul><ul><li>Solutions Architect, JBoss </li></ul></ul><ul><ul><li>Experiência com Objetos Distribuídos e Java desde 1998. </li></ul></ul><ul><ul><li>Contribuidor de projetos Open-source, entre eles: JBoss Profiler, Greenbox etc. </li></ul></ul>
  4. Objetivo <ul><li>Apresentar as novidades no JBoss Application Server 5.0 e uma visão de dicas e truques para lhe ajudar no dia-a-dia com o servidor. </li></ul>
  5. Pequena Enquete <ul><li>Qual Application Server você usa? </li></ul><ul><ul><li>a) JBoss AS </li></ul></ul><ul><ul><li>b) GlassFish </li></ul></ul><ul><ul><li>c) WebSphere </li></ul></ul><ul><ul><li>d) WebLogic </li></ul></ul><ul><ul><li>e) Outros </li></ul></ul><ul><ul><li>f) Nenhum (apenas TomCat) </li></ul></ul>
  6. Pesquisa realizada JavaPolis/2007 <ul><li>JBoss 31.5% </li></ul><ul><li>Websphere 17.4% </li></ul><ul><li>Weblogic 16.7% </li></ul><ul><li>Nenhum (apenas tomcat) 14% </li></ul><ul><li>Outros 11.5% </li></ul><ul><li>Glassfish 8.9% </li></ul>
  7. JBoss.ORG no Brasil <ul><li>4 maior usuário de tecnologias JBoss do mundo </li></ul><ul><li>Core-Developers brasileiros trabalhando e contibuindo com vários projetos: </li></ul><ul><ul><li>AS, Drools, AOP, Security, Profiler, Messaging e ESB. </li></ul></ul>
  8. Novidades da Versão 5.0
  9. Questões Estruturais <ul><li>bin – inicia scripts run.jar </li></ul><ul><li>client – jars para cliente </li></ul><ul><li>docs - docs, schemas/dtds, exemplos </li></ul><ul><li>lib - core bootstrap jars, algumas diferenças coma chegada do MicroContainer </li></ul><ul><li>server – configurações/perfis de servidores </li></ul>
  10. Diretório “conf” <ul><li>bootstrap-beans.xml - nova configuração de bootstrap do mc kernel </li></ul><ul><li>jax-ws-catalog.xml - oasis catalog que definem configurações de schema/dtd </li></ul><ul><li>jbossjta-properties.xml – Nova Conf para propriedade JBossTS </li></ul><ul><li>jndi.properties, log4j.xml, login-config.xml, standardjbosscmp-jdbc.xml, standardjboss.xml - Mesmo das versões anteriores do JBoss AS. </li></ul><ul><li>Xmdesc/, jboss-service.xml, standardjaws.xml – Mantido para compatibilidade </li></ul>
  11. Deploy <ul><li>deploy – Ainda é a pasta para os deployments. </li></ul><ul><li>deployers/ </li></ul><ul><ul><li>bsh-deployer - beanshell deployer </li></ul></ul><ul><ul><li>ejb3.deployer - ejb3 deployers </li></ul></ul><ul><ul><li>jboss-aop-jboss5.deployer - aspect deployer </li></ul></ul><ul><ul><li>jboss-jca.deployer - JCA deployers </li></ul></ul><ul><ul><li>jbossweb.deployer - war deployers </li></ul></ul><ul><ul><li>jbossws.deployer - web services deployers </li></ul></ul><ul><ul><li>ear-deployer-beans.xml - ear deployers </li></ul></ul><ul><ul><li>ejb-deployer-beans.xml - ejb2.x deployers </li></ul></ul><ul><ul><li>metadata-beans.xml - metadata handlers </li></ul></ul><ul><ul><li>security-deployer-beans.xml </li></ul></ul>
  12. Pontos de Inovação <ul><li>JBoss AOP </li></ul><ul><li>JBoss MicroContainer </li></ul><ul><li>JBoss EJB3 </li></ul><ul><li>JBoss Messaging </li></ul><ul><li>JBoss Cache 2.0 </li></ul><ul><li>JBoss WS 2 - Java EE , JAXWS-2.0 . </li></ul><ul><li>JBoss Transactions - Arjuna . </li></ul><ul><li>JBoss Web - Apache Tomcat, Apache Portable Runtime ( APR ) </li></ul><ul><li>JBoss5 Virtual Deployment Framework </li></ul>
  13. JBoss MicroContainer
  14. MicroContainer <ul><li>O que é um Kernel? </li></ul><ul><ul><li>O coração a infra-estrutura de um sistema </li></ul></ul><ul><ul><ul><li>Ex: Kernel do Linux (drivers, serviços) </li></ul></ul></ul><ul><li>JBoss MicroKernel </li></ul><ul><li>JBoss MicroContainer </li></ul>
  15. JBoss MicroKernel l JBoss Microcontainer
  16. Diferenças Principais <ul><li>MicroKernel </li></ul><ul><ul><li>Kernel das versões anteriores do JBoss </li></ul></ul><ul><ul><li>Baseado em JMX </li></ul></ul><ul><li>MicroCotainer </li></ul><ul><ul><li>Novo Kernel do JBoss apartir do 5.0 </li></ul></ul><ul><ul><li>Baseado em POJO e IoC, utiliza vários recursos de AOP. </li></ul></ul><ul><ul><li>Máquina de Estado </li></ul></ul><ul><ul><li>Qualquer Serviço pode ser “embutido” </li></ul></ul>
  17. MicroContainer
  18. O que podemos fazer agora? <ul><li>Embutir nossos componentes com serviços de forma mais simples. </li></ul><ul><li>Suporte a novos tipos de Deployers </li></ul><ul><li>Acesso a contextos Spring </li></ul><ul><li>MicroContainer != SpringFramework </li></ul>
  19. ProfileService <ul><li>Os perfis de JBoss poderão ser versionados </li></ul><ul><li>Replicados através de clustering. </li></ul><ul><li>Alterações na Administração serão propagadas após restarts! </li></ul><ul><li>Sem mais necessidade de alterar tudo via XML. </li></ul><ul><li>Similar ao JDK6 OpenMBean Spec </li></ul>
  20. Kernel Orientado a Serviços <ul><li>OSGI </li></ul><ul><li>Guice </li></ul><ul><li>Spring </li></ul><ul><li>Novos Deployers </li></ul><ul><li>Drools, JBPM e ESB </li></ul>
  21. JBoss AOP
  22. JBoss AOP e JBoss AS 5.0 <ul><li>O JBoss AOP é uma das peças fundamentais no MicroContainer. </li></ul><ul><li>Os Aspectos podem depender de POJOs(Serviços) e vice-versa. </li></ul><ul><li>Ação durante os Deployments, importante para Callbacks e Ciclo de vida. </li></ul>
  23. JBoss AOP <ul><li>Flavia Rainnone </li></ul><ul><ul><li>Core Developer do JBoss AOP </li></ul></ul>
  24. JBossWS (WebServices) Suporte a SOA
  25. JBossWS 2.0 <ul><li>Java EE certified JAX-WS </li></ul><ul><li>J2EE certified JAX-RPC </li></ul><ul><ul><li>WS-Addressing </li></ul></ul><ul><ul><li>WS-Security </li></ul></ul><ul><ul><li>WS-Policy </li></ul></ul><ul><ul><li>WS-Eventing </li></ul></ul><ul><ul><li>WS-Reliable Messaging (breve) </li></ul></ul><ul><li>Breve JBossWS3 </li></ul>
  26. JBossWS 3.0
  27. JBoss Messaging
  28. JBoss Messaging <ul><li>:) Não é nosso IM </li></ul><ul><li>É a re-implementação inteira do JbossMQ </li></ul><ul><ul><li>High Performance JMS 1.1 (Apensa Java5) </li></ul></ul><ul><ul><li>XA com o JBoss Transactions </li></ul></ul><ul><ul><li>Cluster para Queues e Topics (out-of-the-box) </li></ul></ul><ul><ul><li>Transparent failover </li></ul></ul><ul><ul><li>Replicação de Mensagens em Memória </li></ul></ul><ul><ul><li>Suporte para mensagens e paginas grandes </li></ul></ul><ul><ul><li>Suporte: Oracle, MySQL InnoDB, PostgreSQL, Sybase, SQLServer </li></ul></ul>
  29. JBoss Messaging 2.0 <ul><li>JMS core independente </li></ul><ul><li>Inicializado via JbossMc ou qualquer outros container de IoC </li></ul><ul><li>NIO transporte via Apache Mina </li></ul><ul><li>Suporte TCP, SSL, HTTP e APR. </li></ul><ul><li>Berkeley DB </li></ul><ul><li>Uso do Hibernate para Performance JDBC </li></ul><ul><li>Melhor segurança </li></ul><ul><li>HA mais flexível </li></ul>Clebert Suconic, Core Developer, JBoss Messaging já participou do JBoss Cache, JBoss Serialization, JRUnit, JBoss Profiler
  30. JBoss JGroups Clustering
  31. JGroups 2.6.1 JBC 2.1.0 <ul><li>Passivação de WebSessions </li></ul><ul><li>Melhorias no Cache de Entities/JPA e Hibernate </li></ul><ul><li>Servidor de mensagens de fato em clustering </li></ul><ul><li>Buddy replication para SFSBs </li></ul><ul><li>Melhoria de uso de memória, CPU e rede. </li></ul>
  32. JBossWeb
  33. JBossWeb <ul><li>Melhorias em cima do Apache TomCat </li></ul><ul><li>Alta performance </li></ul><ul><li>Maior escalabilidade </li></ul><ul><li>Na dúvida entre TomCat e JbossAS? </li></ul><ul><ul><li>Use JBossWeb </li></ul></ul>
  34. JBoss e seu Novo Console
  35. JBoss 5.0 – Novo AdminConsole <ul><li>Desenvolvido com o JBoss Seam (Web2.0) </li></ul><ul><li>Suporte a desenvolvimento de Extensões(plugins). </li></ul><ul><li>Integrado com recursos do Micro-Container </li></ul><ul><li>Dashboard de Serviços </li></ul><ul><li>O classico JMX-Console ainda permanece </li></ul>
  36.  
  37.  
  38. Simples Dicas do uso de JBoss (Onde estão os mitos?)
  39. Alguns Mitos do JBoss <ul><li>Mitos longe da realidade JBoss: </li></ul><ul><ul><li>“JBoss não escala” </li></ul></ul><ul><ul><li>“JBoss não suporta mais que 3 nós em cluster” </li></ul></ul><ul><ul><li>“JBoss só roda em Red Hat Linux” </li></ul></ul><ul><ul><li>“O JBoss foi desenvolvido por seres extra-terrestres” </li></ul></ul>
  40. Alguns Mitos do JBoss <ul><li>“ JBoss não escala” </li></ul><ul><ul><li>Sim, JBoss escala de forma horizontal, vertical, com balanceamento de carga ou clustering. </li></ul></ul><ul><li>“ JBoss não suporta mais que 3 nós em cluster” </li></ul><ul><ul><li>Há casos até no Brasil de mais de 30 máquinas em cluster </li></ul></ul><ul><li>“ JBoss só roda em Red Hat Linux” </li></ul><ul><ul><li>O JBoss é homologado para 17 SOs * </li></ul></ul><ul><li>“ O JBoss foi desenvolvido por seres extra-terrestres” </li></ul><ul><ul><li>Que sabemos oficialmente, não =) </li></ul></ul><ul><li>(*) JBoss Enterprise Applications Platform – Suporte Red Hat </li></ul>
  41. Questões de Performance <ul><li>O foco desta palestra não é performance tunning, seria preciso muito mais tempo para falar em maiores detalhes, a seguir algumas simples, porém importantes dicas ... </li></ul>
  42. Básico sobre as JVMs <ul><li>BEA JRockit </li></ul><ul><ul><li>VM pré-otimizada e ferramentas de moniotração </li></ul></ul><ul><li>Sun JVM </li></ul><ul><ul><li>Possui mais parametros de otimização, porém requer mais conhecimentos de tunning da mesma. </li></ul></ul>
  43. JBoss Slimming <ul><li>Capacidade do JBoss de remover módulos que não são necessários. </li></ul><ul><li>A prática de Slimming deixa o servidor mais leve e com suporte maior a escalabilidade. </li></ul><ul><li>Exemplo: </li></ul><ul><ul><li>Sua aplicação só usa o container Web </li></ul></ul>
  44. Os arquivos desncessários... <ul><li>mail-ra.rar </li></ul><ul><li>mail-service.xml </li></ul><ul><li>management </li></ul><ul><li>quartz-ra.rar </li></ul><ul><li>schedule-manager-service.xml </li></ul><ul><li>scheduler-service.xml </li></ul><ul><li>sqlexception-service.xml </li></ul><ul><li>uuid-key-generator.sar </li></ul><ul><li>outros... </li></ul>
  45. Aceitando mais clientes web(http) <ul><li>JBOSS_HOME_INSTALL/server/default/deploy/jboss-web.deployer/server.xml </li></ul><ul><li><Connector port=&quot;8080&quot; address=&quot;${jboss.bind.address}&quot; </li></ul><ul><li>maxThreads=&quot;250&quot; maxHttpHeaderSize=&quot;8192&quot; </li></ul><ul><li>emptySessionPath=&quot;true&quot; protocol=&quot;HTTP/1.1&quot; </li></ul><ul><li>enableLookups=&quot;false&quot; redirectPort=&quot;8443&quot; acceptCount=&quot;100&quot; </li></ul><ul><li>connectionTimeout=&quot;20000&quot; disableUploadTimeout=&quot;true&quot; /> </li></ul><ul><li>Considerações: </li></ul><ul><li>Aumentando os Threads e acceptCount, você poderá atender mais clientes, mas você também precisará de mais recursos de máquina, e possivelmente fazer outros tunnings em outros aspectos do JBoss. </li></ul>
  46. Escalabilidade vertical <ul><li>Você pode “virtualizar” o JBoss </li></ul><ul><li>Rode mais de um JBoss por máquina: </li></ul><ul><ul><li>Mudando as portas ( trabalhoso) </li></ul></ul><ul><ul><li>Diferentes Ips (moleza): </li></ul></ul><ul><ul><ul><li>run.sh -b 10.0.1.27 </li></ul></ul></ul><ul><ul><ul><li>run.sh -b 192.0.2.27 </li></ul></ul></ul>
  47. DEMO Teste de Carga e Monitoramento JBoss AS 5
  48. Ferramentas Recomendas <ul><li>JBoss Profiler 1.0 </li></ul><ul><ul><li>Breve JBoss Profiler 2.0 </li></ul></ul><ul><li>Apache JMeter </li></ul>
  49.  
  50.  
  51. Conclusão <ul><li>Temos muito trabalho e nós precisamos de sua ajuda! </li></ul><ul><li>O Objetivo é entregar o mais inovador, estável e performático Application Server OpenSource do mercado. </li></ul><ul><li>Teste, Use, a vontade </li></ul>
  52. P&R Edgar Silva [email_address] http://www.edgarsilva.com.br

×