SlideShare a Scribd company logo
1 of 45
Download to read offline
1
<Insert Picture Here>




Java EE 7: Developing for the Cloud
Martin Grebac
Metro / JAXWS / JAXB Project Lead
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
Agenda

•   Java EE 7 theme
•   Main features
•   Component JSRs
•   Transparency
•   Status and Schedule
•   Roadmap




                          4
Java EE 7 Theme: The Cloud




                             5
What Do We Mean by “The Cloud”?

• Infrastructure as a Service (IaaS) ?
• Platform as a Service (PaaS) ?
• Software as a Service (SaaS) ?




                                         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)




                                                               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)




                                                                    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)




                                                                     9
Support for Platform-as-a-Service Model
 (Paas)
• Next logical step in extending value proposition of
  Java EE platform
  • Provide a way for customers and users of Java EE to
    leverage private and public clouds
• PaaS support entails evolutionary change
  • New platform roles; some modifications to existing roles
  • Small programming model changes
  • Multitenancy
• Java EE 7 is the first step
  • An evolutionary step, not a radical one
  • May include limited support for SaaS


                                                               10
Java EE 7 Cloud 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 multitenancy



                                                             11
Roles
                Developer                                             PaaS Provider

          PaaS
      Customer/
         Tenant                                                            PaaS Product
                                                                             Provider


     Deployer               JVM JVM JVM   JVM JVM JVM   JVM JVM JVM

                              Machine       Machine       Machine


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

                                                                           PaaS
        Application                                                     Administrator
      Administrator




                                                                                        12
Services
• Cloud applications 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
 )
 @JMSConnectionFactoryDefinition (
   name=“java:app/jms/myJMSConnectionFactory”,
   className=“javax.jms.QueueConnectionFactory”
 )
 @MailSessionDefinition (
   name=“java:app/mailSession”,
   from=MyService@ExtraServices.com
 )

                                                    13
Old Java EE Model

•   Configure Java EE resources – JDBC, JMS etc
•   Deploy Application EAR




                                                  14
Java EE 7 Model

• Provision and deploy application
resources (e.g. LDAP stripe, data
source instantiation and connection …)
•       Extensible Deployment Models Supporting
        Multiple Frameworks
    •   Spring, Seam, Play …




                                                  15
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
(3*) SaaS-limited
  • Separate application instances, with tenant-specific
    customizations




                                                                     16
Multitenancy in Java EE 7

• Support for separate isolated instances of the same
  app for different tenants
  •   One application instance per tenant
  •   Each instance is customized and deployed for a single tenant
  •   “SaaS-limited”
  •   Allow shared resources
• “SaaS-proper” deferred to Java EE 8




                                                                     17
Tenants

• Tenants correspond to the unit of isolation
• Mapping to a tenant done by the container
  • E.g., using virtual servers
• Apps are marked as Multitenancy-Enabled
  • Possible restrictions on application code
• Tenant identifier available to application
  • E.g., under java:comp/tenantId




                                                18
Multitenancy and Resources

• Separate database, shared nothing
  • Best isolation
  • Resource intensive
• Shared database, separate schema
  • Database provides isolation at schema-level
  • Less resource intensive
• Shared database, shared schema
  • Isolation happens at row level !
  • Least resource intensive




                                                  19
Application Level Multi Tenancy
@Entity
@Table(name=“EMP”)
@MultiTenant(SINGLE_TABLE)
@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




                                                                    20
Dedicated App, Dedicated Database




                                    21
Shared App, Dedicated Database




                                 22
Dedicated App, Shared Database




                                 23
Shared App, Shared Database




                              24
New and Updated Roles

         Cloud Vendor                   Cloud Customer

•   Java EE Product Provider   •   PaaS Customer (Tenant)
•   PaaS Provider              •   Application Submitter
•   PaaS Account Manager       •   Deployer
•   System Administrator       •   Application Administrator
                               •   End-User




                                                               25
Use Cases / Scenarios

• Java EE vendor becomes a PaaS product vendor

• A PaaS provider wants to support Java EE applications

• A PaaS customer writes a web application, deploys it to
  a cloud infrastructure, end users access it

• 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


                                                              26
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”




                                              27
Walkthrough (1)
SimplyCRM         DiabloCloud




                                28
Walkthrough (2)
SimplyCRM         DiabloCloud

Application
Developer

         Writes


   App




                                29
Walkthrough (3)
SimplyCRM                            DiabloCloud

  PaaS      Signs up as a customer     PaaS
 Customer                             Account
                                      Manager




                                                   30
Walkthrough (4)
SimplyCRM                               DiabloCloud

Application   Submits the application     System
Submitter                               Administrator

                                        App




                                                        31
