O que ganhamos com Java e Cloud Computing?

1,742 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,742
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
19
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

O que ganhamos com Java e Cloud Computing?

  1. 1. 1 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  2. 2. Bruno Borges ● Desenvolvedor há 12 anos ● Florianópolis, Rio de Janeiro e São Paulo ● Conferências – JavaOne, JustJava, ApacheCon, The Developers Conference, Profissão Java ● Evangelista Java EE – Oracle do Brasil @brunoborges2 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  3. 3. Java SE 7 e Java EE 6 Java EE 75 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  4. 4. GlassFish Java EE 76 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  5. 5. NetBeans Java EE 77 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  6. 6. MySQL Server Java EE 78 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  7. 7. Java Embedded Java EE 79 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  8. 8. Open Source Java FX Java EE 710 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  9. 9. Oracle movedJava forward! Java EE 7
  10. 10. JavaOne Brasil Java EE Brasil 7
  11. 11. bit.ly/JavaMagazine
  12. 12. O que ganhamos com Java e Cloud Computing? Bruno Borges Principal Product Manager – Cloud Application Foundation Java EE, GlassFish, WebLogic, Coherence14 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  13. 13. Java EE ● Plataforma aberta ● Implementações Open Source ● Dirigida pelo JCP15 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  14. 14. Java EE 6 ● Maior produtividade ● Menor complexidade16 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  15. 15. Mais produtividade, menos código: Java EE 6 25% 50% 80% Menos Classes Menos Linhas Menos Linhas Java* de Código* de XML*• Menos XML, Menos Código • Simplificação, Produtividade • Modernização • Java Server Faces 2.0 • Managed Beans 1.0 • Context & Dependency • Java Servlets 3.0 • Bean Validation 1.0 Injection 1.0 • Java Persistence 2.0 • JAX-WS 2.2 • Bean Validation 1.0 • Enterprise Java Beans 3.1 • Java API for RESTful & Interceptors 1.1 Web Services * Baseado em um aplicativo criado no JavaOne usando POJO / JPA / REST 17 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  16. 16. Java EE – Plataforma ideal para Cloud18 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  17. 17. Top 10 features do Java EE 6 ● EJB dentro do WAR ● Extensões p/ Servlet e CDI ● web.xml é opcional ● Dependency Injection ● Eventos no CDI ● Facelets é padrão JSF ● API do EJBContainer ● @Schedule ● EJB sem Interfaces ● Profile Web19 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  18. 18. Java EE como PaaS Java EE 7
  19. 19. Ofertas de Cloud atuais SaaS IaaS SaaS PaaS IaaS PaaS21 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  20. 20. Areas de Foco do Java EE 7 e 8● Provisionamento ● Jigsaw ● JSON● Elasticidade ● Interop com ● WebSockets Escalabilidade OSGi APIs● ● Autônoma ● Suportar ● DOM● Multi-Tenancy profiles e apps modulares ● Offline 22 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  21. 21. Serviços em um PaaS Java EE ● Aplicações na Nuvem consumem serviços – Persistência, mensageria, email, caching... ● Metadados facilitam o consumo de serviços ao deployar na Nuvem @DataSourceDefinition( name=“java:app/jdbc/myDB”, className=“oracle.jdbc.pool.OracleDataSource”, isolationLevel=TRANSACTION_REPEATABLE_READ, initialPoolSize=5 )23 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  22. 22. Elasticidade ● Níveis de serviços ● Número mínimo e máximo de instâncias ● Futuro – Auto-ajuste – Capacidade sob demanda24 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  23. 23. Provisionamento25 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  24. 24. Multi-tenancy ● Suporte para instâncias separadas/isoladas da mesma aplicação, para cada tenant – Uma instância da aplicação por tenant – Tenants correspondem a unidades de isolamento – Uma forma limitada de SaaS ● Mapeamento do tenant feito pelo container ● Identificador do tenant disponível para a aplicação – Ex: java:/comp/tenantId ● Roadmap para o Java EE 826 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  25. 25. Isto irá permitir que ... “Uma empresa de software cria uma aplicação, instala em um provedor PaaS, e qualquer número de tenants se registram na aplicação, fazem deploy e seus usuários acessam”27 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  26. 26. Quem oferece Java EE como PaaS?28 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  27. 27. Oracle Java Cloud Service ● Escolha #1 da Indústria ● 43% Market Share ● Suporte ao Java 7 ● Java EE 6 Certified ● Suporte ao GlassFish DD ● Lightweight29 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  28. 28. Oracle GlassFish ServerServidor de Aplicação Enterprise e Cloud ReadyImplementação de Referência do Java EE 30 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  29. 29. Desenvolvendo com Java EE Java EE 7
  30. 30. Java EE 7 (e 8) não é apenas sobre Cloud ● Alinhamento das especificações EJB, CDI, JSF ... – Pojo → ManagedBean → Enterprise JavaBean – Extensão de container-managed transaction além dos EJBs ● Mais simplificação no desenvolvimento – API de Cliente JAX-RS, Bean Validation – JMS 2.0 – Maior uso de injeção de dependência – Maior uso de metadados para configuração e definição de serviços ● “Abandono” de funcionalidades antigas – EJB 2.x (Entity Beans BMT/CMT), JAX-RPC, API de deployment33 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  31. 31. Java EE 7 – JSRs candidatas34 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  32. 32. Java Persistence API 2.1 ● @NamedStoredProcedureQuery, StoredProcedureQuery ● Update/delete em massa, usando Criteria ● Acesso a funções de banco de forma padronizada35 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  33. 33. Java API for RESTful Web Services 2.0 ● Client-side API ● Validações ● Hypermedia ● Alinhamento com CDI ● Negociação de conteúdo Server-side ● Filtros e interceptadores ● Client-side e Server-side async requests36 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  34. 34. JavaServer Faces 2.2 ● Controle de acesso para requests Ajax (queue) ● Componente de File Upload (Non-Ajax & Ajax) ● Injection em todos os artefatos JSF – Incluindo conversores & validatores ● @FaceletsResourceResolver ● Instanciação de componentes de composição em Java ● HTML5 Friendly Markup – HTML puro37 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  35. 35. Contexts & Dependency Injection 1.1 ● Modo embedded, para rodar fora do container Java EE ● Ordenação global de interceptadores e decoradores ● API para gerenciar contextos ● Disparar eventos de Servlet como eventos CDI38 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  36. 36. Enterprise JavaBean 3.2 ● Especificação separada em 3 partes – Core: transações CMT em ManagedBeans, Timer não-persistente e método Async no EJB 3 Lite – Optional: Entity Beans, JAX-RPC Web Service endpoint – Interceptors ● Alinhamento com JMS 2.039 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  37. 37. Enterprise JavaBean 3.2 ● Especificação separada em 3 partes – Core: transações CMT em ManagedBeans, Timer não-persistente e método Async no EJB 3 Lite – Optional: Entity Beans, JAX-RPC Web Service endpoint – Interceptors ● Alinhamento com JMS 2.040 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  38. 38. JCP 2.8 Java EE 7
  39. 39. Transparência ● JSRs lideradas pela Oracle são abertas – http://javaee-spec.java.net ● Arquivo da mailing-list do Expert Group é público ● Área de download pública ● Issue Tracker público ● Comprometido em finalizar a atualização para o JCP 2.842 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  40. 40. Outras linguagens Java EE 7
  41. 41. Em um PaaS Java EE, você ainda pode ... ● Utilizar outras linguagens – JRuby – PHP – Scala – Clojure – Groovy – Jython – Javascript44 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  42. 42. Continuous Integrationand Delivery EE 7 Java
  43. 43. Integração Contínua com Apache Maven ● Plugins – Compile – Test – Package – Deploy – Administrate50 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  44. 44. Integração com Servidores de IC Servidor de IntegraçãoRepositório Contínua Servidor do Código Compila & na Empacota Nuvem 51 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  45. 45. Agenda do Java EE Java EE 7
  46. 46. Agenda do Java EE● Atualmente, em “Public Review”● Lançamento do Java EE 7 – 29 de Abril de 2013● Lançamento também do GlassFish 4.0● Agenda completa em – http://java.net/projects/javaee-spec/pages/Home53 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  47. 47. Participe!● Java EE 7 Expert Group Project – http://javaee-spec.java.net● Java EE 7 Reference Implementation – http://glassfish.org● The Aquarium – http://blogs.oracle.com/theaquarium54 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware

×