SlideShare a Scribd company logo
1 of 49
Download to read offline
Main sponsor




The Java EE 7 Platform: Developing for the Cloud
Arun Gupta, Java EE & GlassFish Guy
blogs.oracle.com/arungupta, @arungupta
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.


2   Copyright © 2012, Oracle and/or its affiliates. All rights
    reserved.
Java EE 6 Platform
                                                                 December 10, 2009


3   Copyright © 2012, Oracle and/or its affiliates. All rights
    reserved.
Java EE 6 – Key Statistics

    •   40+ Million Java EE 6 Component Downloads
    •   #1 Choice for Enterprise Developers
    •   #1 Application Development Platform
    •   Fastest implementation of a Java EE release




4   Copyright © 2012, Oracle and/or its affiliates. All rights
    reserved.
Top Ten Features in Java EE 6
    1. EJB packaging in a WAR
    2. Servlet and CDI extension points
    3. Optional web.xml
    4. Type-safe dependency injection
    5. CDI Events
    6. JSF standardizing on Facelets
    7. EJBContainer API
    8. @Schedule
    9. EJB No Interface View
    10. Web Profile
5   Copyright © 2012, Oracle and/or its affiliates. All rights
    reserved.
Today’s Cloud Offerings are all Proprietary


    Infrastructure as                                             Platform as   Software as
         a Service                                                  a Service    a Service




6    Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Java EE 7




7   Copyright © 2012, Oracle and/or its affiliates. All rights
    reserved.
Java EE 7 and 8 – Focus Areas

                 Cloud                                                    Modularity                 HTML5
• Provisioning                                                       • Building on Jigsaw      • Emerging Web
                                                                                                 Standards require a
• Elastic & Autonomic                                                • Focus on OSGi interop     programming model
  Scalability
                                                                     • Supporting Profiles &   • JSON, WebSockets,
• Multi-Tenancy                                                        Modular Applications      off-line, APIs & DOM




    8   Copyright © 2012, Oracle and/or its affiliates. All rights
        reserved.
Java EE 7 Focus: Platform as a Service

    • Next logical step for Java EE
          – J2EE  Java EE 6 : The Java EE Platform provides services
          – Java EE 7 : The Java EE Platform IS a service

    • PaaS support entails evolutionary change

    • Provide way for customers and users to leverage public,
      private, and hybrid clouds


9   Copyright © 2012, Oracle and/or its affiliates. All rights
    reserved.
Java EE 7 PaaS Roadmap
     • Define new platform roles to accommodate PaaS model
     • Add metadata
           –      For service provisioning and configuration
           –      For QoS, elasticity
           –      For sharing of applications and resources
           –      For (re)configurability and customization
     • Add useful APIs for cloud environment
           – JAX-RS client API, Caching API, State Management, JSON,…
     • Extend existing APIs with support for multi-tenancy
10   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Roles

             Developer
                                                                                                               PaaS Provider

     PaaS
 Customer/                                                          JVM JVM JVM   JVM JVM JVM   JVM JVM JVM
    Tenant                                                            Machine       Machine       Machine
                                                                                                                     PaaS Product
                                                                                                                     Provider

                                                                    JVM JVM JVM   JVM JVM JVM   JVM JVM JVM
Deployer
                                                                      Machine       Machine       Machine           PaaS Account
                                                                     Tenant 1      Tenant 2      Tenant 3           Manager
 Application
  Submitter
                                                                                                              PaaS
                                                                                                              Administrator
                           Application
                         Administrator

  11   Copyright © 2012, Oracle and/or its affiliates. All rights
       reserved.
Existing Java EE model
                                                                                                    Database
                                                                   1   Provision and Initialize      Service
     • Configure Java EE resources –
       JDBC, JMS etc                                                                                 LDAP
                                                                                                    Service
     • Deploy Application EAR
                                                                   2    Provision and Initialize




                                                                                                   Messaging
                                                                   3    Provision and Initialize    Service

                                                                                                   Application
                                                                   4
                                                                        Provision and Initialize    Container


                                                                   5     Deploy Application
                                                                         (EAR/GAR/SAR …)




12    Copyright © 2012, Oracle and/or its affiliates. All rights
      reserved.
Java EE 7 Model: Auto-Provision Services
     from Application Dependencies
• Provision and deploy application                                 1   Provision and Initialize    Cloud Administration Service


resources (e.g. LDAP stripe, data
source instantiation and                                                                               Database
                                                                                                        Service
connection …)                                                      2    Provision and Initialize




• Extensible Deployment Models                                                                           LDAP
  Supporting Multiple Frameworks                                   3    Provision and Initialize        Service
     • Spring, Seam, Play …
                                                                                                     Messaging
                                                                   4
                                                                        Provision and Initialize      Service

                                                                                                    Application
                                                                   5     Deploy Application
                                                                         (EAR/GAR/SAR …)
                                                                                                     Container


13    Copyright © 2012, Oracle and/or its affiliates. All rights
      reserved.
Services

     • Cloud apps consume services
           – Persistence, queueing, mail, caching, …
     • Service metadata facilitates ease of use when deploying
       into the cloud
           @DataSourceDefinition(
             name=“java:app/jdbc/myDB”,
             className=“oracle.jdbc.pool.OracleDataSource”,
             isolationLevel=TRANSACTION_REPEATABLE_READ,
             initialPoolSize=5
           )



14   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Services

     • Cloud apps consume services
           – Persistence, queueing, mail, caching, …
     • Service metadata facilitates ease of use when deploying
       into the cloud
           @JMSConnectionFactory (
            name=“java:app/myJMSConnectionFactory”,
            resourceType=“javax.jms.QueueConnectionFactory”)

           @JMSDestination(
            name=“java:app/myQueue”,
            resourceType=“javax.jms.Queue”)

