SlideShare a Scribd company logo
GlassFish Server 3.1
Deploying your Java EE 6 Applications in Cluster


Arun Gupta, Java EE & GlassFish Guy
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
       December 10th 2009
World's First Java EE 6 Compatible
          App Server with
 Clustering & High Availability
     Shipped Feb 28th 2011
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 3.1.1
                                                    JDK7 support

                                                         GlassFish.next
* GlassFish Server Open Source Edition                   Java EE 7
GlassFish Community
●   Proven by developers
    ●   Over 24 million downloads
    ●   Over 22 million active users (cumulative in
        past 4 yrs)
    ●   900K+ upgrades from GlassFish Server 3 to
        3.1 in just 2 months
    ●   Active user forums
    ●   Sub-projects
        –   Jersey (JAX-RS), Metro (JAX-WS), Grizzly (nio),
            Atmosphere, OpenMQ (JMS), and more
GlassFish Around You




http://maps.glassfish.org
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 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

Auto-deploy of all Java EE and static
●

artifacts
Active Deployment
●   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
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 !
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 as 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 API !
                                                             ●   No need to chose between
                                                                 OSGi and
                                                                 Java EE



Step by step: http://blogs.sun.com/dochez/entry/glassfish_v3_extensions_part_4
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 Administration
●   Jersey + Grizzly to provide REST interfaces
    ●   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
Customers Around the Globe
Depend on WebLogic
In government…


On the phone …


In the wallet …



With health …


In education and
research …

In travel &
transport …
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

●   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 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 3.1.1

● Runs on JDK 7
● Extensive platform support

     ●   AIX 6.1/7.1, Solaris 11 Express Edition
● Better performance with 64-bit LB plug-in
● Performance and Stability enhancements

     ●   Weld, Bean Validation, Jersey, …
● Support for OSGi/Java EE Hybrid Apps
● Improved fidelity for GlassFish Embedded
String in switch – Before JDK 7
@Path("fruits")
public class FruitResource {

  @GET
  @Produces("application/json")
  @Path("{name}")
  public String getJson(@PathParam("name")String name) {
     if (name.equals("apple") || name.equals("cherry") || name.equals("strawberry"))
         return "Red";
    else if (name.equals("banana") || name.equals("papaya"))
         return "Yellow";
    else if (name.equals("kiwi") || name.equals("grapes") || name.equals("guava"))
         return "Green";
    else if (name.equals("clementine") || name.equals("persimmon"))
        return "Orange";
    else
        return "Unknown";
  }
...
String in switch – After JDK 7
@Path("fruits")
public class FruitResource {

  @GET
  @Produces("application/json")
  @Path("{name}")
  public String getJson(@PathParam("name")String name) {
    switch (name) {
       case "apple": case "cherry": case "strawberry":
          return "Red";
       case "banana": case "papaya":
          return "Yellow";
       case "kiwi": case "grapes": case "guava":
         return "Green";
       case "clementine": case "persimmon":
         return "Orange";
       default:
         return "Unknown";
     }
  }
...                             http://blogs.oracle.com/arungupta/entry/totd_168_string_switch_statement
Automatic Resource
Management – Before JDK 7
@Resource(name=“jdbc/__default”)
DataSource ds;

@javax.annotation.PostConstruct
void startup() {
 Connection c = null;
 Statement s = null;
 try {
   c = ds.getConnection();
   s = c.createStatement();

     // invoke SQL here

    } catch (SQLException ex) {
      System.err.println("ouch!");
    } finally {
      try {
        if (s != null)
          s.close();
        if (c != null)
          c.close();
      } catch (SQLException ex) {
        System.err.println("ouch!");;
      }
    }
}
Automatic Resource
Management – After JDK 7
@Resource(name=“jdbc/__default”)
DataSource ds;

@javax.annotation.PostConstruct
void startup() {

    try (Connection c = ds.getConnection(); Statement s = c.createStatement()) {

     // invoke SQL here

    } catch (SQLException ex) {
      System.err.println("ouch!");
    }
}




