Upload
bruno-borges
View
1.476
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
1 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
2 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
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
@brunoborges
5 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java EE 7Java SE 7 e Java EE 6
6 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java EE 7GlassFish
7 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java EE 7NetBeans
8 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java EE 7MySQL Server
9 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java EE 7Java Embedded
10 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java EE 7Open Source Java FX
Java EE 7Oracle moved Java forward!
Java EE 7JavaOne Brasil
Brasil
bit.ly/JavaMagazine
14 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
O que ganhamos com Java e Cloud Computing?
Bruno BorgesPrincipal Product Manager – Cloud Application FoundationJava EE, GlassFish, WebLogic, Coherence
15 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java EE
● Plataforma aberta
● Implementações Open Source
● Dirigida pelo JCP
16 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java EE 6
● Maior produtividade
● Menor complexidade
17 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Mais produtividade, menos código: Java EE 6
* Baseado em um aplicativo criado no JavaOne usando POJO / JPA / REST
• Menos XML, Menos Código• Java Server Faces 2.0• Java Servlets 3.0• Java Persistence 2.0• Enterprise Java Beans 3.1
& Interceptors 1.1
25%Menos Classes
Java*
50%Menos Linhas
de Código*
80%Menos Linhas
de XML*
• Simplificação, Produtividade• Managed Beans 1.0• Bean Validation 1.0• JAX-WS 2.2
• Modernização• Context & Dependency
Injection 1.0• Bean Validation 1.0• Java API for RESTful
Web Services
18 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java EE – Plataforma ideal para Cloud
19 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
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 Web
Java EE 7Java EE como PaaS
21 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Ofertas de Cloud atuais
IaaS
IaaS
PaaS
PaaS
SaaSSaaS
22 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Areas de Foco do Java EE 7 e 8
● Provisionamento
● Elasticidade
● EscalabilidadeAutônoma
● Multi-Tenancy
● Jigsaw
● Interop com OSGi
● Suportar profiles e apps modulares
● JSON
● WebSockets
● APIs
● DOM
● Offline
23 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
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)
24 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Elasticidade
● Níveis de serviços
● Número mínimo e máximo de instâncias
● Futuro
– Auto-ajuste
– Capacidade sob demanda
25 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Provisionamento
26 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
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 8
27 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
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”
28 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Quem oferece Java EE como PaaS?
29 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Oracle Java Cloud Service
● Escolha #1 da Indústria
● 43% Market Share
● Suporte ao Java 7
● Java EE 6 Certified
● Suporte ao GlassFish DD
● Lightweight
30 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Servidor de Aplicação Enterprise e Cloud ReadyImplementação de Referência do Java EE
Oracle GlassFish Server
Java EE 7Desenvolvendo com Java EE
33 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
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 deployment
34 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java EE 7 – JSRs candidatas
35 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java Persistence API 2.1
● @NamedStoredProcedureQuery,StoredProcedureQuery
● Update/delete em massa, usando Criteria
● Acesso a funções de banco de forma padronizada
36 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
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 requests
37 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
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 puro
38 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
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 CDI
39 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
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.0
40 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
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.0
Java EE 7JCP 2.8
42 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Transparência
● JSR's 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.8
Java EE 7Outras linguagens
44 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Em um PaaS Java EE, você ainda pode ...
● Utilizar outras linguagens– JRuby
– PHP
– Scala
– Clojure
– Groovy
– Jython
– Javascript
Java EE 7Continuous Integrationand Delivery
50 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Integração Contínua com Apache Maven
● Plugins
– Compile
– Test
– Package
– Deploy
– Administrate
51 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Integração com Servidores de IC
Servidor de Integração ContínuaRepositório
do CódigoServidor
naNuvem
Compila & Empacota
Java EE 7Agenda do Java EE
53 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
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/Home
54 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
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/theaquarium