SlideShare a Scribd company logo
1 of 36
GlassFish v3
En route pour Java EE 6

Alexis Moussine-Pouchkine
GlassFish Team
Timeline of Project GlassFish




Tomcat
 Jasper                                     v3                  v3
 Catalina
                                         “Prelude”          (Java EE 6)
                           v1
  JSTL
              GlassFish
  Struts
                                  v2               v2.1
               Launch
    Crimson
    XSLTC
     Xalan
    Xerces


                                                            Fall-2009
  JAXB                                   Oct/Nov     Dec
                June      May    Sept.
JAX-RPC
                                          2008       2008
                2005      2006   2007
   JSF

                                                     (you are here)       2
GlassFish Adoption




                     3
GlassFish around You




                       4
GlassFish around You (really)




                                5
GlassFish around You (really, really)




                                        6
All this ....

                   ... with a boring
                 application server
(albeit with built-in full Web-Services Stack, full clustering, great monitoring tools,
record performance, complete documentation, and heavily deployed in production)
                                                                                          7
GlassFish
                                            http://glassfish.org
Best of class App Server

• GlassFish v2.1 released Jan. 2009
  > 4 millions downloads
  > Up to x2 usage over 12 months

• Out of the box :
      “Grizzly”: scalable and innovative Web Tier
  >
      “Metro”: Complete Web Services interop with Microsoft
  >
      “Shoal”: Complete Java EE Clustering
  >
      Administration and monitoring tools
  >
      Performance (SPECjAppServer record)
  >
      Tooling (Best with NetBeans, Eclipse also supported)
  >

                                                                   8
GlassFish Enterprise Manager


• SNMP Monitoring

• Performance Advisor

• Self management Rules

• Performance Monitor


                               9
What is a
“lightweight”
Application Server ?


                       10
Tomcat ?


           11
Fast startup ?

                 12
Load on-demand ?

                   13
Introducing
GlassFish v3 Prelude




                       14
Admin Console




                15
Modular and Dynamic

• Modular : Apache Felix (OSGi)
• Extensible : HK2
• Yet very Fast !                            Security     Config
                    Grails JRuby/Rails
                          Web                Naming     Injection

                                dispatch
                                  GlassFish Kernel
                browser
                             Grizzly                           requests
                                           HK2 Services
                                           OSGi Runtime
                    Bundles repositories                       services
                                                                          16
Demo
     Startup
Compile on Save
Deploy on Change
Preserve Session

                   17
Painless Java EE development !

• Java EE development doesn't have to be painful :)
• Incremental compile of all Java EE artifacts
• Auto-deploy of all Java EE and static artifacts




                                                      18
Session Retention

Deployment option to maintain stateful sessions across re-
 deployments

$ asadmin redeploy --properties
 keepSessions=true myapp.war

Greatly simplifies the
 development paradigm.

Integrated in NetBeans 6.5 :


                                                             19
Yes, Eclipse too !




GlassFish (v2/v3) + Eclipse 3.4 Tools Bundle: http://download.java.net/glassfish/eclipse/   20
Update Center




                21
Prelude to Java EE 6
(via GlassFish Update Center)


• JSF 2.0 Preview               • EJB 3.1 Preview
  > Integrated Facelets          > WAR packaging
  > First-class Ajax             > Singleton
    support                      > No Interface View
  > Pub/Sub Events               > TimerService
  > Composite                    > Asynchronous
    components                     operations
  > Better resource              > ...
    handling
                                • Servlet 3.0 soon
  > Groovy integration
                                                       22
JAX-RS (JSR 311) with Jersey

• Making it easy to build RESTful Web services
• Production-quality Reference Implementation
@javax.ws.rs.Path(quot;/users/{id}quot;)
public class UserResource {
    @javax.ws.rs.GET
    @javax.ws.rs.Produces(quot;text/xmlquot;)
    public String getUser( @PathParam(quot;idquot;)
      String userName) {
        ...
    }
}

• Final and supported v1.0
• Fine client API too
                                                 23
Servlet 3.0

• POJO
  > @WebServlet
  > @ServletFilter
  > @WebServletContextListener