15   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Services

     • Cloud apps consume services
           – Persistence, queueing, mail, caching, …
     • Service metadata facilitates ease of use when deploying
       into the cloud
           @MailSession (
             name=“java:app/mailSession”,
             from=“MyService@ExtraServices.com”
           )




16   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Services

     • Cloud apps consume services
           – Persistence, queueing, mail, caching, …
     • Service metadata facilitates ease of use when deploying
       into the cloud
           @ConnectorService (
             name=“java:app/myCustomConnector”,
             type=“com.extraServices.customConnector.class”,
             properties = {…}
           )




17   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Elasticity
                                                                         Java EE 7 Focus:
                                                                        Move the Bar Right



                                                                   Elasticity Continuum


                                                                        Java EE Cluster            Elastic Cluster
                                                                                                      Elastic Cluster
                                                                                                                         Capacity
                                                                                                                            Ca
                                                                                                                        on Demand



Single node                                                          Java EE Multi-Node        Dynamic Self Adjusting
Non-Elastic                                                        Multi-Instance Clustering    SLA Driven Elasticity

      • Service Levels
      • Minimum and Maximum Instances
      • Futures – Self Adjustment, Capacity On Demand
 18   Copyright © 2012, Oracle and/or its affiliates. All rights
      reserved.
Example Scenario

     “A software company writes an application, submits it to a
       PaaS provider, then any number of tenants sign up for the
       application, deploy it, their end users access it”




19   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Walkthrough (1)
                   SimplyCRM                                      DiabloCloud




20   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Walkthrough (2)
                   SimplyCRM                                      DiabloCloud


                   Application
                   Developer


                                    Writes


                        App




21   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Walkthrough (3)
                   SimplyCRM                                                                   DiabloCloud

                                                                  Signs up as a customer
               PaaS Customer                                                               PaaS Account Manager




22   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Walkthrough (4)
                   SimplyCRM                                                                    DiabloCloud

                                                                  Submits the application
                  Application                                                               System Administrator
                  Submitter


                                                                                                     App




23   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Walkthrough (5)
                 ExtraServices                                                  DiabloCloud

                                                                  Discovers
                                                                              App




24   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Walkthrough (6)
                 ExtraServices                                                                 DiabloCloud

                                                                  Signs up as a customer
               PaaS Customer                                                               PaaS Account Manager



                                                                                            App




25   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Walkthrough (7)
                 ExtraServices                                                                  DiabloCloud


                    Deployer                                                                System Administrator
                                                                  Customizes and
                                                                  deploys the application



                                                                                                 App




26   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Walkthrough (8)
                 ExtraServices                                           DiabloCloud


                    Deployer                                        System Administrator



                                                                  Provisions on
                                                                      Cloud
                                                                  infrastructure

                                                                              App




27   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Walkthrough (9)
                 ExtraServices                                        DiabloCloud


                    Deployer                                      System Administrator




                                                                   Provisioned and
                                                                    Deployed App




28   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Walkthrough (10)
                 ExtraServices                                                               DiabloCloud




                                                                  Access the application
                      End-Users                                                            Provisioned and
                                                                                            Deployed App




29   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Walkthrough (11)
                 ExtraServices                                                                    DiabloCloud




                      End-Users                                   Access the application


                                                                                                Provisioned and
                                                                                                 Deployed App

                  Administrator                                   Administers the application




30   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Walkthrough (12)
                 ExtraServices                                                                      DiabloCloud


                                                                                                System Administrator




                                                                                                             Monitors

                      End-Users                                   Access the application


                                                                                                 Provisioned and
                                                                                                  Deployed App

                  Administrator                                   Administers the application




31   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Demo
     PaaSing a Java EE Application in the Cloud




     glassfish.org/javaone2011


32   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Conference Planning in the Cloud

Java EE Application

       JSF                                JPA                     Deploy

                                   Services
      EJB                          Metadata
                                                                     <glassfish-services>
                                                                     <service-description init-type="LB" name="ConferencePlanner-lb">
                                                                       <template id="LBNative"/>
                                                                       <configurations>
                                                                         <configuration name="https-port" value="50443"/>
                                                                         <configuration name="ssl-enabled" value="false"/>
                                                                         <configuration name="http-port" value="50080"/>
                                                                       </configurations></service-description>
                                                                     <service-description init-type="JavaEE" name="ConferencePlanner">
                                                                       <characteristics>
                                                                         <characteristic name="service-type" value="JavaEE"/>
                                                                       </characteristics>
                                                                       <configurations>
                                                                         <configuration name="max.clustersize" value="4"/>
                                                                         <configuration name="min.clustersize" value="2"/>
                                                                       </configurations>
                                                                     </service-description>
                                                                     ...
                                                                     </glassfish-services>



33   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Service Provisioning

                                                                    Load
                                                                   Balancer



                                                  Java EE         Java EE    ...   Java EE


                                                                  Database



34   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Multi-tenancy in Java EE 7
     • Support for separate isolated instances of the same app for
       different tenants
           –      One application instance per tenant
           –      Tenants correspond to units of isolation
           –      Multitenant apps are declared as such
           –      Each instance customized and deployed for a single tenant
           –      Limited form of SaaS

     • Mapping to tenant done by the container
     • Tenant id available to application
           – E.g., under java:comp/tenantId