Walkthrough (5)
ExtraServices                 DiabloCloud
                  Discovers

                              App




                                            32
Walkthrough (6)
ExtraServices                            DiabloCloud

  PaaS          Signs up as a customer     PaaS
 Customer                                 Account
                                          Manager

                                         App




                                                       33
Walkthrough (7)
ExtraServices                             DiabloCloud

                   Customizes and
  Deployer                                  System
                deploys the application
                                          Administrator


                                          App




                                                          34
Walkthrough (8)
ExtraServices           DiabloCloud

  Deployer               System
                       Administrator

                  Provisions on
                          Cloud
                  infrastructure

                              App




                                       35
Walkthrough (9)
ExtraServices     DiabloCloud

  Deployer          System
                  Administrator




                    Provisioned
                        and
                     Deployed
                        App




                                  36
Walkthrough (10)
ExtraServices                            DiabloCloud




 End-Users      Access the application
                                          Provisioned
                                              and
                                           Deployed
                                              App




                                                        37
Walkthrough (11)
ExtraServices                                 DiabloCloud




 End-Users      Access the application
                                               Provisioned
                                                   and
                                                Deployed
                                                   App
Administrator   Administers the application




                                                             38
Walkthrough (12)
ExtraServices                                 DiabloCloud

                                                System
                                              Administrator


                                                       Monitors

 End-Users      Access the application
                                                Provisioned
                                                    and
                                                 Deployed
                                                    App
Administrator   Administers the application




                                                              39
Other Topics on the Java EE 7 Agenda

• Alignment of Managed Beans across CDI, EJB, JSF,
  Servlet, …
  • Extension of container-managed transactions beyond EJB
• Further simplifications for ease-of-development
  • Expanded use of dependency injection
  • Expanded service metadata; improved configuration
• Pruning
  • EJB CMP/BMP, JAX-RPC, Deployment API
• Update to Web Profile
• …




                                                             40
Java EE 7 JSRs

•   Platform 7 / Web Profile 7   •   Bean Validation 1.1
•   JPA 2.1                      •   State Management 1.0
•   JAX-RS 2.0                   •   JSON 1.0
•   EJB 3.2                      •   Batch Processing1.0
•   JMS 2.0                      •   Common Annotations 1.2 MR
•   Servlet 3.1                  •   JTA 1.2 MR
•   EL 3.0                       •   JSP 2.3 MR
•   JSF 2.2                      •   JASPIC 1.3 MR
•   CDI 1.1
•   JCache 1.0 (JSR 107)
•   Concurrency Utilities 1.0



                                                                 41
Transparency

• High level of transparency for all Java EE JSRs
• Using java.net projects to run our JSRs in the open
    • One java.net project per specification
    • E.g., javaee-spec, jpa-spec, jax-rs-spec, ejb-spec,…
•   Publicly viewable Expert Group mailing list archive
•   Users observer list gets copies of all emails to the EG
•   Download area
•   JIRA for issue tracking
•   Wiki, source repository, etc. at the group’s discretion
•   JCP.org private mailing list for administrative /
    confidential info


                                                              42
Status and Schedule

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




                                                      43
To Get in the Loop

• Java EE 7 java.net project
  • Archives, documents, mailing lists,…
    http://java.net/projects/javaee-spec
• Component projects
    http://java.net/projects/XXX-spec
  (where XXX = jpa, ejb, jms, servlet, jax-rs, jsf,…)
• Send us feedback
  • users@javaee-spec.java.net
  • linda.demichiel@oracle.com




                                                        44
The preceding 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.




                                                      45

More Related Content

What's hot

Java ee 7 platform developing for the cloud kshitiz saxena
Java ee 7 platform developing for the cloud   kshitiz saxenaJava ee 7 platform developing for the cloud   kshitiz saxena
Java ee 7 platform developing for the cloud kshitiz saxenaIndicThreads
 
Virtualizing Business Critical Apps
Virtualizing Business Critical AppsVirtualizing Business Critical Apps
Virtualizing Business Critical Appsheraldschelke
 
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...ZendCon
 
WAS vs JBoss, WebLogic, Tomcat (year 2015)
WAS vs JBoss, WebLogic, Tomcat (year 2015)WAS vs JBoss, WebLogic, Tomcat (year 2015)
WAS vs JBoss, WebLogic, Tomcat (year 2015)Roman Kharkovski
 
Virtualization for Development
Virtualization for DevelopmentVirtualization for Development
Virtualization for Developmentelliando dias
 
Was Mobile And Private Cloud For Inside Sales Customers Web Cast By Kathy Terry
Was Mobile And Private Cloud For Inside Sales Customers Web Cast By Kathy TerryWas Mobile And Private Cloud For Inside Sales Customers Web Cast By Kathy Terry
Was Mobile And Private Cloud For Inside Sales Customers Web Cast By Kathy TerryCarolyn Crowe
 
