SlideShare a Scribd company logo
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
Ad

More Related Content

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
IndicThreads
 
Virtualizing Business Critical Apps
Virtualizing Business Critical AppsVirtualizing Business Critical Apps
Virtualizing Business Critical Apps
heraldschelke
 
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
 
Acquia Hosting
Acquia HostingAcquia Hosting
Acquia Hosting
webhostingguy
 
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
Publicis Sapient Engineering
 
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 Development
elliando 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 Terry
Carolyn Crowe
 
Cf summit2014 roadmap
Cf summit2014 roadmapCf summit2014 roadmap
Cf summit2014 roadmap
James 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 Server
Carly Snodgrass
 
Windows Azure Design Patterns
Windows Azure Design PatternsWindows Azure Design Patterns
Windows Azure Design Patterns
David 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 business
WSO2
 
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
buildacloud
 
LaSalle Solutions & Cloud Tool
LaSalle Solutions & Cloud ToolLaSalle Solutions & Cloud Tool
LaSalle Solutions & Cloud Tool
wallstreet777
 
WAS Support & Monitoring Tools
WAS Support & Monitoring ToolsWAS Support & Monitoring Tools
WAS Support & Monitoring Tools
Royal 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 new
esarakaitis
 
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
webhostingguy
 
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
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
Manish Corriea
 
Lap around windows azure
Lap around windows azureLap around windows azure
Lap around windows azure
Manish Corriea
 
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
IndicThreads
 
Virtualizing Business Critical Apps
Virtualizing Business Critical AppsVirtualizing Business Critical Apps
Virtualizing Business Critical Apps
heraldschelke
 
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 Development
elliando 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 Terry
Carolyn Crowe
 
Cf summit2014 roadmap
Cf summit2014 roadmapCf summit2014 roadmap
Cf summit2014 roadmap
James 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 Server
Carly Snodgrass
 
Windows Azure Design Patterns
Windows Azure Design PatternsWindows Azure Design Patterns
Windows Azure Design Patterns
David 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 business
WSO2
 
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
buildacloud
 
LaSalle Solutions & Cloud Tool
LaSalle Solutions & Cloud ToolLaSalle Solutions & Cloud Tool
LaSalle Solutions & Cloud Tool
wallstreet777
 
WAS Support & Monitoring Tools
WAS Support & Monitoring ToolsWAS Support & Monitoring Tools
WAS Support & Monitoring Tools
Royal 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 new
esarakaitis
 
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
webhostingguy
 
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
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
Manish Corriea
 
Lap around windows azure
Lap around windows azureLap around windows azure
Lap around windows azure
Manish Corriea
 

Viewers also liked (16)

емоції людини
емоції людиниемоції людини
емоції людини
valeria karnatovska
 
Catàleg BEEP Juliol 2013
Catàleg BEEP Juliol 2013Catàleg BEEP Juliol 2013
Catàleg BEEP Juliol 2013
Beep Informática
 
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
Susan Greyling
 
Test-Driven Microservices: System Confidence
Test-Driven Microservices: System ConfidenceTest-Driven Microservices: System Confidence
Test-Driven Microservices: System Confidence
C4Media
 
Compassion lesson #4
Compassion lesson #4Compassion lesson #4
Compassion lesson #4
superrin
 
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
IAEME Publication
 
Psicologia comunitaria...
Psicologia comunitaria...Psicologia comunitaria...
Psicologia comunitaria...
YesminAndrea
 
Proyecto rectificado finalc
Proyecto rectificado  finalcProyecto rectificado  finalc
Proyecto rectificado finalc
Erick 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 Context
Mark Paris
 
Enano newsletter issue20-21
Enano newsletter issue20-21Enano newsletter issue20-21
Enano newsletter issue20-21
Phantoms Foundation
 
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
sam hill
 
Practico-Condensadores en Paralelo
Practico-Condensadores en ParaleloPractico-Condensadores en Paralelo
Practico-Condensadores en Paralelo
Marcelo Rodriguez
 
Brasil
BrasilBrasil
Brasil
guest6bd422
 
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 Study
VMware Tanzu
 
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
Susan Greyling
 
Test-Driven Microservices: System Confidence
Test-Driven Microservices: System ConfidenceTest-Driven Microservices: System Confidence
Test-Driven Microservices: System Confidence
C4Media
 
