Java EE (formerly called Java 2 Platform, Enterprise Edition) is a platform designed specifically to support the development of applications at the enterprise level. Standardized, modular components are serviced by the platform. Automation of various application behaviors is ensured to simplify the creation and implementation of multi-tier applications. Plus, Java EE makes it possible to readily scale apps up to the size needed for large business operation after development in a smaller test environment.
This platform builds on the favorite features of the Standard Edition including data security, code portability, and compatibility with commonly used enterprise resources. The Enterprise Edition specification also pays special attention to Web services interoperability (by relying on WS-I Basic Profile). The goal is to attract business clients who will develop and use Java-based custom applications for internal and web-based applications to service employees, customers, and vendors. Java EE can sit atop various enterprise systems such as legacy database management systems. This allows easier integration between various application tiers (and between Java based apps and non-Java compliant resources on the internet).
Where is Java Right Now When it Comes to the Cloud?
The current version is Java EE 6 with Java EE 7 underway for release in 2012. Java EE 6 is designed for compatibility with a web-based environment. However, there’s a big difference between “the internet” and “the cloud” when it comes to enterprise applications. A number of technology firms have already dipped their toe in the water by implementing Java EE 6 in the cloud. For example, Oracle is playing around with open source application server GlassFish v3. The firm offered attendees at the 2011 Cloud Expo an educational session on how to deploy a Java EE 6 app in a local instance of GlassFish. The students also saw how the sample application could be deployed on common cloud infrastructures such as Amazon EC2, Elastra, and RightScale. Discussion included an explanation of how servers are dynamically provisioned in some cloud environments and the benefits and drawbacks of such an approach.
Red Hat announced the integration of JBoss Application Server 7 with OpenShift PaaS this year as well. This middleware server is compliant with Java EE 6 and may serve as a gateway for getting Java development efforts into the cloud. This setup relieves developers of responsibility for functions like stack setup, auto-scaling, and various maintenance issues. The client can rely on the service provider to handle these aspects of the job. This permits the developers to focus on coding enterprise applications that are designed to work in (and take full advantage of) a Web 3.0 environment.
Why Version 7?
In spite of early successes, the current Java EE 6 version was not actually designed with dynamic environments in mind. Oracle’s next release will be more finely tuned to the realities of the cloud (such as multi-tenancy architecture and elasticity). Java EE 7 will be suitable for both private and public cloud migration. Since enterprise level consumers are still very attached to the perceived security and control offered by private clouds, this is an essential factor in targeting the big business market.
Key upgrade points include a focus on:
- Making it easy to build server-side user interfaces (JavaServer Faces)
- Java API for RESTful Web services (JAX-RS) for handling hypermedia
- Java Persistence (a critical function in object/relational mapping)
The upcoming version of Java EE is anticipated to enable easier migration to the cloud for enterprise level clients. By making the process simpler, Oracle is planning to virtually assure that a large number of businesses will decide to make the leap. Microsoft Azure has already paved the way for .net customers to migrate. With Java EE 7 in full swing, there will no longer be a significant barrier to non-Microsoft customers.