Cf summit2014 roadmap
Cf summit2014 roadmapCf summit2014 roadmap
Cf summit2014 roadmapJames Bayer
 
Build Your Business Process On A Solid Foundation–Web Sphere Application Server
Build Your Business Process On A Solid Foundation–Web Sphere Application ServerBuild Your Business Process On A Solid Foundation–Web Sphere Application Server
Build Your Business Process On A Solid Foundation–Web Sphere Application ServerCarly Snodgrass
 
Windows Azure Design Patterns
Windows Azure Design PatternsWindows Azure Design Patterns
Windows Azure Design PatternsDavid Pallmann
 
Keynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessKeynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessWSO2
 
CloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stackCloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stackbuildacloud
 
LaSalle Solutions & Cloud Tool
LaSalle Solutions & Cloud ToolLaSalle Solutions & Cloud Tool
LaSalle Solutions & Cloud Toolwallstreet777
 
WAS Support & Monitoring Tools
WAS Support & Monitoring ToolsWAS Support & Monitoring Tools
WAS Support & Monitoring ToolsRoyal Cyber Inc.
 
Covmug v sphere 4.1 what's new
Covmug v sphere 4.1 what's newCovmug v sphere 4.1 what's new
Covmug v sphere 4.1 what's newesarakaitis
 
Effective Usage of SQL Server 2005 Database Mirroring
Effective Usage of SQL Server 2005 Database MirroringEffective Usage of SQL Server 2005 Database Mirroring
Effective Usage of SQL Server 2005 Database Mirroringwebhostingguy
 
Private cloud infrastructure configure and deploy 24 hiapc fabrizio volpe
Private cloud infrastructure configure and deploy 24 hiapc fabrizio volpePrivate cloud infrastructure configure and deploy 24 hiapc fabrizio volpe
Private cloud infrastructure configure and deploy 24 hiapc fabrizio volpeFabrizio Volpe
 
Developing and deploying windows azure applications
Developing and deploying windows azure applicationsDeveloping and deploying windows azure applications
Developing and deploying windows azure applicationsManish Corriea
 
Lap around windows azure
Lap around windows azureLap around windows azure
Lap around windows azureManish Corriea
 

What's hot (20)

Java ee 7 platform developing for the cloud kshitiz saxena
Java ee 7 platform developing for the cloud   kshitiz saxenaJava ee 7 platform developing for the cloud   kshitiz saxena
Java ee 7 platform developing for the cloud kshitiz saxena
 
Virtualizing Business Critical Apps
Virtualizing Business Critical AppsVirtualizing Business Critical Apps
Virtualizing Business Critical Apps
 
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
 
Acquia Hosting
Acquia HostingAcquia Hosting
Acquia Hosting
 
Cloud Foundry et le Cloud vu par VMware
Cloud Foundry et le Cloud vu par VMwareCloud Foundry et le Cloud vu par VMware
Cloud Foundry et le Cloud vu par VMware
 
WAS vs JBoss, WebLogic, Tomcat (year 2015)
WAS vs JBoss, WebLogic, Tomcat (year 2015)WAS vs JBoss, WebLogic, Tomcat (year 2015)
WAS vs JBoss, WebLogic, Tomcat (year 2015)
 
Virtualization for Development
Virtualization for DevelopmentVirtualization for Development
Virtualization for Development
 
Was Mobile And Private Cloud For Inside Sales Customers Web Cast By Kathy Terry
Was Mobile And Private Cloud For Inside Sales Customers Web Cast By Kathy TerryWas Mobile And Private Cloud For Inside Sales Customers Web Cast By Kathy Terry
Was Mobile And Private Cloud For Inside Sales Customers Web Cast By Kathy Terry
 
Cf summit2014 roadmap
Cf summit2014 roadmapCf summit2014 roadmap
Cf summit2014 roadmap
 
Build Your Business Process On A Solid Foundation–Web Sphere Application Server
Build Your Business Process On A Solid Foundation–Web Sphere Application ServerBuild Your Business Process On A Solid Foundation–Web Sphere Application Server
Build Your Business Process On A Solid Foundation–Web Sphere Application Server
 
Windows Azure Design Patterns
Windows Azure Design PatternsWindows Azure Design Patterns
Windows Azure Design Patterns
 
Keynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessKeynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your business
 
CloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stackCloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stack
 
LaSalle Solutions & Cloud Tool
LaSalle Solutions & Cloud ToolLaSalle Solutions & Cloud Tool
LaSalle Solutions & Cloud Tool
 
