SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 

Kürzlich hochgeladen (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 

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