SlideShare uma empresa Scribd logo
1 de 65
Baixar para ler offline
GlassFish, Maven, Cloud e o futuro do Java EE
           Bruno Borges | Fusion Middleware | Product Management
1          bruno.borges@oracle.com
    Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
JCP 2.8
          Java EE 7
Java SE 8 e Java EE 7
                                                               Java EE 7
5   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Novidades em produtos Oracle

●       Oracle ADF Essentials
        –     Grátis para desenvolvedores e para deployment em produção
        –     Deploy em qualquer servidor de aplicação Java EE
●       Oracle WebLogic Server 12c
        –     ZIP com apenas 183 Mb
        –     Grátis para desenvolvedores
●       Oracle ADF Mobile
        –     iOS
        –     Android



    6   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
MySQL Server
                                                               Java EE 7
7   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java Embedded
                                                               Java EE 7
8   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
GlassFish 4.0
                                                               Java EE 7
9   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Open Source Java FX
                                                                Java EE 7
10   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Oracle moved
Java forward!
        Java    EE 7
JavaOne Brasil
       Java EE Brasil
               7
bit.ly/JavaMagazine
The following 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.




14   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


15   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Agenda
     ●       Java EE
                –       Versão 6
                –       Futuro: Java EE 7
     ●       GlassFish
                –       História
                –       Futuro
     ●       Apache Maven
     ●       Embedded GlassFish Maven Plugin


16   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
O que o mercado procura?




17   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Spring vs Java EE ?

     ●        Java EE evoluiu graças ao Spring
     ●        Full e Web profiles – lightweight!
     ●        Spring utiliza recursos EE
     ●        Java as a language / Java as a platform
     ●        Java EE as a platform / Java EE as a framework



18   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Desenvolvimento Moderno com Java EE 6
             Flexível & Leve                                                                         Estensível

• API Java EE mais enxuta                                                                • Integre frameworks open source
• DI (Dependency Injection)                                                              • Habilite a instalação “Drag & Drop”
  agora é um padrão Java EE                                                                de frameworks open source
• Manipule cenários simples e                                                            • Extensões padrões para DI não
  complexos sem dependências                                                               criam mais lock-ins proprietários
  externas
                                                                      Produtividade no
                                                                      Desenvolvimento

                                              • Modelo de programação em POJOs
                                              • Mais anotações, melhor suporte de IDE
                                              • Menos config. XML, mais convenções
                                              • Anotações e não deployment descriptors

  19   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
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


    20   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java EE 6
●    Java EE 6 – JSR 316
       –        Profiles
       –        EJB 3.1
       –        JSF 2.0
       –        JSP 2.2 / Servlets 3.0
       –        JAX-RS
       –        JAX-WS 2.2
       –        JPA 2.0
       –        Java EE Connectors 1.6

21   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java EE 6

     ●
              As coisas boas do Java EE 6
                 –        Não precisa mais de web.xml
                 –        Melhora na API de Servlets para tratar FileUpload
                 –        Validation (JSR 303) no JPA
                 –        CDI @Inject                               #FWT o/




22   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java EE 6

     ●
              As coisas boas do Java EE 6
                 –        EJB do jeito que todo mundo queria
                              ●
                                     Não precisa mais de um ejb-jar.xml
                              ●
                                     Anotações
                              ●
                                     @Singleton e @Startup beans
                              ●
                                     @Schedule bean's methods
                              ●
                                     Operações assíncronas



23   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Do JEE 6 para o JEE 7




24   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java EE 7
       Java EE 7
Java EE 7 – JSRs candidatas




26   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java EE 7
     ●     EJB 3.2 – JSR 345
              –       Suporte a multi-tenancy
              –       Melhora no uso de anotações para simplificar o modelo de programação
              –       Alinhamento com outras especificações como CDI, JMS e
                      BeanValidation
     ●     JPA 2.1 – JSR 338
              –       Introdução da interface StoredProcedureQuery




27   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java EE 7
     ●
           Servlet 3.1 e WebSockets
           JSF 2.2 – JSR 344
              –       Mais fácil de criar componentes
              –       HTML5 e
              –       Template em HTML puro
              –       Novos componentes
              –       Mobile devices



28   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java EE 7
           O mais esperado (IMO)
     ●
           JMS – Java Messaging Service 2.0 – JSR 343
                          ●
                                  Melhora no modelo de programação
                          ●
                                  Integração com CDI
                          ●
                                  Mudanças na API para permitir maior integração entre vendors
                                  de JMS com qualquer container JEE
                          ●
                                  “Cloud-friendly”: suporte a multi-tenancy e outras funcionalidades
                                  relacinadas a Cloud



29   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Ofertas de Cloud atuais

     SaaS                                                            IaaS   SaaS




                                                                    PaaS

     IaaS
                                                                                   PaaS



30   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
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



    31   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Quem oferece Java EE como PaaS?




32   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Java EE 7 – Plataforma ideal para Cloud




33   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Oracle GlassFish Server
        Java EE 7
GlassFish - História
●
         Criado pela Sun em 2005
●
         2006 (v1), RI do JEE 5
           –        para desenvolvedores
●
         2007 (v2), adicionou Clustering
         e outras funções
           –        para enterprise
●
         2009, (v3) RI do JEE 6
           –        Nova arquitetura (OSGi,
                    fast-startup, etc)
    35   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
GlassFish - História

●
         V 3.1 – Fevereiro 2011
           –        Load Balancing
           –        Centralised Admin