WAS Support & Monitoring Tools
WAS Support & Monitoring ToolsWAS Support & Monitoring Tools
WAS Support & Monitoring Tools
 
Covmug v sphere 4.1 what's new
Covmug v sphere 4.1 what's newCovmug v sphere 4.1 what's new
Covmug v sphere 4.1 what's new
 
Effective Usage of SQL Server 2005 Database Mirroring
Effective Usage of SQL Server 2005 Database MirroringEffective Usage of SQL Server 2005 Database Mirroring
Effective Usage of SQL Server 2005 Database Mirroring
 
Private cloud infrastructure configure and deploy 24 hiapc fabrizio volpe
Private cloud infrastructure configure and deploy 24 hiapc fabrizio volpePrivate cloud infrastructure configure and deploy 24 hiapc fabrizio volpe
Private cloud infrastructure configure and deploy 24 hiapc fabrizio volpe
 
Developing and deploying windows azure applications
Developing and deploying windows azure applicationsDeveloping and deploying windows azure applications
Developing and deploying windows azure applications
 
Lap around windows azure
Lap around windows azureLap around windows azure
Lap around windows azure
 

Viewers also liked

CV ENG Susan Greyling 2016-10-28
CV ENG Susan Greyling 2016-10-28CV ENG Susan Greyling 2016-10-28
CV ENG Susan Greyling 2016-10-28Susan Greyling
 
Test-Driven Microservices: System Confidence
Test-Driven Microservices: System ConfidenceTest-Driven Microservices: System Confidence
Test-Driven Microservices: System ConfidenceC4Media
 
Compassion lesson #4
Compassion lesson #4Compassion lesson #4
Compassion lesson #4superrin
 
Design of a novel controller to increase the frequency response of an aerospace
Design of a novel controller to increase the frequency response of an aerospaceDesign of a novel controller to increase the frequency response of an aerospace
Design of a novel controller to increase the frequency response of an aerospaceIAEME Publication
 
Psicologia comunitaria...
Psicologia comunitaria...Psicologia comunitaria...
Psicologia comunitaria...YesminAndrea
 
Proyecto rectificado finalc
Proyecto rectificado  finalcProyecto rectificado  finalc
Proyecto rectificado finalcErick Garcia
 
Using Tableau to Assess Electronic Resources in Context
Using Tableau to Assess Electronic Resources in ContextUsing Tableau to Assess Electronic Resources in Context
Using Tableau to Assess Electronic Resources in ContextMark Paris
 
Music magazine contents page codes and conventions
Music magazine contents page codes and conventionsMusic magazine contents page codes and conventions
Music magazine contents page codes and conventionssam hill
 
Practico-Condensadores en Paralelo
Practico-Condensadores en ParaleloPractico-Condensadores en Paralelo
Practico-Condensadores en ParaleloMarcelo Rodriguez
 
053 десерт с марон гласе и безе
053 десерт с марон гласе и безе053 десерт с марон гласе и безе
053 десерт с марон гласе и безеCulinarium
 
Water Water Everywhere Photo story by P5/1
Water Water Everywhere Photo story by P5/1 Water Water Everywhere Photo story by P5/1
Water Water Everywhere Photo story by P5/1 Edz Balogo-Villaram
 
Daum Communications Case Study
Daum Communications Case StudyDaum Communications Case Study
Daum Communications Case StudyVMware Tanzu
 

Viewers also liked (16)

емоції людини
емоції людиниемоції людини
емоції людини
 
Catàleg BEEP Juliol 2013
Catàleg BEEP Juliol 2013Catàleg BEEP Juliol 2013
Catàleg BEEP Juliol 2013
 
CV ENG Susan Greyling 2016-10-28
CV ENG Susan Greyling 2016-10-28CV ENG Susan Greyling 2016-10-28
CV ENG Susan Greyling 2016-10-28
 
Test-Driven Microservices: System Confidence
Test-Driven Microservices: System ConfidenceTest-Driven Microservices: System Confidence
Test-Driven Microservices: System Confidence
 
Compassion lesson #4
Compassion lesson #4Compassion lesson #4
Compassion lesson #4
 
Design of a novel controller to increase the frequency response of an aerospace
Design of a novel controller to increase the frequency response of an aerospaceDesign of a novel controller to increase the frequency response of an aerospace
Design of a novel controller to increase the frequency response of an aerospace
 
Psicologia comunitaria...
Psicologia comunitaria...Psicologia comunitaria...
Psicologia comunitaria...
 
Proyecto rectificado finalc
Proyecto rectificado  finalcProyecto rectificado  finalc
Proyecto rectificado finalc
 