35   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Java EE 7 Is Not Just Cloud-y
     • Alignment of ManagedBeans across CDI, EJB, JSF, …
           – POJO  ManagedBean  Enterprise JavaBean
           – Extension of container-managed transactions beyond EJB

     • Further simplifications for ease-of-development
           –      JAX-RS 2.0 Client API, hypermedia, bean validation, …
           –      JMS 2.0 focus on ease-of-development
           –      Expanded use of dependency injection
           –      Expanded service metadata; improved configuration
     • Pruning
           – EJB CMP and BMP, JAX-RPC, Deployment API

     • Update to Web Profile

36   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Java EE 7 – Candidate JSRs

                                           Web                                                                           Jcache 1.0
                                                                  JAX-RS                JSP 2.2
         CDI                             Container                           JSF 2.2
                                        Extensions                  2.0                  EL 3.0                          (JSR 107)
      Extension




                                                                                                  Bean Validation 1.1
          s                                                                                                              Concurrency
                                                                    Servlet 3.1                                           Utilities 1.0

                                                                                                                            State
                        CDI 1.1 / Interceptors 1.1 / JSR 250 1.1                                                        Management 1.0

                                                                                                                            Batch
        Managed Beans 1.0                                                     EJB 3.2                                   Processing 1.0

                    JPA 2.1                                        JTA 1.1             JMS 2.0                             JSON 1.0



37   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Java Persistence API 2.1

     •   @NamedStoredProcedureQuery, StoredProcedureQuery
     •   Bulk update/delete using Criteria
     •   User-defined functions using FUNCTION
     •   Persistence Context Synchronization




38   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Java API for RESTful Web Services 2.0

     •   Client-side API
     •   Validation
     •   Hypermedia
     •   Alignment with CDI
     •   Server-side content negotiation (qs)
     •   Filters and Entity Interceptors
     •   Client-side and Server-side Async

39   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
JavaServer Faces 2.2

     • Queue control for Ajax requests
     • File Upload component (Non-Ajax & Ajax)
     • Injection in all JSF artifacts – including converters &
       validators
     • @FaceletsResourceResolver
     • Instantiating composite components in Java
     • ...

40   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Contexts & Dependency Injection 1.1

     •   Embedded mode to startup outside Java EE container
     •   Global ordering of interceptors and decorators
     •   API for managing built-in contexts
     •   Send Servlet events as CDI events
     •   ...




41   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Enterprise JavaBeans 3.2

     • Three-part specification
           – Core CMT transactions on Managed Beans, Non-persistent timer
             and Async method to Lite
           – Optional Entity Beans, JAX-RPC Web service endpoint
           – Interceptors
     • Alignment with JMS 2.0




42   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Bean Validation 1.1

     • Open: Spec, Reference Implementation, TCK
     • Method-level validation  @MethodValidated
                                public class OrderService {
     • Dependency Injection       public OrderService(@NotNull CreditCardProcessor creditCardProcessor) {
                                    //...
                                                                       }

                                                                       public void placeOrder(
                                                                              @NotNull @Size(min=3, max=20) String customerCode,
                                                                              @NotNull @Valid Item item,
                                                                              @Min(1) int quantity) {
                                                                        //...
                                                                       }
                                                                   }




43    Copyright © 2012, Oracle and/or its affiliates. All rights
      reserved.
Java Message Service 2.0

     • Connection, Session and other objects are
       AutoCloseable
     • Simplified API
           –      Less verbose
           –      Reduce the number of objects needed to send/receive message
           –      Allow resource injection
           –      Alternative, not replacement, for standard API
           –      Remove JMSException, where possible
     • New methods – no need for redundant arguments
44   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Transparency
     • Oracle’s Java EE 7 JSRs are run in the open on java.net
           – http://javaee-spec.java.net
           – One project per spec – e.g., jpa-spec, jax-rs-spec, jms-spec…
     • Publicly viewable Expert Group mail archive
           – Users observer list gets copies of all Expert Group emails
     • Publicly viewable download area
     • Publicly viewable issue tracker
     • Commitment to update to JCP 2.8 Process

45   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
Status and Schedule


• All JSRs up and running
• Early Drafts
  – JSF 2.2, JAX-RS 2.0, JPA 2.1, CDI 1.1, EJB 3.2, JMS 2.0, Bean
    Validation 1.1

• Final release target: Q2 2013
• Date-driven release: Anything not ready will be deferred to
  Java EE 8
  46   Copyright © 2012, Oracle and/or its affiliates. All rights
       reserved.
GlassFish Roadmap
GlassFish v3                                                              GlassFish Server 3.1              GlassFish Server 3.1.2
• Java EE 6 support                                                       • Centralized administration      • Bug Fixes
• Single instance                                                         • Clustering / HA                 • Incremental features
• GlassFish Enterprise Mgr                                                • GlassFish Server Control




 2009                                               2010                                2011               2012                      2013


     GlassFish Server 3.0.1                                                       GlassFish Server 3.1.1            GlassFish Server 4
     • Oracle branding                                                            • Bug fixes                       • Java EE 7
     • Oracle platform support                                                    • Updated components              • Multitenancy
     • Oracle interoperability                                                    • Incremental features            • PaaS-enablement




        47   Copyright © 2012, Oracle and/or its affiliates. All rights
             reserved.
Call to Action

     • Java EE 7 Expert Group Project
           – http://javaee-spec.java.net
     • Java EE 7 Reference Implementation
           – http://glassfish.org
     • The Aquarium
           – http://blogs.oracle.com/theaquarium

48   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.
49   Copyright © 2012, Oracle and/or its affiliates. All rights
     reserved.

More Related Content

What's hot

GIDS 2012: JAX-RS 2.0: RESTful Java on Steroids
GIDS 2012: JAX-RS 2.0: RESTful Java on SteroidsGIDS 2012: JAX-RS 2.0: RESTful Java on Steroids
GIDS 2012: JAX-RS 2.0: RESTful Java on SteroidsArun Gupta
 
Jfokus 2012: PaaSing a Java EE Application
Jfokus 2012: PaaSing a Java EE ApplicationJfokus 2012: PaaSing a Java EE Application
Jfokus 2012: PaaSing a Java EE ApplicationArun Gupta
 
Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7Arun Gupta
 
JAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX London
JAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX LondonJAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX London
JAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX LondonArun Gupta
 
TDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE ApplicationTDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE ApplicationArun Gupta
 
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012Arun Gupta
 
Jfokus 2012 : The Java EE 7 Platform: Developing for the Cloud
Jfokus 2012 : The Java EE 7 Platform: Developing for the CloudJfokus 2012 : The Java EE 7 Platform: Developing for the Cloud
Jfokus 2012 : The Java EE 7 Platform: Developing for the CloudArun Gupta
 
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudThe Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudArun Gupta
 
JAX-RS 2.0: RESTful Web services on steroids
JAX-RS 2.0: RESTful Web services on steroidsJAX-RS 2.0: RESTful Web services on steroids
JAX-RS 2.0: RESTful Web services on steroidscodemotion_es
 
Java EE Technical Keynote at JavaOne Latin America 2011
Java EE Technical Keynote at JavaOne Latin America 2011Java EE Technical Keynote at JavaOne Latin America 2011
Java EE Technical Keynote at JavaOne Latin America 2011Arun Gupta
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration BackendArun Gupta
 
Java EE 7 at JAX London 2011 and JFall 2011
Java EE 7 at JAX London 2011 and JFall 2011Java EE 7 at JAX London 2011 and JFall 2011
Java EE 7 at JAX London 2011 and JFall 2011Arun Gupta
 
GlassFish Community Update @ JavaOne 2011
GlassFish Community Update @ JavaOne 2011GlassFish Community Update @ JavaOne 2011
GlassFish Community Update @ JavaOne 2011Arun Gupta
 
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011Arun Gupta
 
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)Arun Gupta
 
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...Arun Gupta
 
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUGThe Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUGArun Gupta
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011Arun Gupta
 
Ankara JUG Ağustos 2013 - Oracle ADF
Ankara JUG Ağustos 2013 - Oracle ADFAnkara JUG Ağustos 2013 - Oracle ADF
Ankara JUG Ağustos 2013 - Oracle ADFAnkara JUG
 

What's hot (20)

GIDS 2012: JAX-RS 2.0: RESTful Java on Steroids
GIDS 2012: JAX-RS 2.0: RESTful Java on SteroidsGIDS 2012: JAX-RS 2.0: RESTful Java on Steroids
GIDS 2012: JAX-RS 2.0: RESTful Java on Steroids
 
Jfokus 2012: PaaSing a Java EE Application
Jfokus 2012: PaaSing a Java EE ApplicationJfokus 2012: PaaSing a Java EE Application
Jfokus 2012: PaaSing a Java EE Application
 
Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7
 
JAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX London
JAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX LondonJAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX London
JAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX London
 
TDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE ApplicationTDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE Application
 
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
 
Jfokus 2012 : The Java EE 7 Platform: Developing for the Cloud
Jfokus 2012 : The Java EE 7 Platform: Developing for the CloudJfokus 2012 : The Java EE 7 Platform: Developing for the Cloud
Jfokus 2012 : The Java EE 7 Platform: Developing for the Cloud
 
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudThe Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloud
 
JAX-RS 2.0: RESTful Web services on steroids
JAX-RS 2.0: RESTful Web services on steroidsJAX-RS 2.0: RESTful Web services on steroids
JAX-RS 2.0: RESTful Web services on steroids
 
Java EE Technical Keynote at JavaOne Latin America 2011
Java EE Technical Keynote at JavaOne Latin America 2011Java EE Technical Keynote at JavaOne Latin America 2011
Java EE Technical Keynote at JavaOne Latin America 2011
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration Backend
 
Java EE 7 at JAX London 2011 and JFall 2011
Java EE 7 at JAX London 2011 and JFall 2011Java EE 7 at JAX London 2011 and JFall 2011
Java EE 7 at JAX London 2011 and JFall 2011
 
GlassFish Community Update @ JavaOne 2011
GlassFish Community Update @ JavaOne 2011GlassFish Community Update @ JavaOne 2011
GlassFish Community Update @ JavaOne 2011
 
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
 
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
 
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
 
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUGThe Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011
 
NetWeaver Gateway- Introduction to REST
NetWeaver Gateway- Introduction to RESTNetWeaver Gateway- Introduction to REST
NetWeaver Gateway- Introduction to REST
 
Ankara JUG Ağustos 2013 - Oracle ADF
Ankara JUG Ağustos 2013 - Oracle ADFAnkara JUG Ağustos 2013 - Oracle ADF
Ankara JUG Ağustos 2013 - Oracle ADF
 

Similar to The Java EE 7 Platform: Developing for the Cloud

Java ee 7 platform developing for the cloud kshitiz saxena
Java ee 7 platform developing for the cloud   kshitiz saxenaJava ee 7 platform developing for the cloud   kshitiz saxena
Java ee 7 platform developing for the cloud kshitiz saxenaIndicThreads
 
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 ApplicationArun Gupta
 
Introduction to java_ee
Introduction to java_eeIntroduction to java_ee
Introduction to java_eeYogesh Bindwal
 
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...Sivakumar Thyagarajan
 
Java EE7: Developing for the Cloud
Java EE7: Developing for the CloudJava EE7: Developing for the Cloud
Java EE7: Developing for the CloudDmitry Buzdin
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA
 
Java EE7 in action
Java EE7 in actionJava EE7 in action
Java EE7 in actionAnkara JUG
 
Enterprise Java in 2012 and Beyond, by Juergen Hoeller
Enterprise Java in 2012 and Beyond, by Juergen Hoeller Enterprise Java in 2012 and Beyond, by Juergen Hoeller
Enterprise Java in 2012 and Beyond, by Juergen Hoeller Codemotion
 
WebLogic 12c - OMF Canberra June 2014
WebLogic 12c - OMF Canberra June 2014WebLogic 12c - OMF Canberra June 2014
WebLogic 12c - OMF Canberra June 2014Joelith
 
Sun Java EE 6 Overview
Sun Java EE 6 OverviewSun Java EE 6 Overview
Sun Java EE 6 Overviewsbobde
 
Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?Bruno Borges
 
Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Jagadish Prasath
 
Extending The Value Of Oracle Crm On Demand Through Cloud Based Extensibility
Extending The Value Of Oracle Crm On Demand Through Cloud Based ExtensibilityExtending The Value Of Oracle Crm On Demand Through Cloud Based Extensibility
Extending The Value Of Oracle Crm On Demand Through Cloud Based ExtensibilityJerome Leonard
 
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...Dr. Wilfred Lin (Ph.D.)
 
JavaOne2015報告会 in Okinawa
JavaOne2015報告会 in OkinawaJavaOne2015報告会 in Okinawa
JavaOne2015報告会 in OkinawaTakashi Ito
 
Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1sandeep54552
 
Introducing Java 8
Introducing Java 8Introducing Java 8
Introducing Java 8PT.JUG
 

Similar to The Java EE 7 Platform: Developing for the Cloud (20)

Java ee 7 platform developing for the cloud kshitiz saxena
Java ee 7 platform developing for the cloud   kshitiz saxenaJava ee 7 platform developing for the cloud   kshitiz saxena
Java ee 7 platform developing for the cloud kshitiz saxena
 
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
 
Introduction to java_ee
Introduction to java_eeIntroduction to java_ee
Introduction to java_ee
 
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...
 
JMS 2.0
JMS 2.0JMS 2.0
JMS 2.0
 
Java EE7: Developing for the Cloud
Java EE7: Developing for the CloudJava EE7: Developing for the Cloud
Java EE7: Developing for the Cloud
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case Study
 
Java EE7 in action
Java EE7 in actionJava EE7 in action
Java EE7 in action
 
Java EE for the Cloud
Java EE for the CloudJava EE for the Cloud
Java EE for the Cloud
 
Enterprise Java in 2012 and Beyond, by Juergen Hoeller
Enterprise Java in 2012 and Beyond, by Juergen Hoeller Enterprise Java in 2012 and Beyond, by Juergen Hoeller
Enterprise Java in 2012 and Beyond, by Juergen Hoeller
 
WebLogic 12c - OMF Canberra June 2014
WebLogic 12c - OMF Canberra June 2014WebLogic 12c - OMF Canberra June 2014
WebLogic 12c - OMF Canberra June 2014
 
Sun Java EE 6 Overview
Sun Java EE 6 OverviewSun Java EE 6 Overview
Sun Java EE 6 Overview
 
Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?
 
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško VukmanovićJavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
 
Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012
 
Extending The Value Of Oracle Crm On Demand Through Cloud Based Extensibility
Extending The Value Of Oracle Crm On Demand Through Cloud Based ExtensibilityExtending The Value Of Oracle Crm On Demand Through Cloud Based Extensibility
Extending The Value Of Oracle Crm On Demand Through Cloud Based Extensibility
 
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...
 
JavaOne2015報告会 in Okinawa
JavaOne2015報告会 in OkinawaJavaOne2015報告会 in Okinawa
JavaOne2015報告会 in Okinawa
 
Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1
 
Introducing Java 8
Introducing Java 8Introducing Java 8
Introducing Java 8
 

Recently uploaded

Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 

Recently uploaded (20)

Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 

