25 DE MAIO @MICROSOFT Novidades de Java EE 7 Ernest Duarte NOME DA APRESENTAÇÃO Nome (Nick no Fórum) About me ! Nickname na Comunidade Ernest Duarte Profissão Instrutor em Ciências e Tecnologias Numéricas (Digitais) Bio 2013 - Engenheiro, designer, desenvolvedor e instrutor em tecnologias Java, XML, UML, GNU/Linux, Windows 8, WP 8, Android, WEB (HTML5, CSS3, JS, SVG) e Cloud Computing. Gerenciamento de projetos com métodos ágeis Scrum, Extreme Programming, Lean e Kanban. Participação no Devoxx France 2013 organizado por ParisJUG. Membro das comunidades : - Java : Paris JUG e GUJ Brasil : http://www.guj.com.br/ - Sistemas móveis : Paris Android User Group (PAUG) e BeMyApp - Web : France HTML5 User Group e WebRTC Paris 2007 - Trabalho de pesquisa sobre sistemas de aplicações , serviços e dados distribuídos e arcitecturas Node-to-Node http://jxta.free.fr/JXTA-EXPOSE/jxta-ernest-cnam-2007.pdf 2000 – Formação de Engenheiro em Paris: Design, Arquitetura e Desenvolvimento de Software opção: Redes de Computadores e Sistemas Multimídia 1998- Master de aplicações informáticas em computação científica. #2 Agenda 1- Introdução Java EE 6 2- Novidades de Java EE 7 3- Futuro da plataforma Java EE 8 #3 Plataformas JAVA #4 Java EE a história #5 Java EE passado, presente e futuro #6 Java EE arquitetura Fonte : Sun Microsystems #7 Servidores de aplicações Java EE #8 GlassFish implementação referencia https://today.java.net/pub/a/today/2007/12/11/clustering-with-shoal-framework.html #9 Java EE Web Application WAR # 10 Java EE 6 – Web Profil # 11 Java EE - Arquitetura em camadas n-tiers # 12 Java EE 6 – JSF 2 baseado em MVC 2 # 13 Fonte : Paris JUG Java EE 6 – ManagedBean <-EL-> View ContactBean.java ContactBean.xhtml Fonte : Paris JUG # 14 Diferentes tipos de EJB ● ● ● ● ● EJB Session stateless stateful singleton EJB Message Driven Bean EJB Entity CMP (Container Managed Persistence) BMP (Bean Managed Persistence) (Entity Beans presentes no EJB2 desapareceram no EJB3, os EJB entity são diretamente ligados à base de dados via um ORM a traves de JPA.) EclipseLink Fornece a implementação de referência do JPA 2.0. # 15 EJB - Annotations @Stateless, @Stateful, @Entity @MessageDriven @Remote @Stateless public class HelloWorldBean { public String sayHello(String name) { return "Bom dia "+name; } } # 16 Java EE 6 : EJB 3.1 compactação no WAR # 17 Java EE 6 : Packaging EJB 3.1 Um ficheiro WAR pode conter apenas um ejb-jar.xml diretamente no WEB-INF subdiretório da WebApp ou então no subdiretório META-INF do arquivo jar contido no subdiretório WEB-INF/lib # 18 Java EE 6 : funcionalidades importantes # 19 Objetivos de Java EE 7 e 8 # 20 Java EE 7 e 8 -Tendência par Cloud PaaS # 21 Java EE 7 - lista do que é previsto Batch Applications for the Java Platform (JSR 352) Bean Validation 1.1 (JSR 349) Context & Dependency Injection 1.1 (JSR 346) Enterprise JavaBeans 3.2 (JSR 345) Expression Language 3.0 (JSR 341) Java API for JSON Processing (JSR 353) Java API for RESTful Web Services 2.0 (JSR 339) Java API for WebSocket (JSR 356) Java Message Service 2.0 (JSR 343) Java Persistence API 2.1 (JSR 338) JavaServer Faces 2.2 (JSR 344) JCACHE Java Temporary Caching API (JSR 107) Java Servlet 3.1 (JSR 340) # 22 Java EE 7 # 23 Java EE 7 : Servlet # 24 Java EE 7 : Servlet # 25 Java EE 7 : Servlet # 26 Java EE 7 : Servlet # 27 Java EE 7 : JAX-RS 2.0 (JSR 339) Java API for RESTful Web Services 2.0 # 28 Java EE 7 : JAX-RS 2.0 (JSR 339) A nova API do cliente na versão 2.0, permitirá que você chame um terminal REST de uma forma padrão. Pontos de extensão, filtros de métodos e entidade interceptores que melhoram como fazer pedido e resposta e como fazer pre- e pós processamento muito facilmente, o que é útil em resposta às preocupações transversais, tais como registro ou de segurança, que você pode facilmente fazer como parte de seu endpoint REST. Outras novidades incluem o processamento assíncrono para o servidor eo cliente, permitindo aplicações mais escaláveis, suporte hipermídia, uma configuração comum para simplificar o terminal REST e muito mais. # 29 Java EE 7 : JAX-RS 2.0 (JSR 339) # 30 Java EE 7 : JMS 2.0 (JSR 343) # 31 Java EE 7 : JMS 2.0 (JSR 343) Java Message Service 2.0 A última versão do Java Message Service foi lançado em dezembro de 2003, antes JDK 1.4. Embora JMS seja estável e amplamente utilizado, ele precisa de alterações posteriores na plataforma Java, como os genéricos, injeção, e anotações. Java EE 7 utiliza a nova funcionalidade para melhorar a forma como os desenvolvedores a escrever código JMS. Com JMS 2.0, os desenvolvedores usarão menos código clichê e será capaz de tirar vantagem de injeção de recursos, o que significa uma maior funcionalidade e um código mais eficiente, mais simples. # 32 Java EE 7 : JMS 2.0 (JSR 343) # 33 Java EE 7 : JMS 2.0 (JSR 343) # 34 Java EE 7 : Concurrency Utilities (JSR 236) # 35 Java EE 7 : Concurrency Utilities (JSR 236) # 36 Java EE 7 : Concurrency Utilities (JSR 236) # 37 Java EE 7 : Concurrency Utilities (JSR 236) # 38 Java EE 7 : Batch Applications (JSR 352) # 39 Java EE 7 : Batch Applications (JSR 352) # 40 Java EE 7 : Batch Applications (JSR 352) # 41 Java EE 7 : JSON-P 1.0 (JSR 353) # 42 Java EE 7 : JSON-P 1.0 (JSR 353) Java API for JSON Processing 1.0 # 43 Fonte : Oracle Java EE 7 : JSON-P 1.0 (JSR 353) # 44 Java EE 7 : WebSocket # 45 Java EE 7 : WebSocket ? # 46 Fonte : http://kaazing.com/ Java EE 7 : WebSocket ? # 47 Fonte : http://kaazing.com/ Java EE 7 : WebSocket ? # 48 Fonte : http://kaazing.com/ Java EE 7 : WebSocket 1.0 (JSR 356) # 49 Fonte : Oracle https://java.net/projects/tyrus Java EE 7 : WebSocket 1.0 (JSR 356) # 50 Fonte : Oracle Java EE 7 : WebSocket 1.0 (JSR 356) # 51 Java EE 7 : WebSocket 1.0 (JSR 356) # 52 Java EE 7 : WebSocket 1.0 (JSR 356) # 53 Java EE 7 : Bean Validation (JSR 349) # 54 Java EE 7 : Bean Validation (JSR 349) # 55 Java EE 7 : JSF2.2 (JSR 344) # 56 Java EE 7 : JPA 2.1 (JSR 338) Java Persistence API 2.1 # 57 Java EE 7 : JPA 2.1 (JSR 338) # 58 Java EE 7 : CDI 1.1 (JSR 346 ) ● Context & Dependency Injection 1.1 # 59 Implementação de referencia de Java EE 7 # 60 GlassFish Roadmap # 61 Java EE 7 e 8 # 62 Cloud Computing Java EE # 63 Cloud Computing proprietários # 64 Cloud Computing # 65 Cloud Computing para Java EE # 66 Java EE # 67 Referencias Arun Gupta's Blog https://blogs.oracle.com/arungupta/ Java EE 7 Transparent Expert Groups https://java.net/projects/javaee-spec/pages/Home Java EE 7 Reference Implementation https://glassfish.java.net/ The Aquarium https://blogs.oracle.com/theaquarium/ Adopt-a-JSR https://glassfish.java.net/adoptajsr/ # 68 JSR # 69 Comunidades JAVA # 70 Recursos para aprender Java em português GUJ Brasil : http://www.guj.com.br/ # 71 http://www.caelum.com.br/ Conclusão https://blogs.oracle.com/arungupta/entry/java_ee_7_launch_webcast # 72 Patrocinador Gold Patrocinadores Silver Media Partners