SlideShare a Scribd company logo
GlassFish Server 3.1
Simple, Fast, Innovative Java EE 6 Clustering

Shreedhar Ganapathy, Arun Gupta, Java EE & GlassFish Guys
blogs.oracle.com/arungupta, @arungupta



                                                            1
The following is intended to outline our general
product direction. It is intended for information
purposes only, and may not be incorporated into
any contract. It is not a commitment to deliver any
material, code, or functionality, and should not be
relied upon in making purchasing decisions.

The development, release, and timing of any
features or functionality described for Oracle's
products remains at the sole discretion of Oracle.
Java EE 6 and GlassFish Server 3
    shipped final releases on
                     th
       December 10 2009
World's First Java EE 6 Compatible
          App Server with
 Clustering & High Availability
                      th
      Shipped Feb 28 2011
GlassFish Around You
GlassFish Server Chronology*
 2006     2007      2008       2009        2010    2011                …

  GlassFish v1
  Java EE 5, Single Instance
            GlassFish v2
            Java EE 5, High Availability

                               GlassFish Server 3
                               Java EE 6, Single Instance
                                                  GlassFish Server 3.1
                                                  Java EE 6, High Availability

                                                           GlassFish next
                                                           Java EE 7 / Cloud



* GlassFish Server Open Source Edition
GlassFish Community
●   Proven by developers
    ●   Over 24 million downloads
    ●   Over 21 million active users (cumulative in past 4
        yrs)
    ●   50K active users in 30 days w/GlassFish Server 3
    ●   900K+ upgrades from GlassFish Server 3 to 3.1 in
        just 3 months
    ●   Active user forums
    ●   Sub-projects
        –   Jersey (JAX-RS), Metro (JAX-WS), Grizzly (nio),
            Atmosphere, OpenMQ (JMS), and more
Deliverables
●   Application Server
    ●   Open Source and high-quality runtime
    ●    Java EE 5 / 6 Reference Implementation, early access
        to latest standards
    ●   Clustering and High Availability
    ●   Full Commercial Support from Oracle
●   Continued Investment in Open Source
    ●    Open Source license, governance, participation,
        transparency, ...
General Picture of Distributions
GlassFish Server Distributions



Distribution                    License      Features

                                             • Java EE 6 compatibility
GlassFish Server Open Source    CDDL &       • Web Profile support
Edition 3.1                     GPLv2        • In-memory replication / clustering
Web Profile
                                             • Centralized Administration

                                             • Java EE 6 compatibility
GlassFish Open Source Edition   CDDL &       • Full Java EE distribution
3.1                             GPLv2        • In-memory replication / clustering
                                             • Centralized Administration

                                             • Adds
Oracle GlassFish Server 3.1     Commercial
Web Profile                                       • Oracle GlassFish Server Control
                                                  • Patches, support, knowledge base


                                             • Adds
Oracle GlassFish Server 3.1     Commercial        • Oracle GlassFish Server Control
                                                  • Patches, support, knowledge base
GlassFish and WebLogic together
•
    Best open source application server with    •
                                                    Best commercial application server for
    support from Oracle                             transactional Java EE applications
•
    Open source platform of choice for light-   •
                                                    Platform of choice for standardization
    weight Web applications                     •
                                                    Focus on lowest operational cost and
•
    Focus on latest Java EE standards and           mission critical applications
    community driven innovation                 •
                                                    integration with Oracle Database, Fusion
•
    Certified interoperability with Fusion          Middleware & Fusion Applications
    Middleware
•
    Differentiated innovation, scout thread




                 Production Java                                 Production Java
              Application Deployment                          Application Deployment


              GlassFish Server                                WebLogic Server
Painless Java EE development !
    The save/reload paradigm

●   Incremental compile of all Java EE artifacts
●   Auto-deploy of all Java EE and static artifacts
Active Redeploy

●   Deployment option to maintain stateful
     sessions across re-deployments

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

●   Greatly simplifies the
     development paradigm

●   Integrated in IDEs
Yes, Eclipse too !




OEPE : http://www.oracle.com/technetwork/developer-tools/eclipse
Introducing GlassFish Server 3
Java EE 6 Themes

                  Flexible                      Embrace open source