Compassion lesson #4
Compassion lesson #4Compassion lesson #4
Compassion lesson #4
superrin
 
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
IAEME Publication
 
Psicologia comunitaria...
Psicologia comunitaria...Psicologia comunitaria...
Psicologia comunitaria...
YesminAndrea
 
Proyecto rectificado finalc
Proyecto rectificado  finalcProyecto rectificado  finalc
Proyecto rectificado finalc
Erick 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 Context
Mark 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 conventions
sam hill
 
Practico-Condensadores en Paralelo
Practico-Condensadores en ParaleloPractico-Condensadores en Paralelo
Practico-Condensadores en Paralelo
Marcelo 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 Study
VMware Tanzu
 
Ad

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
IMC Institute
 
VMware - Application Portability
VMware - Application PortabilityVMware - Application Portability
VMware - Application Portability
VMUG IT
 
Oracle cloud oagi
Oracle cloud oagiOracle cloud oagi
Oracle cloud oagi
Mathews 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 2015
WaveMaker, Inc.
 
Cloud computing
Cloud computingCloud computing
Cloud computing
Higher Private School of Engineering and Technology
 
Cloud computing
Cloud computingCloud computing
Cloud computing
Higher Private School of Engineering and Technology
 
Building A Cloud Platform
Building A Cloud PlatformBuilding A Cloud Platform
Building A Cloud Platform
WSO2
 
Conduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminarConduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminar
Syed Shaaf
 
vFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsvFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS Apps
VMware 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 Cloud
Srini Karlekar
 
In De Wolken Met Cloud Computing
In De Wolken Met Cloud ComputingIn De Wolken Met Cloud Computing
In De Wolken Met Cloud Computing
Anko 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-09
Rex Wang
 
Basics of Java Cloud
Basics of Java CloudBasics of Java Cloud
Basics of Java Cloud
Ankur 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 Cloud
codemotion_es
 
Cloud computing
Cloud computingCloud computing
Cloud computing
Med Zaibi
 
Cloud Native Application Development
Cloud Native Application DevelopmentCloud Native Application Development
Cloud Native Application Development
Siva Rama Krishna Chunduru
 
Cloud-Computing basic introduction chap 1 pptx
Cloud-Computing basic introduction chap 1 pptxCloud-Computing basic introduction chap 1 pptx
Cloud-Computing basic introduction chap 1 pptx
arjundas690069
 
Moving Your Enterprise to the Cloud
Moving Your Enterprise to the CloudMoving Your Enterprise to the Cloud
Moving Your Enterprise to the Cloud
Imesh Gunaratne
 
DevOps and Cloud at NI
DevOps and Cloud at NIDevOps and Cloud at NI
DevOps and Cloud at NI
Ernest Mueller
 
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
IMC Institute
 
VMware - Application Portability
VMware - Application PortabilityVMware - Application Portability
VMware - Application Portability
VMUG IT
 
Oracle cloud oagi
Oracle cloud oagiOracle cloud oagi
Oracle cloud oagi
Mathews 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 2015
WaveMaker, Inc.
 
Building A Cloud Platform
Building A Cloud PlatformBuilding A Cloud Platform
Building A Cloud Platform
WSO2
 
Conduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminarConduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminar
Syed Shaaf
 
vFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsvFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS Apps
VMware 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 Cloud
Srini Karlekar
 
In De Wolken Met Cloud Computing
In De Wolken Met Cloud ComputingIn De Wolken Met Cloud Computing
In De Wolken Met Cloud Computing
Anko 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-09
Rex Wang
 
Basics of Java Cloud
Basics of Java CloudBasics of Java Cloud
Basics of Java Cloud
Ankur 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 Cloud
codemotion_es
 
Cloud computing
Cloud computingCloud computing
Cloud computing
Med Zaibi
 
Cloud-Computing basic introduction chap 1 pptx
Cloud-Computing basic introduction chap 1 pptxCloud-Computing basic introduction chap 1 pptx
Cloud-Computing basic introduction chap 1 pptx
arjundas690069
 
Moving Your Enterprise to the Cloud
Moving Your Enterprise to the CloudMoving Your Enterprise to the Cloud
Moving Your Enterprise to the Cloud
Imesh Gunaratne
 
DevOps and Cloud at NI
DevOps and Cloud at NIDevOps and Cloud at NI
DevOps and Cloud at NI
Ernest Mueller
 
Ad

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?
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 Machines
Dmitry Buzdin
 