●
         V 3.1.1 – Julho 2011
           –        Correção de bugs




    36   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
GlassFish - História

●
         V 3.1.2 – Fevereiro 2012
           –        Correção de bugs
           –        Novo console administrativo
           –        Melhorias no Thread Pool
           –        Transaction Recovery




    37   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
GlassFish - Futuro

●
         Versão 4.0 - Roadmap
           –        Java EE 7
           –        Suporte a virtualização
           –        PaaS oriented




    38   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
GlassFish 4.0
Servidor de Aplicação Enterprise Ready
Referência de Implementação Java EE 7


 39   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Migração simples do GlassFish para o Oracle
     WebLogic 12c




40   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Desenvolvimento JEE + leve c/ WebLogic 12c
                                                                     1GB
●
     Melhoría de 2X à 6X do tamanho do download para
     os desenvolvedores

●
     Sem instaladores, faça unzip e inicie o uso dentro do
     Windows, Linux ou OSX (Mac)
                                                                    6X
                                                                                       318MB
●
     Inicie uma instância com o parâmetro
             -Dservertype=wlx
                                para carregar o WebLogic                                                  168MB
     12c sem os contêiners de EJB, JMS e JCA                                           2X
●
     Faça download e utilize o produto sem custo
     (estudos), sem chaves de ativação ou datas de
     expiração dos produtos. Use a vasta documentação               Distribuição 11g   Distribuição 11g
                                                                                        (Formato Zip)
                                                                                                          Distribuição 12c

     online da Oracle


41   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
5
O que é?

         • Projeto Open Source da Apache
         • O Maven é:
                    –      Um sistema de build automatizado +
                    –      Um sistema de gestão de projetos +
                    –      Um sistema para gerir dependências +
                    –      Um sistema de descrição de projetos +
                    –      Um sistema de geração de sites + ...

43   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Apache Maven
●    Ferramenta de build
       –        Convention over configuration
       –        Arquivos POMs
       –        Repositório de artefatos
       –        Plugins




44   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Apache Maven
●    Perfeito para
       –        Integração Contínua
       –        Aceleração na ambientação de novos desenvolvedores




45   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Apache Maven
●    Principais Plugins para projetos Java EE 6
       –        WAR plugin
       –        EAR plugin
       –        GlassFish Embedded Plugin
       –        Dependency plugin
       –        Assembly plugin
       –        Groovy Maven Plugin
       –        Archetype Plugin


46   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
WAR plugin
<project>                                    |-- pom.xml
                                              `-- src
  <groupId>com.myproject</groupId>                `-- main
  <artifactId>myproject</artifactId>                  |-- java
  <packaging>war</packaging>                          |   `-- com
  <version>1.0-SNAPSHOT</version>                     |       `-- example
                                                      |           `-- projects
  <build>                                             |               `-- SampleAction.java
    <plugins>                                         |-- resources
      <plugin>                                        |   `-- images
       <groupId>org.apache.maven.plugins</groupId>    |       `-- sampleimage.jpg
        <artifactId>maven-war-plugin</artifactId>     `-- webapp
        <version>2.2</version>                            |-- WEB-INF
        <configuration>                                   |   `-- web.xml
   <failOnMissingWebXml>false</failOnMissingWebXml>       |-- index.jsp
        </configuration>                                  `-- jsp
      </plugin>                                               `-- websource.jsp
    </plugins>
  </build>
</project>


   47   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Definição das dependências
                                                                            <plugin>
●   Como controlar                                                            <groupId>org.apache.maven.plugins</groupId>
                                                                              <artifactId>maven-war-plugin</artifactId>
    quais dependências                                                        <version>2.2</version>
                                                                              <configuration>
    vão para o MANIFEST                                                         <archive>
                                                                                  <manifest>
    e/ou para o WEB-INF                                                             <addClasspath>true</addClasspath>
                                                                                  </manifest>
    /lib?                                                                       </archive>
                                                                              </configuration>
    –        default                                                        </plugin>

             vai para o MANIFEST, e no WEB-INF/lib
    –        <optional>true</optional>
             vai para o MANIFEST, mas não no WEB-INF/lib
    –        <scope>provided</scope>
             não vai para o MANIFEST, nem para o WEB-INF/lib

        48   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
EAR plugin                                                     |--   pom.xml
                                                                        |--   module-ear
                                                                        |     `-- pom.xml
<plugin>                                                                |--   module-ejb
  <groupId>org.apache.maven.plugins</groupId>                           |     |-- pom.xml
  <artifactId>maven-ear-plugin</artifactId>                             |     `-- src
  <version>2.7</version>                                                |         `-- main
</plugin>                                                               |             |-- java
                                                                        |             |   `-- com
<configuration>                                                         |             |       `-- myproject
  <modules>                                                             |             |           `-- MyStatelessBean.java
    <ejbModule>                                                         `--   module-web
      <groupId>com.myproject</groupId>                                        |-- pom.xml
      <artifactId>module-ejb</artifactId>                                     `-- src
                                                                                  `-- main
    </ejbModule>
                                                                                      |-- java
    <webModule>                                                                       |-- resources
      <groupId>com.myproject</groupId>                                                `-- webapp
      <artifactId>module-web</artifactId>
      <contextRoot>myproject</contextRoot>
    </webModule>
  </modules>
</configuration>


    49   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
GlassFish Embedded plugin

●    Permite rodar o GlassFish (tanto Web quanto Full profile)
     a partir do Maven
       –        $ mvn embedded-glassfish:run