    http://blogs.oracle.com/arungupta/entry/totd_167_automatic_resource_management
Multi-catch – Before JDK 7
protected void doPost(HttpServletRequest request, HttpServletResponse response){
  PrintWriter out = null;
  try {
    response.setContentType("text/html;charset=UTF-8");
    out = response.getWriter();
    out.println("<html><head><title>Servlet TestServlet</title></head>");
    out.println("<body>");
    out.println("<h1>Sending email from " + request.getContextPath () + "</h1>");

    for (Part p : request.getParts()) {
      // save the parts locally
      System.out.println(p.getName() + " saved");
    }

   Message message = new MimeMessage(session);
   message.setFrom(new InternetAddress(from));
   InternetAddress[] address = {new InternetAddress(to)};
    message.setRecipients(Message.RecipientType.TO, address);
    message.setSubject("File upload successful.");
    message.setSentDate(new Date());
    message.setText("File has been successfully saved.");
    Transport.send(message);

     out.println("</body>");
     out.println("</html>");
  } catch (ServletException ex) {
     Logger.getLogger(TestServlet.class.getName()).log(Level.SEVERE, null, ex);
  } catch (MessagingException ex) {
     Logger.getLogger(TestServlet.class.getName()).log(Level.SEVERE, null, ex);
  } catch (IOException ex) {
     Logger.getLogger(TestServlet.class.getName()).log(Level.SEVERE, null, ex);
  } finally {
     out.close();
  }
Multi-catch – After JDK 7

    out.println("</body>");
    out.println("</html>");
 } catch (ServletException | MessagingException | IOException ex) {
    Logger.getLogger(TestServlet.class.getName()).log(Level.SEVERE, null, ex);
 } finally {
    out.close();
 }




http://blogs.oracle.com/arungupta/entry/totd_169_multi_catch_using
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
Why Attend JavaOne
Because Duke says:
• “Find out what's new with Java Technology.”
• “Hear from and network with visionary speakers and
  recognized community luminaries.”
• “Get in-depth technical content and hands-on learning
  opportunities that cover today's most important Java
  development topics.” (400+ sessions/BoFs/HOLs)
• “Walk away with improved working knowledge and
  coding expertise you can apply immediately to your
  own projects and initiatives.”



                 http://oracle.com/javaone
References

●   oracle.com/javaee
●   glassfish.org
●   oracle.com/goto/glassfish
●   blogs.oracle.com/theaquarium
●   youtube.com/GlassFishVideos
●   Follow @glassfish
GlassFish Server 3.1
Deploying your Java EE 6 Applications in Cluster


Arun Gupta, Java EE & GlassFish Guy
blogs.oracle.com/arungupta, @arungupta