Using Tableau to Assess Electronic Resources in Context
Using Tableau to Assess Electronic Resources in ContextUsing Tableau to Assess Electronic Resources in Context
Using Tableau to Assess Electronic Resources in Context
 
Enano newsletter issue20-21
Enano newsletter issue20-21Enano newsletter issue20-21
Enano newsletter issue20-21
 
Music magazine contents page codes and conventions
Music magazine contents page codes and conventionsMusic magazine contents page codes and conventions
Music magazine contents page codes and conventions
 
Practico-Condensadores en Paralelo
Practico-Condensadores en ParaleloPractico-Condensadores en Paralelo
Practico-Condensadores en Paralelo
 
Brasil
BrasilBrasil
Brasil
 
053 десерт с марон гласе и безе
053 десерт с марон гласе и безе053 десерт с марон гласе и безе
053 десерт с марон гласе и безе
 
Water Water Everywhere Photo story by P5/1
Water Water Everywhere Photo story by P5/1 Water Water Everywhere Photo story by P5/1
Water Water Everywhere Photo story by P5/1
 
Daum Communications Case Study
Daum Communications Case StudyDaum Communications Case Study
Daum Communications Case Study
 

Similar to Java EE7: Developing for the Cloud

Java Web Programming Using Cloud Platform: Module 10
Java Web Programming Using Cloud Platform: Module 10Java Web Programming Using Cloud Platform: Module 10
Java Web Programming Using Cloud Platform: Module 10IMC Institute
 
VMware - Application Portability
VMware - Application PortabilityVMware - Application Portability
VMware - Application PortabilityVMUG IT
 
Oracle cloud oagi
Oracle cloud oagiOracle cloud oagi
Oracle cloud oagiMathews Job
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015WaveMaker, Inc.
 
Building A Cloud Platform
Building A Cloud PlatformBuilding A Cloud Platform
Building A Cloud PlatformWSO2
 
Conduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminarConduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminarSyed Shaaf
 
vFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsvFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsVMware vFabric
 
Building Serverless Microservices Using Serverless Framework on the Cloud
Building Serverless Microservices Using Serverless Framework on the CloudBuilding Serverless Microservices Using Serverless Framework on the Cloud
Building Serverless Microservices Using Serverless Framework on the CloudSrini Karlekar
 
In De Wolken Met Cloud Computing
In De Wolken Met Cloud ComputingIn De Wolken Met Cloud Computing
In De Wolken Met Cloud ComputingAnko Duizer
 
Building Cross-Cloud Platform Cognitive Microservices Using Serverless Archit...
Building Cross-Cloud Platform Cognitive Microservices Using Serverless Archit...Building Cross-Cloud Platform Cognitive Microservices Using Serverless Archit...
Building Cross-Cloud Platform Cognitive Microservices Using Serverless Archit...Srini Karlekar
 
Oracle Keynote Cloud Expo 11-04-09
Oracle Keynote Cloud Expo 11-04-09Oracle Keynote Cloud Expo 11-04-09
Oracle Keynote Cloud Expo 11-04-09Rex Wang
 
Basics of Java Cloud
Basics of Java CloudBasics of Java Cloud
Basics of Java CloudAnkur Gupta
 
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudThe Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloudcodemotion_es
 
Cloud computing
Cloud computingCloud computing
Cloud computingMed Zaibi
 
Moving Your Enterprise to the Cloud
Moving Your Enterprise to the CloudMoving Your Enterprise to the Cloud
Moving Your Enterprise to the CloudImesh Gunaratne
 
DevOps and Cloud at NI
DevOps and Cloud at NIDevOps and Cloud at NI
DevOps and Cloud at NIErnest Mueller
 
Java Development on Bluemix
Java Development on BluemixJava Development on Bluemix
Java Development on BluemixRam Vennam
 

Similar to Java EE7: Developing for the Cloud (20)

Java Web Programming Using Cloud Platform: Module 10
Java Web Programming Using Cloud Platform: Module 10Java Web Programming Using Cloud Platform: Module 10
Java Web Programming Using Cloud Platform: Module 10
 
VMware - Application Portability
VMware - Application PortabilityVMware - Application Portability
VMware - Application Portability
 
Oracle cloud oagi
Oracle cloud oagiOracle cloud oagi
Oracle cloud oagi
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Building A Cloud Platform
Building A Cloud PlatformBuilding A Cloud Platform
Building A Cloud Platform
 
Conduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminarConduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminar
 
vFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsvFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS Apps
 
Building Serverless Microservices Using Serverless Framework on the Cloud
Building Serverless Microservices Using Serverless Framework on the CloudBuilding Serverless Microservices Using Serverless Framework on the Cloud
Building Serverless Microservices Using Serverless Framework on the Cloud
 
