SlideShare a Scribd company logo
The Java EE 7 Platform: Developing for the Cloud

                                   Kshitiz Saxena
The following is intended to outline our general product direction. It
is intended for information purposes only, and may not be
incorporated into any contract. It is not a commitment to deliver any
material, code, or functionality, and should not be relied upon in
making purchasing decisions. The development, release, and
timing of any features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.
Java EE 6 Implementations
Fastest implementations of a Java EE release ever!
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
Java EE 7
What Do We Mean by “The Cloud”?

• Infrastructure as a Service (IaaS)
   The capability provided to the consumer is to provision processing,
   storage, networks, and other fundamental computing resources
   where the consumer is able to deploy and run arbitrary software,
   which can include operating systems and applications. (NIST)
• Platform as a Service (Paas)
• Software as a Service (SaaS)

                                        (*) NIST Definition of Cloud Computing – 800-145
What Do We Mean by “The Cloud”?

• Infrastructure as a Service (IaaS)
• Platform as a Service (Paas)
   The capability provided to the consumer is to deploy onto the cloud
   infrastructure consumer-created or acquired applications created
   using programming languages and tools supported by the provider.
   The consumer does not manage or control the underlying cloud
   infrastructure…, but has control over the deployed applications and
   possibly application hosting environment configurations. (NIST)
• Software as a Service (SaaS)
                                        (*) NIST Definition of Cloud Computing – 800-145
What Do We Mean by “The Cloud”?

• Infrastructure as a Service (IaaS)
• Platform as a Service (Paas)
• Software as a Service (SaaS)
   The capability provided to the consumer is to use the provider’s
   applications running on a cloud infrastructure. The consumer does
   not manage or control the underlying cloud infrastructure…, with
   the possible exception of limited user-specific application
   configuration settings. (NIST)

                                     (*) NIST Definition of Cloud Computing – 800-145
Today’s Cloud Offerings Are Vendor-Specific

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




                        …
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
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
Roles
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
• PaaS administrators host,                       Queuing
                                                  Service
                                                                   Persistence
                                                                     Service
                                                                                    Caching
                                                                                     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
                                                 Virt        VIP       VLAN       Volume       LBR       …
  and tenant-aware
  – Example: pluggable services, late binding                 Infrastructure as a Service
    and tenant id injection
Old Java EE model
                                                                     Database
                                    1   Provision and Initialize      Service
•   Configure Java EE resources –
    JDBC, JMS etc                                                     LDAP
                                    2                                Service
•   Deploy Application EAR               Provision and Initialize




                                                                    Messaging
                                    3    Provision and Initialize    Service

                                                                    Application
                                    4
                                         Provision and Initialize    Container


                                    5     Deploy Application (
                                           (EAR/WAR/RAR…)
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/WAR/RAR…)
                                                                           Container
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
  )
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”)
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”
  )
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 = {…}
  )
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
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”
Walkthrough (1)
  SimplyCRM       DiabloCloud
Walkthrough (2)
  SimplyCRM        DiabloCloud


  Application
  Developer


          Writes


    App
Walkthrough (3)
   SimplyCRM                                   DiabloCloud

                  Signs up as a customer
  PaaS Customer                            PaaS Account Manager
Walkthrough (4)
  SimplyCRM                                   DiabloCloud

                Submits the application
  Application                             System Administrator
  Submitter


                                                   App
Walkthrough (5)
  ExtraServices                 DiabloCloud

                  Discovers
                              App
Walkthrough (6)
  ExtraServices                                DiabloCloud

                  Signs up as a customer
  PaaS Customer                            PaaS Account Manager



                                            App
Walkthrough (7)
  ExtraServices                                 DiabloCloud


   Deployer                                 System Administrator
                  Customizes and
                  deploys the application



                                                 App
Walkthrough (8)
  ExtraServices          DiabloCloud


   Deployer         System Administrator



                  Provisions on
                      Cloud
                  infrastructure

                              App
Walkthrough (9)
  ExtraServices       DiabloCloud


   Deployer       System Administrator




                   Provisioned and
                    Deployed App
Walkthrough (10)
  ExtraServices                              DiabloCloud




                  Access the application
    End-Users                              Provisioned and
                                            Deployed App
Walkthrough (11)
  ExtraServices                                    DiabloCloud




    End-Users      Access the application


                                                 Provisioned and
                                                  Deployed App

  Administrator    Administers the application
