GlassFish: o servidor
 de aplicações para
    todos os seus
   aplicativos Web



João Sávio C. Longo
Sun Cam   pus Am  bas s ador
j oao. s avi o@s un. com / j oaos avi o@gm l . com
                                          ai


                                                     1
Agenda
                 O que é o GlassFish?

                              GlassFish v3

                   GlassFish OpenESB

                    GlassFish x Tomcat

                                       E agora?
         Sun Confidential: Internal Only          2
Agenda
               O que é o GlassFish?

                              GlassFish v3

                   GlassFish OpenESB

                    GlassFish x Tomcat

                                       E agora?
         Sun Confidential: Internal Only          3
O que é o GlassFish?
• Servidor de aplicações para a plataforma Java
• Versão Open Source do Sun GlassFish Enterprise
  Server
• Comunidade: https://glassfish.dev.java.net/




                      Sun Confidential: Internal Only   4
Quem usa?




            Sun Confidential: Internal Only   5
Características
• Compatível com Java EE 5
• Melhora a produtividade do desenvolvedor
  > APIs Java EE simplificadas e anotações
• Código aberto
  > O código do Sun Java System Application Server 9.x é
    100% derivado do servidor de aplicações GlassFish
• Fácil de usar
• Boa documentação


                        Sun Confidential: Internal Only    6
Características
• Domínios
• Perfis
  > Developer
  > Cluster
  > Enterprise




                  Sun Confidential: Internal Only   7
Perfis




         Sun Confidential: Internal Only   8
Uso no mundo    http://beta.glassfish.java.net:81/maps/




               Sun Confidential: Internal Only            9
Integração
• Windows, Linux, Solaris, Mac
• NetBeans, Sun Studio e Eclipse
• MySQL, PostgreSQL, Oracle, Sybase, IBM, SQL
  Server e Derby
• JSP+servlets, JSF, SOA, EJB




                     Sun Confidential: Internal Only   10
Instalação
• Instalação conjunta com o NetBeans
• Linha de comando
  > Download:
  > Install:
    java -Xmx256m -jar glassfish-installer<...>.jar
  > Configure: ant -f setup.xml
  > Start: asadmin start-domain




                          Sun Confidential: Internal Only   11
Frameworks
                                                          Quercus PHP
                 OSWorkFlow
                                                          OSCache
                    Integration ORB                      Project Tango
  Apache Httpd                           CJUG-Classifieds
                                                            BIRT    jBPM
   DOJO
 Facelets                               MyFaces ADF
     Shale                                              SiteMesh WebDAV
                         JSPwiki
                                             SEAM
                                                              Tapestry
                                 MC4J
            StringBeans Portal       AJAX
         BlogTrader                Wicket Equinox
Java WSDP                    WebSphere MQ
     Dalma                                  EHCache
                      Sun Confidential: Internal Only                      12
Dynamic Languages & Frameworks




http://glassfish-scripting.dev.java.net
                                 Sun Confidential: Internal Only   13
Sun Confidential: Internal Only   14
Clustering




             Sun Confidential: Internal Only   15
Admin Console




            Sun Confidential: Internal Only   16
Usando a IDE NetBeans
• Integra o ambiente de desenvolvimento com o
  ambiente de implantação, permitindo:
  >   Desenvolver e implantar aplicações Web facilmente
  >   Publicar e testar Web Services
  >   Desenvolver módulos para o GlassFish
  >   Rápido início e fechamento




                         Sun Confidential: Internal Only   17
Demo
demo

 Sun Confidential: Internal Only   18
Monitoramento




                Sun Confidential: Internal Only   19
Mais?
• Permite múltiplas versões e compartilhamento de
  bibliotecas entre projetos
• Deploy automático quando as dependências do
  projeto são modificadas




                     Sun Confidential: Internal Only   20
Mais?



• Suporte a SSL
• JPA!
• Facilidade em criar Pool de Conexões




                     Sun Confidential: Internal Only   21