• web.xml now optional and supports fragments
• Support for asynchrony
  > @WebServlet(asyncSupported=true)
  > New APIs for Servlet request and response for suspend,
    resume


                                                             24
EJB 3.1 Sample

import javax.ejb.Singleton;            import javax.servlet.WebServlet;
                                       @WebServlet(urlMapping={quot;/Counterquot;})
@Singleton
                                       public class SimpleServlet {
public class CounterBean {
                                           @EJB     CounterBean counterBean;
    private int hitCount;                  void processRequest(...) {

                                                try {
    public synchronized int
         incrementAndGetHitCount() {                 ...

        return hitCount++;                           counterBean.incrementAndGetHitCount());

                                                     ...
    }
                                                } finally {

                                                      out.close();
}
                                                }
                                            }
                                       }


                                                                                               25
Demo
simple ejb 3.1
war packaging


                 26
GlassFish Embedded



   AppServer glassfish = new AppServer(8080);
   glassfish.deployWar(warFile);




                                                27
GlassFish Embedded

public class Main {
  public static void main (String[] args) {
    AppServer glassfish = new AppServer(8080);
    glassfish.deployWar(warFile);
  }
}




                                                 28
GlassFish Embedded

 @BeforeClass
 public static void setUpClass () {
   AppServer glassfish = new AppServer(8080);
   glassfish.deployWar(warFile);
 }

 @Test
 public void pingApplication () {
   ...
 }

                                                29
A lot more ...

    Langages dynamiques: Rails, Grails, Django, ...
•
    Comet, Cometd/Bayeux
•
    Support complet de mod_jk, WebDAV, CGI, SSI
•
    Web Services Metro 1.4 (.Net 3.5)
•                                                       console user
    IPS/pkg(5)
•                                  Central Config
                     domain.xml
                                                  Admin Console
    Admin RESTful
•                                             C
                            Container
    Monitoring
•                                             o
                                                    GUI Parts
                            Runtime           n
                                              f
    Extensibilité
•                         Grizzly Adapter     i
                                                       Admin commands
                                                g
    > Moteur
                                              Kernel
    > Console admin
    > Fichier de config      client/browser              admin invocation
                                                                            30
GlassFish v3 Prelude – Practical

• Get it from http://glassfish.org
• Download size: 26MB
  > Graphical Installer
  > Zip version
  > Community-contributed IzPack installer
• Choice
  > Eclipse or NetBeans
  > Runs on Java 5 and Java 6 (Java EE 6 will mandate Java 6)
  > Felix or Equinox
• Questions and feedback to :
  USERS@glassfish.dev.java.net or GlassFish forum.
• Supported product, subscriptions available
                                                                31
v3 Prelude vs. GlassFish v2.x
Feature                                                       GlassFish Server v2   GlassFish v3 Prelude
Java Platform, Enterprise Edition
Java Compatible, Enterprise Edition (Java EE 5 ) Certified            X
Web Application and Service Technologies
Java Web Technologies (Servlet 2 .5 , JSP 2 .1 , JSF 1 .2 )           X                      X
Metro Web Services Stack                                              X                   X [1][4]
.NET 3.0 Web Services Interoperability                                X
.NET 3.5 Web Services Interoperability                                                     X[1][4]
Next Generation Web
jMaki (Ajax Framework)                                               X[4]                   X[4]
Jersey/JAX-RS 1.0 (RESTful Web Services)                             X[4]                   X[4]
Administration
Admin Console and CLI (Centralized Administration)                    X                      X
JMX                                                                   X                      X
Node Agent & Cluster Mgmt                                             X
Upgrade Tool                                                          X
Client
Application Client Container                                          X
Java WebStart support                                                 X
Enterprise Application Technologies
Java DB, JDBC Connection Pooling                                      X                      X
JTA/JTS                                                               X                      X
J2 EE Connector Architecture 1 .5                                     X                     X[2]
EJB 3 .0                                                              X
JMS                                                                   X
JPA 1 .0 (TopLink)                                                    X



                                                                                                           32
v3 Prelude vs. GlassFish v2 (2)
Feature                                                                          GlassFish Server v2     GlassFish v3 Prelude
Scripting
jRuby/Rails Web Archive (.war) deployment                                                X[4]                    X[4]
“Native” jRuby/Rails deployment – without need for Servlet container                                             X[4]
Dynamic resizing of jRuby Runtime Pool                                                                           X[4]
Groovy/Grails                                                                                                    X[4]
Developer Tools
Integrated Development Support (Eclipse and NetBeans)                                      X                      X
Rapid Redeployment - Maintain session state on application redeploy                                               X
Update Center                                                                              X                      X
Update Center integration with Administration Console                                                             X
Verification Tools                                                                         X
Image Packaging System (IPS) Tools                                                                                X
Framework Technologies
Grizzly (Java NIO)                                                                         X                      X
Comet (HTTP Push)                                                                          X                      X
CORBA                                                                                      X
Modular Architecture Based on OSGi                                                                                X
GlassFish Embedded                                                                                                X
Extend GlassFish Functionality (Extensibility APIs)(Administration Console, asadmin CLI utility, more)            X
System/Performance Technologies
Clustering                                                                                 X                     X[3]
Load Balancer Plugin                                                                       X
Centralized Administration of Load Balancer Plugin Configuration                           X
High Availability                                                                          X
Integration
Integration with Identity Manager, OpenSSO, OpenESB, OpenPortal...                         X


                                                                                                                                33
GlassFish v3 Roadmap

• V3 Final aligned with Java EE 6
  > Starting a series of Milestone releases
  > Targeted for Fall 2009
  > Clustering, central admin likely on the update center

• V3.1 full clustering
  > Likely 6 to 9 months after V3




                                                            34
v3 Prelude Usage

                                               xWiki
                                            GlassFishV3
                                              JavaDB
                      Project Fuji
                    (OpenESB.next)
      SailFin
(Telco AppServer)


                         WebSynergy
                        (Portal, Liferay)
                                              WebEngine
   EHCache Server
                                        GlassFish v3 Embedded
GlassFish v3 Embedded
                                                Jersey
        Jersey
                                                            35
http://glassfish.org



                alexis.mp@sun.com
                http://blogs.sun.com/alexismp
                                                36

More Related Content

What's hot

Modular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafModular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafIoan Eugen Stan
 
Weaving Through the Mesh: Making Sense of Istio and Overlapping Technologies
Weaving Through the Mesh: Making Sense of Istio and Overlapping TechnologiesWeaving Through the Mesh: Making Sense of Istio and Overlapping Technologies
Weaving Through the Mesh: Making Sense of Istio and Overlapping TechnologiesVMware Tanzu
 
Discuss about java 9 with latest features
Discuss about java 9 with latest featuresDiscuss about java 9 with latest features
Discuss about java 9 with latest featuresNexSoftsys
 
Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...
Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...
Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...Luciano Mammino
 
Polygot Java EE on the GraalVM
Polygot Java EE on the GraalVMPolygot Java EE on the GraalVM
Polygot Java EE on the GraalVMRyan Cuprak
 
Java 9 and the impact on Maven Projects (ApacheCon Europe 2016)
Java 9 and the impact on Maven Projects (ApacheCon Europe 2016)Java 9 and the impact on Maven Projects (ApacheCon Europe 2016)
Java 9 and the impact on Maven Projects (ApacheCon Europe 2016)Robert Scholte
 
OSGi & Java EE in GlassFish
OSGi & Java EE in GlassFishOSGi & Java EE in GlassFish
OSGi & Java EE in GlassFishSanjeeb Sahoo
 
Improving build solutions dependency management with webpack
Improving build solutions  dependency management with webpackImproving build solutions  dependency management with webpack
Improving build solutions dependency management with webpackNodeXperts
 
Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014Arun Gupta
 
Design Patterns para Microsserviços com MicroProfile
 Design Patterns para Microsserviços com MicroProfile Design Patterns para Microsserviços com MicroProfile
Design Patterns para Microsserviços com MicroProfileVíctor Leonel Orozco López
 
Tricks and Tips With NIO Using the Grizzly Framework
Tricks and Tips With NIO Using the Grizzly FrameworkTricks and Tips With NIO Using the Grizzly Framework
Tricks and Tips With NIO Using the Grizzly Frameworkelliando dias
 
OSGi in 5 minutes
OSGi in 5 minutesOSGi in 5 minutes
OSGi in 5 minutesSerge Huber
 

What's hot (20)

Modular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafModular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache Karaf
 
GlassFish Embedded API
GlassFish Embedded APIGlassFish Embedded API
GlassFish Embedded API
 
Karaf ee-apachecon eu-2012
Karaf ee-apachecon eu-2012Karaf ee-apachecon eu-2012
Karaf ee-apachecon eu-2012
 
Weaving Through the Mesh: Making Sense of Istio and Overlapping Technologies
Weaving Through the Mesh: Making Sense of Istio and Overlapping TechnologiesWeaving Through the Mesh: Making Sense of Istio and Overlapping Technologies
Weaving Through the Mesh: Making Sense of Istio and Overlapping Technologies
 
Java 9 Modularity in Action
Java 9 Modularity in ActionJava 9 Modularity in Action
Java 9 Modularity in Action
 
Discuss about java 9 with latest features
Discuss about java 9 with latest featuresDiscuss about java 9 with latest features
Discuss about java 9 with latest features
 
Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...
Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...
Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...
 
Polygot Java EE on the GraalVM
Polygot Java EE on the GraalVMPolygot Java EE on the GraalVM
Polygot Java EE on the GraalVM
 
Java 9 and the impact on Maven Projects (ApacheCon Europe 2016)
Java 9 and the impact on Maven Projects (ApacheCon Europe 2016)Java 9 and the impact on Maven Projects (ApacheCon Europe 2016)
Java 9 and the impact on Maven Projects (ApacheCon Europe 2016)
 
OSGi & Java EE in GlassFish
OSGi & Java EE in GlassFishOSGi & Java EE in GlassFish
OSGi & Java EE in GlassFish
 
Improving build solutions dependency management with webpack
Improving build solutions  dependency management with webpackImproving build solutions  dependency management with webpack
Improving build solutions dependency management with webpack
 
Java 9 and Beyond
Java 9 and BeyondJava 9 and Beyond
Java 9 and Beyond
 
Tales from the OSGi trenches
Tales from the OSGi trenchesTales from the OSGi trenches
Tales from the OSGi trenches
 
OSGi Presentation
OSGi PresentationOSGi Presentation
OSGi Presentation
 
Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014
 
Ausoug glassfish perth
Ausoug glassfish perthAusoug glassfish perth
Ausoug glassfish perth
 
Design Patterns para Microsserviços com MicroProfile
 Design Patterns para Microsserviços com MicroProfile Design Patterns para Microsserviços com MicroProfile
Design Patterns para Microsserviços com MicroProfile
 
Tricks and Tips With NIO Using the Grizzly Framework
Tricks and Tips With NIO Using the Grizzly FrameworkTricks and Tips With NIO Using the Grizzly Framework
Tricks and Tips With NIO Using the Grizzly Framework
 
GlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and FutureGlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and Future
 
OSGi in 5 minutes
OSGi in 5 minutesOSGi in 5 minutes
OSGi in 5 minutes
 

Viewers also liked

Viewers also liked (14)

CV
CVCV
CV
 
تاشيرات
تاشيراتتاشيرات
تاشيرات
 
Estrategia de enseñanza Métodos Numéricos
Estrategia de enseñanza Métodos NuméricosEstrategia de enseñanza Métodos Numéricos
Estrategia de enseñanza Métodos Numéricos
 
TORIKUL CV-2016
TORIKUL CV-2016TORIKUL CV-2016
TORIKUL CV-2016
 
Cách diệt virus
Cách diệt virusCách diệt virus
Cách diệt virus
 
Teorias Cientifica Clasica y Relaciones Humanas
Teorias Cientifica Clasica y Relaciones HumanasTeorias Cientifica Clasica y Relaciones Humanas
Teorias Cientifica Clasica y Relaciones Humanas
 
траки
тракитраки
траки
 
католическата църква
католическата църквакатолическата църква
католическата църква
 
Surdulica6
Surdulica6Surdulica6
Surdulica6
 
Смисъл на живота
Смисъл на животаСмисъл на живота
Смисъл на живота
 
Snapchat and Instagram for Charities
Snapchat and Instagram for CharitiesSnapchat and Instagram for Charities
Snapchat and Instagram for Charities
 
AKG_SAP_BPC_Consultant
AKG_SAP_BPC_ConsultantAKG_SAP_BPC_Consultant
AKG_SAP_BPC_Consultant
 
Next Generation Security
Next Generation SecurityNext Generation Security
Next Generation Security
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using Jenkins
 

Similar to GlassFish v3 : En Route Java EE 6

Glass Fish V3 University Amers May2009
Glass Fish V3  University Amers May2009Glass Fish V3  University Amers May2009
Glass Fish V3 University Amers May2009Eugene Bogaart
 
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010JUG Lausanne
 
Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009Arun Gupta
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Enginecatherinewall
 
Scripting Support in GFv3 Prelude - Full Version
Scripting Support in GFv3 Prelude - Full VersionScripting Support in GFv3 Prelude - Full Version
Scripting Support in GFv3 Prelude - Full VersionEduardo Pelegri-Llopart
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration BackendArun Gupta
 
Java Fx Ajaxworld Rags V1
Java Fx Ajaxworld Rags V1Java Fx Ajaxworld Rags V1
Java Fx Ajaxworld Rags V1rajivmordani
 
Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Arun Gupta
 
Scripting Oracle Develop 2007
Scripting Oracle Develop 2007Scripting Oracle Develop 2007
Scripting Oracle Develop 2007Tugdual Grall
 
NoSQL and JavaScript: a love story
NoSQL and JavaScript: a love storyNoSQL and JavaScript: a love story
NoSQL and JavaScript: a love storyAlexandre Morgaut
 
Building Web Apps Sanely - EclipseCon 2010
Building Web Apps Sanely - EclipseCon 2010Building Web Apps Sanely - EclipseCon 2010
Building Web Apps Sanely - EclipseCon 2010Chris Ramsdale
 
企业级软件的组件化和动态化开发实践
企业级软件的组件化和动态化开发实践企业级软件的组件化和动态化开发实践
企业级软件的组件化和动态化开发实践Jacky Chi
 
Dynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFishDynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFishIndicThreads
 
GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012Arun Gupta
 

Similar to GlassFish v3 : En Route Java EE 6 (20)

Glass Fish V3 University Amers May2009
Glass Fish V3  University Amers May2009Glass Fish V3  University Amers May2009
Glass Fish V3 University Amers May2009
 
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
 
Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009
 
GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09
 
Hybrid Applications
Hybrid ApplicationsHybrid Applications
Hybrid Applications
 
Glass Fishv3 March2010
Glass Fishv3 March2010Glass Fishv3 March2010
Glass Fishv3 March2010
 
Grizzly 20080925 V2
Grizzly 20080925 V2Grizzly 20080925 V2
Grizzly 20080925 V2
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Engine
 
Scripting Support in GFv3 Prelude - Full Version
Scripting Support in GFv3 Prelude - Full VersionScripting Support in GFv3 Prelude - Full Version
Scripting Support in GFv3 Prelude - Full Version
 
Arquitecturas de microservicios - Medianet Software
Arquitecturas de microservicios   -  Medianet SoftwareArquitecturas de microservicios   -  Medianet Software
Arquitecturas de microservicios - Medianet Software
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration Backend
 
Java Fx Ajaxworld Rags V1
Java Fx Ajaxworld Rags V1Java Fx Ajaxworld Rags V1
Java Fx Ajaxworld Rags V1
 
Os Ramani
Os RamaniOs Ramani
Os Ramani
 
Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)
 
Scripting Oracle Develop 2007
Scripting Oracle Develop 2007Scripting Oracle Develop 2007
Scripting Oracle Develop 2007
 
NoSQL and JavaScript: a love story
NoSQL and JavaScript: a love storyNoSQL and JavaScript: a love story
NoSQL and JavaScript: a love story
 
Building Web Apps Sanely - EclipseCon 2010
Building Web Apps Sanely - EclipseCon 2010Building Web Apps Sanely - EclipseCon 2010
Building Web Apps Sanely - EclipseCon 2010
 
企业级软件的组件化和动态化开发实践
企业级软件的组件化和动态化开发实践企业级软件的组件化和动态化开发实践
企业级软件的组件化和动态化开发实践
 
Dynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFishDynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFish
 
GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012
 

More from Alexis Moussine-Pouchkine

GlassFish OSGi - From modular runtime to hybrid applications
GlassFish OSGi - From modular runtime to hybrid applicationsGlassFish OSGi - From modular runtime to hybrid applications
GlassFish OSGi - From modular runtime to hybrid applicationsAlexis Moussine-Pouchkine
 

More from Alexis Moussine-Pouchkine (20)

GlassFish Article September 07
GlassFish Article September 07GlassFish Article September 07
GlassFish Article September 07
 
GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010
 
GlassFish Community and future larochelle
GlassFish Community and future larochelleGlassFish Community and future larochelle
GlassFish Community and future larochelle
 
Javaee glassfish jcertif2010
Javaee glassfish jcertif2010Javaee glassfish jcertif2010
Javaee glassfish jcertif2010
 
GlassFish Community - FISL 2010
GlassFish Community - FISL 2010GlassFish Community - FISL 2010
GlassFish Community - FISL 2010
 
GlassFish OSGi - From modular runtime to hybrid applications
GlassFish OSGi - From modular runtime to hybrid applicationsGlassFish OSGi - From modular runtime to hybrid applications
GlassFish OSGi - From modular runtime to hybrid applications
 
Feuille de route (roadmap) GlassFish
Feuille de route (roadmap) GlassFishFeuille de route (roadmap) GlassFish
Feuille de route (roadmap) GlassFish
 
Java EE 6 Solutions Linux 2010
Java EE 6 Solutions Linux 2010Java EE 6 Solutions Linux 2010
Java EE 6 Solutions Linux 2010
 
L'association GUSES
L'association GUSESL'association GUSES
L'association GUSES
 
Open Solaris 2009.06
Open Solaris 2009.06Open Solaris 2009.06
Open Solaris 2009.06
 
Java EE 6 and GlassFish portfolio
Java EE 6 and GlassFish portfolioJava EE 6 and GlassFish portfolio
Java EE 6 and GlassFish portfolio
 
Metro Web Services
Metro Web ServicesMetro Web Services
Metro Web Services
 
Retour JavaOne 2009
Retour JavaOne 2009Retour JavaOne 2009
Retour JavaOne 2009
 
Zembly
ZemblyZembly
Zembly
 
Behind The Clouds
Behind The CloudsBehind The Clouds
Behind The Clouds
 
Retour d'expérience Cap Gemini GlassFish
Retour d'expérience Cap Gemini GlassFishRetour d'expérience Cap Gemini GlassFish
Retour d'expérience Cap Gemini GlassFish
 
OpenDS - Open Source Java LDAP server
OpenDS - Open Source Java LDAP serverOpenDS - Open Source Java LDAP server
OpenDS - Open Source Java LDAP server
 
Open MQ Jerome Moliere
Open MQ Jerome MoliereOpen MQ Jerome Moliere
Open MQ Jerome Moliere
 
OpenMQ François Ostyn
OpenMQ François OstynOpenMQ François Ostyn
OpenMQ François Ostyn
 
OpenSSO Microsoft Interop
OpenSSO Microsoft InteropOpenSSO Microsoft Interop
OpenSSO Microsoft Interop
 

Recently uploaded

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Recently uploaded (20)

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