Big Data Processing Using Hadoop Infrastructure
Big Data Processing Using Hadoop InfrastructureBig Data Processing Using Hadoop Infrastructure
Big Data Processing Using Hadoop Infrastructure
Dmitry Buzdin
 
JOOQ and Flyway
JOOQ and FlywayJOOQ and Flyway
JOOQ and Flyway
Dmitry Buzdin
 
Developing Useful APIs
Developing Useful APIsDeveloping Useful APIs
Developing Useful APIs
Dmitry Buzdin
 
Whats New in Java 8
Whats New in Java 8Whats New in Java 8
Whats New in Java 8
Dmitry Buzdin
 
Архитектура Ленты на Одноклассниках
Архитектура Ленты на ОдноклассникахАрхитектура Ленты на Одноклассниках
Архитектура Ленты на Одноклассниках
Dmitry Buzdin
 
Dart Workshop
Dart WorkshopDart Workshop
Dart Workshop
Dmitry Buzdin
 
Riding Redis @ask.fm
Riding Redis @ask.fmRiding Redis @ask.fm
Riding Redis @ask.fm
Dmitry Buzdin
 
Rubylight JUG Contest Results Part II
Rubylight JUG Contest Results Part IIRubylight JUG Contest Results Part II
Rubylight JUG Contest Results Part II
Dmitry Buzdin
 
Rubylight Pattern-Matching Solutions
Rubylight Pattern-Matching SolutionsRubylight Pattern-Matching Solutions
Rubylight Pattern-Matching Solutions
Dmitry Buzdin
 
Refactoring to Macros with Clojure
Refactoring to Macros with ClojureRefactoring to Macros with Clojure
Refactoring to Macros with Clojure
Dmitry Buzdin
 
Poor Man's Functional Programming
Poor Man's Functional ProgrammingPoor Man's Functional Programming
Poor Man's Functional Programming
Dmitry Buzdin
 
Rubylight programming contest
Rubylight programming contestRubylight programming contest
Rubylight programming contest
Dmitry Buzdin
 
Continuous Delivery
Continuous Delivery Continuous Delivery
Continuous Delivery
Dmitry Buzdin
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
Dmitry Buzdin
 
Thread Dump Analysis
Thread Dump AnalysisThread Dump Analysis
Thread Dump Analysis
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 Machines
Dmitry Buzdin
 
Big Data Processing Using Hadoop Infrastructure
Big Data Processing Using Hadoop InfrastructureBig Data Processing Using Hadoop Infrastructure
Big Data Processing Using Hadoop Infrastructure
Dmitry Buzdin
 
Developing Useful APIs
Developing Useful APIsDeveloping Useful APIs
Developing Useful APIs
Dmitry Buzdin
 
Архитектура Ленты на Одноклассниках
Архитектура Ленты на ОдноклассникахАрхитектура Ленты на Одноклассниках
Архитектура Ленты на Одноклассниках
Dmitry Buzdin
 
Riding Redis @ask.fm
Riding Redis @ask.fmRiding Redis @ask.fm
Riding Redis @ask.fm
Dmitry Buzdin
 
Rubylight JUG Contest Results Part II
Rubylight JUG Contest Results Part IIRubylight JUG Contest Results Part II
Rubylight JUG Contest Results Part II
Dmitry Buzdin
 
Rubylight Pattern-Matching Solutions
Rubylight Pattern-Matching SolutionsRubylight Pattern-Matching Solutions
Rubylight Pattern-Matching Solutions
Dmitry Buzdin
 
Refactoring to Macros with Clojure
Refactoring to Macros with ClojureRefactoring to Macros with Clojure
Refactoring to Macros with Clojure
Dmitry Buzdin
 
Poor Man's Functional Programming
Poor Man's Functional ProgrammingPoor Man's Functional Programming
Poor Man's Functional Programming
Dmitry Buzdin
 
Rubylight programming contest
Rubylight programming contestRubylight programming contest
Rubylight programming contest
Dmitry Buzdin
 
Continuous Delivery
Continuous Delivery Continuous Delivery
Continuous Delivery
Dmitry Buzdin
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
Dmitry Buzdin
 
Thread Dump Analysis
Thread Dump AnalysisThread Dump Analysis
Thread Dump Analysis
Dmitry Buzdin
 

Recently uploaded (20)

SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 

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”, [email protected] ) 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 • [email protected][email protected] 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