The Java EE 7 Platform: Developing for the Cloud

  • 1. Main sponsor The Java EE 7 Platform: Developing for the Cloud Arun Gupta, Java EE & GlassFish Guy blogs.oracle.com/arungupta, @arungupta
  • 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. 2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 3. Java EE 6 Platform December 10, 2009 3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 4. Java EE 6 – Key Statistics • 40+ Million Java EE 6 Component Downloads • #1 Choice for Enterprise Developers • #1 Application Development Platform • Fastest implementation of a Java EE release 4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 5. Top Ten Features in Java EE 6 1. EJB packaging in a WAR 2. Servlet and CDI extension points 3. Optional web.xml 4. Type-safe dependency injection 5. CDI Events 6. JSF standardizing on Facelets 7. EJBContainer API 8. @Schedule 9. EJB No Interface View 10. Web Profile 5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 6. Today’s Cloud Offerings are all Proprietary Infrastructure as Platform as Software as a Service a Service a Service 6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 7. Java EE 7 7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 8. Java EE 7 and 8 – Focus Areas Cloud Modularity HTML5 • Provisioning • Building on Jigsaw • Emerging Web Standards require a • Elastic & Autonomic • Focus on OSGi interop programming model Scalability • Supporting Profiles & • JSON, WebSockets, • Multi-Tenancy Modular Applications off-line, APIs & DOM 8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 9. Java EE 7 Focus: Platform as a Service • Next logical step for Java EE – J2EE  Java EE 6 : The Java EE Platform provides services – Java EE 7 : The Java EE Platform IS a service • PaaS support entails evolutionary change • Provide way for customers and users to leverage public, private, and hybrid clouds 9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 10. Java EE 7 PaaS Roadmap • Define new platform roles to accommodate PaaS model • Add metadata – For service provisioning and configuration – For QoS, elasticity – For sharing of applications and resources – For (re)configurability and customization • Add useful APIs for cloud environment – JAX-RS client API, Caching API, State Management, JSON,… • Extend existing APIs with support for multi-tenancy 10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 11. Roles Developer PaaS Provider PaaS Customer/ JVM JVM JVM JVM JVM JVM JVM JVM JVM Tenant Machine Machine Machine PaaS Product Provider JVM JVM JVM JVM JVM JVM JVM JVM JVM Deployer Machine Machine Machine PaaS Account Tenant 1 Tenant 2 Tenant 3 Manager Application Submitter PaaS Administrator Application Administrator 11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 12. Existing Java EE model Database 1 Provision and Initialize Service • Configure Java EE resources – JDBC, JMS etc LDAP Service • Deploy Application EAR 2 Provision and Initialize Messaging 3 Provision and Initialize Service Application 4 Provision and Initialize Container 5 Deploy Application (EAR/GAR/SAR …) 12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 13. Java EE 7 Model: Auto-Provision Services from Application Dependencies • Provision and deploy application 1 Provision and Initialize Cloud Administration Service resources (e.g. LDAP stripe, data source instantiation and Database Service connection …) 2 Provision and Initialize • Extensible Deployment Models LDAP Supporting Multiple Frameworks 3 Provision and Initialize Service • Spring, Seam, Play … Messaging 4 Provision and Initialize Service Application 5 Deploy Application (EAR/GAR/SAR …) Container 13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 14. Services • Cloud apps consume services – Persistence, queueing, mail, caching, … • Service metadata facilitates ease of use when deploying into the cloud @DataSourceDefinition( name=“java:app/jdbc/myDB”, className=“oracle.jdbc.pool.OracleDataSource”, isolationLevel=TRANSACTION_REPEATABLE_READ, initialPoolSize=5 ) 14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 15. Services • Cloud apps consume services – Persistence, queueing, mail, caching, … • Service metadata facilitates ease of use when deploying into the cloud @JMSConnectionFactory ( name=“java:app/myJMSConnectionFactory”, resourceType=“javax.jms.QueueConnectionFactory”) @JMSDestination( name=“java:app/myQueue”, resourceType=“javax.jms.Queue”) 15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 16. Services • Cloud apps consume services – Persistence, queueing, mail, caching, … • Service metadata facilitates ease of use when deploying into the cloud @MailSession ( name=“java:app/mailSession”, from=“MyService@ExtraServices.com” ) 16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 17. Services • Cloud apps consume services – Persistence, queueing, mail, caching, … • Service metadata facilitates ease of use when deploying into the cloud @ConnectorService ( name=“java:app/myCustomConnector”, type=“com.extraServices.customConnector.class”, properties = {…} ) 17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 18. Elasticity Java EE 7 Focus: Move the Bar Right Elasticity Continuum Java EE Cluster Elastic Cluster Elastic Cluster Capacity Ca on Demand Single node Java EE Multi-Node Dynamic Self Adjusting Non-Elastic Multi-Instance Clustering SLA Driven Elasticity • Service Levels • Minimum and Maximum Instances • Futures – Self Adjustment, Capacity On Demand 18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 19. Example Scenario “A software company writes an application, submits it to a PaaS provider, then any number of tenants sign up for the application, deploy it, their end users access it” 19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 20. Walkthrough (1) SimplyCRM DiabloCloud 20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 21. Walkthrough (2) SimplyCRM DiabloCloud Application Developer Writes App 21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 22. Walkthrough (3) SimplyCRM DiabloCloud Signs up as a customer PaaS Customer PaaS Account Manager 22 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 23. Walkthrough (4) SimplyCRM DiabloCloud Submits the application Application System Administrator Submitter App 23 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 24. Walkthrough (5) ExtraServices DiabloCloud Discovers App 24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 25. Walkthrough (6) ExtraServices DiabloCloud Signs up as a customer PaaS Customer PaaS Account Manager App 25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 26. Walkthrough (7) ExtraServices DiabloCloud Deployer System Administrator Customizes and deploys the application App 26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 27. Walkthrough (8) ExtraServices DiabloCloud Deployer System Administrator Provisions on Cloud infrastructure App 27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 28. Walkthrough (9) ExtraServices DiabloCloud Deployer System Administrator Provisioned and Deployed App 28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 29. Walkthrough (10) ExtraServices DiabloCloud Access the application End-Users Provisioned and Deployed App 29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 30. Walkthrough (11) ExtraServices DiabloCloud End-Users Access the application Provisioned and Deployed App Administrator Administers the application 30 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 31. Walkthrough (12) ExtraServices DiabloCloud System Administrator Monitors End-Users Access the application Provisioned and Deployed App Administrator Administers the application 31 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 32. Demo PaaSing a Java EE Application in the Cloud glassfish.org/javaone2011 32 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 33. Conference Planning in the Cloud Java EE Application JSF JPA Deploy Services EJB Metadata <glassfish-services> <service-description init-type="LB" name="ConferencePlanner-lb"> <template id="LBNative"/> <configurations> <configuration name="https-port" value="50443"/> <configuration name="ssl-enabled" value="false"/> <configuration name="http-port" value="50080"/> </configurations></service-description> <service-description init-type="JavaEE" name="ConferencePlanner"> <characteristics> <characteristic name="service-type" value="JavaEE"/> </characteristics> <configurations> <configuration name="max.clustersize" value="4"/> <configuration name="min.clustersize" value="2"/> </configurations> </service-description> ... </glassfish-services> 33 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 34. Service Provisioning Load Balancer Java EE Java EE ... Java EE Database 34 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 35. Multi-tenancy in Java EE 7 • Support for separate isolated instances of the same app for different tenants – One application instance per tenant – Tenants correspond to units of isolation – Multitenant apps are declared as such – Each instance customized and deployed for a single tenant – Limited form of SaaS • Mapping to tenant done by the container • Tenant id available to application – E.g., under java:comp/tenantId 35 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 36. Java EE 7 Is Not Just Cloud-y • Alignment of ManagedBeans across CDI, EJB, JSF, … – POJO  ManagedBean  Enterprise JavaBean – Extension of container-managed transactions beyond EJB • Further simplifications for ease-of-development – JAX-RS 2.0 Client API, hypermedia, bean validation, … – JMS 2.0 focus on ease-of-development – Expanded use of dependency injection – Expanded service metadata; improved configuration • Pruning – EJB CMP and BMP, JAX-RPC, Deployment API • Update to Web Profile 36 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 37. Java EE 7 – Candidate JSRs Web Jcache 1.0 JAX-RS JSP 2.2 CDI Container JSF 2.2 Extensions 2.0 EL 3.0 (JSR 107) Extension Bean Validation 1.1 s Concurrency Servlet 3.1 Utilities 1.0 State CDI 1.1 / Interceptors 1.1 / JSR 250 1.1 Management 1.0 Batch Managed Beans 1.0 EJB 3.2 Processing 1.0 JPA 2.1 JTA 1.1 JMS 2.0 JSON 1.0 37 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 38. Java Persistence API 2.1 • @NamedStoredProcedureQuery, StoredProcedureQuery • Bulk update/delete using Criteria • User-defined functions using FUNCTION • Persistence Context Synchronization 38 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 39. Java API for RESTful Web Services 2.0 • Client-side API • Validation • Hypermedia • Alignment with CDI • Server-side content negotiation (qs) • Filters and Entity Interceptors • Client-side and Server-side Async 39 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 40. JavaServer Faces 2.2 • Queue control for Ajax requests • File Upload component (Non-Ajax & Ajax) • Injection in all JSF artifacts – including converters & validators • @FaceletsResourceResolver • Instantiating composite components in Java • ... 40 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 41. Contexts & Dependency Injection 1.1 • Embedded mode to startup outside Java EE container • Global ordering of interceptors and decorators • API for managing built-in contexts • Send Servlet events as CDI events • ... 41 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 42. Enterprise JavaBeans 3.2 • Three-part specification – Core CMT transactions on Managed Beans, Non-persistent timer and Async method to Lite – Optional Entity Beans, JAX-RPC Web service endpoint – Interceptors • Alignment with JMS 2.0 42 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 43. Bean Validation 1.1 • Open: Spec, Reference Implementation, TCK • Method-level validation @MethodValidated public class OrderService { • Dependency Injection public OrderService(@NotNull CreditCardProcessor creditCardProcessor) { //... } public void placeOrder( @NotNull @Size(min=3, max=20) String customerCode, @NotNull @Valid Item item, @Min(1) int quantity) { //... } } 43 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 44. Java Message Service 2.0 • Connection, Session and other objects are AutoCloseable • Simplified API – Less verbose – Reduce the number of objects needed to send/receive message – Allow resource injection – Alternative, not replacement, for standard API – Remove JMSException, where possible • New methods – no need for redundant arguments 44 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 45. Transparency • Oracle’s Java EE 7 JSRs are run in the open on java.net – http://javaee-spec.java.net – One project per spec – e.g., jpa-spec, jax-rs-spec, jms-spec… • Publicly viewable Expert Group mail archive – Users observer list gets copies of all Expert Group emails • Publicly viewable download area • Publicly viewable issue tracker • Commitment to update to JCP 2.8 Process 45 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 46. Status and Schedule • All JSRs up and running • Early Drafts – JSF 2.2, JAX-RS 2.0, JPA 2.1, CDI 1.1, EJB 3.2, JMS 2.0, Bean Validation 1.1 • Final release target: Q2 2013 • Date-driven release: Anything not ready will be deferred to Java EE 8 46 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 47. GlassFish Roadmap GlassFish v3 GlassFish Server 3.1 GlassFish Server 3.1.2 • Java EE 6 support • Centralized administration • Bug Fixes • Single instance • Clustering / HA • Incremental features • GlassFish Enterprise Mgr • GlassFish Server Control 2009 2010 2011 2012 2013 GlassFish Server 3.0.1 GlassFish Server 3.1.1 GlassFish Server 4 • Oracle branding • Bug fixes • Java EE 7 • Oracle platform support • Updated components • Multitenancy • Oracle interoperability • Incremental features • PaaS-enablement 47 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 48. Call to Action • Java EE 7 Expert Group Project – http://javaee-spec.java.net • Java EE 7 Reference Implementation – http://glassfish.org • The Aquarium – http://blogs.oracle.com/theaquarium 48 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 49. 49 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Editor's Notes

  1. Java EE 6 was released over 2 years. Lets take a look at the top 10 features that are generally appreciated by users.Complete list of compatible vendors:http://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.html
  2. One &lt;pinky finger to mouth&gt; BILLION downloads ..&lt;Pause .. As if audience member in row one is saying something&gt;Oh, 40 million downloadsBy far the #1 development platform for enterprise applicationsAnd Java EE 6 has taken offFastest roll-out by application server implementers… in fact, just two days ago the we got our seventh implementation … from Apache! (applause?)... So, are we done yet? (Or are those some storm clouds on the horizon?)This page shows the list of Java EE compliant vendors. The complete list is at: http://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.htmlThere is a mix of open source and commercial vendors. Java EE 6 has seen the fastest implementation of a Java EE release ever. Its just over 2 years and there 8 compliant (2 from Apache) implementations. Caucho and Apache TomEE are the new players to the game because of Web Profile.
  3. But all of these solutions, across the whole IaaS, PaaS, and SaaS spectrum, require enterprises to buy into vendor-specific offerings. And while a big part of Java EE’s success has been vendor value-add, it’s also been very successful in helping avoid vendor lock-in thanks to portability. Today, all the major stakeholders in the EE area stand in agreement that we need to move EE forward rapidly for the cloud.Already many of these are Java based and some even on Java EE but we need common standards here – to much is left to the developer and implementer
  4. At Oracle, and working with our partners, we’ve got three areas of focus, three areas of investment going on in Java EE.Focused on cloud. Public and private cloud. Working in IaaSenvironments. SupportingElasticity and ContinuousAvailability.Focused on modularity. Leveraging the work Adam described in Java SE.Focused on emergingweb standards, including HTML5, JSON and websockets.Let’stake a look at some of whatwe’redoing in enterprise Java for the cloud.
  5. Initially our Java EE applications were deployed on a single node with a single point of failure. Over a period of time, the Java EE applications could be deployed on multiple instances spanning multiple machines/nodes. This allows the application to scale very easily and also provide session failover capabilities. The Java EE 7 moves the bar further. It will allow QoS attributes to be specified as part of services metadata that will provide the lower and upper bounds of the Java EE cluster. This cluster will be self-adjusting, dynamically expanding and shrinking based upon metrics defined by the user. The minimum number of instances will be automatically started and more instances will be added if the metrics are met. Some typical examples are:60% of CPU is utilized across the cluster80% of memory is utilized in the cluster100 concurrent sessions
  6. Lets take an example scenario that puts all the concepts explained so far in a perspective.A software company writes an application, submits it to a PaaS provider, then any number of tenants sign up for the application, deploy it, their end users access it.
  7. SimplyCRM, a vendor of a CRM product, decides to enter the software-on-demand space
  8. Steve, an Application Developer at SimplyCRM, creates a version of the company&apos;s flagship CRM product packaged as a PaaS Application.
  9. Once the application has been tested and is cleared for production use, Steve hands off the application to Sandra, an employee at SimplyCRM who is the point of contact with the PaaS Providers the company intends to partner with. Sandra signs up SimplyCRM as a PaaS Customer of DiabloCloud, a PaaS Provider. As part of the deal, the two companies agree on the terms under which usage of the SimplyCRM application will be billed to DiabloCloud Customers.Sandra then submits the application on the DiabloCloud infrastructure, acting as the Application Submitter. She then interacts with Dean, DiabloCloud&apos;sPaaS Administrator, to publish the application so that other PaaS Customers can find it
  10. As the Application Submitter, Sandra is responsible for insuring that the necessary artifacts and metadata for customization and configuration are available so that other Customers can reconfigure and customize the application when they deploy it for their own use (and/or use by their own end users).
  11. Some time later, ExtraServices Inc., a consultancy, discovers SimplyCRM &apos;s PaaS Application offering on top of DiabloCloud.
  12. Wishing to move to an on-demand CRM system, ExtraServices Inc. signs up as a PaaS Customer of DiabloCloud, interacting with their PaaS Account Manager.
  13. Ed, ExtraServices&apos; Deployer, works with DiabloCloud&apos;s System Administrator Danny to ensure that the SimplyCRM application is customized and deployed to address the needs of ExtraServices. This includes making sure that the expected ExtraServices Inc. End-Users of the application have proper credentials to access it.
  14. Danny (System Administrator) verifies the application has been provisioned and configured to meet ExtraServices Inc.&apos;s needs.
  15. And the app is now ready.
  16. Finally, Erika, a End-User at ExtraServices Inc., starts using the SimplyCRM application running on the DiabloCloud infrastructure.
  17. ExtraServicesInc’sApplication administrator can manage the application.
  18. DiabloCloud will meter ExtraServices Inc.&apos; use of cloud resources in general and of the SimplyCRM application. It will then bill ExtraServices Inc. for their usage and, if properly authorized by SimplyCRM, for any costs associated with the ExtraServices Inc.&apos;s usage of the SimplyCRM application.
  19. This demo show how to PaaSify a Java EE application using early work that has started in GlassFish 4.0.Complete script and video of this demo at: http://glassfish.org/javaone2011
  20. Complete script and video of this demo at: http://glassfish.org/javaone2011
  21. Complete script and video of this demo at: http://glassfish.org/javaone2011
  22. In addition to updates to existing JSRs, there are new JSRs in the works to fill gaps in the Java EE platform. As noted, Java EE platform is continually evolving to meet the needs of server-side java computing.This diagram shows the list of JSRs targeted at the Java EE 7 platform.Gray boxes: base specs and can be extended easilyBlue boxes: minor updatesOrange: Getting major updatesGreen boxes: New candidate JSRsAll JSRs are not lead by only Oracle, RedHat and IBM are contributing
  23. GlassFish Server 3 continues the pace of 2 releases per year (GlassFish v3 was December, 2009, so we’ll count that as 2010 to keep it simple). As you can see, the Oracle Acquisition has not had an impact on the cadence of Oracle-delivered releases outlined in red, although we did release GlassFish Server 3.0.1 was added 100 days after acquisition to bring GlassFish into compliance with Oracle product standards (platforms, branding, etc). GlassFish 3.1 added support for clustering, high availability, and centralized administration for Java EE 6 applications – the first app server to do so. Then 3.1.1 was a bugifx release and now 3.1.2 is scheduled for Jan 2012. GlassFish 4 will be the release vehicle for Java EE 7 and is scheduled for late 2012.