●    Permite fazer deploy e undeploy em uma instância
     remota
       –        $ mvn embedded-glassfish:deploy
       –        $ mvn embedded-glassfish:undeploy


50   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
GlassFish Embedded plugin

     ●        Permite iniciar ou parar uma instância remota ou local
              (embedded)
                 –        $ mvn embedded-glassfish:start
                 –        $ mvn embedded-glassfish:stop
     ●        Permite administrar uma instância remote ou local
              (embedded)
                 –        $ mvn embedded-glassfish:admin



51   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
GlassFish Embedded plugin
     ●        Como configurar?
                 –        Artefatos no repositório central (#win o/)
                 –        Dependências necessárias e seus escopos




52   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
GlassFish Embedded plugin
     <dependency>
       <groupId>org.glassfish.main.extras</groupId>
       <artifactId>glassfish-embedded-all</artifactId>
       <!-- ou web para projetos q nao usam todo o profile JEE -->
       <version>3.1.2</version>
       <scope>test</scope>
     </dependency>

     <dependency>
       <groupId>javax</groupId>
       <artifactId>javaee-api</artifactId>
       <version>6.0</version>
       <scope>provided</scope>
     </dependency>


53   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
GlassFish Embedded plugin

     ●        Como configurar?
                 –        Plugin
                 –        domain.xml (para DataSource e outras configurações de container)




54   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
GlassFish Embedded plugin

     <plugin>
       <groupId>org.glassfish.embedded</groupId>
       <artifactId>maven-embedded-glassfish-plugin</artifactId>
       <version>3.1.2</version>
       <configuration>
         <goalPrefix>embedded-glassfish</goalPrefix>
         <configFile>src/test/resources/domain.xml</configFile>
         <contextRoot>/</contextRoot>
         <app>${project.build.directory}/${build.finalName}.war</app>
         <port>8080</port>
         <autoDelete>true</autoDelete>
       </configuration>
     </plugin>



55   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
WebLogic também tem Maven Plugin

     ●        Goals disponíveis:
                 –        install
                 –        create-domain
                 –        start-server
                 –        wlst
                 –        appc
                 –        deploy



56   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Integração com Servidores de IC




                                                                       Servidor de
                                                                       Integração
Repositório                                                             Contínua     Servidor
 do Código                                             Compila &
                                                                                     WebLogic
                                                       Empacota
                                                                                     GlassFish
   57   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Outros plugins interessantes

     ●        Dependency
                 –        Visualizar as dependencias
                          $ mvn dependency:tree
                 –        Copiar as dependencias para algum diretório
                          $ mvn dependency:copy-dependencies
                 –        Criar um ClassPath
                          $ mvn dependency:build-classpath
                 –        Modo offline
                          $ mvn dependency:go-offline


58   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Outros plugins interessantes

●    Assembly
       –        Agregar artefatos e dependencias do projeto em um arquivo ou diretório,
                por exemplo:
                    ●       Criar um ZIP com todas as dependências
                    ●       Criar um ZIP com todos os fontes
                    ●       Criar um JAR (big-fat) executável




           <plugin>
59
             <groupId>org.apache.maven.plugins</groupId>
     Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Outros plugins interessantes
●    GMaven - Groovy
       –        Scripting no build usando linguagem Groovy
                    ●       Em alguns servidores, pode ser necessário criar arquivos XML
                            específicos (como deployment descriptors)
                    ●       Com o GMaven, é mais fácil de gerar esses arquivos

                                             <plugin>
                                                  <groupId>org.codehaus.gmaven</groupId>
                                                  <artifactId>gmaven-plugin</artifactId>
                                                  <version>1.3</version>
                                             </plugin>


60   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Exemplo GMaven
     <configuration> <source>
               def sw = new FileWriter(new File("target/module.xml"))
               def xml = new groovy.xml.MarkupBuilder(sw)
               xml.module(xmlns:'urn:jboss:module:1.0', name:'com.bemobi.infosender') {
                 resources {
                     project.runtimeClasspathElements.each {
                      def path = it.find(".*?([w.-]*.jar)") { it[1] }
                      !path?:'resource-root'(path:path) } }
                 dependencies {
                     'module'(name:'org.hibernate', export:'true')
                     'module'(name:'org.slf4j', export:'true')
                     'module'(name:'org.apache.commons.logging', export:'true')
                     'module'(name:'com.sun.xml.bind', export:'true')
                     'module'(name:'javaee.api', export:'true') }
               }
     </source> </configuration>



61    Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Outros plugins interessantes

     ●        Archetype
                 –        Auxilia na definição de “esqueletos” de projetos reutilizáveis
                 –        Grandes empresas podem se beneficiar, quando possuem
                          arquitetura padrão para todos os projetos




62   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
Links
     ●        GlassFish                                             @glassfish
              http://www.glassfish.org
     ●        Embedded GlassFish (3.1.2 docs)
              http://bit.ly/eg312
     ●        Apache Maven
              http://maven.apache.org
     ●        Groovy Magen Plugin
              http://bit.ly/gmaven


63   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
http://www.youtube.com/watch?v=I5lAgaCbqZ0




64   Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
http://www.youtube.com/watch?v=I5lAgaCbqZ0
GlassFish, Maven, Cloud e Java EE

Mais conteúdo relacionado

Mais procurados

Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Dr. Spock
 
Desenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsDesenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsIgo Coelho
 
As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!Diego Santos
 
JavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoJavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoEduardo Bregaida
 
Build Automation Evolved
Build Automation EvolvedBuild Automation Evolved
Build Automation EvolvedMarcelo Diniz
 
Construindo aplicações web java com netbeans
Construindo aplicações web java com netbeansConstruindo aplicações web java com netbeans
Construindo aplicações web java com netbeansSliedesharessbarbosa
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorAllyson Barros
 
Java, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJava, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJoão Longo
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks phpIgor Moura
 
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesJSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesEder Magalhães
 
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXF
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXFIntrodução ao JBoss Fuse 6.x: criação e implantação de um serviço CXF
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXFRafael T. C. Soares (tuelho)
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
 

Mais procurados (20)

Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2
 
Desenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsDesenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e Servlets
 
As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!
 
Java ee 5
Java ee 5Java ee 5
Java ee 5
 
Introdução a jsf
Introdução a jsfIntrodução a jsf
Introdução a jsf
 
GUJavaSC - Unit Testing com Java EE
GUJavaSC - Unit Testing com Java EEGUJavaSC - Unit Testing com Java EE
GUJavaSC - Unit Testing com Java EE
 
Desenvolvimento de Aplicações
Desenvolvimento de AplicaçõesDesenvolvimento de Aplicações
Desenvolvimento de Aplicações
 
Jee6
Jee6Jee6
Jee6
 
GUJavaSC - Mini-curso Java EE
GUJavaSC - Mini-curso Java EEGUJavaSC - Mini-curso Java EE
GUJavaSC - Mini-curso Java EE
 
JavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoJavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em Desenvolvimento
 
Prime Faces
Prime FacesPrime Faces
Prime Faces
 
Build Automation Evolved
Build Automation EvolvedBuild Automation Evolved
Build Automation Evolved
 
Construindo aplicações web java com netbeans
Construindo aplicações web java com netbeansConstruindo aplicações web java com netbeans
Construindo aplicações web java com netbeans
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
 
Tutorial Java EE
Tutorial Java EETutorial Java EE
Tutorial Java EE
 
Java, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJava, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a Objetos
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks php
 
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesJSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
 
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXF
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXFIntrodução ao JBoss Fuse 6.x: criação e implantação de um serviço CXF
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXF
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 

Semelhante a GlassFish, Maven, Cloud e Java EE

O que ganhamos com Java e Cloud Computing?
O que ganhamos com Java e Cloud Computing?O que ganhamos com Java e Cloud Computing?
O que ganhamos com Java e Cloud Computing?Bruno Borges
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXjesuinoPower
 
Spring roo produtividade no java
Spring roo produtividade no javaSpring roo produtividade no java
Spring roo produtividade no javaPedro Cavalero
 
Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Facescejug
 
Introdução a Plataforma Java EE
Introdução a Plataforma Java EEIntrodução a Plataforma Java EE
Introdução a Plataforma Java EEEder Magalhães
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaMariana de Azevedo Santos
 
Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2Claudiney Marques
 
Java OO Middleware - JEE / EJB / RMI
Java OO Middleware - JEE / EJB / RMIJava OO Middleware - JEE / EJB / RMI
Java OO Middleware - JEE / EJB / RMIYitzhak Stone
 
Java Platform, Enterprise Edition
Java Platform, Enterprise EditionJava Platform, Enterprise Edition
Java Platform, Enterprise EditionDaniel Arndt Alves
 
MySQL + Java - Manuel Contreras
MySQL + Java - Manuel ContrerasMySQL + Java - Manuel Contreras
MySQL + Java - Manuel ContrerasMySQL Brasil
 
Arquitetura jee bp_overview
Arquitetura jee bp_overviewArquitetura jee bp_overview
Arquitetura jee bp_overviewJuarez Junior
 
Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SP
Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SPBoas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SP
Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SPjesuinoPower
 
Alta Performance e Escalabilidade para Java / Java EE e Aplicativos Oracle us...
Alta Performance e Escalabilidade para Java / Java EE e Aplicativos Oracle us...Alta Performance e Escalabilidade para Java / Java EE e Aplicativos Oracle us...
Alta Performance e Escalabilidade para Java / Java EE e Aplicativos Oracle us...Ricardo Ferreira
 
Jsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenJsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenLeandro Costa
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoRegis Machado
 
Repensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeRepensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeAdriano Tavares
 

Semelhante a GlassFish, Maven, Cloud e Java EE (20)

O que ganhamos com Java e Cloud Computing?
O que ganhamos com Java e Cloud Computing?O que ganhamos com Java e Cloud Computing?
O que ganhamos com Java e Cloud Computing?
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFX
 
Serra StarTec 2013 - Java EE
Serra StarTec 2013 - Java EESerra StarTec 2013 - Java EE
Serra StarTec 2013 - Java EE
 
Spring roo produtividade no java
Spring roo produtividade no javaSpring roo produtividade no java
Spring roo produtividade no java
 
Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Faces
 
Introdução a Plataforma Java EE
Introdução a Plataforma Java EEIntrodução a Plataforma Java EE
Introdução a Plataforma Java EE
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em Java
 
Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
Java OO Middleware - JEE / EJB / RMI
Java OO Middleware - JEE / EJB / RMIJava OO Middleware - JEE / EJB / RMI
Java OO Middleware - JEE / EJB / RMI
 
Java Platform, Enterprise Edition
Java Platform, Enterprise EditionJava Platform, Enterprise Edition
Java Platform, Enterprise Edition
 
MySQL + Java - Manuel Contreras
MySQL + Java - Manuel ContrerasMySQL + Java - Manuel Contreras
MySQL + Java - Manuel Contreras
 
Arquitetura jee bp_overview
Arquitetura jee bp_overviewArquitetura jee bp_overview
Arquitetura jee bp_overview
 
Java em 2021
Java em 2021Java em 2021
Java em 2021
 
Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SP
Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SPBoas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SP
Boas práticas na criação de aplicações sérias com JavaFX - TDC 2014 SP
 
Alta Performance e Escalabilidade para Java / Java EE e Aplicativos Oracle us...
Alta Performance e Escalabilidade para Java / Java EE e Aplicativos Oracle us...Alta Performance e Escalabilidade para Java / Java EE e Aplicativos Oracle us...
Alta Performance e Escalabilidade para Java / Java EE e Aplicativos Oracle us...
 
Jsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenJsf com hibernate, spring security e maven
Jsf com hibernate, spring security e maven
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
 
Repensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeRepensando padrões e boas práticas java ee
Repensando padrões e boas práticas java ee
 
Java v1.1
Java v1.1Java v1.1
Java v1.1
 

Mais de Bruno Borges

Secrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on KubernetesSecrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on KubernetesBruno Borges
 
[Outdated] Secrets of Performance Tuning Java on Kubernetes
[Outdated] Secrets of Performance Tuning Java on Kubernetes[Outdated] Secrets of Performance Tuning Java on Kubernetes
[Outdated] Secrets of Performance Tuning Java on KubernetesBruno Borges
 
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX AppsFrom GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX AppsBruno Borges
 
Making Sense of Serverless Computing
Making Sense of Serverless ComputingMaking Sense of Serverless Computing
Making Sense of Serverless ComputingBruno Borges
 
Visual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring DevelopersVisual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring DevelopersBruno Borges
 
Taking Spring Apps for a Spin on Microsoft Azure Cloud
Taking Spring Apps for a Spin on Microsoft Azure CloudTaking Spring Apps for a Spin on Microsoft Azure Cloud
Taking Spring Apps for a Spin on Microsoft Azure CloudBruno Borges
 
A Look Back at Enterprise Integration Patterns and Their Use into Today's Ser...
A Look Back at Enterprise Integration Patterns and Their Use into Today's Ser...A Look Back at Enterprise Integration Patterns and Their Use into Today's Ser...
A Look Back at Enterprise Integration Patterns and Their Use into Today's Ser...Bruno Borges
 
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemMelhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemBruno Borges
 
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na NuvemTecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na NuvemBruno Borges
 
Java EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The CloudJava EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The CloudBruno Borges
 
Migrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFXMigrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFXBruno Borges
 
Servidores de Aplicação: Por quê ainda precisamos deles?
Servidores de Aplicação: Por quê ainda precisamos deles?Servidores de Aplicação: Por quê ainda precisamos deles?
Servidores de Aplicação: Por quê ainda precisamos deles?Bruno Borges
 
Build and Monitor Cloud PaaS with JVM’s Nashorn JavaScripts [CON1859]
Build and Monitor Cloud PaaS with JVM’s Nashorn JavaScripts [CON1859]Build and Monitor Cloud PaaS with JVM’s Nashorn JavaScripts [CON1859]
Build and Monitor Cloud PaaS with JVM’s Nashorn JavaScripts [CON1859]Bruno Borges
 
Cloud Services for Developers: What’s Inside Oracle Cloud for You? [CON1861]
Cloud Services for Developers: What’s Inside Oracle Cloud for You? [CON1861]Cloud Services for Developers: What’s Inside Oracle Cloud for You? [CON1861]
Cloud Services for Developers: What’s Inside Oracle Cloud for You? [CON1861]Bruno Borges
 
Booting Up Spring Apps on Lightweight Cloud Services [CON10258]
Booting Up Spring Apps on Lightweight Cloud Services [CON10258]Booting Up Spring Apps on Lightweight Cloud Services [CON10258]
Booting Up Spring Apps on Lightweight Cloud Services [CON10258]Bruno Borges
 
Java EE Application Servers: Containerized or Multitenant? Both! [CON7506]
Java EE Application Servers: Containerized or Multitenant? Both! [CON7506]Java EE Application Servers: Containerized or Multitenant? Both! [CON7506]
Java EE Application Servers: Containerized or Multitenant? Both! [CON7506]Bruno Borges
 
Running Oracle WebLogic on Docker Containers [BOF7537]
Running Oracle WebLogic on Docker Containers [BOF7537]Running Oracle WebLogic on Docker Containers [BOF7537]
Running Oracle WebLogic on Docker Containers [BOF7537]Bruno Borges
 
Lightweight Java in the Cloud
Lightweight Java in the CloudLightweight Java in the Cloud
Lightweight Java in the CloudBruno Borges
 
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFXTweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFXBruno Borges
 
Integrando Oracle BPM com Java EE e WebSockets
Integrando Oracle BPM com Java EE e WebSocketsIntegrando Oracle BPM com Java EE e WebSockets
Integrando Oracle BPM com Java EE e WebSocketsBruno Borges
 

Mais de Bruno Borges (20)

Secrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on KubernetesSecrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on Kubernetes
 
[Outdated] Secrets of Performance Tuning Java on Kubernetes
[Outdated] Secrets of Performance Tuning Java on Kubernetes[Outdated] Secrets of Performance Tuning Java on Kubernetes
[Outdated] Secrets of Performance Tuning Java on Kubernetes
 
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX AppsFrom GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
 
Making Sense of Serverless Computing
Making Sense of Serverless ComputingMaking Sense of Serverless Computing
Making Sense of Serverless Computing
 
Visual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring DevelopersVisual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring Developers
 
Taking Spring Apps for a Spin on Microsoft Azure Cloud
Taking Spring Apps for a Spin on Microsoft Azure CloudTaking Spring Apps for a Spin on Microsoft Azure Cloud
Taking Spring Apps for a Spin on Microsoft Azure Cloud
 
A Look Back at Enterprise Integration Patterns and Their Use into Today's Ser...
A Look Back at Enterprise Integration Patterns and Their Use into Today's Ser...A Look Back at Enterprise Integration Patterns and Their Use into Today's Ser...
A Look Back at Enterprise Integration Patterns and Their Use into Today's Ser...
 
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemMelhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na Nuvem
 
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na NuvemTecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
 
Java EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The CloudJava EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The Cloud
 
Migrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFXMigrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFX
 
Servidores de Aplicação: Por quê ainda precisamos deles?
Servidores de Aplicação: Por quê ainda precisamos deles?Servidores de Aplicação: Por quê ainda precisamos deles?
Servidores de Aplicação: Por quê ainda precisamos deles?
 
Build and Monitor Cloud PaaS with JVM’s Nashorn JavaScripts [CON1859]
Build and Monitor Cloud PaaS with JVM’s Nashorn JavaScripts [CON1859]Build and Monitor Cloud PaaS with JVM’s Nashorn JavaScripts [CON1859]
Build and Monitor Cloud PaaS with JVM’s Nashorn JavaScripts [CON1859]
 
Cloud Services for Developers: What’s Inside Oracle Cloud for You? [CON1861]
Cloud Services for Developers: What’s Inside Oracle Cloud for You? [CON1861]Cloud Services for Developers: What’s Inside Oracle Cloud for You? [CON1861]
Cloud Services for Developers: What’s Inside Oracle Cloud for You? [CON1861]
 
Booting Up Spring Apps on Lightweight Cloud Services [CON10258]
Booting Up Spring Apps on Lightweight Cloud Services [CON10258]Booting Up Spring Apps on Lightweight Cloud Services [CON10258]
Booting Up Spring Apps on Lightweight Cloud Services [CON10258]
 
Java EE Application Servers: Containerized or Multitenant? Both! [CON7506]
Java EE Application Servers: Containerized or Multitenant? Both! [CON7506]Java EE Application Servers: Containerized or Multitenant? Both! [CON7506]
Java EE Application Servers: Containerized or Multitenant? Both! [CON7506]
 
Running Oracle WebLogic on Docker Containers [BOF7537]
Running Oracle WebLogic on Docker Containers [BOF7537]Running Oracle WebLogic on Docker Containers [BOF7537]
Running Oracle WebLogic on Docker Containers [BOF7537]
 
Lightweight Java in the Cloud
Lightweight Java in the CloudLightweight Java in the Cloud
Lightweight Java in the Cloud
 
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFXTweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
 
Integrando Oracle BPM com Java EE e WebSockets
Integrando Oracle BPM com Java EE e WebSocketsIntegrando Oracle BPM com Java EE e WebSockets
Integrando Oracle BPM com Java EE e WebSockets
 

GlassFish, Maven, Cloud e Java EE

  • 1. GlassFish, Maven, Cloud e o futuro do Java EE Bruno Borges | Fusion Middleware | Product Management 1 bruno.borges@oracle.com Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 2.
  • 3. JCP 2.8 Java EE 7
  • 4. Java SE 8 e Java EE 7 Java EE 7 5 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 5. Novidades em produtos Oracle ● Oracle ADF Essentials – Grátis para desenvolvedores e para deployment em produção – Deploy em qualquer servidor de aplicação Java EE ● Oracle WebLogic Server 12c – ZIP com apenas 183 Mb – Grátis para desenvolvedores ● Oracle ADF Mobile – iOS – Android 6 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 6. MySQL Server Java EE 7 7 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 7. Java Embedded Java EE 7 8 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 8. GlassFish 4.0 Java EE 7 9 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 9. Open Source Java FX Java EE 7 10 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 11. JavaOne Brasil Java EE Brasil 7
  • 13. The following 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. 14 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 14. 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 15 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 15. Agenda ● Java EE – Versão 6 – Futuro: Java EE 7 ● GlassFish – História – Futuro ● Apache Maven ● Embedded GlassFish Maven Plugin 16 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 16. O que o mercado procura? 17 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 17. Spring vs Java EE ? ● Java EE evoluiu graças ao Spring ● Full e Web profiles – lightweight! ● Spring utiliza recursos EE ● Java as a language / Java as a platform ● Java EE as a platform / Java EE as a framework 18 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 18. Desenvolvimento Moderno com Java EE 6 Flexível & Leve Estensível • API Java EE mais enxuta • Integre frameworks open source • DI (Dependency Injection) • Habilite a instalação “Drag & Drop” agora é um padrão Java EE de frameworks open source • Manipule cenários simples e • Extensões padrões para DI não complexos sem dependências criam mais lock-ins proprietários externas Produtividade no Desenvolvimento • Modelo de programação em POJOs • Mais anotações, melhor suporte de IDE • Menos config. XML, mais convenções • Anotações e não deployment descriptors 19 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 19. 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 20 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 20. Java EE 6 ● Java EE 6 – JSR 316 – Profiles – EJB 3.1 – JSF 2.0 – JSP 2.2 / Servlets 3.0 – JAX-RS – JAX-WS 2.2 – JPA 2.0 – Java EE Connectors 1.6 21 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 21. Java EE 6 ● As coisas boas do Java EE 6 – Não precisa mais de web.xml – Melhora na API de Servlets para tratar FileUpload – Validation (JSR 303) no JPA – CDI @Inject #FWT o/ 22 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 22. Java EE 6 ● As coisas boas do Java EE 6 – EJB do jeito que todo mundo queria ● Não precisa mais de um ejb-jar.xml ● Anotações ● @Singleton e @Startup beans ● @Schedule bean's methods ● Operações assíncronas 23 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 23. Do JEE 6 para o JEE 7 24 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 24. Java EE 7 Java EE 7
  • 25. Java EE 7 – JSRs candidatas 26 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 26. Java EE 7 ● EJB 3.2 – JSR 345 – Suporte a multi-tenancy – Melhora no uso de anotações para simplificar o modelo de programação – Alinhamento com outras especificações como CDI, JMS e BeanValidation ● JPA 2.1 – JSR 338 – Introdução da interface StoredProcedureQuery 27 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 27. Java EE 7 ● Servlet 3.1 e WebSockets JSF 2.2 – JSR 344 – Mais fácil de criar componentes – HTML5 e – Template em HTML puro – Novos componentes – Mobile devices 28 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 28. Java EE 7 O mais esperado (IMO) ● JMS – Java Messaging Service 2.0 – JSR 343 ● Melhora no modelo de programação ● Integração com CDI ● Mudanças na API para permitir maior integração entre vendors de JMS com qualquer container JEE ● “Cloud-friendly”: suporte a multi-tenancy e outras funcionalidades relacinadas a Cloud 29 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 29. Ofertas de Cloud atuais SaaS IaaS SaaS PaaS IaaS PaaS 30 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 30. 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 31 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 31. Quem oferece Java EE como PaaS? 32 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 32. Java EE 7 – Plataforma ideal para Cloud 33 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 34. GlassFish - História ● Criado pela Sun em 2005 ● 2006 (v1), RI do JEE 5 – para desenvolvedores ● 2007 (v2), adicionou Clustering e outras funções – para enterprise ● 2009, (v3) RI do JEE 6 – Nova arquitetura (OSGi, fast-startup, etc) 35 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 35. GlassFish - História ● V 3.1 – Fevereiro 2011 – Load Balancing – Centralised Admin ● V 3.1.1 – Julho 2011 – Correção de bugs 36 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 36. GlassFish - História ● V 3.1.2 – Fevereiro 2012 – Correção de bugs – Novo console administrativo – Melhorias no Thread Pool – Transaction Recovery 37 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 37. GlassFish - Futuro ● Versão 4.0 - Roadmap – Java EE 7 – Suporte a virtualização – PaaS oriented 38 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 38. GlassFish 4.0 Servidor de Aplicação Enterprise Ready Referência de Implementação Java EE 7 39 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 39. Migração simples do GlassFish para o Oracle WebLogic 12c 40 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 40. Desenvolvimento JEE + leve c/ WebLogic 12c 1GB ● Melhoría de 2X à 6X do tamanho do download para os desenvolvedores ● Sem instaladores, faça unzip e inicie o uso dentro do Windows, Linux ou OSX (Mac) 6X 318MB ● Inicie uma instância com o parâmetro -Dservertype=wlx para carregar o WebLogic 168MB 12c sem os contêiners de EJB, JMS e JCA 2X ● Faça download e utilize o produto sem custo (estudos), sem chaves de ativação ou datas de expiração dos produtos. Use a vasta documentação Distribuição 11g Distribuição 11g (Formato Zip) Distribuição 12c online da Oracle 41 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 41. 5
  • 42. O que é? • Projeto Open Source da Apache • O Maven é: – Um sistema de build automatizado + – Um sistema de gestão de projetos + – Um sistema para gerir dependências + – Um sistema de descrição de projetos + – Um sistema de geração de sites + ... 43 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 43. Apache Maven ● Ferramenta de build – Convention over configuration – Arquivos POMs – Repositório de artefatos – Plugins 44 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 44. Apache Maven ● Perfeito para – Integração Contínua – Aceleração na ambientação de novos desenvolvedores 45 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 45. Apache Maven ● Principais Plugins para projetos Java EE 6 – WAR plugin – EAR plugin – GlassFish Embedded Plugin – Dependency plugin – Assembly plugin – Groovy Maven Plugin – Archetype Plugin 46 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 46. WAR plugin <project> |-- pom.xml `-- src <groupId>com.myproject</groupId> `-- main <artifactId>myproject</artifactId> |-- java <packaging>war</packaging> | `-- com <version>1.0-SNAPSHOT</version> | `-- example | `-- projects <build> | `-- SampleAction.java <plugins> |-- resources <plugin> | `-- images <groupId>org.apache.maven.plugins</groupId> | `-- sampleimage.jpg <artifactId>maven-war-plugin</artifactId> `-- webapp <version>2.2</version> |-- WEB-INF <configuration> | `-- web.xml <failOnMissingWebXml>false</failOnMissingWebXml> |-- index.jsp </configuration> `-- jsp </plugin> `-- websource.jsp </plugins> </build> </project> 47 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 47. Definição das dependências <plugin> ● Como controlar <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> quais dependências <version>2.2</version> <configuration> vão para o MANIFEST <archive> <manifest> e/ou para o WEB-INF <addClasspath>true</addClasspath> </manifest> /lib? </archive> </configuration> – default </plugin> vai para o MANIFEST, e no WEB-INF/lib – <optional>true</optional> vai para o MANIFEST, mas não no WEB-INF/lib – <scope>provided</scope> não vai para o MANIFEST, nem para o WEB-INF/lib 48 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 48. EAR plugin |-- pom.xml |-- module-ear | `-- pom.xml <plugin> |-- module-ejb <groupId>org.apache.maven.plugins</groupId> | |-- pom.xml <artifactId>maven-ear-plugin</artifactId> | `-- src <version>2.7</version> | `-- main </plugin> | |-- java | | `-- com <configuration> | | `-- myproject <modules> | | `-- MyStatelessBean.java <ejbModule> `-- module-web <groupId>com.myproject</groupId> |-- pom.xml <artifactId>module-ejb</artifactId> `-- src `-- main </ejbModule> |-- java <webModule> |-- resources <groupId>com.myproject</groupId> `-- webapp <artifactId>module-web</artifactId> <contextRoot>myproject</contextRoot> </webModule> </modules> </configuration> 49 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 49. GlassFish Embedded plugin ● Permite rodar o GlassFish (tanto Web quanto Full profile) a partir do Maven – $ mvn embedded-glassfish:run ● Permite fazer deploy e undeploy em uma instância remota – $ mvn embedded-glassfish:deploy – $ mvn embedded-glassfish:undeploy 50 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 50. GlassFish Embedded plugin ● Permite iniciar ou parar uma instância remota ou local (embedded) – $ mvn embedded-glassfish:start – $ mvn embedded-glassfish:stop ● Permite administrar uma instância remote ou local (embedded) – $ mvn embedded-glassfish:admin 51 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 51. GlassFish Embedded plugin ● Como configurar? – Artefatos no repositório central (#win o/) – Dependências necessárias e seus escopos 52 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 52. GlassFish Embedded plugin <dependency> <groupId>org.glassfish.main.extras</groupId> <artifactId>glassfish-embedded-all</artifactId> <!-- ou web para projetos q nao usam todo o profile JEE --> <version>3.1.2</version> <scope>test</scope> </dependency> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>6.0</version> <scope>provided</scope> </dependency> 53 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 53. GlassFish Embedded plugin ● Como configurar? – Plugin – domain.xml (para DataSource e outras configurações de container) 54 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 54. GlassFish Embedded plugin <plugin> <groupId>org.glassfish.embedded</groupId> <artifactId>maven-embedded-glassfish-plugin</artifactId> <version>3.1.2</version> <configuration> <goalPrefix>embedded-glassfish</goalPrefix> <configFile>src/test/resources/domain.xml</configFile> <contextRoot>/</contextRoot> <app>${project.build.directory}/${build.finalName}.war</app> <port>8080</port> <autoDelete>true</autoDelete> </configuration> </plugin> 55 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 55. WebLogic também tem Maven Plugin ● Goals disponíveis: – install – create-domain – start-server – wlst – appc – deploy 56 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 56. Integração com Servidores de IC Servidor de Integração Repositório Contínua Servidor do Código Compila & WebLogic Empacota GlassFish 57 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 57. Outros plugins interessantes ● Dependency – Visualizar as dependencias $ mvn dependency:tree – Copiar as dependencias para algum diretório $ mvn dependency:copy-dependencies – Criar um ClassPath $ mvn dependency:build-classpath – Modo offline $ mvn dependency:go-offline 58 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 58. Outros plugins interessantes ● Assembly – Agregar artefatos e dependencias do projeto em um arquivo ou diretório, por exemplo: ● Criar um ZIP com todas as dependências ● Criar um ZIP com todos os fontes ● Criar um JAR (big-fat) executável <plugin> 59 <groupId>org.apache.maven.plugins</groupId> Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 59. Outros plugins interessantes ● GMaven - Groovy – Scripting no build usando linguagem Groovy ● Em alguns servidores, pode ser necessário criar arquivos XML específicos (como deployment descriptors) ● Com o GMaven, é mais fácil de gerar esses arquivos <plugin> <groupId>org.codehaus.gmaven</groupId> <artifactId>gmaven-plugin</artifactId> <version>1.3</version> </plugin> 60 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 60. Exemplo GMaven <configuration> <source> def sw = new FileWriter(new File("target/module.xml")) def xml = new groovy.xml.MarkupBuilder(sw) xml.module(xmlns:'urn:jboss:module:1.0', name:'com.bemobi.infosender') { resources { project.runtimeClasspathElements.each { def path = it.find(".*?([w.-]*.jar)") { it[1] } !path?:'resource-root'(path:path) } } dependencies { 'module'(name:'org.hibernate', export:'true') 'module'(name:'org.slf4j', export:'true') 'module'(name:'org.apache.commons.logging', export:'true') 'module'(name:'com.sun.xml.bind', export:'true') 'module'(name:'javaee.api', export:'true') } } </source> </configuration> 61 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 61. Outros plugins interessantes ● Archetype – Auxilia na definição de “esqueletos” de projetos reutilizáveis – Grandes empresas podem se beneficiar, quando possuem arquitetura padrão para todos os projetos 62 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 62. Links ● GlassFish @glassfish http://www.glassfish.org ● Embedded GlassFish (3.1.2 docs) http://bit.ly/eg312 ● Apache Maven http://maven.apache.org ● Groovy Magen Plugin http://bit.ly/gmaven 63 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
  • 63. http://www.youtube.com/watch?v=I5lAgaCbqZ0 64 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware