SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Downloaden Sie, um offline zu lesen
The Java EE 7 Platform: Developing for the Cloud
Arun Gupta, Java EE & GlassFish Guy
blogs.oracle.com/arungupta, @arungupta
 1   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Java EE 6 Implementations
    Fastest implementations of a Java EE release ever!




2   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Java EE – Developer Adoption
                                                                                                Downloads	
                                         40 Million+
               45	
  
Millions	
  



               40	
  
               35	
  
               30	
  
               25	
  
               20	
  
               15	
  
               10	
  
                5	
  
                0	
  
                                   FY	
  06	
                       FY	
  07	
          FY	
  08	
     FY	
  09	
     FY	
  10	
     FY	
  11	
     FY	
  12	
  

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




4   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Today’s Cloud Offerings Are Vendor-Specific

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




                                                                               …

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

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

    •  PaaS support entails evolutionary change

    •  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



6   Copyright © 2011, 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
7   Copyright © 2011, 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

  8   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Java EE 7 Focus Area: Cloud Services, Not Just
      APIs
•  In the cloud tenant applications                                          Tenant App               Tenant App             Tenant App

   consume services                                                                  Java EE Application Level Services
                                                                               Queuing          Persistence      Caching
•  PaaS administrators host,                                                   Service            Service        Service
                                                                                                                                 …

   configure, and manage
                                                                                          PaaS Infrastructure Services
   application and infrastructure                                              Security         Provisioning    File
                                                                                                                                 …
   services                                                                    Service             Service         Service

                                                                                      Platform as a Service - Services
•  Existing APIs in Java EE need to
                                                                                          IaaS Infrastructure Services
   be updated to be service-enabled
   and tenant-aware                                                           Virt        VIP       VLAN       Volume      LBR       …

  –  Example: pluggable services, late binding                                             Infrastructure as a Service
     and tenant id injection
  9   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Old 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 …)




10        Copyright © 2011, 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


11        Copyright © 2011, 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
           )



12   Copyright © 2011, 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”)

13   Copyright © 2011, 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”
           )




14   Copyright © 2011, 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 = {…}
           )




15   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Java EE 7 Focus Area: 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
 16   Copyright © 2011, 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”




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




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


                   Applica3on	
  
                   Developer	
  


                                    Writes


                        App




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

                                                                            Signs up as a customer
               PaaS	
  Customer	
                                                                    PaaS	
  Account	
  Manager	
  




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

                                                                            Submits the application
                  Application                                                                         System	
  Administrator	
  
                  Submitter



                                                                                                                 App




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

                                                                            Discovers
                                                                                        App




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

                                                                            Signs up as a customer
               PaaS	
  Customer	
                                                                    PaaS	
  Account	
  Manager	
  



                                                                                                       App




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


                    Deployer	
                                                                        System	
  Administrator	
  
                                                                            Customizes and
                                                                            deploys the application



                                                                                                             App




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


                    Deployer	
                                                System	
  Administrator	
  



                                                                            Provisions on
                                                                                Cloud
                                                                            infrastructure

                                                                                          App




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


                    Deployer	
                                              System	
  Administrator	
  




                                                                              Provisioned and
                                                                               Deployed App




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




                                                                            Access the application
                      End-­‐Users	
                                                                  Provisioned and
                                                                                                      Deployed App




27   Copyright © 2011, 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




28   Copyright © 2011, 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




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




30   Copyright © 2011, 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">
http://glassfish.org/javaone2011                                                     <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>
    31   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Service Provisioning

                                                                              Load
                                                                             Balancer



                                                  Java EE                   Java EE    ...   Java EE


                                                                            Database



32   Copyright © 2011, 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 or by injection

33   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Java EE 7 Focus Area: Application Level Multi
     Tenancy
     •  Goal: Simple configuration
     •  Flexible tenant discriminator support
     •  Other areas impacted - JNDI, JMS, EJB …
@Entity	
  
@Table(name=“EMP”)	
  
@MultiTenant(SINGLE_TABLE)	
   depart_id                 DEPT_ID
@TenantDiscriminator(name=“company-­‐id”,	
  columnName=“COMPANY”)	
  