Web Profile             &                       frameworks
  Pruning     Lightweight          Extensible
                                                Enables Drag & Drop
                         Java EE                framework installation



                       Developer
                      Productivity


                   More annotations
                  POJO development
                Less XML configuration
GlassFish Server Goals
Java EE 6 Themes           Oracle GlassFish Server

• Flexibility              • Flexibility

• Extensibility            • Extensibility

• Developer Productivity   • Developer Productivity

                           • Modularity / OSGi / Hybrid Apps

                           • Manageability

                           • High availability clustering

                           • 24 x 7 x 365 support
3.1 Overview
●   Built on GlassFish 3
●   Modular and Extensible HK2 Kernel
    ●   ~260+ modules
●   Clustering and High Availability
    ●   HTTP, EJB, IIOP, SSO, Metro
●   Dynamic Invocation of Services
●   End-to-end extensibility
Fast and Furious ...
  ●   29% better startup/deploy/re-deploy cycle over
      3.0.1
  ●   33% better HA performance over 2.1.1
      ●   Scalable Grizzly Adapter based on Java NIO
      ●
          Full-session and Modified-attribute* scope
  ●   Multiple Standalone instances and Clusters per
      domain



http://weblogs.java.net/blog/sdo/archive/2011/03/01/whats-new-glassfish-v31-performance
Modular and Dynamic
●   Modular : Apache Felix (OSGi)
●   Extensible : HK2
●   Yet very Fast !
Java EE 6 Clustering with Glassfish 3.1
More Painless Development
●   Fast auto-deploy of all Java EE and static
    artifacts
●   Application runner
    ●
        java -jar glassfish.jar toto.war
●   Maven integration
    ●
        mvn gf:run, gf:start, gf:deploy, ...
●   Containers added dynamically and transparently
●   Excellent Tools support
Embedded uses
●   Testing
    ●
        EJBContainer API (EJB 3.1)
    ●   Simple testing using Java SE (JUnit, Maven, ...)
        using EJB container

●   Packaging / Bundling
    ●   Beyond the specification: control all of GlassFish
        Server with an API = GlassFish Embedded
    ●   Integration testing & ship the server inside the app
What's the deal with OSGi?
●   GlassFish Server runs on top of OSGi (Felix)
    ●   Also runs unmodified on Equinox (and Knopflerfish)
    ●   GlassFish ships 260+ bundles
    ●   Can run without OSGi (Static mode)
    ●   Can use OSGi management tools (CLI or Web)
    ●   Can be installed on top of existing OSGi runtime

●   Any OSGi bundle will run in GlassFish Server
    ●   Drop it in glassfish/modules{/autostart}
    ●   Can also asadmin deploy it using --type osgi
    ●   GlassFish OSGi admin console
Extending GlassFish
       OSGi-style – an example, a demo and a picture


                                                               ●   OSGi declarative service
                                                               ●
                                                                   Service-Component
                                                                   entry in the JAR Manifest
                                                               ●   Invoke the service from a
                                                                   servlet using standard
                                                                   @Resource injection
                                                               ●   Never use a GlassFish
                                                                   product API !
                                                               ●   No need to chose
                                                                   between OSGi and
                                                                   Java EE

Step by step: http://blogs.sun.com/dochez/entry/glassfish_v3_extensions_part_4
OSGi + Java EE = Hybrid Apps
●   GlassFish Server as the modular runtime
    ●   Assembled spontaneously
    ●   Admin tools (Web & CLI)
●   Implementation of Java EE related OSGi
    services & standards
    ●   OSGi RFC's
●   Support for Java EE 6 platform
    ●   e.g. JPA, EJB, JDBC, JTA, ... as OSGi services
●   Web Application Bundle (WAB)
    ●   WAR + OSGi metadata + Web-ContextPath header
Update Center
Monitoring and Management
    Beyond web console and asadmin
●   Dynamic and non-intrusive monitoring
    ●   BTrace integration
        –   Portable, dynamic and safe tracing tool for Java
        –   Btrace annotations and API to write scripts
    ●   Java-defined Probe Providers
    ●   RESTful interface
    ●   DTrace for end-to-end
●   JavaScript Monitoring tool (add-on)

●   Still exposed via JMX
    ●
        jconsole and visualvm as natural clients
RESTful admin
●   Jersey + Grizzly to provide REST interfaces to :
    ●   Configure runtime (via GET, POST, DELETE)
    ●   Invoke commands (restart, stop, deploy, etc..)
    ●   Monitoring (GET only)
