Java EE 6 e JBoss 6.0

Download Java EE 6 e JBoss 6.0

Post on 18-Dec-2014

2.760 views

Category:

Documents

1 download

Embed Size (px)

DESCRIPTION

Slides do Evento Java&Net SP 2010

TRANSCRIPT

<ul><li> 1. Tema 1 Viso geral da plataforma e servidores de aplicao Viso geral da Plataforma Java no presente JBoss Application Server 6 Edgar Silva Manager, Solutions Architects Red Hat Brasil edgar@redhat.com @jedgarsilva </li> <li> 2. Agenda Plataforma Java (Passado, Presente e Futuro) Java EE 6.0 Em breve final: JBoss 6.0 Em breve: M1 do JBoss 7.0 Tecnologias Auxiliares Mercado 3 3 </li> <li> 3. Plataforma Java EE (Passado, Presente e Futuro) Objetivo: Mercado de Componentes Players do Passado: HP BlueStone, IPlanet, Oracle, WebLogic, Borland, IBM, JBoss e outros, Players do Presente: Oracle, IBM, JBoss/RedHat Realidade: Primeiras implementaes com pouco pragmatismo! Resultado: Contribuies da Comunidade / JCP Spring Framework, Hibernate, Seam Adies de solicitaes da comunidade como a evoluo das Specs. 4 4 </li> <li> 4. Java Enterprise Edition 6 Resultado da JSR316 http://jcp.org/en/jsr/detail?id=316 Principais Novidades: Servlets 3.0 JSF 2.0 JPA 2.0 Bean Validation 1.0 EJB 3.1 EJB Lite JAX-RS CDI Profiles 5 </li> <li> 5. Servlet 3.0 JSR-315: http://jcp.org/en/jsr/detail?id=315 Principais novidades: Uso de Anotaes para Definir Servlets, Listeners e Filters Fragmentao do web.xml Chamada Assync (Comet), objetivo Ajax 6 </li> <li> 6. @Servlet(urlMappings={"/MyApp"}) public class MyServlet { @GET public void handleGet(HttpServletRequest req, HttpServletResponse res) { .... } @ServletFilter @FilterMapping("/foo") public class MyFilter { public void doFilter(HttpServletRequest req, HttpServletResponse res) { ..... } } @Servlet(urlMappings={"/MyApp"}, initParams ={@InitParam(name="lang", value="english")}) public class MyServlet { @GET public void handleGet(HttpServletRequest req, HttpServletResponse res) { .... } } 7 </li> <li> 7. JSF 2.0 JSR-314: http://jcp.org/en/jsr/detail?id=314 Anotaes Facelets como parte do padro Expression Language ExceptionHandlers Escpos de Usurios 8 </li> <li> 8. @ManagedBean(name="scriptService") @RequestScoped public class ScriptServiceBean { @ManagedProperty(value = "script") private String scriptName; } 9 </li> <li> 9. JPA 2.0 JSR-317: http://jcp.org/en/jsr/detail?id=317 Second-Level Cache Criteria Muitas adies baseadas no Hibernate dentro do padro JPA. 10 </li> <li> 10. EJB 3.1 JSR-318: http://jcp.org/en/jsr/detail?id=318 Interfaces opcionais EJB Lite Deploy War 11 </li> <li> 11. JAX-RS JSR-311: http://jcp.org/en/jsr/detail?id=311 RESTful WebServices Anotaes MediaTypes REST WOA (se isto existir) 12 </li> <li> 12. @Provider @Path("/") public class RootService implements java.io.Serializable { @GET @Path("/") @Produces("text/plain") public String homePlain(){ return "Welcome to RestEasy running on Google App - Client Plain/Text"; } @GET @Path("/") @Produces("text/html") public String homeHTML(){ return "Welcome to RestEasy running on Google App - Client HTML"; } @GET @Path("/{name}/{vars:.*}") @Produces("application/xml") public String executeWithGetXML(@PathParam("name") String serviceName, @PathParam("vars") String vars){ 13 </li> <li> 13. Bean Validation JSR-303: http://jcp.org/en/jsr/detail?id=303 Lembra do Hibernate Validator Agora isto padro JEE 14 </li> <li> 14. public class Address { @NotNull @Size(max = 50) private String street1; @NotNull @ZipCode private String zipcode; @NotNull @Size(max = 30) private String city; Leitura recomendada: http://musingsofaprogrammingaddict.blogspot.com/2009/02/getting-started-with-jsr-303-bean.html 15 </li> <li> 15. CDI 1.0 JSR-299: http://jcp.org/en/jsr/detail?id=299 Context Dependency Injection Uso de Factories Interceptors Injeo de Dependncias Agora isto tambm padro 16 </li> <li> 16. Profiles Um perfil para cada propsito: Full Web No futuro, quem sabe outros profiles: Teste Telco (SIP) SOA 17 </li> <li> 17. JBoss Application Server 6.0 http://www.jboss.org/jbossas 18 </li> <li> 18. JBoss AS 6.0 e a Comunidade Influencia direta JSR 299 CDI for the JSR 314 Java Server Java EE Platform Faces 2.0 Gavin King JSR 316 JavaEE 6 JSR 303 Bean JSR 317 JPA 2.0 Validation JSR 318 EJB 3.1 Emanuel Bernard JSR 330 Dependency JSR 311 JAX-RS Injection </li> <li> 19. Novidades Otimizaes do desempenho J2EE6, OSGi Novos projetos Novo modelo de releases Projeto totalmente mavenizado </li> <li> 20. Otimizando o servidor Uma srie de esforos realizados nesse sentido VFS 3.0 Nova API Montagem explcita + ciclo de vida associado aos Structure Deployers Sincronizado com o sistema de arquivos Otimizao no acesso a arquivos zipados </li> <li> 21. Otimizando o servidor JBoss Microcontainer Diversas otimizaes realizadas no kernel Busca de dependncias Mquina de estados Em desenvolvimento JBoss Reflection: substituio de reflexo por Javassist com cache de bytecodes, sem carga de classes necessria Manipulao direta de Flavia Rainone bytecodes atravs do Core Developer JBoss MC, JBoss AOP Javassist </li> <li> 22. HornetQ Novo JMS Provider do JBoss AS 6.0 M3 Arquitetura baseada em POJOs APIS: JMS 1.1 API APIs prprias: core Clebert Suconic, client API, RESTful Project Lead, HonetQ API, e outros j participou do JBoss Cache, JBoss Serialization, JRUnit, JBoss Profiler Pode ser utilizado em outros ambientes </li> <li> 23. HornetQ Desempenho IO nativo para Linux quebrou o recorde da SPECjms2007 em 307% Integrado aos deployers do AS Isso significa que voc pode incluir os seus arquivos config nos prprios archives da sua aplicao Integrao com o JBoss Admin console </li> <li> 24. JBoss Embedded AS Trabalho em desenvolvimento Verso 1.0.Alpha3 jboss-as-depchain Mdulo que referencia todo o classpath necessrio para usar o JBoss Embedded Prov um ambiente de testes para aplicaes em uma mquina virtual standalone Pode ser usado com o ShrinkWrap </li> <li> 25. Weld Implementao de referncia da JSR 299 - CDI Parte do projeto Seam 3 Integrado ao JBoss AS 6 M1 Projeto de integrao em desenvolvimento </li> <li> 26. RichFaces Component library para JSF Framework para integrao de AJAX em aplicaes Verso 3.3.3.Final Suporte bsico a JSF 2.0 JBoss AS 6.0. M3 </li> <li> 27. RichFaces Verso 4.0 Suporte completo a JSF 2.0 Em desenvolvimento Estender os horizontes da especificao, assim como foi feito com JSF 1.2 CDK (Component Development Kit) com templates avanados, anotaes, extenses faces-config, etc Melhorias no AJAX framework </li> <li> 28. Infinispan Ir substituir o JBoss Cache Avanada plataforma de dados em grade Avanados algoritmos de concorrncia Perfeito para a ltima tecnologia de processadores multi core Compatibilidade com JTA Algoritmos eficientes de eviction Expe uma Cache interface </li> <li> 29. Hibernate Core Verso atual: 3.5.1 no JBoss AS 6.0 M3: 3.5.0.CR1 Implementa JPA 2 (JSR 317) Adicionou Infinispan como cache nvel 2 Suporte a JDBC4 </li> <li> 30. Hibernate Validator Verso 4.0.2.GA Includa no JBoss AS 6.0.M3 Implementao de referncia da JSR 303 Bean Validation Emmanuel Bernard, JBoss HIbernate </li> <li> 31. Clustering Novo httpd-based load balancer: mod_cluster Configurao dinmica dos ns httpd Clculo do fator do balanceamento de carga dos servidores Granularidade fina do ciclo de vida das aplicaes web Distino entre shutdown e crash </li> <li> 32. JBoss Marshalling Alternativa API de Serialization aproximadamente 2x mais rpida! Suporte plugvel a Class resolvers Substituio de objetos Tabelas pr-definidas de classes e de objetos Externalizers </li> <li> 33....</li></ul>