                                                   44

More Related Content

What's hot

GlassFish Article September 07
GlassFish Article September 07GlassFish Article September 07
GlassFish Article September 07
Alexis Moussine-Pouchkine
 
GlassFish v3 - Architecture
GlassFish v3 - ArchitectureGlassFish v3 - Architecture
GlassFish v3 - Architecture
Alexis Moussine-Pouchkine
 
Ausoug glassfish perth
Ausoug glassfish perthAusoug glassfish perth
Ausoug glassfish perth
LansenConsulting
 
Andrei Niculae - glassfish - 24mai2011
Andrei Niculae - glassfish - 24mai2011Andrei Niculae - glassfish - 24mai2011
Andrei Niculae - glassfish - 24mai2011Agora Group
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
Arun Gupta
 
Running your Java EE applications in the Cloud
Running your Java EE applications in the CloudRunning your Java EE applications in the Cloud
Running your Java EE applications in the Cloud
Arun Gupta
 
GlassFish v3 Prelude Aquarium Paris
GlassFish v3 Prelude Aquarium ParisGlassFish v3 Prelude Aquarium Paris
GlassFish v3 Prelude Aquarium Paris
Alexis Moussine-Pouchkine
 
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
Arun Gupta
 
OSGi & Java EE in GlassFish
OSGi & Java EE in GlassFishOSGi & Java EE in GlassFish
OSGi & Java EE in GlassFish
Sanjeeb Sahoo
 
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Arun Gupta
 
Project Fuji/OpenESB Aquarium Paris
Project Fuji/OpenESB Aquarium ParisProject Fuji/OpenESB Aquarium Paris
Project Fuji/OpenESB Aquarium Paris
Alexis Moussine-Pouchkine
 
GlassFish in Production Environments
GlassFish in Production EnvironmentsGlassFish in Production Environments
GlassFish in Production Environments
Bruno Borges
 
GlassFish v3, OSGi Equinox Felix
GlassFish v3, OSGi Equinox FelixGlassFish v3, OSGi Equinox Felix
GlassFish v3, OSGi Equinox Felix
Ludovic Champenois
 
Polygot Java EE on the GraalVM
Polygot Java EE on the GraalVMPolygot Java EE on the GraalVM
Polygot Java EE on the GraalVM
Ryan Cuprak
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011
Arun Gupta
 
JEE 8, A Big Overview
JEE 8, A Big OverviewJEE 8, A Big Overview
JEE 8, A Big Overview
Jasmine Conseil
 
Nuxeo WebEngine and GlassFish v3
Nuxeo WebEngine and GlassFish v3Nuxeo WebEngine and GlassFish v3
Nuxeo WebEngine and GlassFish v3Nuxeo
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applications
Julien Dubois
 

What's hot (20)

GlassFish Community and future larochelle
GlassFish Community and future larochelleGlassFish Community and future larochelle
GlassFish Community and future larochelle
 
GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010
 
GlassFish Article September 07
GlassFish Article September 07GlassFish Article September 07
GlassFish Article September 07
 
GlassFish v3 - Architecture
GlassFish v3 - ArchitectureGlassFish v3 - Architecture
GlassFish v3 - Architecture
 
Ausoug glassfish perth
Ausoug glassfish perthAusoug glassfish perth
Ausoug glassfish perth
 
Andrei Niculae - glassfish - 24mai2011
Andrei Niculae - glassfish - 24mai2011Andrei Niculae - glassfish - 24mai2011
Andrei Niculae - glassfish - 24mai2011
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
 
Running your Java EE applications in the Cloud
Running your Java EE applications in the CloudRunning your Java EE applications in the Cloud
Running your Java EE applications in the Cloud
 
GlassFish v3 Prelude Aquarium Paris
GlassFish v3 Prelude Aquarium ParisGlassFish v3 Prelude Aquarium Paris
GlassFish v3 Prelude Aquarium Paris
 
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
 
OSGi & Java EE in GlassFish
OSGi & Java EE in GlassFishOSGi & Java EE in GlassFish
OSGi & Java EE in GlassFish
 
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
 
Project Fuji/OpenESB Aquarium Paris
Project Fuji/OpenESB Aquarium ParisProject Fuji/OpenESB Aquarium Paris
Project Fuji/OpenESB Aquarium Paris
 
GlassFish in Production Environments
GlassFish in Production EnvironmentsGlassFish in Production Environments
GlassFish in Production Environments
 
GlassFish v3, OSGi Equinox Felix
GlassFish v3, OSGi Equinox FelixGlassFish v3, OSGi Equinox Felix
GlassFish v3, OSGi Equinox Felix
 
Polygot Java EE on the GraalVM
Polygot Java EE on the GraalVMPolygot Java EE on the GraalVM
Polygot Java EE on the GraalVM
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011
 
JEE 8, A Big Overview
JEE 8, A Big OverviewJEE 8, A Big Overview
JEE 8, A Big Overview
 
Nuxeo WebEngine and GlassFish v3
Nuxeo WebEngine and GlassFish v3Nuxeo WebEngine and GlassFish v3
Nuxeo WebEngine and GlassFish v3
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applications
 

Viewers also liked

Katherinessss Grouppp.. Olly Gimi
Katherinessss Grouppp.. Olly  GimiKatherinessss Grouppp.. Olly  Gimi
Katherinessss Grouppp.. Olly Gimisydenhamstudent
 
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
Arun Gupta
 
Java EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for futureJava EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for future
Arun Gupta
 
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudTDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
Arun Gupta
 
GIDS 2012: PaaSing a Java EE Application
GIDS 2012: PaaSing a Java EE ApplicationGIDS 2012: PaaSing a Java EE Application
GIDS 2012: PaaSing a Java EE Application
Arun Gupta
 
GIDS 2012: Java Message Service 2.0
GIDS 2012: Java Message Service 2.0GIDS 2012: Java Message Service 2.0
GIDS 2012: Java Message Service 2.0
Arun Gupta
 
Psea mbh 2010 uba color
Psea mbh 2010 uba colorPsea mbh 2010 uba color
Psea mbh 2010 uba color
Mauro (h)
 

Viewers also liked (7)

Katherinessss Grouppp.. Olly Gimi
Katherinessss Grouppp.. Olly  GimiKatherinessss Grouppp.. Olly  Gimi
Katherinessss Grouppp.. Olly Gimi
 
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
 
Java EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for futureJava EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for future
 
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudTDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
 
GIDS 2012: PaaSing a Java EE Application
GIDS 2012: PaaSing a Java EE ApplicationGIDS 2012: PaaSing a Java EE Application
GIDS 2012: PaaSing a Java EE Application
 
GIDS 2012: Java Message Service 2.0
GIDS 2012: Java Message Service 2.0GIDS 2012: Java Message Service 2.0
GIDS 2012: Java Message Service 2.0
 
Psea mbh 2010 uba color
Psea mbh 2010 uba colorPsea mbh 2010 uba color
Psea mbh 2010 uba color
 

Similar to Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011

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
JUG Lausanne
 
Glass Fishv3 March2010
Glass Fishv3 March2010Glass Fishv3 March2010
Glass Fishv3 March2010
Stephan Janssen
 
Enterprise GlassFish
Enterprise GlassFishEnterprise GlassFish
Enterprise GlassFish
Alicja Sieminska
 
GlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and FutureGlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and Future
Alexis Moussine-Pouchkine
 
GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09
Alexis Moussine-Pouchkine
 
Project Zero For Javapolis 2007
Project Zero For Javapolis 2007Project Zero For Javapolis 2007
Project Zero For Javapolis 2007
Jason McGee
 
Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011
Arun Gupta
 
Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Abhishek Gupta
 
OSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P KriensOSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P Kriens
mfrancis
 
Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1
Wolfgang Weigend
 
Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Abhishek Gupta
 
Java EE 6, Eclipse @ EclipseCon
Java EE 6, Eclipse @ EclipseConJava EE 6, Eclipse @ EclipseCon
Java EE 6, Eclipse @ EclipseConLudovic Champenois
 
Glassfish Overview 29 Oktober 2009
Glassfish Overview 29 Oktober 2009Glassfish Overview 29 Oktober 2009
Glassfish Overview 29 Oktober 2009
Eugene Bogaart
 
OSGi & Java EE in GlassFish - Best of both worlds
OSGi & Java EE in GlassFish - Best of both worldsOSGi & Java EE in GlassFish - Best of both worlds
OSGi & Java EE in GlassFish - Best of both worlds
Arun Gupta
 
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
Arun Gupta
 
How to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environmentHow to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environment
Michelantonio Trizio
 
Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1
sandeep54552
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDK
Wolfgang Weigend
 
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
Leonardo Zanivan
 
Advance java prasentation
Advance java prasentationAdvance java prasentation
Advance java prasentation
dhananajay95
 

Similar to Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011 (20)

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
 
Glass Fishv3 March2010
Glass Fishv3 March2010Glass Fishv3 March2010
Glass Fishv3 March2010
 
Enterprise GlassFish
Enterprise GlassFishEnterprise GlassFish
Enterprise GlassFish
 
GlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and FutureGlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and Future
 
GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09
 
Project Zero For Javapolis 2007
Project Zero For Javapolis 2007Project Zero For Javapolis 2007
Project Zero For Javapolis 2007
 
Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011
 
Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2
 
OSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P KriensOSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P Kriens
 
Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1
 
Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2
 
Java EE 6, Eclipse @ EclipseCon
Java EE 6, Eclipse @ EclipseConJava EE 6, Eclipse @ EclipseCon
Java EE 6, Eclipse @ EclipseCon
 
Glassfish Overview 29 Oktober 2009
Glassfish Overview 29 Oktober 2009Glassfish Overview 29 Oktober 2009
Glassfish Overview 29 Oktober 2009
 
OSGi & Java EE in GlassFish - Best of both worlds
OSGi & Java EE in GlassFish - Best of both worldsOSGi & Java EE in GlassFish - Best of both worlds
OSGi & Java EE in GlassFish - Best of both worlds
 
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
 
How to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environmentHow to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environment
 
Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDK
 
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
 
Advance java prasentation
Advance java prasentationAdvance java prasentation
Advance java prasentation
 

More from Arun Gupta

5 Skills To Force Multiply Technical Talents.pdf
5 Skills To Force Multiply Technical Talents.pdf5 Skills To Force Multiply Technical Talents.pdf
5 Skills To Force Multiply Technical Talents.pdf
Arun Gupta
 
Machine Learning using Kubernetes - AI Conclave 2019
Machine Learning using Kubernetes - AI Conclave 2019Machine Learning using Kubernetes - AI Conclave 2019
Machine Learning using Kubernetes - AI Conclave 2019
Arun Gupta
 
Machine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and KubernetesMachine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and Kubernetes
Arun Gupta
 
Secure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using FirecrackerSecure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using Firecracker
Arun Gupta
 
Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019
Arun Gupta
 
Why Amazon Cares about Open Source
Why Amazon Cares about Open SourceWhy Amazon Cares about Open Source
Why Amazon Cares about Open Source
Arun Gupta
 
Machine learning using Kubernetes
Machine learning using KubernetesMachine learning using Kubernetes
Machine learning using Kubernetes
Arun Gupta
 
Building Cloud Native Applications
Building Cloud Native ApplicationsBuilding Cloud Native Applications
Building Cloud Native Applications
Arun Gupta
 
Chaos Engineering with Kubernetes
Chaos Engineering with KubernetesChaos Engineering with Kubernetes
Chaos Engineering with Kubernetes
Arun Gupta
 
How to be a mentor to bring more girls to STEAM
How to be a mentor to bring more girls to STEAMHow to be a mentor to bring more girls to STEAM
How to be a mentor to bring more girls to STEAM
Arun Gupta
 
Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018
Arun Gupta
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 Keynote
Arun Gupta
 
Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018
Arun Gupta
 
Mastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv SummitMastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv Summit
Arun Gupta
 
Top 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's LandscapeTop 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's Landscape
Arun Gupta
 
Container Landscape in 2017
Container Landscape in 2017Container Landscape in 2017
Container Landscape in 2017
Arun Gupta
 
Java EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShiftJava EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShift
Arun Gupta
 
Docker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developersDocker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developers
Arun Gupta
 
Thanks Managers!
Thanks Managers!Thanks Managers!
Thanks Managers!
Arun Gupta
 
Migrate your traditional VM-based Clusters to Containers
Migrate your traditional VM-based Clusters to ContainersMigrate your traditional VM-based Clusters to Containers
Migrate your traditional VM-based Clusters to Containers
Arun Gupta
 

More from Arun Gupta (20)

5 Skills To Force Multiply Technical Talents.pdf
5 Skills To Force Multiply Technical Talents.pdf5 Skills To Force Multiply Technical Talents.pdf
5 Skills To Force Multiply Technical Talents.pdf
 
Machine Learning using Kubernetes - AI Conclave 2019
Machine Learning using Kubernetes - AI Conclave 2019Machine Learning using Kubernetes - AI Conclave 2019
Machine Learning using Kubernetes - AI Conclave 2019
 
Machine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and KubernetesMachine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and Kubernetes
 
Secure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using FirecrackerSecure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using Firecracker
 
Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019
 
Why Amazon Cares about Open Source
Why Amazon Cares about Open SourceWhy Amazon Cares about Open Source
Why Amazon Cares about Open Source
 
Machine learning using Kubernetes
Machine learning using KubernetesMachine learning using Kubernetes
Machine learning using Kubernetes
 
Building Cloud Native Applications
Building Cloud Native ApplicationsBuilding Cloud Native Applications
Building Cloud Native Applications
 
Chaos Engineering with Kubernetes
Chaos Engineering with KubernetesChaos Engineering with Kubernetes
Chaos Engineering with Kubernetes
 
How to be a mentor to bring more girls to STEAM
How to be a mentor to bring more girls to STEAMHow to be a mentor to bring more girls to STEAM
How to be a mentor to bring more girls to STEAM
 
Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 Keynote
 
Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018
 
Mastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv SummitMastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv Summit
 
Top 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's LandscapeTop 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's Landscape
 
Container Landscape in 2017
Container Landscape in 2017Container Landscape in 2017
Container Landscape in 2017
 
Java EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShiftJava EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShift
 
Docker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developersDocker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developers
 
Thanks Managers!
Thanks Managers!Thanks Managers!
Thanks Managers!
 
Migrate your traditional VM-based Clusters to Containers
Migrate your traditional VM-based Clusters to ContainersMigrate your traditional VM-based Clusters to Containers
Migrate your traditional VM-based Clusters to Containers
 

Recently uploaded

Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 

Recently uploaded (20)

Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 

Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011

