Insert Information Protection Policy Classification from Slide 13 2 Aplicações HTML5 com Java EE 7 e NetBeans Bruno Borges Oracle Product Manager Java Evangelist @brunoborges
Insert Information Protection Policy Classification from Slide 13 6 Java EE 6 – Estatísticas • 50+ Milhões de Downloads de Componentes Java EE 6 • #1 Escolha para Desenvolvedores Enterprise • #1 Plataforma de Desenvolvimento de Aplicações • Implementação mais Rápida de uma versão do Java EE
Insert Information Protection Policy Classification from Slide 13 7 Top Ten Features no Java EE 6 1. Empacotar EJB dentro de um WAR 2. Injeção de Dependência Type-safe 3. Deployment descriptors opcionais (web.xml, faces-config.xml) 4. JSF padronizado com Facelets 5. Uma única classe por EJB 6. Extensões de Servlet e CDI 7. CDI Events 8. EJBContainer API 9. Agendamento estilo Cron com @Schedule 10. Web Profile
Insert Information Protection Policy Classification from Slide 13 10 Java EE 7 Escopo • Produtividade de Desenvolvimento – Menos código Boilerplate – Funcionalidades mais ricas – Mais convenções e defaults • Suporte a HTML5 – WebSocket – JSON – HTML5 Forms JSR 342
Insert Information Protection Policy Classification from Slide 13 13 Java EE 7 Web Profile Web Profile updated to include – JAX-RS – WebSocket – JSON-P – EJB 3.2 Lite Outras APIs
Insert Information Protection Policy Classification from Slide 13 15 HTTP vs WebSockets Protocolo HTTP é half-duplex Gambiarras – Polling – Long polling – Streaming WebSocket resolve o problema de uma vez por todas – Full-duplex
Insert Information Protection Policy Classification from Slide 13 16 WebSockets Handshake Cliente solicita um UPGRADE Server confirma (Servlet 3.1) Cliente recebe o OK Inicia a sessão WebSocket http://farata.github.io/slidedecks/state_of_websocket/slides.html#13.4
Insert Information Protection Policy Classification from Slide 13 17 Java API for WebSockets 1.0 API para definir WebSockets, tanto Client como Server – Annotation-driven (@ServerEndpoint) – Interface-driven (Endpoint) – Client (@ClientEndpoint) SPI para data frames – Negociação handshake na abertura do WebSocket Integração com o Java EE Web container
Insert Information Protection Policy Classification from Slide 13 21 Maven Archetype para o Java EE 7 Maven Archetypes para Java EE 7 – http://mojo.codehaus.org Maven Archetype com o Embedded GlassFish configurado – http://github.com/glassfish/javaee7-archetype Agora só precisa... – $ mvn package embedded-glassfish:run
Insert Information Protection Policy Classification from Slide 13 23 JAX-RS 2.0 - Client // Get instance of Client Client client = ClientFactory.getClient(); // Get customer name for the shipped products String name = client.target(“http://.../orders/{orderId}/customer”) .resolveTemplate(“orderId”, “10”) .queryParam(“shipped”, “true)” .request() .get(String.class);
Insert Information Protection Policy Classification from Slide 13 26 JSON API 1.0 JsonParser – Processa JSON em modo “streaming” – Similar ao XMLStreamReader do StaX Como criar – Json.createParser(...) – Json.createParserFactory().createParser(...) Eventos do processador – START_ARRAY, END_ARRAY, START_OBJECT, END_OBJECT, ...
Insert Information Protection Policy Classification from Slide 13 35 Implementação de Referência do Java EE download.java.net/glassfish/4.0/promoted/ GlassFish 4.0
Insert Information Protection Policy Classification from Slide 13 36 Adopt a JSR JUGs participando ativamente Promovendo as JSRs – Para a comunidade Java – Revendo specs – Testando betas e códigos de exemplo – Examplos, docs, bugs – Blogging, palestrando, reuniões de JUG
Insert Information Protection Policy Classification from Slide 13 38 E o futuro Java EE 8? Arquitetura Cloud Multi tenancy para aplicações SaaS Entrega incremental de JSRs Modularidade baseada no Jigsaw Java EE 8 PaaS Enablement Multitenancy NoSQL JSON-B Modularity Cloud Storage Thin Server Architecture Cloud Programming Model
Insert Information Protection Policy Classification from Slide 13 40 Participe hoje mesmo! GlassFish 4.0 Java EE 7 RI – http://www.glassfish.org Java EE Expert Group – http://javaee-spec.java.net Adopt a JSR – http://glassfish.org/adoptajsr The Aquarium (GF Blog) – http://blogs.oracle.com/theaquarium NetBeans e Java EE 7 – http://wiki.netbeans.org/JavaEE7 Java EE 7 HOL – http://www.glassfish.org/hol
Insert Information Protection Policy Classification from Slide 13 43 The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.