public	
  class	
  Employee	
  {	
  
                     EMP
                             EMP_ID                           VERSION        F_NAME   L_NAME   GENDER   DEPT_ID
                                   1                                  1       John     Doe       M         1
                                   2                                  3       Jane     Doe       F         2


     SELECT	
  *	
  FROM	
  EMPLOYEE	
  WHERE	
  L_NAME	
  LIKE	
  ‘D%’	
  AND	
  DEPT_ID=	
  1	
  

34    Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Persistence Layer
     Multi-tenant Taxonomies
     •  Dedicated App, Dedicated Database
     •  Shared App, Dedicated Database
     •  Dedicated App, Shared Database
     •  Shared App, Shared Database




35   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Dedicated App, Dedicated Database
     Persistence Layer Multi-Tenant Taxonomies




                                                                            App is configured for tenant-id
                                                                             at bootstrap and connects to
                                                                                   the data source



36   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Shared App, Dedicated Database
     Persistence Layer Multi-Tenant Taxonomies




                                                                               App knows tenant-id and
                                                                            connects with the tenant-specific
                                                                                     data source



37   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Dedicated App, Shared Database
     Persistence Layer Multi-Tenant Taxonomies




                                                                             Tenant-id configured at bootstrap
                                                                            and connects to tenant-specific table
                                                                                      or striped table



38   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Shared App, Shared Database
     Persistence Layer Multi-Tenant Taxonomies




                                                                             App knows tenant-id and
                                                                            connects to tenant specific
                                                                               table or striped table



39   Copyright © 2011, 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
           –  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

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

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




                                                                                                         Bean Validation 1.1
                                                                                                                                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


41    Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Transparency
     •  Our 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 match JCP 2.8 Process

42   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Status and Schedule


     •  Nearly all JSRs up and running
     •  Remaining ones to be filed in next few weeks
     •  Final release target: Q3 2012
     •  Date-driven release: anything not ready will be
        deferred to Java EE 8



43   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
How to Get in the Loop

     •  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

44   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
The Java EE 7 Platform: Developing for the Cloud
Arun Gupta, Java EE & GlassFish Guy
blogs.oracle.com/arungupta, @arungupta
 45   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.

Weitere ähnliche Inhalte

Andere mochten auch

ART1204 Art of the Ancient Near East
ART1204 Art of the Ancient Near EastART1204 Art of the Ancient Near East
ART1204 Art of the Ancient Near EastProfWillAdams
 
Hum1020 sp2015 syllabus
Hum1020 sp2015 syllabusHum1020 sp2015 syllabus
Hum1020 sp2015 syllabusProfWillAdams
 
Hum2310 sm2016 syllabus
Hum2310 sm2016 syllabusHum2310 sm2016 syllabus
Hum2310 sm2016 syllabusProfWillAdams
 
Hum2310 fa2015 proust questionnaire
Hum2310 fa2015 proust questionnaireHum2310 fa2015 proust questionnaire
Hum2310 fa2015 proust questionnaireProfWillAdams
 
Hum2310 fa2014 proust questionnaire
Hum2310 fa2014 proust questionnaireHum2310 fa2014 proust questionnaire
Hum2310 fa2014 proust questionnaireProfWillAdams
 
Hum2220 sp2015 proust questionnaire
Hum2220 sp2015 proust questionnaireHum2220 sp2015 proust questionnaire
Hum2220 sp2015 proust questionnaireProfWillAdams
 
Exploring Cloud Credentials for Institutional Use
Exploring Cloud Credentials for Institutional UseExploring Cloud Credentials for Institutional Use
Exploring Cloud Credentials for Institutional UseJeremy Rosenberg
 
Arh2050 art of the stone age
Arh2050 art of the stone ageArh2050 art of the stone age
Arh2050 art of the stone ageProfWillAdams
 
Hum1020 0730 research project instructions
Hum1020 0730 research project instructionsHum1020 0730 research project instructions
Hum1020 0730 research project instructionsProfWillAdams
 

Andere mochten auch (20)

Alberti Center for Bullying Abuse Prevention
Alberti Center for Bullying Abuse PreventionAlberti Center for Bullying Abuse Prevention
Alberti Center for Bullying Abuse Prevention
 
ART1204 Art of the Ancient Near East
ART1204 Art of the Ancient Near EastART1204 Art of the Ancient Near East
ART1204 Art of the Ancient Near East
 
Hum1020 sp2015 syllabus
Hum1020 sp2015 syllabusHum1020 sp2015 syllabus
Hum1020 sp2015 syllabus
 
Tar syndrome group 6
Tar syndrome group 6Tar syndrome group 6
Tar syndrome group 6
 
Mob home
Mob homeMob home
Mob home
 
MorenoMassip_Avi
MorenoMassip_AviMorenoMassip_Avi
MorenoMassip_Avi
 
2007 annual report
2007 annual report2007 annual report
2007 annual report
 
Hum2310 sm2016 syllabus
Hum2310 sm2016 syllabusHum2310 sm2016 syllabus
Hum2310 sm2016 syllabus
 
Hum2310 fa2015 proust questionnaire
Hum2310 fa2015 proust questionnaireHum2310 fa2015 proust questionnaire
Hum2310 fa2015 proust questionnaire
 
Hum2310 fa2014 proust questionnaire
Hum2310 fa2014 proust questionnaireHum2310 fa2014 proust questionnaire
Hum2310 fa2014 proust questionnaire
 
Stenden master l&i 8 maart 2013
Stenden master l&i 8 maart 2013Stenden master l&i 8 maart 2013
Stenden master l&i 8 maart 2013
 
Questioning
QuestioningQuestioning
Questioning
 
ergasiaistoria3
ergasiaistoria3ergasiaistoria3
ergasiaistoria3
 
Hum2220 sp2015 proust questionnaire
Hum2220 sp2015 proust questionnaireHum2220 sp2015 proust questionnaire
Hum2220 sp2015 proust questionnaire
 
Exploring Cloud Credentials for Institutional Use
Exploring Cloud Credentials for Institutional UseExploring Cloud Credentials for Institutional Use
Exploring Cloud Credentials for Institutional Use
 
Unbound:Endless War
Unbound:Endless WarUnbound:Endless War
Unbound:Endless War
 
Arh2050 art of the stone age
Arh2050 art of the stone ageArh2050 art of the stone age
Arh2050 art of the stone age
 
Hum1020 0730 research project instructions
Hum1020 0730 research project instructionsHum1020 0730 research project instructions
Hum1020 0730 research project instructions
 
Bullying: Key Issues and a Call to Action
Bullying: Key Issues and a Call to ActionBullying: Key Issues and a Call to Action
Bullying: Key Issues and a Call to Action
 
Nota de ingreso oncopediatria
Nota de ingreso oncopediatriaNota de ingreso oncopediatria
Nota de ingreso oncopediatria
 

Mehr von JAX London

Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John S...
Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John S...Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John S...
Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John S...JAX London
 
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...JAX London
 
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark LittleKeynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark LittleJAX London
 
Spring Day | WaveMaker - Spring Roo - SpringSource Tool Suite: Choosing the R...
Spring Day | WaveMaker - Spring Roo - SpringSource Tool Suite: Choosing the R...Spring Day | WaveMaker - Spring Roo - SpringSource Tool Suite: Choosing the R...
Spring Day | WaveMaker - Spring Roo - SpringSource Tool Suite: Choosing the R...JAX London
 
Spring Day | Behind the Scenes at Spring Batch | Dave Syer
Spring Day | Behind the Scenes at Spring Batch | Dave SyerSpring Day | Behind the Scenes at Spring Batch | Dave Syer
Spring Day | Behind the Scenes at Spring Batch | Dave SyerJAX London
 
Spring Day | Spring 3.1 in a Nutshell | Sam Brannen
Spring Day | Spring 3.1 in a Nutshell | Sam BrannenSpring Day | Spring 3.1 in a Nutshell | Sam Brannen
Spring Day | Spring 3.1 in a Nutshell | Sam BrannenJAX London
 
Spring Day | Identity Management with Spring Security | Dave Syer
Spring Day | Identity Management with Spring Security | Dave SyerSpring Day | Identity Management with Spring Security | Dave Syer
Spring Day | Identity Management with Spring Security | Dave SyerJAX London
 
Spring Day | Spring and Scala | Eberhard Wolff
Spring Day | Spring and Scala | Eberhard WolffSpring Day | Spring and Scala | Eberhard Wolff
Spring Day | Spring and Scala | Eberhard WolffJAX London
 
Spring Day | Data Access 2.0? Please Welcome Spring Data! | Oliver Gierke
Spring Day | Data Access 2.0? Please Welcome Spring Data! | Oliver GierkeSpring Day | Data Access 2.0? Please Welcome Spring Data! | Oliver Gierke
Spring Day | Data Access 2.0? Please Welcome Spring Data! | Oliver GierkeJAX London
 
Keynote | The Rise and Fall and Rise of Java | James Governor
Keynote | The Rise and Fall and Rise of Java | James GovernorKeynote | The Rise and Fall and Rise of Java | James Governor
Keynote | The Rise and Fall and Rise of Java | James GovernorJAX London
 
Java Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily JiangJava Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily JiangJAX London
 
Java Tech & Tools | Beyond the Data Grid: Coherence, Normalisation, Joins and...
Java Tech & Tools | Beyond the Data Grid: Coherence, Normalisation, Joins and...Java Tech & Tools | Beyond the Data Grid: Coherence, Normalisation, Joins and...
Java Tech & Tools | Beyond the Data Grid: Coherence, Normalisation, Joins and...JAX London
 
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...JAX London
 
Java Tech & Tools | Social Media in Programming in Java | Khanderao Kand
Java Tech & Tools | Social Media in Programming in Java | Khanderao KandJava Tech & Tools | Social Media in Programming in Java | Khanderao Kand
Java Tech & Tools | Social Media in Programming in Java | Khanderao KandJAX London
 
Java Tech & Tools | Just Keep Passing the Message | Russel Winder
Java Tech & Tools | Just Keep Passing the Message | Russel WinderJava Tech & Tools | Just Keep Passing the Message | Russel Winder
Java Tech & Tools | Just Keep Passing the Message | Russel WinderJAX London
 
Java Tech & Tools | Grails in the Java Enterprise | Peter Ledbrook
Java Tech & Tools | Grails in the Java Enterprise | Peter LedbrookJava Tech & Tools | Grails in the Java Enterprise | Peter Ledbrook
Java Tech & Tools | Grails in the Java Enterprise | Peter LedbrookJAX London
 
Java Tech & Tools | Deploying Java & Play Framework Apps to the Cloud | Sande...
Java Tech & Tools | Deploying Java & Play Framework Apps to the Cloud | Sande...Java Tech & Tools | Deploying Java & Play Framework Apps to the Cloud | Sande...
Java Tech & Tools | Deploying Java & Play Framework Apps to the Cloud | Sande...JAX London
 
Java EE | Modular EJBs for Enterprise OSGi | Tim Ward
Java EE | Modular EJBs for Enterprise OSGi | Tim WardJava EE | Modular EJBs for Enterprise OSGi | Tim Ward
Java EE | Modular EJBs for Enterprise OSGi | Tim WardJAX London
 
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan GallimoreJava EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan GallimoreJAX London
 
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...JAX London
 

Mehr von JAX London (20)

Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John S...
Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John S...Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John S...
Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John S...
 
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
 
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark LittleKeynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
 
Spring Day | WaveMaker - Spring Roo - SpringSource Tool Suite: Choosing the R...
Spring Day | WaveMaker - Spring Roo - SpringSource Tool Suite: Choosing the R...Spring Day | WaveMaker - Spring Roo - SpringSource Tool Suite: Choosing the R...
Spring Day | WaveMaker - Spring Roo - SpringSource Tool Suite: Choosing the R...
 
Spring Day | Behind the Scenes at Spring Batch | Dave Syer
Spring Day | Behind the Scenes at Spring Batch | Dave SyerSpring Day | Behind the Scenes at Spring Batch | Dave Syer
Spring Day | Behind the Scenes at Spring Batch | Dave Syer
 
Spring Day | Spring 3.1 in a Nutshell | Sam Brannen
Spring Day | Spring 3.1 in a Nutshell | Sam BrannenSpring Day | Spring 3.1 in a Nutshell | Sam Brannen
Spring Day | Spring 3.1 in a Nutshell | Sam Brannen
 
Spring Day | Identity Management with Spring Security | Dave Syer
Spring Day | Identity Management with Spring Security | Dave SyerSpring Day | Identity Management with Spring Security | Dave Syer
Spring Day | Identity Management with Spring Security | Dave Syer
 
Spring Day | Spring and Scala | Eberhard Wolff
Spring Day | Spring and Scala | Eberhard WolffSpring Day | Spring and Scala | Eberhard Wolff
Spring Day | Spring and Scala | Eberhard Wolff
 
Spring Day | Data Access 2.0? Please Welcome Spring Data! | Oliver Gierke
Spring Day | Data Access 2.0? Please Welcome Spring Data! | Oliver GierkeSpring Day | Data Access 2.0? Please Welcome Spring Data! | Oliver Gierke
Spring Day | Data Access 2.0? Please Welcome Spring Data! | Oliver Gierke
 
Keynote | The Rise and Fall and Rise of Java | James Governor
Keynote | The Rise and Fall and Rise of Java | James GovernorKeynote | The Rise and Fall and Rise of Java | James Governor
Keynote | The Rise and Fall and Rise of Java | James Governor
 
Java Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily JiangJava Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily Jiang
 
Java Tech & Tools | Beyond the Data Grid: Coherence, Normalisation, Joins and...
Java Tech & Tools | Beyond the Data Grid: Coherence, Normalisation, Joins and...Java Tech & Tools | Beyond the Data Grid: Coherence, Normalisation, Joins and...
Java Tech & Tools | Beyond the Data Grid: Coherence, Normalisation, Joins and...
 
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...
 
Java Tech & Tools | Social Media in Programming in Java | Khanderao Kand
Java Tech & Tools | Social Media in Programming in Java | Khanderao KandJava Tech & Tools | Social Media in Programming in Java | Khanderao Kand
Java Tech & Tools | Social Media in Programming in Java | Khanderao Kand
 
Java Tech & Tools | Just Keep Passing the Message | Russel Winder
Java Tech & Tools | Just Keep Passing the Message | Russel WinderJava Tech & Tools | Just Keep Passing the Message | Russel Winder
Java Tech & Tools | Just Keep Passing the Message | Russel Winder
 
Java Tech & Tools | Grails in the Java Enterprise | Peter Ledbrook
Java Tech & Tools | Grails in the Java Enterprise | Peter LedbrookJava Tech & Tools | Grails in the Java Enterprise | Peter Ledbrook
Java Tech & Tools | Grails in the Java Enterprise | Peter Ledbrook
 
Java Tech & Tools | Deploying Java & Play Framework Apps to the Cloud | Sande...
Java Tech & Tools | Deploying Java & Play Framework Apps to the Cloud | Sande...Java Tech & Tools | Deploying Java & Play Framework Apps to the Cloud | Sande...
Java Tech & Tools | Deploying Java & Play Framework Apps to the Cloud | Sande...
 
Java EE | Modular EJBs for Enterprise OSGi | Tim Ward
Java EE | Modular EJBs for Enterprise OSGi | Tim WardJava EE | Modular EJBs for Enterprise OSGi | Tim Ward
Java EE | Modular EJBs for Enterprise OSGi | Tim Ward
 
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan GallimoreJava EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
 
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
 

Kürzlich hochgeladen

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Java EE | Java EE 7: Developing for the Cloud | Arun Gupta

  • 1. The Java EE 7 Platform: Developing for the Cloud Arun Gupta, Java EE & GlassFish Guy blogs.oracle.com/arungupta, @arungupta 1 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 2. Java EE 6 Implementations Fastest implementations of a Java EE release ever! 2 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 3. Java EE – Developer Adoption Downloads   40 Million+ 45   Millions   40   35   30   25   20   15   10   5   0   FY  06   FY  07   FY  08   FY  09   FY  10   FY  11   FY  12   3 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 4. Java EE 7 4 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 5. Today’s Cloud Offerings Are Vendor-Specific Infrastructure as Platform as Software as a Service a Service a Service … 5 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 6. Java EE 7 Focus: Platform as a Service •  Provide way for customers and users to leverage public, private, and hybrid clouds •  PaaS support entails evolutionary change •  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 6 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 7. 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 7 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 8. 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 8 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 9. Java EE 7 Focus Area: Cloud Services, Not Just APIs •  In the cloud tenant applications Tenant App Tenant App Tenant App consume services Java EE Application Level Services Queuing Persistence Caching •  PaaS administrators host, Service Service Service … configure, and manage PaaS Infrastructure Services application and infrastructure Security Provisioning File … services Service Service Service Platform as a Service - Services •  Existing APIs in Java EE need to IaaS Infrastructure Services be updated to be service-enabled and tenant-aware Virt VIP VLAN Volume LBR … –  Example: pluggable services, late binding Infrastructure as a Service and tenant id injection 9 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 10. Old 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 …) 10 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 11. 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 11 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 12. 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 ) 12 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 13. 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”) 13 Copyright © 2011, 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 @MailSession ( name=“java:app/mailSession”, from=“MyService@ExtraServices.com” ) 14 Copyright © 2011, 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 @ConnectorService ( name=“java:app/myCustomConnector”, type=“com.extraServices.customConnector.class”, properties = {…} ) 15 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 16. Java EE 7 Focus Area: 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 16 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 17. 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” 17 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 18. Walkthrough (1) SimplyCRM   DiabloCloud   18 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 19. Walkthrough (2) SimplyCRM   DiabloCloud   Applica3on   Developer   Writes App 19 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 20. Walkthrough (3) SimplyCRM   DiabloCloud   Signs up as a customer PaaS  Customer   PaaS  Account  Manager   20 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 21. Walkthrough (4) SimplyCRM   DiabloCloud   Submits the application Application System  Administrator   Submitter App 21 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 22. Walkthrough (5) ExtraServices   DiabloCloud   Discovers App 22 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 23. Walkthrough (6) ExtraServices   DiabloCloud   Signs up as a customer PaaS  Customer   PaaS  Account  Manager   App 23 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 24. Walkthrough (7) ExtraServices   DiabloCloud   Deployer   System  Administrator   Customizes and deploys the application App 24 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 25. Walkthrough (8) ExtraServices   DiabloCloud   Deployer   System  Administrator   Provisions on Cloud infrastructure App 25 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 26. Walkthrough (9) ExtraServices   DiabloCloud   Deployer   System  Administrator   Provisioned and Deployed App 26 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 27. Walkthrough (10) ExtraServices   DiabloCloud   Access the application End-­‐Users   Provisioned and Deployed App 27 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 28. Walkthrough (11) ExtraServices   DiabloCloud   End-­‐Users   Access the application Provisioned and Deployed App Administrator   Administers the application 28 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 29. Walkthrough (12) ExtraServices   DiabloCloud   System  Administrator   Monitors End-­‐Users   Access the application Provisioned and Deployed App Administrator   Administers the application 29 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 30. Demo PaaSing a Java EE Application in the Cloud 30 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 31. 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"> http://glassfish.org/javaone2011 <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> 31 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 32. Service Provisioning Load Balancer Java EE Java EE ... Java EE Database 32 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 33. 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 or by injection 33 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 34. Java EE 7 Focus Area: Application Level Multi Tenancy •  Goal: Simple configuration •  Flexible tenant discriminator support •  Other areas impacted - JNDI, JMS, EJB … @Entity   @Table(name=“EMP”)   @MultiTenant(SINGLE_TABLE)   depart_id DEPT_ID @TenantDiscriminator(name=“company-­‐id”,  columnName=“COMPANY”)   public  class  Employee  {   EMP EMP_ID VERSION F_NAME L_NAME GENDER DEPT_ID 1 1 John Doe M 1 2 3 Jane Doe F 2 SELECT  *  FROM  EMPLOYEE  WHERE  L_NAME  LIKE  ‘D%’  AND  DEPT_ID=  1   34 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 35. Persistence Layer Multi-tenant Taxonomies •  Dedicated App, Dedicated Database •  Shared App, Dedicated Database •  Dedicated App, Shared Database •  Shared App, Shared Database 35 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 36. Dedicated App, Dedicated Database Persistence Layer Multi-Tenant Taxonomies App is configured for tenant-id at bootstrap and connects to the data source 36 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 37. Shared App, Dedicated Database Persistence Layer Multi-Tenant Taxonomies App knows tenant-id and connects with the tenant-specific data source 37 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 38. Dedicated App, Shared Database Persistence Layer Multi-Tenant Taxonomies Tenant-id configured at bootstrap and connects to tenant-specific table or striped table 38 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 39. Shared App, Shared Database Persistence Layer Multi-Tenant Taxonomies App knows tenant-id and connects to tenant specific table or striped table 39 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 40. 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 –  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 40 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 41. Java EE 7 – Candidate JSRs Web Jcache 1.0 JAX-RS JSP 2.2 Conainer 2.0 JSF 2.2 (JSR 107) CDI Extensions EL 3.0 Extensions Bean Validation 1.1 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 41 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 42. Transparency •  Our 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 match JCP 2.8 Process 42 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 43. Status and Schedule •  Nearly all JSRs up and running •  Remaining ones to be filed in next few weeks •  Final release target: Q3 2012 •  Date-driven release: anything not ready will be deferred to Java EE 8 43 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 44. How to Get in the Loop •  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 44 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 45. The Java EE 7 Platform: Developing for the Cloud Arun Gupta, Java EE & GlassFish Guy blogs.oracle.com/arungupta, @arungupta 45 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.