●   Available from :
    ●
        http://localhost:4848/management/domain
    ●
        http://localhost:4848/monitoring/domain
●   Use REST clients as Admin GUI substitute
    ●   Use your favorite glue/scripting language or tool
●   Data offered as either XML, HTML or JSON
●   Extensible
More GlassFish Server 3.x
●   Developer performance
●   Embedded API
●   RESTful API
●   Update Center
●   Metro 2.0
●   OpenMQ 4.x
●   Admin console
●   Btrace monitoring
●   ...
GlassFish Server Users
GlassFish Server 3.1
Developer Highlights
●   Developer Productivity
    ●   Improved embedded API support
    ●   Updated NetBeans and Eclipse plugin

●   Updated Technologies
    ●   Grizzly WebSocket support
    ●   Improved CDI, JSON, hypermedia support in Jersey
    ●   Technology refresh – JSF, CDI, Grizzly, OSGi, JPA,
        Jersey, Bean Validation, Metro, UC, etc.
    ●   Implementation of various Enterprise OSGi Specs
GlassFish Server 3.1
Clustering Highlights
● HTTP, EJB, IIOP, SSO, Metro

    ●   New - RM Sequence, Secure Conversations
●   Shoal GMS Runtime Dynamic Clustering using
    Grizzly as transport provider
●   Session-based replication using Shoal
    ● Distributes session state uniformly &

      consistently among instances
●   Shoal OSGi module, loaded when HA-enabled
    apps are deployed
●   Support for conventional clustering of MQs
    brokers in embedded mode
GlassFish Server 3.1
Manageability Highlights
●   SSH based remote management and
    provisioning
●   Application versioning support
●   Application scoped resources
●   Statement leak detection and reclaim
●   Improved monitoring
●   Console based on RESTful API
Application-Scoped Resources
 “glassfish-resources.xml”
 ● Created/deleted with app deploy/undeploy


 ● Supported in NetBeans

                           glassfish-resources.xml
                                      java:app/...




                glassfish-resources.xml          glassfish-resources.xml

                                 Servlet         EJB
               java:module/...                            java:module/...


                                    X                X
http://blogs.sun.com/JagadishPrasath/entry/application_scoped_resources_in_glassfish
Application Versioning
●   Deploy multiple versions of an application, only
    one enabled
●   Commands
    ● asadmin deploy foo.war
    ● asadmin deploy –name=foo:BETA-1 foo.war

    ● asadmin deploy –name=foo:BETA-1.1

         –enable=false foo.war
    ● asadmin enable foo:BETA-1.1


    ● asadmin deploy –name=foo:RC1 foo.war


    ● asadmin undeploy foo:BETA*
    ● asadmin undeploy foo:*
GlassFish Server Control

                                                   Monitoring
  DAS Backup & Recovery   Performance Tuner      Scripting Client




Coherence Active Cache       Oracle Access        Load Balancer
                           Manager Integration   Plugin & Installer
Strategy for continued success
●   Continue to deliver outstanding performance
●   Continue to improve developer productivity
●   Continue product execution
    ●   Deliver Java EE 7 first
    ●   Deliver on product roadmap
●   Continue to innovate
    ●   Improve manageability
    ●   Hybrid OSGi / Java EE applications
References

●   oracle.com/javaee
●   glassfish.org
●   oracle.com/goto/glassfish
●   blogs.sun.com/theaquarium
●   youtube.com/GlassFishVideos
●   Follow @glassfish

More Related Content

What's hot (20)

PDF
Running your Java EE applications in the Cloud
Arun Gupta
 
PDF
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
Arun Gupta
 
PDF
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Arun Gupta
 
PDF
GlassFish 3.1 at JCertif 2011
Arun Gupta
 
PDF
Glassfish An Introduction
Jumping Bean
 
PDF
GlassFish Community and future larochelle
Alexis Moussine-Pouchkine
 
PDF
GlassFish OSGi - Java2days 2010
Alexis Moussine-Pouchkine
 
PDF
GlassFish Article September 07
Alexis Moussine-Pouchkine
 
PDF
The State of Java under Oracle at JCertif 2011
Arun Gupta
 
PDF
Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010
Arun Gupta
 