Walkthrough (12)
  ExtraServices                                      DiabloCloud


                                                 System Administrator




                                                              Monitors

    End-Users      Access the application


                                                  Provisioned and
                                                   Deployed App

  Administrator    Administers the application
PaaS and Multitenancy: Some Models
1. PaaS Platform on Demand
  –   New runtime stack for each tenant

2. PaaS Multitenant Containers
  –   Isolated application partitions per tenant with shared runtime

3. SaaS Multitenant Applications
  –   Shared application instances, with tenant-specific customization

4. SaaS-limited
  –   Separate application instances, with tenant-specific
      customizations
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
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)
     @TenantDiscriminator(name=“department-id”, columnName=“DEPT_ID”)
     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
Persistence Layer
Multi-tenant Taxonomies
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
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
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
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
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

• The NIST Definition of Cloud Computing -- Special Publication 800-145

   – http://1.usa.gov/ohXnlM
The Java EE 7 Platform: Developing for the Cloud

                                   Kshitiz Saxena

More Related Content

What's hot

Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Arun Gupta
 
Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7
Arun Gupta
 
MySQL Cluster
MySQL ClusterMySQL Cluster
MySQL Cluster
MySQL Brasil
 
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
Arun Gupta
 
A Technical Overview of DuraCloud
A Technical Overview of DuraCloudA Technical Overview of DuraCloud
A Technical Overview of DuraCloud
DuraSpace
 
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
Arun Gupta
 
Java EE7: Developing for the Cloud
Java EE7: Developing for the CloudJava EE7: Developing for the Cloud
Java EE7: Developing for the CloudDmitry Buzdin
 
Sp2010 high availlability_sql
Sp2010 high availlability_sqlSp2010 high availlability_sql
Sp2010 high availlability_sqlSamuel Zürcher
 
GlassFish Community Update @ JavaOne 2011
GlassFish Community Update @ JavaOne 2011GlassFish Community Update @ JavaOne 2011
GlassFish Community Update @ JavaOne 2011
Arun Gupta
 
Upgrade services share_pointserver
Upgrade services share_pointserverUpgrade services share_pointserver
Upgrade services share_pointserver
Ard van Someren
 
Layer 7: Understanding XML & Web Services Performance
Layer 7: Understanding  XML & Web Services PerformanceLayer 7: Understanding  XML & Web Services Performance
Layer 7: Understanding XML & Web Services Performance
CA API Management
 
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, JohannesburgJava EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Arun Gupta
 
2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis
dandre
 
Andre Tost Service Models Java
Andre  Tost    Service Models JavaAndre  Tost    Service Models Java
Andre Tost Service Models JavaSOA Symposium
 
Private Cloud Day Session 1: Building your Private Cloud Infrastructure
Private Cloud Day Session 1: Building your Private Cloud InfrastructurePrivate Cloud Day Session 1: Building your Private Cloud Infrastructure
Private Cloud Day Session 1: Building your Private Cloud Infrastructure
Microsoft TechNet - Belgium and Luxembourg
 
Build Resilient Private Cloud
Build Resilient Private CloudBuild Resilient Private Cloud
Build Resilient Private CloudSymantec APJ
 
Engineered Systems: Oracle's Vision for the Future
Engineered Systems: Oracle's Vision for the FutureEngineered Systems: Oracle's Vision for the Future
Engineered Systems: Oracle's Vision for the Future
Bob Rhubart
 
SQL Server User Group 02/2009
SQL Server User Group 02/2009SQL Server User Group 02/2009
SQL Server User Group 02/2009
Database Architechs
 
Sql azure database under the hood
Sql azure database under the hoodSql azure database under the hood
Sql azure database under the hood
guest2dd056
 

What's hot (20)

Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
 
Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7
 
MySQL Cluster
MySQL ClusterMySQL Cluster
MySQL Cluster
 
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
 
A Technical Overview of DuraCloud
A Technical Overview of DuraCloudA Technical Overview of DuraCloud
A Technical Overview of DuraCloud
 
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
 
Java EE7: Developing for the Cloud
Java EE7: Developing for the CloudJava EE7: Developing for the Cloud
Java EE7: Developing for the Cloud
 
Sp2010 high availlability_sql
Sp2010 high availlability_sqlSp2010 high availlability_sql
Sp2010 high availlability_sql
 