Pool de Conexões
• Acesso a banco de dados remoto
• Pool de conexões reduzem expressivamente o
  tempo de conexões estabelecidas criando uma
  conexão física no início do sistema




                    Sun Confidential: Internal Only   22
Agenda
                 O que é o GlassFish?

                             GlassFish v3

                   GlassFish OpenESB

                    GlassFish x Tomcat

                                       E agora?
         Sun Confidential: Internal Only          23
GlassFish v3
• Início mais rápido
• Modular




                       Sun Confidential: Internal Only   24
GlassFish v3
• Construído com base na OSGi
  > Plataforma de serviços para o desenvolvimento de
    aplicativos Linguagem Java modulares e orientados a
    serviço
  > Vem se tornando o padrão para o desenvolvimento de
    aplicativos modulares em Java
  > Eclipse, Projeto Fuji no OpenESB v3, Jonas 5, etc
• Embedded
  > “Portável”
  > java -jar latest.jar <porta> -p <projeto>
  > http://download.java.net/glassfish/v3-prelude/embedded/nightly/

                          Sun Confidential: Internal Only             25
Demo
demo

 Sun Confidential: Internal Only   26
Agenda
                 O que é o GlassFish?

                              GlassFish v3

                  GlassFish OpenESB

                    GlassFish x Tomcat

                                       E agora?
         Sun Confidential: Internal Only          27
GlassFish OpenESB
• SOA
 > JAX-WS 2.1, JAXB 2.1
 > BPM
 > Ferramentas de projeto visuais SOA para arquitetos e
   programadores
 > Out-of-box




                       Sun Confidential: Internal Only    28
Sun Confidential: Internal Only   29
Sun Confidential: Internal Only   30
Sun Confidential: Internal Only   31
Agenda
                 O que é o GlassFish?

                              GlassFish v3

                   GlassFish OpenESB

                  GlassFish x Tomcat

                                       E agora?
         Sun Confidential: Internal Only          32
GlassFish x Tomcat
O que o GlassFish tem que o Tomcat não tem?

•   Coleção de J2EE contêiners
•   Administração/monitor superiores
•   Completo suporte a Web Services
•   Suporte para scripting languages
•   Algumas configurações são dinâmicas - sem restart
•   Deploy/Undeploy remoto

                       Sun Confidential: Internal Only   33
GlassFish x Tomcat
Teste com 16000 usuários




                    Sun Confidential: Internal Only   34
Precisa de ajuda?




              Sun Confidential: Internal Only   35
Agenda
                 O que é o GlassFish?

                              GlassFish v3

                   GlassFish OpenESB

                    GlassFish x Tomcat

                                       E agora?
         Sun Confidential: Internal Only          36
GlassFish    •      Download GlassFish v3 Prelude
E agora?     •      Junte-se ao projeto GlassFish
             •      Faça os tutoriais do GlassFish
             •      Participe dos fóruns GlassFish
             •      Crie uma aplicação Web legal!
             •      Junte-se a comunidade de
                    estudantes no osum.sun.com.




                                     http://glassfish.org

            Sun Confidential: Internal Only                 37
Links
• Primeira Parada: glassfish.org
  > Download, Tutoriais, Novidades, Fóruns, Eventos, Listas de e-mail
• GlassFish Spotlight: spotlight.dev.java.net
  > Home for all Education Community interested in GlassFish!
• GlassFish Wiki: wiki.glassfish.java.net
  > Architecture documents, etc
• Blogsphere
  > blogs.sun.com/theaquarium
• Source Code repository
  > glassfish-svn.dev.java.net
                            Sun Confidential: Internal Only             38
Ebooks
• Optimize GlassFish Performance in a Production
  Environment
 https://www.sun.com/offers/details/OptimizeGlassFishPerformance.xml
• Learning GlassFish for Tomcat Users
 http://www.sun.com/offers/details/GlassFish_Tomcat.html




                           Sun Confidential: Internal Only             39