ODP
GlassFish v3 - Architecture
Alexis Moussine-Pouchkine
 
PPTX
Ausoug glassfish perth
LansenConsulting
 
PDF
JEE 8, A Big Overview
Jasmine Conseil
 
PDF
OSGi & Java EE in GlassFish
Sanjeeb Sahoo
 
PDF
OSGi-enabled Java EE applications in GlassFish
Arun Gupta
 
PDF
GlassFish v3, OSGi Equinox Felix
Ludovic Champenois
 
PPT
Developing modular Java applications
Julien Dubois
 
PDF
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Marakana Inc.
 
PDF
GlassFish v3 Prelude Aquarium Paris
Alexis Moussine-Pouchkine
 
PDF
WildFly & WildFly Swarm
Dimitris Andreadis
 
Running your Java EE applications in the Cloud
Arun Gupta
 
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
Arun Gupta
 
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Arun Gupta
 
GlassFish 3.1 at JCertif 2011
Arun Gupta
 
Glassfish An Introduction
Jumping Bean
 
GlassFish Community and future larochelle
Alexis Moussine-Pouchkine
 
GlassFish OSGi - Java2days 2010
Alexis Moussine-Pouchkine
 
GlassFish Article September 07
Alexis Moussine-Pouchkine
 
The State of Java under Oracle at JCertif 2011
Arun Gupta
 
Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010
Arun Gupta
 
GlassFish v3 - Architecture
Alexis Moussine-Pouchkine
 
Ausoug glassfish perth
LansenConsulting
 
JEE 8, A Big Overview
Jasmine Conseil
 
OSGi & Java EE in GlassFish
Sanjeeb Sahoo
 
OSGi-enabled Java EE applications in GlassFish
Arun Gupta
 
GlassFish v3, OSGi Equinox Felix
Ludovic Champenois
 
Developing modular Java applications
Julien Dubois
 
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Marakana Inc.
 
GlassFish v3 Prelude Aquarium Paris
Alexis Moussine-Pouchkine
 
WildFly & WildFly Swarm
Dimitris Andreadis
 

Viewers also liked (7)

PDF
GlassFish v2 Clustering
Eduardo Pelegri-Llopart
 
PDF
JAX-RS JavaOne Hyderabad, India 2011
Shreedhar Ganapathy
 
PDF
Glassfish Overview Fontys 20090520
Eugene Bogaart
 
PPTX
Coherence sig-nfr-web-tier-scaling-using-coherence-web
C2B2 Consulting
 
PPT
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
Oracle
 
PPT
An Engineer's Intro to Oracle Coherence
Oracle
 
PPT
Oracle Coherence: in-memory datagrid
Emiliano Pecis
 
GlassFish v2 Clustering
Eduardo Pelegri-Llopart
 
JAX-RS JavaOne Hyderabad, India 2011
Shreedhar Ganapathy
 
Glassfish Overview Fontys 20090520
Eugene Bogaart
 
Coherence sig-nfr-web-tier-scaling-using-coherence-web
C2B2 Consulting
 
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
Oracle
 
An Engineer's Intro to Oracle Coherence
Oracle
 
Oracle Coherence: in-memory datagrid
Emiliano Pecis
 
Ad

Similar to Java EE 6 Clustering with Glassfish 3.1 (20)

PDF
OTN Developer Days - GlassFish
glassfish
 
PDF
Glass Fishv3 March2010
Stephan Janssen
 
PDF
Glassfish V2.1 Harpreet Singh
Eduardo Pelegri-Llopart
 
PDF
Glassfish Overview 29 Oktober 2009
Eugene Bogaart
 
PDF
GlassFish v3 at JavaZone 09
Alexis Moussine-Pouchkine
 
PDF
GlassFish & Java EE Business Update @ CEJUG
Arun Gupta
 
PPT
Enterprise GlassFish
Alicja Sieminska
 
PDF
GlassFish v3 : En Route Java EE 6
Alexis Moussine-Pouchkine
 
PDF
Whats Cool in Java E 6
Arun Gupta
 
PDF
OSGi & Java EE in GlassFish - Best of both worlds
Arun Gupta
 
ODP
GlassFish and JavaEE, Today and Future
Alexis Moussine-Pouchkine
 
PDF
Overzicht van de GlassFish technologie, Eugene Bogaart
Jaco Haans
 
ODP
Glass Fish Slides Fy2009 2
Abhishek Gupta
 
ODP
Glass Fish Slides Fy2009 2
Abhishek Gupta
 
PPTX
GlassFish in Production Environments
Bruno Borges
 
PDF
JFokus 2011 - Running your Java EE 6 apps in the Cloud
Arun Gupta
 
PDF
Running your Java EE 6 applications in the cloud
Arun Gupta
 
PDF
Javaee6 Jazoon 2010 100603081147 Phpapp01
MindTree Ltd
 
PDF
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
JUG Lausanne
 
PDF
Running your Java EE 6 Applications in the Cloud
Arun Gupta
 
OTN Developer Days - GlassFish
glassfish
 
Glass Fishv3 March2010
Stephan Janssen
 
Glassfish V2.1 Harpreet Singh
Eduardo Pelegri-Llopart
 
Glassfish Overview 29 Oktober 2009
Eugene Bogaart
 
GlassFish v3 at JavaZone 09
Alexis Moussine-Pouchkine
 
GlassFish & Java EE Business Update @ CEJUG
Arun Gupta
 
Enterprise GlassFish
Alicja Sieminska
 
GlassFish v3 : En Route Java EE 6
Alexis Moussine-Pouchkine
 
Whats Cool in Java E 6
Arun Gupta
 
OSGi & Java EE in GlassFish - Best of both worlds
Arun Gupta
 
GlassFish and JavaEE, Today and Future
Alexis Moussine-Pouchkine
 
Overzicht van de GlassFish technologie, Eugene Bogaart
Jaco Haans
 
Glass Fish Slides Fy2009 2
Abhishek Gupta
 
Glass Fish Slides Fy2009 2
Abhishek Gupta
 
GlassFish in Production Environments
Bruno Borges
 
JFokus 2011 - Running your Java EE 6 apps in the Cloud
Arun Gupta
 
Running your Java EE 6 applications in the cloud
Arun Gupta
 
Javaee6 Jazoon 2010 100603081147 Phpapp01
MindTree Ltd
 
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
JUG Lausanne
 
Running your Java EE 6 Applications in the Cloud
Arun Gupta
 
Ad

Recently uploaded (20)

PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Advancing WebDriver BiDi support in WebKit
Igalia
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Advancing WebDriver BiDi support in WebKit
Igalia
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 