GlassFish Community Update @ JavaOne 2011
GlassFish Community Update @ JavaOne 2011GlassFish Community Update @ JavaOne 2011
GlassFish Community Update @ JavaOne 2011
 
Upgrade services share_pointserver
Upgrade services share_pointserverUpgrade services share_pointserver
Upgrade services share_pointserver
 
Layer 7: Understanding XML & Web Services Performance
Layer 7: Understanding  XML & Web Services PerformanceLayer 7: Understanding  XML & Web Services Performance
Layer 7: Understanding XML & Web Services Performance
 
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, JohannesburgJava EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
 
2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis
 
Xs sho niboshi
Xs sho niboshiXs sho niboshi
Xs sho niboshi
 
Andre Tost Service Models Java
Andre  Tost    Service Models JavaAndre  Tost    Service Models Java
Andre Tost Service Models Java
 
Private Cloud Day Session 1: Building your Private Cloud Infrastructure
Private Cloud Day Session 1: Building your Private Cloud InfrastructurePrivate Cloud Day Session 1: Building your Private Cloud Infrastructure
Private Cloud Day Session 1: Building your Private Cloud Infrastructure
 
Build Resilient Private Cloud
Build Resilient Private CloudBuild Resilient Private Cloud
Build Resilient Private Cloud
 
Engineered Systems: Oracle's Vision for the Future
Engineered Systems: Oracle's Vision for the FutureEngineered Systems: Oracle's Vision for the Future
Engineered Systems: Oracle's Vision for the Future
 
SQL Server User Group 02/2009
SQL Server User Group 02/2009SQL Server User Group 02/2009
SQL Server User Group 02/2009
 
Sql azure database under the hood
Sql azure database under the hoodSql azure database under the hood
Sql azure database under the hood
 

Viewers also liked

Redevelopment at Chelmsford College
Redevelopment at Chelmsford CollegeRedevelopment at Chelmsford College
Redevelopment at Chelmsford College
JISC RSC Eastern
 
M A N I A C A L T E N D E N C I E S D R S H R I N I W A S K A S H A L I K...
M A N I A C A L  T E N D E N C I E S  D R  S H R I N I W A S  K A S H A L I K...M A N I A C A L  T E N D E N C I E S  D R  S H R I N I W A S  K A S H A L I K...
M A N I A C A L T E N D E N C I E S D R S H R I N I W A S K A S H A L I K...srinishriya
 
Jisc RSC Eastern 'E-Guides continued'
Jisc RSC Eastern 'E-Guides continued'Jisc RSC Eastern 'E-Guides continued'
Jisc RSC Eastern 'E-Guides continued'
JISC RSC Eastern
 
The Next Generation Application Server – How Event Based Processing yields s...
The Next Generation  Application Server – How Event Based Processing yields s...The Next Generation  Application Server – How Event Based Processing yields s...
The Next Generation Application Server – How Event Based Processing yields s...
Guy Korland
 
Access Apps
Access AppsAccess Apps
Access Apps
JISC RSC Eastern
 
Jisc RSC Eastern VLE forum Nov 2012 'Going mobile'
Jisc RSC Eastern VLE forum Nov 2012 'Going mobile'Jisc RSC Eastern VLE forum Nov 2012 'Going mobile'
Jisc RSC Eastern VLE forum Nov 2012 'Going mobile'
JISC RSC Eastern
 
Jisc RSC Eastern Digital Literacies event 30.04.14 "Introduction to Digital L...
Jisc RSC Eastern Digital Literacies event 30.04.14 "Introduction to Digital L...Jisc RSC Eastern Digital Literacies event 30.04.14 "Introduction to Digital L...
Jisc RSC Eastern Digital Literacies event 30.04.14 "Introduction to Digital L...
JISC RSC Eastern
 

Viewers also liked (7)

Redevelopment at Chelmsford College
Redevelopment at Chelmsford CollegeRedevelopment at Chelmsford College
Redevelopment at Chelmsford College
 
M A N I A C A L T E N D E N C I E S D R S H R I N I W A S K A S H A L I K...
M A N I A C A L  T E N D E N C I E S  D R  S H R I N I W A S  K A S H A L I K...M A N I A C A L  T E N D E N C I E S  D R  S H R I N I W A S  K A S H A L I K...
M A N I A C A L T E N D E N C I E S D R S H R I N I W A S K A S H A L I K...
 