  • 1. GlassFish Server 3.1 Deploying your Java EE 6 Applications in Cluster Arun Gupta, Java EE & GlassFish Guy 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 December 10th 2009
  • 4. World's First Java EE 6 Compatible App Server with Clustering & High Availability Shipped Feb 28th 2011
  • 5. 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 3.1.1 JDK7 support GlassFish.next * GlassFish Server Open Source Edition Java EE 7
  • 6. GlassFish Community ● Proven by developers ● Over 24 million downloads ● Over 22 million active users (cumulative in past 4 yrs) ● 900K+ upgrades from GlassFish Server 3 to 3.1 in just 2 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 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
  • 11. Painless Java EE development ! The save/reload paradigm Auto-deploy of all Java EE and static ● artifacts
  • 12. Active Deployment ● Deployment option to maintain stateful sessions across re-deployments $ asadmin redeploy --properties keepSessions=true myapp.war ● Greatly simplifies the development paradigm ● Integrated in IDEs
  • 13. Yes, Eclipse too ! OEPE : http://www.oracle.com/technetwork/developer-tools/eclipse
  • 15. 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
  • 16. 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
  • 17. Modular and Dynamic ● Modular : Apache Felix (OSGi) ● Extensible : HK2 ● Yet very Fast !
  • 18.
  • 19. 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
  • 20. 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
  • 21. What's the deal with OSGi? ● GlassFish Server runs on top of OSGi (Felix) ● Also runs unmodified on Equinox (and Knopflerfish) ● GlassFish ships as 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
  • 22. 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 API ! ● No need to chose between OSGi and Java EE Step by step: http://blogs.sun.com/dochez/entry/glassfish_v3_extensions_part_4
  • 24. 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
  • 25. RESTful Administration ● Jersey + Grizzly to provide REST interfaces ● 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
  • 26. More GlassFish Server 3.x ● Developer performance ● Embedded API ● RESTful API ● Update Center ● Metro 2.0 ● OpenMQ 4.x ● Admin console ● Btrace monitoring ● ...
  • 28. Customers Around the Globe Depend on WebLogic In government… On the phone … In the wallet … With health … In education and research … In travel & transport …
  • 29. 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
  • 30. GlassFish Server 3.1 Clustering Highlights ● HTTP, EJB, IIOP, SSO, Metro –New - RM Sequence, Secure Conversations ● 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
  • 31. 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
  • 32. 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:*
  • 33. GlassFish Server 3.1.1 ● Runs on JDK 7 ● Extensive platform support ● AIX 6.1/7.1, Solaris 11 Express Edition ● Better performance with 64-bit LB plug-in ● Performance and Stability enhancements ● Weld, Bean Validation, Jersey, … ● Support for OSGi/Java EE Hybrid Apps ● Improved fidelity for GlassFish Embedded
  • 34. String in switch – Before JDK 7 @Path("fruits") public class FruitResource { @GET @Produces("application/json") @Path("{name}") public String getJson(@PathParam("name")String name) { if (name.equals("apple") || name.equals("cherry") || name.equals("strawberry")) return "Red"; else if (name.equals("banana") || name.equals("papaya")) return "Yellow"; else if (name.equals("kiwi") || name.equals("grapes") || name.equals("guava")) return "Green"; else if (name.equals("clementine") || name.equals("persimmon")) return "Orange"; else return "Unknown"; } ...
  • 35. String in switch – After JDK 7 @Path("fruits") public class FruitResource { @GET @Produces("application/json") @Path("{name}") public String getJson(@PathParam("name")String name) { switch (name) { case "apple": case "cherry": case "strawberry": return "Red"; case "banana": case "papaya": return "Yellow"; case "kiwi": case "grapes": case "guava": return "Green"; case "clementine": case "persimmon": return "Orange"; default: return "Unknown"; } } ... http://blogs.oracle.com/arungupta/entry/totd_168_string_switch_statement
  • 36. Automatic Resource Management – Before JDK 7 @Resource(name=“jdbc/__default”) DataSource ds; @javax.annotation.PostConstruct void startup() { Connection c = null; Statement s = null; try { c = ds.getConnection(); s = c.createStatement(); // invoke SQL here } catch (SQLException ex) { System.err.println("ouch!"); } finally { try { if (s != null) s.close(); if (c != null) c.close(); } catch (SQLException ex) { System.err.println("ouch!");; } } }
  • 37. Automatic Resource Management – After JDK 7 @Resource(name=“jdbc/__default”) DataSource ds; @javax.annotation.PostConstruct void startup() { try (Connection c = ds.getConnection(); Statement s = c.createStatement()) { // invoke SQL here } catch (SQLException ex) { System.err.println("ouch!"); } } http://blogs.oracle.com/arungupta/entry/totd_167_automatic_resource_management
  • 38. Multi-catch – Before JDK 7 protected void doPost(HttpServletRequest request, HttpServletResponse response){ PrintWriter out = null; try { response.setContentType("text/html;charset=UTF-8"); out = response.getWriter(); out.println("<html><head><title>Servlet TestServlet</title></head>"); out.println("<body>"); out.println("<h1>Sending email from " + request.getContextPath () + "</h1>"); for (Part p : request.getParts()) { // save the parts locally System.out.println(p.getName() + " saved"); } Message message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); InternetAddress[] address = {new InternetAddress(to)}; message.setRecipients(Message.RecipientType.TO, address); message.setSubject("File upload successful."); message.setSentDate(new Date()); message.setText("File has been successfully saved."); Transport.send(message); out.println("</body>"); out.println("</html>"); } catch (ServletException ex) { Logger.getLogger(TestServlet.class.getName()).log(Level.SEVERE, null, ex); } catch (MessagingException ex) { Logger.getLogger(TestServlet.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(TestServlet.class.getName()).log(Level.SEVERE, null, ex); } finally { out.close(); }
  • 39. Multi-catch – After JDK 7 out.println("</body>"); out.println("</html>"); } catch (ServletException | MessagingException | IOException ex) { Logger.getLogger(TestServlet.class.getName()).log(Level.SEVERE, null, ex); } finally { out.close(); } http://blogs.oracle.com/arungupta/entry/totd_169_multi_catch_using
  • 40. GlassFish Server Control Monitoring DAS Backup & Recovery Performance Tuner Scripting Client Coherence Active Cache Oracle Access Load Balancer Manager Integration Plugin & Installer
  • 41. 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
  • 42. Why Attend JavaOne Because Duke says: • “Find out what's new with Java Technology.” • “Hear from and network with visionary speakers and recognized community luminaries.” • “Get in-depth technical content and hands-on learning opportunities that cover today's most important Java development topics.” (400+ sessions/BoFs/HOLs) • “Walk away with improved working knowledge and coding expertise you can apply immediately to your own projects and initiatives.” http://oracle.com/javaone
  • 43. References ● oracle.com/javaee ● glassfish.org ● oracle.com/goto/glassfish ● blogs.oracle.com/theaquarium ● youtube.com/GlassFishVideos ● Follow @glassfish
  • 44. GlassFish Server 3.1 Deploying your Java EE 6 Applications in Cluster Arun Gupta, Java EE & GlassFish Guy blogs.oracle.com/arungupta, @arungupta 44