Java EE - Java.net

Download Report

Transcript Java EE - Java.net

Java EE 7: Developing for the Cloud

Arun Gupta, Java EE & GlassFish Guy 1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle ’ s products remains at the sole discretion of Oracle.

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

Insert Information Protection Policy Classification from Slide 8

Java EE 6 Platform December 10, 2009

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

Insert Information Protection Policy Classification from Slide 8

Top Ten Features in Java EE 6

1.

2.

3.

EJB packaging in a WAR Servlet and CDI extension points Optional web.xml

4.

5.

6.

7.

8.

Type-safe dependency injection CDI Events JSF standardizing on Facelets EJBContainer API @Schedule 9.

EJB No Interface View 10.

Web Profile 4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8

Java EE 6 Implementations

Fastest implementations of a Java EE release ever!

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

Insert Information Protection Policy Classification from Slide 8

Today ’s Cloud Offerings are all Proprietary

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

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

Insert Information Protection Policy Classification from Slide 8

Java EE 7

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

Insert Information Protection Policy Classification from Slide 8

Java EE 7 Focus: Platform as a Service

• Next logical step for Java EE – J2EE  Java EE 6 : The Java EE Platform provides services – Java EE 7 : The Java EE Platform IS a service • PaaS support entails evolutionary change • Provide way for customers and users to leverage public, private, and hybrid clouds 8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8

Java EE 7 PaaS Roadmap

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

Insert Information Protection Policy Classification from Slide 8

Cloud Services, Not Just APIs

• • • Tenant applications consume services PaaS administrators host, configure, and manage application and infrastructure services Existing APIs in Java EE need to be updated to be service-enabled and tenant-aware – Example: pluggable services

Tenant App Tenant App Tenant App Java EE Application Level Services Queuing Service Persistence Service Caching Service … Security Service PaaS Infrastructure Services Provisioning Service File Service Platform as a Service - Services … Virt IaaS Infrastructure Services VIP VLAN Volume LBR … Infrastructure as a Service

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

Insert Information Protection Policy Classification from Slide 8

Roles

Developer PaaS Customer/ Tenant JVM JVM JVM Machine JVM JVM JVM Machine JVM JVM JVM Machine Deployer Application Submitter Application Administrator JVM JVM JVM Machine Tenant 1 JVM JVM JVM Machine Tenant 2 JVM JVM JVM Machine Tenant 3

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

Insert Information Protection Policy Classification from Slide 8

PaaS Provider PaaS Product Provider PaaS Account Manager PaaS Administrator

Existing Java EE model

1

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

2 Provision and Initialize Provision and Initialize 3 Provision and Initialize 4 Provision and Initialize 5 Deploy Application (EAR/GAR/SAR …)

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

Insert Information Protection Policy Classification from Slide 8

Database Service LDAP Service Messaging Service Application Container

Java EE 7 Model: Auto-Provision Services from Application Dependencies

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

1 2 3 Provision and Initialize Provision and Initialize Provision and Initialize Cloud Administration Service Database Service LDAP Service 4 Messaging Service Provision and Initialize 5 Deploy Application (EAR/GAR/SAR …) Application Container

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

Insert Information Protection Policy Classification from Slide 8

Services

• Cloud apps consume services – Persistence, queueing, mail, caching, … • Service metadata facilitates ease of use when deploying into the cloud @DataSourceDefinition( name= “java:app/jdbc/myDB”, className= “oracle.jdbc.pool.OracleDataSource”, isolationLevel=TRANSACTION_REPEATABLE_READ, initialPoolSize=5 ) 14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8

Services

• Cloud apps consume services – Persistence, queueing, mail, caching, … • Service metadata facilitates ease of use when deploying into the cloud @JMSConnectionFactory ( name= “java:app/myJMSConnectionFactory”, resourceType= “javax.jms.QueueConnectionFactory”) @JMSDestination( name= “java:app/myQueue”, resourceType= “javax.jms.Queue”) 15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8

Services

• Cloud apps consume services – Persistence, queueing, mail, caching, … • Service metadata facilitates ease of use when deploying into the cloud @MailSession ( name= “java:app/mailSession”, from= “[email protected]” ) 16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8

Services

• Cloud apps consume services – Persistence, queueing, mail, caching, … • Service metadata facilitates ease of use when deploying into the cloud @ConnectorService ( name= “java:app/myCustomConnector”, type= “com.extraServices.customConnector.class”, properties = {…} ) 17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8

Elasticity

Java EE 7 Focus: Move the Bar Right Elasticity Continuum Java EE Cluster Elastic Cluster Elastic Cluster Capacity on Demand Single node Non-Elastic

• Service Levels

Java EE Multi-Node Multi-Instance Clustering Dynamic Self Adjusting SLA Driven Elasticity

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

Insert Information Protection Policy Classification from Slide 8

Example Scenario

“A software company writes an application, submits it to a PaaS provider, then any number of tenants sign up for the application, deploy it, their end users access it ” 19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8

Walkthrough (1)

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

Insert Information Protection Policy Classification from Slide 8

Walkthrough (2)

SimplyCRM Application Developer Writes App 21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8 DiabloCloud

Walkthrough (3)

SimplyCRM Signs up as a customer PaaS Customer DiabloCloud PaaS Account Manager 22 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8

Walkthrough (4)

SimplyCRM Submits the application Application Submitter DiabloCloud System Administrator App 23 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8

Walkthrough (5)

ExtraServices Discovers DiabloCloud App 24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8

Walkthrough (6)

ExtraServices PaaS Customer Signs up as a customer DiabloCloud PaaS Account Manager App 25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8

Walkthrough (7)

ExtraServices Deployer Customizes and deploys the application DiabloCloud System Administrator App 26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8

Walkthrough (8)

ExtraServices Deployer DiabloCloud System Administrator Provisions on Cloud infrastructure App 27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8

Walkthrough (9)

ExtraServices Deployer 28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8 DiabloCloud System Administrator Provisioned and Deployed App

Walkthrough (10)

ExtraServices End-Users Access the application DiabloCloud Provisioned and Deployed App 29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8

Walkthrough (11)

ExtraServices DiabloCloud End-Users Access the application Administrator Administers the application 30 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8 Provisioned and Deployed App

Walkthrough (12)

ExtraServices End-Users Access the application Administrator Administers the application 31 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 8 DiabloCloud System Administrator Monitors Provisioned and Deployed App

Demo

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

Insert Information Protection Policy Classification from Slide 8

Conference Planning in the Cloud

Java EE Application JPA JSF

Deploy http://glassfish.org/javaone2011