Jisc RSC Eastern 'E-Guides continued'
Jisc RSC Eastern 'E-Guides continued'Jisc RSC Eastern 'E-Guides continued'
Jisc RSC Eastern 'E-Guides continued'
 
The Next Generation Application Server – How Event Based Processing yields s...
The Next Generation  Application Server – How Event Based Processing yields s...The Next Generation  Application Server – How Event Based Processing yields s...
The Next Generation Application Server – How Event Based Processing yields s...
 
Access Apps
Access AppsAccess Apps
Access Apps
 
Jisc RSC Eastern VLE forum Nov 2012 'Going mobile'
Jisc RSC Eastern VLE forum Nov 2012 'Going mobile'Jisc RSC Eastern VLE forum Nov 2012 'Going mobile'
Jisc RSC Eastern VLE forum Nov 2012 'Going mobile'
 
Jisc RSC Eastern Digital Literacies event 30.04.14 "Introduction to Digital L...
Jisc RSC Eastern Digital Literacies event 30.04.14 "Introduction to Digital L...Jisc RSC Eastern Digital Literacies event 30.04.14 "Introduction to Digital L...
Jisc RSC Eastern Digital Literacies event 30.04.14 "Introduction to Digital L...
 

Similar to Java ee 7 platform developing for the cloud kshitiz saxena

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
codemotion_es
 
Paa sing a java ee 6 application kshitiz saxena
Paa sing a java ee 6 application   kshitiz saxenaPaa sing a java ee 6 application   kshitiz saxena
Paa sing a java ee 6 application kshitiz saxena
IndicThreads
 
Java EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the CloudJava EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the Cloud
Arun Gupta
 
Mach Technology
Mach Technology Mach Technology
Mach Technology Open Stack
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA
 
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
Jerome Leonard
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference Architecture
Bob Rhubart
 
Cloud Computing : Security and Forensics
Cloud Computing : Security and ForensicsCloud Computing : Security and Forensics
Cloud Computing : Security and Forensics
Govind Maheswaran
 
NIC 2013 - Configure and Deploy Private Cloud
NIC 2013 - Configure and Deploy Private CloudNIC 2013 - Configure and Deploy Private Cloud
NIC 2013 - Configure and Deploy Private CloudKristian Nese
 
Paving the Way to IT-as-a-Service
Paving the Way to IT-as-a-ServicePaving the Way to IT-as-a-Service
Paving the Way to IT-as-a-Service
buildacloud
 
Cloud Computing: Making IT Simple
Cloud Computing: Making IT SimpleCloud Computing: Making IT Simple
Cloud Computing: Making IT Simple
Bob Rhubart
 