In De Wolken Met Cloud Computing
In De Wolken Met Cloud ComputingIn De Wolken Met Cloud Computing
In De Wolken Met Cloud Computing
 
Building Cross-Cloud Platform Cognitive Microservices Using Serverless Archit...
Building Cross-Cloud Platform Cognitive Microservices Using Serverless Archit...Building Cross-Cloud Platform Cognitive Microservices Using Serverless Archit...
Building Cross-Cloud Platform Cognitive Microservices Using Serverless Archit...
 
Oracle Keynote Cloud Expo 11-04-09
Oracle Keynote Cloud Expo 11-04-09Oracle Keynote Cloud Expo 11-04-09
Oracle Keynote Cloud Expo 11-04-09
 
Basics of Java Cloud
Basics of Java CloudBasics of Java Cloud
Basics of Java Cloud
 
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudThe Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloud
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud Native Application Development
Cloud Native Application DevelopmentCloud Native Application Development
Cloud Native Application Development
 
Moving Your Enterprise to the Cloud
Moving Your Enterprise to the CloudMoving Your Enterprise to the Cloud
Moving Your Enterprise to the Cloud
 
DevOps and Cloud at NI
DevOps and Cloud at NIDevOps and Cloud at NI
DevOps and Cloud at NI
 
Java Development on Bluemix
Java Development on BluemixJava Development on Bluemix
Java Development on Bluemix
 

More from Dmitry Buzdin

How Payment Cards Really Work?
How Payment Cards Really Work?How Payment Cards Really Work?
How Payment Cards Really Work?Dmitry Buzdin
 
Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Dmitry Buzdin
 
How to grow your own Microservice?
How to grow your own Microservice?How to grow your own Microservice?
How to grow your own Microservice?Dmitry Buzdin
 
How to Build Your Own Test Automation Framework?
How to Build Your Own Test Automation Framework?How to Build Your Own Test Automation Framework?
How to Build Your Own Test Automation Framework?Dmitry Buzdin
 
Delivery Pipeline for Windows Machines
Delivery Pipeline for Windows MachinesDelivery Pipeline for Windows Machines
Delivery Pipeline for Windows MachinesDmitry Buzdin
 
Big Data Processing Using Hadoop Infrastructure
Big Data Processing Using Hadoop InfrastructureBig Data Processing Using Hadoop Infrastructure
Big Data Processing Using Hadoop InfrastructureDmitry Buzdin
 
Developing Useful APIs
Developing Useful APIsDeveloping Useful APIs
Developing Useful APIsDmitry Buzdin
 
Архитектура Ленты на Одноклассниках
Архитектура Ленты на ОдноклассникахАрхитектура Ленты на Одноклассниках
Архитектура Ленты на ОдноклассникахDmitry Buzdin
 
Riding Redis @ask.fm
Riding Redis @ask.fmRiding Redis @ask.fm
Riding Redis @ask.fmDmitry Buzdin
 
Rubylight JUG Contest Results Part II
Rubylight JUG Contest Results Part IIRubylight JUG Contest Results Part II
Rubylight JUG Contest Results Part IIDmitry Buzdin
 
Rubylight Pattern-Matching Solutions
Rubylight Pattern-Matching SolutionsRubylight Pattern-Matching Solutions
Rubylight Pattern-Matching SolutionsDmitry Buzdin
 
Refactoring to Macros with Clojure
Refactoring to Macros with ClojureRefactoring to Macros with Clojure
Refactoring to Macros with ClojureDmitry Buzdin
 
Poor Man's Functional Programming
Poor Man's Functional ProgrammingPoor Man's Functional Programming
Poor Man's Functional ProgrammingDmitry Buzdin
 
Rubylight programming contest
Rubylight programming contestRubylight programming contest
Rubylight programming contestDmitry Buzdin
 
Continuous Delivery
Continuous Delivery Continuous Delivery
Continuous Delivery Dmitry Buzdin
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOpsDmitry Buzdin
 
Thread Dump Analysis
Thread Dump AnalysisThread Dump Analysis
Thread Dump AnalysisDmitry Buzdin
 

More from Dmitry Buzdin (20)

How Payment Cards Really Work?
How Payment Cards Really Work?How Payment Cards Really Work?
How Payment Cards Really Work?
 
Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?
 
How to grow your own Microservice?
How to grow your own Microservice?How to grow your own Microservice?
How to grow your own Microservice?
 
How to Build Your Own Test Automation Framework?
How to Build Your Own Test Automation Framework?How to Build Your Own Test Automation Framework?
How to Build Your Own Test Automation Framework?
 
Delivery Pipeline for Windows Machines
Delivery Pipeline for Windows MachinesDelivery Pipeline for Windows Machines
Delivery Pipeline for Windows Machines
 