GlassFish: o servidor
de aplicações para
todos os seus
aplicativos Web
João Sávio C. Longo
joao.savio@sun.com / joaosavio@gmail.com
www.joaosavio.com
http://blogs.sun.com/joaosavio
                                           32
                                           40

GlassFish

  • 1.
    GlassFish: o servidor de aplicações para todos os seus aplicativos Web João Sávio C. Longo Sun Cam pus Am bas s ador j oao. s avi o@s un. com / j oaos avi o@gm l . com ai 1
  • 2.
    Agenda O que é o GlassFish? GlassFish v3 GlassFish OpenESB GlassFish x Tomcat E agora? Sun Confidential: Internal Only 2
  • 3.
    Agenda O que é o GlassFish? GlassFish v3 GlassFish OpenESB GlassFish x Tomcat E agora? Sun Confidential: Internal Only 3
  • 4.
    O que éo GlassFish? • Servidor de aplicações para a plataforma Java • Versão Open Source do Sun GlassFish Enterprise Server • Comunidade: https://glassfish.dev.java.net/ Sun Confidential: Internal Only 4
  • 5.
    Quem usa? Sun Confidential: Internal Only 5
  • 6.
    Características • Compatível comJava EE 5 • Melhora a produtividade do desenvolvedor > APIs Java EE simplificadas e anotações • Código aberto > O código do Sun Java System Application Server 9.x é 100% derivado do servidor de aplicações GlassFish • Fácil de usar • Boa documentação Sun Confidential: Internal Only 6
  • 7.
    Características • Domínios • Perfis > Developer > Cluster > Enterprise Sun Confidential: Internal Only 7
  • 8.
    Perfis Sun Confidential: Internal Only 8
  • 9.
    Uso no mundo http://beta.glassfish.java.net:81/maps/ Sun Confidential: Internal Only 9
  • 10.
    Integração • Windows, Linux,Solaris, Mac • NetBeans, Sun Studio e Eclipse • MySQL, PostgreSQL, Oracle, Sybase, IBM, SQL Server e Derby • JSP+servlets, JSF, SOA, EJB Sun Confidential: Internal Only 10
  • 11.
    Instalação • Instalação conjuntacom o NetBeans • Linha de comando > Download: > Install: java -Xmx256m -jar glassfish-installer<...>.jar > Configure: ant -f setup.xml > Start: asadmin start-domain Sun Confidential: Internal Only 11
  • 12.
    Frameworks Quercus PHP OSWorkFlow OSCache Integration ORB Project Tango Apache Httpd CJUG-Classifieds BIRT jBPM DOJO Facelets MyFaces ADF Shale SiteMesh WebDAV JSPwiki SEAM Tapestry MC4J StringBeans Portal AJAX BlogTrader Wicket Equinox Java WSDP WebSphere MQ Dalma EHCache Sun Confidential: Internal Only 12
  • 13.
    Dynamic Languages &Frameworks http://glassfish-scripting.dev.java.net Sun Confidential: Internal Only 13
  • 14.
  • 15.
    Clustering Sun Confidential: Internal Only 15
  • 16.
    Admin Console Sun Confidential: Internal Only 16
  • 17.
    Usando a IDENetBeans • Integra o ambiente de desenvolvimento com o ambiente de implantação, permitindo: > Desenvolver e implantar aplicações Web facilmente > Publicar e testar Web Services > Desenvolver módulos para o GlassFish > Rápido início e fechamento Sun Confidential: Internal Only 17
  • 18.
  • 19.
    Monitoramento Sun Confidential: Internal Only 19
  • 20.
    Mais? • Permite múltiplasversões e compartilhamento de bibliotecas entre projetos • Deploy automático quando as dependências do projeto são modificadas Sun Confidential: Internal Only 20
  • 21.
    Mais? • Suporte aSSL • JPA! • Facilidade em criar Pool de Conexões Sun Confidential: Internal Only 21
  • 22.
    Pool de Conexões •Acesso a banco de dados remoto • Pool de conexões reduzem expressivamente o tempo de conexões estabelecidas criando uma conexão física no início do sistema Sun Confidential: Internal Only 22
  • 23.
    Agenda O que é o GlassFish? GlassFish v3 GlassFish OpenESB GlassFish x Tomcat E agora? Sun Confidential: Internal Only 23
  • 24.
    GlassFish v3 • Iníciomais rápido • Modular Sun Confidential: Internal Only 24
  • 25.
    GlassFish v3 • Construídocom base na OSGi > Plataforma de serviços para o desenvolvimento de aplicativos Linguagem Java modulares e orientados a serviço > Vem se tornando o padrão para o desenvolvimento de aplicativos modulares em Java > Eclipse, Projeto Fuji no OpenESB v3, Jonas 5, etc • Embedded > “Portável” > java -jar latest.jar <porta> -p <projeto> > http://download.java.net/glassfish/v3-prelude/embedded/nightly/ Sun Confidential: Internal Only 25
  • 26.
  • 27.
    Agenda O que é o GlassFish? GlassFish v3 GlassFish OpenESB GlassFish x Tomcat E agora? Sun Confidential: Internal Only 27
  • 28.
    GlassFish OpenESB • SOA > JAX-WS 2.1, JAXB 2.1 > BPM > Ferramentas de projeto visuais SOA para arquitetos e programadores > Out-of-box Sun Confidential: Internal Only 28
  • 29.
  • 30.
  • 31.
  • 32.
    Agenda O que é o GlassFish? GlassFish v3 GlassFish OpenESB GlassFish x Tomcat E agora? Sun Confidential: Internal Only 32
  • 33.
    GlassFish x Tomcat Oque o GlassFish tem que o Tomcat não tem? • Coleção de J2EE contêiners • Administração/monitor superiores • Completo suporte a Web Services • Suporte para scripting languages • Algumas configurações são dinâmicas - sem restart • Deploy/Undeploy remoto Sun Confidential: Internal Only 33
  • 34.
    GlassFish x Tomcat Testecom 16000 usuários Sun Confidential: Internal Only 34
  • 35.
    Precisa de ajuda? Sun Confidential: Internal Only 35
  • 36.
    Agenda O que é o GlassFish? GlassFish v3 GlassFish OpenESB GlassFish x Tomcat E agora? Sun Confidential: Internal Only 36
  • 37.
    GlassFish • Download GlassFish v3 Prelude E agora? • Junte-se ao projeto GlassFish • Faça os tutoriais do GlassFish • Participe dos fóruns GlassFish • Crie uma aplicação Web legal! • Junte-se a comunidade de estudantes no osum.sun.com. http://glassfish.org Sun Confidential: Internal Only 37
  • 38.
    Links • Primeira Parada:glassfish.org > Download, Tutoriais, Novidades, Fóruns, Eventos, Listas de e-mail • GlassFish Spotlight: spotlight.dev.java.net > Home for all Education Community interested in GlassFish! • GlassFish Wiki: wiki.glassfish.java.net > Architecture documents, etc • Blogsphere > blogs.sun.com/theaquarium • Source Code repository > glassfish-svn.dev.java.net Sun Confidential: Internal Only 38
  • 39.
    Ebooks • Optimize GlassFishPerformance in a Production Environment https://www.sun.com/offers/details/OptimizeGlassFishPerformance.xml • Learning GlassFish for Tomcat Users http://www.sun.com/offers/details/GlassFish_Tomcat.html Sun Confidential: Internal Only 39
  • 40.
    GlassFish: o servidor deaplicações para todos os seus aplicativos Web João Sávio C. Longo joao.savio@sun.com / joaosavio@gmail.com www.joaosavio.com http://blogs.sun.com/joaosavio 32 40