The document discusses Java EE 7 and the focus on supporting Platform as a Service (PaaS) and cloud computing. It outlines how Java EE 7 will define new platform roles and add metadata to support auto-provisioning of services from application dependencies and multi-tenancy. It provides an example scenario of how a Java EE application could be submitted to and deployed on a PaaS provider.
Java EE 6 was released over 2 years. Lets take a look at the top 10 features that are generally appreciated by users.Complete list of compatible vendors:http://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.html
One <pinky finger to mouth> BILLION downloads ..<Pause .. As if audience member in row one is saying something>Oh, 40 million downloadsBy far the #1 development platform for enterprise applicationsAnd Java EE 6 has taken offFastest roll-out by application server implementers… in fact, just two days ago the we got our seventh implementation … from Apache! (applause?)... So, are we done yet? (Or are those some storm clouds on the horizon?)This page shows the list of Java EE compliant vendors. The complete list is at: http://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.htmlThere is a mix of open source and commercial vendors. Java EE 6 has seen the fastest implementation of a Java EE release ever. Its just over 2 years and there 8 compliant (2 from Apache) implementations. Caucho and Apache TomEE are the new players to the game because of Web Profile.
But all of these solutions, across the whole IaaS, PaaS, and SaaS spectrum, require enterprises to buy into vendor-specific offerings. And while a big part of Java EE’s success has been vendor value-add, it’s also been very successful in helping avoid vendor lock-in thanks to portability. Today, all the major stakeholders in the EE area stand in agreement that we need to move EE forward rapidly for the cloud.Already many of these are Java based and some even on Java EE but we need common standards here – to much is left to the developer and implementer
At Oracle, and working with our partners, we’ve got three areas of focus, three areas of investment going on in Java EE.Focused on cloud. Public and private cloud. Working in IaaSenvironments. SupportingElasticity and ContinuousAvailability.Focused on modularity. Leveraging the work Adam described in Java SE.Focused on emergingweb standards, including HTML5, JSON and websockets.Let’stake a look at some of whatwe’redoing in enterprise Java for the cloud.
Initially our Java EE applications were deployed on a single node with a single point of failure. Over a period of time, the Java EE applications could be deployed on multiple instances spanning multiple machines/nodes. This allows the application to scale very easily and also provide session failover capabilities. The Java EE 7 moves the bar further. It will allow QoS attributes to be specified as part of services metadata that will provide the lower and upper bounds of the Java EE cluster. This cluster will be self-adjusting, dynamically expanding and shrinking based upon metrics defined by the user. The minimum number of instances will be automatically started and more instances will be added if the metrics are met. Some typical examples are:60% of CPU is utilized across the cluster80% of memory is utilized in the cluster100 concurrent sessions
Lets take an example scenario that puts all the concepts explained so far in a perspective.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.
SimplyCRM, a vendor of a CRM product, decides to enter the software-on-demand space
Steve, an Application Developer at SimplyCRM, creates a version of the company's flagship CRM product packaged as a PaaS Application.
Once the application has been tested and is cleared for production use, Steve hands off the application to Sandra, an employee at SimplyCRM who is the point of contact with the PaaS Providers the company intends to partner with. Sandra signs up SimplyCRM as a PaaS Customer of DiabloCloud, a PaaS Provider. As part of the deal, the two companies agree on the terms under which usage of the SimplyCRM application will be billed to DiabloCloud Customers.Sandra then submits the application on the DiabloCloud infrastructure, acting as the Application Submitter. She then interacts with Dean, DiabloCloud'sPaaS Administrator, to publish the application so that other PaaS Customers can find it
As the Application Submitter, Sandra is responsible for insuring that the necessary artifacts and metadata for customization and configuration are available so that other Customers can reconfigure and customize the application when they deploy it for their own use (and/or use by their own end users).
Some time later, ExtraServices Inc., a consultancy, discovers SimplyCRM 's PaaS Application offering on top of DiabloCloud.
Wishing to move to an on-demand CRM system, ExtraServices Inc. signs up as a PaaS Customer of DiabloCloud, interacting with their PaaS Account Manager.
Ed, ExtraServices' Deployer, works with DiabloCloud's System Administrator Danny to ensure that the SimplyCRM application is customized and deployed to address the needs of ExtraServices. This includes making sure that the expected ExtraServices Inc. End-Users of the application have proper credentials to access it.
Danny (System Administrator) verifies the application has been provisioned and configured to meet ExtraServices Inc.'s needs.
And the app is now ready.
Finally, Erika, a End-User at ExtraServices Inc., starts using the SimplyCRM application running on the DiabloCloud infrastructure.
ExtraServicesInc’sApplication administrator can manage the application.
DiabloCloud will meter ExtraServices Inc.' use of cloud resources in general and of the SimplyCRM application. It will then bill ExtraServices Inc. for their usage and, if properly authorized by SimplyCRM, for any costs associated with the ExtraServices Inc.'s usage of the SimplyCRM application.
This demo show how to PaaSify a Java EE application using early work that has started in GlassFish 4.0.Complete script and video of this demo at: http://glassfish.org/javaone2011
Complete script and video of this demo at: http://glassfish.org/javaone2011
Complete script and video of this demo at: http://glassfish.org/javaone2011
In addition to updates to existing JSRs, there are new JSRs in the works to fill gaps in the Java EE platform. As noted, Java EE platform is continually evolving to meet the needs of server-side java computing.This diagram shows the list of JSRs targeted at the Java EE 7 platform.Gray boxes: base specs and can be extended easilyBlue boxes: minor updatesOrange: Getting major updatesGreen boxes: New candidate JSRsAll JSRs are not lead by only Oracle, RedHat and IBM are contributing
GlassFish Server 3 continues the pace of 2 releases per year (GlassFish v3 was December, 2009, so we’ll count that as 2010 to keep it simple). As you can see, the Oracle Acquisition has not had an impact on the cadence of Oracle-delivered releases outlined in red, although we did release GlassFish Server 3.0.1 was added 100 days after acquisition to bring GlassFish into compliance with Oracle product standards (platforms, branding, etc). GlassFish 3.1 added support for clustering, high availability, and centralized administration for Java EE 6 applications – the first app server to do so. Then 3.1.1 was a bugifx release and now 3.1.2 is scheduled for Jan 2012. GlassFish 4 will be the release vehicle for Java EE 7 and is scheduled for late 2012.