Java EE 6 Clustering with Glassfish 3.1

  • 1. GlassFish Server 3.1 Simple, Fast, Innovative Java EE 6 Clustering Shreedhar Ganapathy, Arun Gupta, Java EE & GlassFish Guys blogs.oracle.com/arungupta, @arungupta 1
  • 2. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle's products remains at the sole discretion of Oracle.
  • 3. Java EE 6 and GlassFish Server 3 shipped final releases on th December 10 2009
  • 4. World's First Java EE 6 Compatible App Server with Clustering & High Availability th Shipped Feb 28 2011
  • 6. GlassFish Server Chronology* 2006 2007 2008 2009 2010 2011 … GlassFish v1 Java EE 5, Single Instance GlassFish v2 Java EE 5, High Availability GlassFish Server 3 Java EE 6, Single Instance GlassFish Server 3.1 Java EE 6, High Availability GlassFish next Java EE 7 / Cloud * GlassFish Server Open Source Edition
  • 7. GlassFish Community ● Proven by developers ● Over 24 million downloads ● Over 21 million active users (cumulative in past 4 yrs) ● 50K active users in 30 days w/GlassFish Server 3 ● 900K+ upgrades from GlassFish Server 3 to 3.1 in just 3 months ● Active user forums ● Sub-projects – Jersey (JAX-RS), Metro (JAX-WS), Grizzly (nio), Atmosphere, OpenMQ (JMS), and more
  • 8. Deliverables ● Application Server ● Open Source and high-quality runtime ● Java EE 5 / 6 Reference Implementation, early access to latest standards ● Clustering and High Availability ● Full Commercial Support from Oracle ● Continued Investment in Open Source ● Open Source license, governance, participation, transparency, ...
  • 9. General Picture of Distributions
  • 10. GlassFish Server Distributions Distribution License Features • Java EE 6 compatibility GlassFish Server Open Source CDDL & • Web Profile support Edition 3.1 GPLv2 • In-memory replication / clustering Web Profile • Centralized Administration • Java EE 6 compatibility GlassFish Open Source Edition CDDL & • Full Java EE distribution 3.1 GPLv2 • In-memory replication / clustering • Centralized Administration • Adds Oracle GlassFish Server 3.1 Commercial Web Profile • Oracle GlassFish Server Control • Patches, support, knowledge base • Adds Oracle GlassFish Server 3.1 Commercial • Oracle GlassFish Server Control • Patches, support, knowledge base
  • 11. GlassFish and WebLogic together • Best open source application server with • Best commercial application server for support from Oracle transactional Java EE applications • Open source platform of choice for light- • Platform of choice for standardization weight Web applications • Focus on lowest operational cost and • Focus on latest Java EE standards and mission critical applications community driven innovation • integration with Oracle Database, Fusion • Certified interoperability with Fusion Middleware & Fusion Applications Middleware • Differentiated innovation, scout thread Production Java Production Java Application Deployment Application Deployment GlassFish Server WebLogic Server
  • 12. Painless Java EE development ! The save/reload paradigm ● Incremental compile of all Java EE artifacts ● Auto-deploy of all Java EE and static artifacts
  • 13. Active Redeploy ● Deployment option to maintain stateful sessions across re-deployments $ asadmin redeploy --properties keepSessions=true myapp.war ● Greatly simplifies the development paradigm ● Integrated in IDEs
  • 14. Yes, Eclipse too ! OEPE : http://www.oracle.com/technetwork/developer-tools/eclipse
  • 16. Java EE 6 Themes Flexible Embrace open source Web Profile & frameworks Pruning Lightweight Extensible Enables Drag & Drop Java EE framework installation Developer Productivity More annotations POJO development Less XML configuration
  • 17. GlassFish Server Goals Java EE 6 Themes Oracle GlassFish Server • Flexibility • Flexibility • Extensibility • Extensibility • Developer Productivity • Developer Productivity • Modularity / OSGi / Hybrid Apps • Manageability • High availability clustering • 24 x 7 x 365 support
  • 18. 3.1 Overview ● Built on GlassFish 3 ● Modular and Extensible HK2 Kernel ● ~260+ modules ● Clustering and High Availability ● HTTP, EJB, IIOP, SSO, Metro ● Dynamic Invocation of Services ● End-to-end extensibility
  • 19. Fast and Furious ... ● 29% better startup/deploy/re-deploy cycle over 3.0.1 ● 33% better HA performance over 2.1.1 ● Scalable Grizzly Adapter based on Java NIO ● Full-session and Modified-attribute* scope ● Multiple Standalone instances and Clusters per domain http://weblogs.java.net/blog/sdo/archive/2011/03/01/whats-new-glassfish-v31-performance
  • 20. Modular and Dynamic ● Modular : Apache Felix (OSGi) ● Extensible : HK2 ● Yet very Fast !
  • 22. More Painless Development ● Fast auto-deploy of all Java EE and static artifacts ● Application runner ● java -jar glassfish.jar toto.war ● Maven integration ● mvn gf:run, gf:start, gf:deploy, ... ● Containers added dynamically and transparently ● Excellent Tools support
  • 23. Embedded uses ● Testing ● EJBContainer API (EJB 3.1) ● Simple testing using Java SE (JUnit, Maven, ...) using EJB container ● Packaging / Bundling ● Beyond the specification: control all of GlassFish Server with an API = GlassFish Embedded ● Integration testing & ship the server inside the app
  • 24. What's the deal with OSGi? ● GlassFish Server runs on top of OSGi (Felix) ● Also runs unmodified on Equinox (and Knopflerfish) ● GlassFish ships 260+ bundles ● Can run without OSGi (Static mode) ● Can use OSGi management tools (CLI or Web) ● Can be installed on top of existing OSGi runtime ● Any OSGi bundle will run in GlassFish Server ● Drop it in glassfish/modules{/autostart} ● Can also asadmin deploy it using --type osgi ● GlassFish OSGi admin console
  • 25. Extending GlassFish OSGi-style – an example, a demo and a picture ● OSGi declarative service ● Service-Component entry in the JAR Manifest ● Invoke the service from a servlet using standard @Resource injection ● Never use a GlassFish product API ! ● No need to chose between OSGi and Java EE Step by step: http://blogs.sun.com/dochez/entry/glassfish_v3_extensions_part_4
  • 26. OSGi + Java EE = Hybrid Apps ● GlassFish Server as the modular runtime ● Assembled spontaneously ● Admin tools (Web & CLI) ● Implementation of Java EE related OSGi services & standards ● OSGi RFC's ● Support for Java EE 6 platform ● e.g. JPA, EJB, JDBC, JTA, ... as OSGi services ● Web Application Bundle (WAB) ● WAR + OSGi metadata + Web-ContextPath header
  • 28. Monitoring and Management Beyond web console and asadmin ● Dynamic and non-intrusive monitoring ● BTrace integration – Portable, dynamic and safe tracing tool for Java – Btrace annotations and API to write scripts ● Java-defined Probe Providers ● RESTful interface ● DTrace for end-to-end ● JavaScript Monitoring tool (add-on) ● Still exposed via JMX ● jconsole and visualvm as natural clients
  • 29. RESTful admin ● Jersey + Grizzly to provide REST interfaces to : ● Configure runtime (via GET, POST, DELETE) ● Invoke commands (restart, stop, deploy, etc..) ● Monitoring (GET only) ● Available from : ● http://localhost:4848/management/domain ● http://localhost:4848/monitoring/domain ● Use REST clients as Admin GUI substitute ● Use your favorite glue/scripting language or tool ● Data offered as either XML, HTML or JSON ● Extensible
  • 30. More GlassFish Server 3.x ● Developer performance ● Embedded API ● RESTful API ● Update Center ● Metro 2.0 ● OpenMQ 4.x ● Admin console ● Btrace monitoring ● ...
  • 32. GlassFish Server 3.1 Developer Highlights ● Developer Productivity ● Improved embedded API support ● Updated NetBeans and Eclipse plugin ● Updated Technologies ● Grizzly WebSocket support ● Improved CDI, JSON, hypermedia support in Jersey ● Technology refresh – JSF, CDI, Grizzly, OSGi, JPA, Jersey, Bean Validation, Metro, UC, etc. ● Implementation of various Enterprise OSGi Specs
  • 33. GlassFish Server 3.1 Clustering Highlights ● HTTP, EJB, IIOP, SSO, Metro ● New - RM Sequence, Secure Conversations ● Shoal GMS Runtime Dynamic Clustering using Grizzly as transport provider ● Session-based replication using Shoal ● Distributes session state uniformly & consistently among instances ● Shoal OSGi module, loaded when HA-enabled apps are deployed ● Support for conventional clustering of MQs brokers in embedded mode
  • 34. GlassFish Server 3.1 Manageability Highlights ● SSH based remote management and provisioning ● Application versioning support ● Application scoped resources ● Statement leak detection and reclaim ● Improved monitoring ● Console based on RESTful API
  • 35. Application-Scoped Resources “glassfish-resources.xml” ● Created/deleted with app deploy/undeploy ● Supported in NetBeans glassfish-resources.xml java:app/... glassfish-resources.xml glassfish-resources.xml Servlet EJB java:module/... java:module/... X X http://blogs.sun.com/JagadishPrasath/entry/application_scoped_resources_in_glassfish
  • 36. Application Versioning ● Deploy multiple versions of an application, only one enabled ● Commands ● asadmin deploy foo.war ● asadmin deploy –name=foo:BETA-1 foo.war ● asadmin deploy –name=foo:BETA-1.1 –enable=false foo.war ● asadmin enable foo:BETA-1.1 ● asadmin deploy –name=foo:RC1 foo.war ● asadmin undeploy foo:BETA* ● asadmin undeploy foo:*
  • 37. GlassFish Server Control Monitoring DAS Backup & Recovery Performance Tuner Scripting Client Coherence Active Cache Oracle Access Load Balancer Manager Integration Plugin & Installer
  • 38. Strategy for continued success ● Continue to deliver outstanding performance ● Continue to improve developer productivity ● Continue product execution ● Deliver Java EE 7 first ● Deliver on product roadmap ● Continue to innovate ● Improve manageability ● Hybrid OSGi / Java EE applications
  • 39. References ● oracle.com/javaee ● glassfish.org ● oracle.com/goto/glassfish ● blogs.sun.com/theaquarium ● youtube.com/GlassFishVideos ● Follow @glassfish