Big Data Processing Using Hadoop Infrastructure
Big Data Processing Using Hadoop InfrastructureBig Data Processing Using Hadoop Infrastructure
Big Data Processing Using Hadoop Infrastructure
 
JOOQ and Flyway
JOOQ and FlywayJOOQ and Flyway
JOOQ and Flyway
 
Developing Useful APIs
Developing Useful APIsDeveloping Useful APIs
Developing Useful APIs
 
Whats New in Java 8
Whats New in Java 8Whats New in Java 8
Whats New in Java 8
 
Архитектура Ленты на Одноклассниках
Архитектура Ленты на ОдноклассникахАрхитектура Ленты на Одноклассниках
Архитектура Ленты на Одноклассниках
 
Dart Workshop
Dart WorkshopDart Workshop
Dart Workshop
 
Riding Redis @ask.fm
Riding Redis @ask.fmRiding Redis @ask.fm
Riding Redis @ask.fm
 
Rubylight JUG Contest Results Part II
Rubylight JUG Contest Results Part IIRubylight JUG Contest Results Part II
Rubylight JUG Contest Results Part II
 
Rubylight Pattern-Matching Solutions
Rubylight Pattern-Matching SolutionsRubylight Pattern-Matching Solutions
Rubylight Pattern-Matching Solutions
 
Refactoring to Macros with Clojure
Refactoring to Macros with ClojureRefactoring to Macros with Clojure
Refactoring to Macros with Clojure
 
Poor Man's Functional Programming
Poor Man's Functional ProgrammingPoor Man's Functional Programming
Poor Man's Functional Programming
 
Rubylight programming contest
Rubylight programming contestRubylight programming contest
Rubylight programming contest
 
Continuous Delivery
Continuous Delivery Continuous Delivery
Continuous Delivery
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Thread Dump Analysis
Thread Dump AnalysisThread Dump Analysis
Thread Dump Analysis
 

