Atualização do JBoss Itamir de Morais Barroca Filho Coordenador de Desenvolvimento - SIPAC Superintendência de Informática - UFRN Sumário ● JBoss 4.2.2 (cenário atual) ● JBoss 5.1 ○ Quais as principais novidades? ○ Vale a pena atualizar? ○ Desafios na migração JBoss 4.2.2 e JBoss 5.1. ● Conclusões JBoss 4.2 (cenário atual) JBoss 4.2 (cenário atual) ● Lançado em 2007 pela JBoss Community (patrocinada pela Red Hat); ● /var/sistemas/ear_sistemas/ ○ NFS contendo os ears dos sistemas: SIPAC, SIGAA, SIGRH…; ○ postgres-dx.xml contendo configurações dos datas sources; JBoss 4.2 (cenário atual) ● libs.jar contendo as bibliotecas e frameworks utilizados pelos sistemas. ● Scripts específicos para inicialização: ○ ./startInst.sh e run_conf. ● Cada JBoss com duas instâncias: inst1 (8080) e inst2 (8081). JBoss 5.1 ● Lançado em 2009 pela JBoss Community (patrocinada pela Red Hat); ● Suporte certificado à versão Java EE 5: ○ EJB 3, JPA, JSF 1.2, JSP 2.1, JSTL, JAX-WS 2… ● Versão 4.2.2 com suporte incompleto ao Java EE 5, por exemplo: não suporta EJB 3. ○ Apesar da versão 4.2.3 suportar. JBoss 5.1 ● O suporte ao JDK 6 também é novidade dessa versão (apesar da versão 4.2.2 suportar); ● Na versão 5, esse suporte foi aprimorado e tornou-se padrão para execução do servidor de aplicações; ● Principal mudança: substituição do JBoss Microkernel pelo JBoss Microcontainer. JBoss 5.1 ● Microcontainer possui arquitetura construída com JBoss AOP que permite desenvolvimento de serviços baseados em POJOs; ● Com isso, a integração de módulos ficou mais dinâmica (fácil de customizar, excluir ou incluir novos serviços: ex: EJB3, EJB2, JMS, HypersonicDB,...). JBoss 5.1 ● Mudanças no mecanismo de classloader para utilização do Virtual Deployment Framework (VDF): ○ Garante que toda e qualquer dependência do deploy seja satisfeita antes da disponibilização do sistema; ● Módulos sofreram evoluções: clustering, messaging, binding de portas, cache... JBoss 5.1 ● Levando em consideração as novidades apresentadas: vale a pena atualizar sim. ● Porém, essa atualização envolveu mudanças a nível de arquitetura e projetos; ● Essas mudanças nos projetos serão disponibilizadas pela UFRN (Arquitetura ?, SIPAC ?, SIGRH ?, SIGAA ?, ...); JBoss 5.1 ● Maiores desafios da migração - classloader: classes repetidas dentro de mesmo ear/war ou jars; ● Validações em xmls de configurações. principalmente jboss-app.xml e application. xml; ● Tudo isso é validado pelo JBoss 5.1 durante o deploy da aplicação. JBoss 5.1 ● No novo cenário, mesma configuração em termos de NFS e configuração (postgres-ds. xml); ● Ou seja, maiores impactos com relação ao problemas de codificação da aplicação (já corrigidos pela UFRN; ● Foi mantida a compatibilidade a nível de código com JBoss 4.2.2. Conclusões ● Atualmente o JBoss 5.1 já é utilizado por todos os desenvolvedores; ● Já se encontra no ambiente nos servidores de testes; ● Em processo para implantação no ambiente de homologação dos sistemas. Conclusões ● Após validado no ambiente de homologação, será colocado no ambiente de produção; ● Em seguida, disponibilizado para os parceiros, junto com as versões dos sistemas. ● Previsão: Março/2014. Obrigado!