GlassFish v3 : En Route Java EE 6

  • 1. GlassFish v3 En route pour Java EE 6 Alexis Moussine-Pouchkine GlassFish Team
  • 2. Timeline of Project GlassFish Tomcat Jasper v3 v3 Catalina “Prelude” (Java EE 6) v1 JSTL GlassFish Struts v2 v2.1 Launch Crimson XSLTC Xalan Xerces Fall-2009 JAXB Oct/Nov Dec June May Sept. JAX-RPC 2008 2008 2005 2006 2007 JSF (you are here) 2
  • 5. GlassFish around You (really) 5
  • 6. GlassFish around You (really, really) 6
  • 7. All this .... ... with a boring application server (albeit with built-in full Web-Services Stack, full clustering, great monitoring tools, record performance, complete documentation, and heavily deployed in production) 7
  • 8. GlassFish http://glassfish.org Best of class App Server • GlassFish v2.1 released Jan. 2009 > 4 millions downloads > Up to x2 usage over 12 months • Out of the box : “Grizzly”: scalable and innovative Web Tier > “Metro”: Complete Web Services interop with Microsoft > “Shoal”: Complete Java EE Clustering > Administration and monitoring tools > Performance (SPECjAppServer record) > Tooling (Best with NetBeans, Eclipse also supported) > 8
  • 9. GlassFish Enterprise Manager • SNMP Monitoring • Performance Advisor • Self management Rules • Performance Monitor 9
  • 11. Tomcat ? 11
  • 16. Modular and Dynamic • Modular : Apache Felix (OSGi) • Extensible : HK2 • Yet very Fast ! Security Config Grails JRuby/Rails Web Naming Injection dispatch GlassFish Kernel browser Grizzly requests HK2 Services OSGi Runtime Bundles repositories services 16
  • 17. Demo Startup Compile on Save Deploy on Change Preserve Session 17
  • 18. Painless Java EE development ! • Java EE development doesn't have to be painful :) • Incremental compile of all Java EE artifacts • Auto-deploy of all Java EE and static artifacts 18
  • 19. Session Retention Deployment option to maintain stateful sessions across re- deployments $ asadmin redeploy --properties keepSessions=true myapp.war Greatly simplifies the development paradigm. Integrated in NetBeans 6.5 : 19
  • 20. Yes, Eclipse too ! GlassFish (v2/v3) + Eclipse 3.4 Tools Bundle: http://download.java.net/glassfish/eclipse/ 20
  • 22. Prelude to Java EE 6 (via GlassFish Update Center) • JSF 2.0 Preview • EJB 3.1 Preview > Integrated Facelets > WAR packaging > First-class Ajax > Singleton support > No Interface View > Pub/Sub Events > TimerService > Composite > Asynchronous components operations > Better resource > ... handling • Servlet 3.0 soon > Groovy integration 22
  • 23. JAX-RS (JSR 311) with Jersey • Making it easy to build RESTful Web services • Production-quality Reference Implementation @javax.ws.rs.Path(quot;/users/{id}quot;) public class UserResource { @javax.ws.rs.GET @javax.ws.rs.Produces(quot;text/xmlquot;) public String getUser( @PathParam(quot;idquot;) String userName) { ... } } • Final and supported v1.0 • Fine client API too 23
  • 24. Servlet 3.0 • POJO > @WebServlet > @ServletFilter > @WebServletContextListener • web.xml now optional and supports fragments • Support for asynchrony > @WebServlet(asyncSupported=true) > New APIs for Servlet request and response for suspend, resume 24
  • 25. EJB 3.1 Sample import javax.ejb.Singleton; import javax.servlet.WebServlet; @WebServlet(urlMapping={quot;/Counterquot;}) @Singleton public class SimpleServlet { public class CounterBean { @EJB CounterBean counterBean; private int hitCount; void processRequest(...) { try { public synchronized int incrementAndGetHitCount() { ... return hitCount++; counterBean.incrementAndGetHitCount()); ... } } finally { out.close(); } } } } 25
  • 26. Demo simple ejb 3.1 war packaging 26
  • 27. GlassFish Embedded AppServer glassfish = new AppServer(8080); glassfish.deployWar(warFile); 27
  • 28. GlassFish Embedded public class Main { public static void main (String[] args) { AppServer glassfish = new AppServer(8080); glassfish.deployWar(warFile); } } 28
  • 29. GlassFish Embedded @BeforeClass public static void setUpClass () { AppServer glassfish = new AppServer(8080); glassfish.deployWar(warFile); } @Test public void pingApplication () { ... } 29
  • 30. A lot more ... Langages dynamiques: Rails, Grails, Django, ... • Comet, Cometd/Bayeux • Support complet de mod_jk, WebDAV, CGI, SSI • Web Services Metro 1.4 (.Net 3.5) • console user IPS/pkg(5) • Central Config domain.xml Admin Console Admin RESTful • C Container Monitoring • o GUI Parts Runtime n f Extensibilité • Grizzly Adapter i Admin commands g > Moteur Kernel > Console admin > Fichier de config client/browser admin invocation 30
  • 31. GlassFish v3 Prelude – Practical • Get it from http://glassfish.org • Download size: 26MB > Graphical Installer > Zip version > Community-contributed IzPack installer • Choice > Eclipse or NetBeans > Runs on Java 5 and Java 6 (Java EE 6 will mandate Java 6) > Felix or Equinox • Questions and feedback to : USERS@glassfish.dev.java.net or GlassFish forum. • Supported product, subscriptions available 31
  • 32. v3 Prelude vs. GlassFish v2.x Feature GlassFish Server v2 GlassFish v3 Prelude Java Platform, Enterprise Edition Java Compatible, Enterprise Edition (Java EE 5 ) Certified X Web Application and Service Technologies Java Web Technologies (Servlet 2 .5 , JSP 2 .1 , JSF 1 .2 ) X X Metro Web Services Stack X X [1][4] .NET 3.0 Web Services Interoperability X .NET 3.5 Web Services Interoperability X[1][4] Next Generation Web jMaki (Ajax Framework) X[4] X[4] Jersey/JAX-RS 1.0 (RESTful Web Services) X[4] X[4] Administration Admin Console and CLI (Centralized Administration) X X JMX X X Node Agent & Cluster Mgmt X Upgrade Tool X Client Application Client Container X Java WebStart support X Enterprise Application Technologies Java DB, JDBC Connection Pooling X X JTA/JTS X X J2 EE Connector Architecture 1 .5 X X[2] EJB 3 .0 X JMS X JPA 1 .0 (TopLink) X 32
  • 33. v3 Prelude vs. GlassFish v2 (2) Feature GlassFish Server v2 GlassFish v3 Prelude Scripting jRuby/Rails Web Archive (.war) deployment X[4] X[4] “Native” jRuby/Rails deployment – without need for Servlet container X[4] Dynamic resizing of jRuby Runtime Pool X[4] Groovy/Grails X[4] Developer Tools Integrated Development Support (Eclipse and NetBeans) X X Rapid Redeployment - Maintain session state on application redeploy X Update Center X X Update Center integration with Administration Console X Verification Tools X Image Packaging System (IPS) Tools X Framework Technologies Grizzly (Java NIO) X X Comet (HTTP Push) X X CORBA X Modular Architecture Based on OSGi X GlassFish Embedded X Extend GlassFish Functionality (Extensibility APIs)(Administration Console, asadmin CLI utility, more) X System/Performance Technologies Clustering X X[3] Load Balancer Plugin X Centralized Administration of Load Balancer Plugin Configuration X High Availability X Integration Integration with Identity Manager, OpenSSO, OpenESB, OpenPortal... X 33
  • 34. GlassFish v3 Roadmap • V3 Final aligned with Java EE 6 > Starting a series of Milestone releases > Targeted for Fall 2009 > Clustering, central admin likely on the update center • V3.1 full clustering > Likely 6 to 9 months after V3 34
  • 35. v3 Prelude Usage xWiki GlassFishV3 JavaDB Project Fuji (OpenESB.next) SailFin (Telco AppServer) WebSynergy (Portal, Liferay) WebEngine EHCache Server GlassFish v3 Embedded GlassFish v3 Embedded Jersey Jersey 35
  • 36. http://glassfish.org alexis.mp@sun.com http://blogs.sun.com/alexismp 36