Recently uploaded

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
[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
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
[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
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Java EE7: Developing for the Cloud

  • 1. 1
  • 2. <Insert Picture Here> Java EE 7: Developing for the Cloud Martin Grebac Metro / JAXWS / JAXB Project Lead
  • 3. 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
  • 4. Agenda • Java EE 7 theme • Main features • Component JSRs • Transparency • Status and Schedule • Roadmap 4
  • 5. Java EE 7 Theme: The Cloud 5
  • 6. What Do We Mean by “The Cloud”? • Infrastructure as a Service (IaaS) ? • Platform as a Service (PaaS) ? • Software as a Service (SaaS) ? 6
  • 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) 7
  • 8. 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) 8
  • 9. 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) 9
  • 10. Support for Platform-as-a-Service Model (Paas) • Next logical step in extending value proposition of Java EE platform • Provide a way for customers and users of Java EE to leverage private and public clouds • PaaS support entails evolutionary change • New platform roles; some modifications to existing roles • Small programming model changes • Multitenancy • Java EE 7 is the first step • An evolutionary step, not a radical one • May include limited support for SaaS 10
  • 11. Java EE 7 Cloud 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 multitenancy 11
  • 12. Roles Developer PaaS Provider PaaS Customer/ Tenant PaaS Product Provider Deployer JVM JVM JVM JVM JVM JVM JVM JVM JVM Machine Machine Machine PaaS Account Application JVM JVM JVM JVM JVM JVM JVM JVM JVM Manager Submitter Machine Machine Machine Tenant 1 Tenant 2 Tenant 3 PaaS Application Administrator Administrator 12
  • 13. Services • Cloud applications 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 ) @JMSConnectionFactoryDefinition ( name=“java:app/jms/myJMSConnectionFactory”, className=“javax.jms.QueueConnectionFactory” ) @MailSessionDefinition ( name=“java:app/mailSession”, from=MyService@ExtraServices.com ) 13
  • 14. Old Java EE Model • Configure Java EE resources – JDBC, JMS etc • Deploy Application EAR 14
  • 15. Java EE 7 Model • Provision and deploy application resources (e.g. LDAP stripe, data source instantiation and connection …) • Extensible Deployment Models Supporting Multiple Frameworks • Spring, Seam, Play … 15
  • 16. 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 (3*) SaaS-limited • Separate application instances, with tenant-specific customizations 16
  • 17. Multitenancy in Java EE 7 • Support for separate isolated instances of the same app for different tenants • One application instance per tenant • Each instance is customized and deployed for a single tenant • “SaaS-limited” • Allow shared resources • “SaaS-proper” deferred to Java EE 8 17
  • 18. Tenants • Tenants correspond to the unit of isolation • Mapping to a tenant done by the container • E.g., using virtual servers • Apps are marked as Multitenancy-Enabled • Possible restrictions on application code • Tenant identifier available to application • E.g., under java:comp/tenantId 18
  • 19. Multitenancy and Resources • Separate database, shared nothing • Best isolation • Resource intensive • Shared database, separate schema • Database provides isolation at schema-level • Less resource intensive • Shared database, shared schema • Isolation happens at row level ! • Least resource intensive 19
  • 20. Application Level Multi Tenancy @Entity @Table(name=“EMP”) @MultiTenant(SINGLE_TABLE) @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 20
  • 22. Shared App, Dedicated Database 22
  • 23. Dedicated App, Shared Database 23
  • 24. Shared App, Shared Database 24
  • 25. New and Updated Roles Cloud Vendor Cloud Customer • Java EE Product Provider • PaaS Customer (Tenant) • PaaS Provider • Application Submitter • PaaS Account Manager • Deployer • System Administrator • Application Administrator • End-User 25
  • 26. Use Cases / Scenarios • Java EE vendor becomes a PaaS product vendor • A PaaS provider wants to support Java EE applications • A PaaS customer writes a web application, deploys it to a cloud infrastructure, end users access it • 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 26
  • 27. 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” 27
  • 28. Walkthrough (1) SimplyCRM DiabloCloud 28
  • 29. Walkthrough (2) SimplyCRM DiabloCloud Application Developer Writes App 29
  • 30. Walkthrough (3) SimplyCRM DiabloCloud PaaS Signs up as a customer PaaS Customer Account Manager 30
  • 31. Walkthrough (4) SimplyCRM DiabloCloud Application Submits the application System Submitter Administrator App 31
  • 32. Walkthrough (5) ExtraServices DiabloCloud Discovers App 32
  • 33. Walkthrough (6) ExtraServices DiabloCloud PaaS Signs up as a customer PaaS Customer Account Manager App 33
  • 34. Walkthrough (7) ExtraServices DiabloCloud Customizes and Deployer System deploys the application Administrator App 34
  • 35. Walkthrough (8) ExtraServices DiabloCloud Deployer System Administrator Provisions on Cloud infrastructure App 35
  • 36. Walkthrough (9) ExtraServices DiabloCloud Deployer System Administrator Provisioned and Deployed App 36
  • 37. Walkthrough (10) ExtraServices DiabloCloud End-Users Access the application Provisioned and Deployed App 37
  • 38. Walkthrough (11) ExtraServices DiabloCloud End-Users Access the application Provisioned and Deployed App Administrator Administers the application 38
  • 39. Walkthrough (12) ExtraServices DiabloCloud System Administrator Monitors End-Users Access the application Provisioned and Deployed App Administrator Administers the application 39
  • 40. Other Topics on the Java EE 7 Agenda • Alignment of Managed Beans across CDI, EJB, JSF, Servlet, … • Extension of container-managed transactions beyond EJB • Further simplifications for ease-of-development • Expanded use of dependency injection • Expanded service metadata; improved configuration • Pruning • EJB CMP/BMP, JAX-RPC, Deployment API • Update to Web Profile • … 40
  • 41. Java EE 7 JSRs • Platform 7 / Web Profile 7 • Bean Validation 1.1 • JPA 2.1 • State Management 1.0 • JAX-RS 2.0 • JSON 1.0 • EJB 3.2 • Batch Processing1.0 • JMS 2.0 • Common Annotations 1.2 MR • Servlet 3.1 • JTA 1.2 MR • EL 3.0 • JSP 2.3 MR • JSF 2.2 • JASPIC 1.3 MR • CDI 1.1 • JCache 1.0 (JSR 107) • Concurrency Utilities 1.0 41
  • 42. Transparency • High level of transparency for all Java EE JSRs • Using java.net projects to run our JSRs in the open • One java.net project per specification • E.g., javaee-spec, jpa-spec, jax-rs-spec, ejb-spec,… • Publicly viewable Expert Group mailing list archive • Users observer list gets copies of all emails to the EG • Download area • JIRA for issue tracking • Wiki, source repository, etc. at the group’s discretion • JCP.org private mailing list for administrative / confidential info 42
  • 43. Status and Schedule • Nearly all JSRs up and running • Remaining ones to be filed in the coming weeks • Final release 2012 • Date-driven release: anything not ready will be deferred to Java EE 8 43
  • 44. To Get in the Loop • Java EE 7 java.net project • Archives, documents, mailing lists,… http://java.net/projects/javaee-spec • Component projects http://java.net/projects/XXX-spec (where XXX = jpa, ejb, jms, servlet, jax-rs, jsf,…) • Send us feedback • users@javaee-spec.java.net • linda.demichiel@oracle.com 44
  • 45. The preceding 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. 45