[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현
[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현
[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현
Oracle Korea
 
Micro service in aws meetup
Micro service in aws   meetupMicro service in aws   meetup
Micro service in aws meetup
Kiran Divekar
 
Cloud Computing - Making IT Simple
 Cloud Computing - Making IT Simple Cloud Computing - Making IT Simple
Cloud Computing - Making IT Simple
Bob Rhubart
 
Introduction to java_ee
Introduction to java_eeIntroduction to java_ee
Introduction to java_eeYogesh Bindwal
 
PaaSing a Java EE 6 Application at Geecon 2012
PaaSing a Java EE 6 Application at Geecon 2012PaaSing a Java EE 6 Application at Geecon 2012
PaaSing a Java EE 6 Application at Geecon 2012
Arun Gupta
 
GIDS 2012: PaaSing a Java EE Application
GIDS 2012: PaaSing a Java EE ApplicationGIDS 2012: PaaSing a Java EE Application
GIDS 2012: PaaSing a Java EE Application
Arun Gupta
 
Core mechanisms for Web Services extensions
Core mechanisms for Web Services extensionsCore mechanisms for Web Services extensions
Core mechanisms for Web Services extensionsMiguel Pardal
 
Cloud + Soa: Enterprise Service Platform
Cloud + Soa: Enterprise Service PlatformCloud + Soa: Enterprise Service Platform
Cloud + Soa: Enterprise Service Platformvictorlbrown
 
Por trás da infraestrutura do Cloud - Campus Party 2014
Por trás da infraestrutura do Cloud - Campus Party 2014Por trás da infraestrutura do Cloud - Campus Party 2014
Por trás da infraestrutura do Cloud - Campus Party 2014
Gleicon Moraes
 

Similar to Java ee 7 platform developing for the cloud kshitiz saxena (20)

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
 
Paa sing a java ee 6 application kshitiz saxena
Paa sing a java ee 6 application   kshitiz saxenaPaa sing a java ee 6 application   kshitiz saxena
Paa sing a java ee 6 application kshitiz saxena
 
Java EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the CloudJava EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the Cloud
 
Mach Technology
Mach Technology Mach Technology
Mach Technology
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case Study
 
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
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference Architecture
 
Cloud Computing : Security and Forensics
Cloud Computing : Security and ForensicsCloud Computing : Security and Forensics
Cloud Computing : Security and Forensics
 
NIC 2013 - Configure and Deploy Private Cloud
NIC 2013 - Configure and Deploy Private CloudNIC 2013 - Configure and Deploy Private Cloud
NIC 2013 - Configure and Deploy Private Cloud
 
Paving the Way to IT-as-a-Service
Paving the Way to IT-as-a-ServicePaving the Way to IT-as-a-Service
Paving the Way to IT-as-a-Service
 
Cloud Computing: Making IT Simple
Cloud Computing: Making IT SimpleCloud Computing: Making IT Simple
Cloud Computing: Making IT Simple
 
[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현
[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현
[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현
 
Micro service in aws meetup
Micro service in aws   meetupMicro service in aws   meetup
Micro service in aws meetup
 
Cloud Computing - Making IT Simple
 Cloud Computing - Making IT Simple Cloud Computing - Making IT Simple
Cloud Computing - Making IT Simple
 
Introduction to java_ee
Introduction to java_eeIntroduction to java_ee
Introduction to java_ee
 
PaaSing a Java EE 6 Application at Geecon 2012
PaaSing a Java EE 6 Application at Geecon 2012PaaSing a Java EE 6 Application at Geecon 2012
PaaSing a Java EE 6 Application at Geecon 2012
 
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
 
Core mechanisms for Web Services extensions
Core mechanisms for Web Services extensionsCore mechanisms for Web Services extensions
Core mechanisms for Web Services extensions
 
Cloud + Soa: Enterprise Service Platform
Cloud + Soa: Enterprise Service PlatformCloud + Soa: Enterprise Service Platform
Cloud + Soa: Enterprise Service Platform
 
Por trás da infraestrutura do Cloud - Campus Party 2014
Por trás da infraestrutura do Cloud - Campus Party 2014Por trás da infraestrutura do Cloud - Campus Party 2014
Por trás da infraestrutura do Cloud - Campus Party 2014
 

More from IndicThreads

Http2 is here! And why the web needs it
Http2 is here! And why the web needs itHttp2 is here! And why the web needs it
Http2 is here! And why the web needs it
IndicThreads
 
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive ApplicationsUnderstanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
IndicThreads
 
Go Programming Language - Learning The Go Lang way
Go Programming Language - Learning The Go Lang wayGo Programming Language - Learning The Go Lang way
Go Programming Language - Learning The Go Lang way
IndicThreads
 
Building Resilient Microservices
Building Resilient Microservices Building Resilient Microservices
Building Resilient Microservices
IndicThreads
 
App using golang indicthreads
App using golang  indicthreadsApp using golang  indicthreads
App using golang indicthreads
IndicThreads
 
Building on quicksand microservices indicthreads
Building on quicksand microservices  indicthreadsBuilding on quicksand microservices  indicthreads
Building on quicksand microservices indicthreads
IndicThreads
 
How to Think in RxJava Before Reacting
How to Think in RxJava Before ReactingHow to Think in RxJava Before Reacting
How to Think in RxJava Before Reacting
IndicThreads
 
Iot secure connected devices indicthreads
Iot secure connected devices indicthreadsIot secure connected devices indicthreads
Iot secure connected devices indicthreads
IndicThreads
 
Real world IoT for enterprises
Real world IoT for enterprisesReal world IoT for enterprises
Real world IoT for enterprises
IndicThreads
 
IoT testing and quality assurance indicthreads
IoT testing and quality assurance indicthreadsIoT testing and quality assurance indicthreads
IoT testing and quality assurance indicthreads
IndicThreads
 
Functional Programming Past Present Future
Functional Programming Past Present FutureFunctional Programming Past Present Future
Functional Programming Past Present Future
IndicThreads
 
Harnessing the Power of Java 8 Streams
Harnessing the Power of Java 8 Streams Harnessing the Power of Java 8 Streams
Harnessing the Power of Java 8 Streams
IndicThreads
 
Building & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fameBuilding & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fame
IndicThreads
 
Internet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads ConferenceInternet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads Conference
IndicThreads
 
Cars and Computers: Building a Java Carputer
 Cars and Computers: Building a Java Carputer Cars and Computers: Building a Java Carputer
Cars and Computers: Building a Java Carputer
IndicThreads
 
Scrap Your MapReduce - Apache Spark
 Scrap Your MapReduce - Apache Spark Scrap Your MapReduce - Apache Spark
Scrap Your MapReduce - Apache Spark
IndicThreads
 
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
IndicThreads
 
Speed up your build pipeline for faster feedback
Speed up your build pipeline for faster feedbackSpeed up your build pipeline for faster feedback
Speed up your build pipeline for faster feedback
IndicThreads
 
Unraveling OpenStack Clouds
 Unraveling OpenStack Clouds Unraveling OpenStack Clouds
Unraveling OpenStack Clouds
IndicThreads
 
Digital Transformation of the Enterprise. What IT leaders need to know!
Digital Transformation of the Enterprise. What IT  leaders need to know!Digital Transformation of the Enterprise. What IT  leaders need to know!
Digital Transformation of the Enterprise. What IT leaders need to know!
IndicThreads
 

More from IndicThreads (20)

Http2 is here! And why the web needs it
Http2 is here! And why the web needs itHttp2 is here! And why the web needs it
Http2 is here! And why the web needs it
 
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive ApplicationsUnderstanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
 
Go Programming Language - Learning The Go Lang way
Go Programming Language - Learning The Go Lang wayGo Programming Language - Learning The Go Lang way
Go Programming Language - Learning The Go Lang way
 
Building Resilient Microservices
Building Resilient Microservices Building Resilient Microservices
Building Resilient Microservices
 
App using golang indicthreads
App using golang  indicthreadsApp using golang  indicthreads
App using golang indicthreads
 
Building on quicksand microservices indicthreads
Building on quicksand microservices  indicthreadsBuilding on quicksand microservices  indicthreads
Building on quicksand microservices indicthreads
 
How to Think in RxJava Before Reacting
How to Think in RxJava Before ReactingHow to Think in RxJava Before Reacting
How to Think in RxJava Before Reacting
 
Iot secure connected devices indicthreads
Iot secure connected devices indicthreadsIot secure connected devices indicthreads
Iot secure connected devices indicthreads
 
Real world IoT for enterprises
Real world IoT for enterprisesReal world IoT for enterprises
Real world IoT for enterprises
 
IoT testing and quality assurance indicthreads
IoT testing and quality assurance indicthreadsIoT testing and quality assurance indicthreads
IoT testing and quality assurance indicthreads
 
Functional Programming Past Present Future
Functional Programming Past Present FutureFunctional Programming Past Present Future
Functional Programming Past Present Future
 
Harnessing the Power of Java 8 Streams
Harnessing the Power of Java 8 Streams Harnessing the Power of Java 8 Streams
Harnessing the Power of Java 8 Streams
 
Building & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fameBuilding & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fame
 
Internet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads ConferenceInternet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads Conference
 
Cars and Computers: Building a Java Carputer
 Cars and Computers: Building a Java Carputer Cars and Computers: Building a Java Carputer
Cars and Computers: Building a Java Carputer
 
Scrap Your MapReduce - Apache Spark
 Scrap Your MapReduce - Apache Spark Scrap Your MapReduce - Apache Spark
Scrap Your MapReduce - Apache Spark
 
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 
Speed up your build pipeline for faster feedback
Speed up your build pipeline for faster feedbackSpeed up your build pipeline for faster feedback
Speed up your build pipeline for faster feedback
 
Unraveling OpenStack Clouds
 Unraveling OpenStack Clouds Unraveling OpenStack Clouds
Unraveling OpenStack Clouds
 
Digital Transformation of the Enterprise. What IT leaders need to know!
Digital Transformation of the Enterprise. What IT  leaders need to know!Digital Transformation of the Enterprise. What IT  leaders need to know!
Digital Transformation of the Enterprise. What IT leaders need to know!
 

Recently uploaded

From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 

Recently uploaded (20)

From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 

Java ee 7 platform developing for the cloud kshitiz saxena

  • 1. The Java EE 7 Platform: Developing for the Cloud Kshitiz Saxena
  • 2. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  • 3. Java EE 6 Implementations Fastest implementations of a Java EE release ever!
  • 4. 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
  • 6. What Do We Mean by “The Cloud”? • Infrastructure as a Service (IaaS) The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. (NIST) • Platform as a Service (Paas) • Software as a Service (SaaS) (*) NIST Definition of Cloud Computing – 800-145
  • 7. What Do We Mean by “The Cloud”? • Infrastructure as a Service (IaaS) • Platform as a Service (Paas) The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure…, but has control over the deployed applications and possibly application hosting environment configurations. (NIST) • Software as a Service (SaaS) (*) NIST Definition of Cloud Computing – 800-145
  • 8. What Do We Mean by “The Cloud”? • Infrastructure as a Service (IaaS) • Platform as a Service (Paas) • Software as a Service (SaaS) The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure…, with the possible exception of limited user-specific application configuration settings. (NIST) (*) NIST Definition of Cloud Computing – 800-145
  • 9. Today’s Cloud Offerings Are Vendor-Specific Infrastructure as Platform as Software as a Service a Service a Service …
  • 10. 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
  • 11. 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
  • 12. Roles
  • 13. 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 • PaaS administrators host, Queuing Service Persistence Service Caching 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 Virt VIP VLAN Volume LBR … and tenant-aware – Example: pluggable services, late binding Infrastructure as a Service and tenant id injection
  • 14. Old Java EE model Database 1 Provision and Initialize Service • Configure Java EE resources – JDBC, JMS etc LDAP 2 Service • Deploy Application EAR Provision and Initialize Messaging 3 Provision and Initialize Service Application 4 Provision and Initialize Container 5 Deploy Application ( (EAR/WAR/RAR…)
  • 15. 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/WAR/RAR…) Container
  • 16. 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 )
  • 17. 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”)
  • 18. 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” )
  • 19. 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 = {…} )
  • 20. 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
  • 21. 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”
  • 22. Walkthrough (1) SimplyCRM DiabloCloud
  • 23. Walkthrough (2) SimplyCRM DiabloCloud Application Developer Writes App
  • 24. Walkthrough (3) SimplyCRM DiabloCloud Signs up as a customer PaaS Customer PaaS Account Manager
  • 25. Walkthrough (4) SimplyCRM DiabloCloud Submits the application Application System Administrator Submitter App
  • 26. Walkthrough (5) ExtraServices DiabloCloud Discovers App
  • 27. Walkthrough (6) ExtraServices DiabloCloud Signs up as a customer PaaS Customer PaaS Account Manager App
  • 28. Walkthrough (7) ExtraServices DiabloCloud Deployer System Administrator Customizes and deploys the application App
  • 29. Walkthrough (8) ExtraServices DiabloCloud Deployer System Administrator Provisions on Cloud infrastructure App
  • 30. Walkthrough (9) ExtraServices DiabloCloud Deployer System Administrator Provisioned and Deployed App
  • 31. Walkthrough (10) ExtraServices DiabloCloud Access the application End-Users Provisioned and Deployed App
  • 32. Walkthrough (11) ExtraServices DiabloCloud End-Users Access the application Provisioned and Deployed App Administrator Administers the application
  • 33. Walkthrough (12) ExtraServices DiabloCloud System Administrator Monitors End-Users Access the application Provisioned and Deployed App Administrator Administers the application
  • 34. PaaS and Multitenancy: Some Models 1. PaaS Platform on Demand – New runtime stack for each tenant 2. PaaS Multitenant Containers – Isolated application partitions per tenant with shared runtime 3. SaaS Multitenant Applications – Shared application instances, with tenant-specific customization 4. SaaS-limited – Separate application instances, with tenant-specific customizations
  • 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 or by injection
  • 36. 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) @TenantDiscriminator(name=“department-id”, columnName=“DEPT_ID”) 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
  • 38. 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
  • 39. 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
  • 40. 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
  • 41. 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
  • 42. 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 • The NIST Definition of Cloud Computing -- Special Publication 800-145 – http://1.usa.gov/ohXnlM
  • 43. The Java EE 7 Platform: Developing for the Cloud Kshitiz Saxena