Oracle and the Java Community Process (JCP) announced the availability of Java Platform, Enterprise Edition 7 (Java EE 7) and the Java EE 7 Software Development Kit (SDK).
Java EE 7 features a scalable infrastructure that facilitates building HTML5 applications by reducing response times through low-latency, bidirectional communication with WebSockets; simplifying data parsing and exchange using industry-standard JSON processing and supporting many more concurrent users through asynchronous RESTful Web Services with JAX-RS 2.0.
Oracle officials said Java EE 7 is the result of industrywide development involving open review, ongoing builds and extensive collaboration between hundreds of engineers from more than 30 companies within the JCP and the GlassFish Community.
“This is the first release of the framework since Oracle took over the leadership of Java, but in many respects one of the most expansive in scope,” said Al Hilwa, an analyst at IDC. “Java EE7 brings this widely used enterprise framework to the modern age of HTML5 and also brings significant improvement in developer productivity that will have windfalls in code quality. In this age of the polyglot programmer, Java EE will allow Java to remain one of the most widely deployed technologies for server applications on the planet.”
Moreover, to help further increase developer productivity, Java EE 7 provides a simplified application architecture with a cohesive, integrated platform and reduces boilerplate code using dependency injection and default resources. In addition, Java EE 7 broadens the use of annotations to increase efficiency and enhances application portability with standard RESTful Web Services client support, Oracle said.
Java EE 7 delivers new features to meet demanding enterprise requirements, such as breaking down batch jobs into manageable chunks for uninterrupted OLTP performance, defining multithreaded concurrent tasks easily for improved scalability, improving Managed Beans alignment—including transactional interceptors—and delivering transactional applications with choice and flexibility.
The platform also includes updates to Java Message Service (JMS) 2.0 that are designed to improve usability through annotations and Contexts and Dependency Injection (CDI) Beans support as well as significantly reduce the code required to send and receive messages.
Oracle said 19 Java user groups around the world have taken part in the “Adopt a JSR” program, providing valuable feedback and code samples to validate Java Specification Request (JSR) APIs.
“Java user groups all over the world have taken ownership of specific JSRs,” Purdy said in a June 12 Oracle Webcast on Java EE 7. “This allows our Java user groups to pick a JSR they want to support.”
Purdy also noted that more than 9 million developers use Java, making it “the largest development community ever.”
Oracle Delivers Java EE 7 With HTML5 Support
Ravi Kumar, vice president and global head of the Oracle practice at Infosys, said he is keen on the high developer productivity enabled by Java EE 7. “High developer productivity comes from some features like annotation-based programming and that [the platform] focuses on infrastructure and the integration part of the application lifecycle,” Kumar said. He added, “Two things that strike me most are the support for WebSockets and the built-in batch APIs.”
Purdy said IBM served as the specification lead for the new batch API.
Harish Grama, vice president of WebSphere product management and development at IBM, said, “Some of the things we’ve done with Java EE is make it easier for programmers to consume the complex underlying capabilities of the platform – so things like easy programmatic interfaces. This is key to get a larger, ever widening community of programmers to use Java EE.”
Regarding the batch API, Grama said as more and more people started to put their enterprise applications on Java, “they came to us and said the one thing that is missing is batch applications in order to help with online transaction programming. So IBM decided to jump in, take the lead and define the standard with the community.”
Meanwhile, Purdy called Java EE 7 “the ultimate platform for building HTML5 and mobile apps.”
Linda DeMichiel, Oracle’s specification lead for Java EE 7, said the platform support for JSON and WebSockets facilitate HTML5 development. “JSON is a key technology for data transfer within HTML5 applications,” she said. “With JSON 1.0 Java EE 7 adds new APIs to enable the parsing and generation of JSON text and objects.” There are two forms these APIs take: a streaming API and an object model API.
The Java API for WebSocket 1.0 is another key API for HTML5 support, DeMichiel said. “The WebSocket API enables highly efficient communication between client and server WebSocket endpoints over a single, bi-directional and full duplex TCP connection where the connection is held for the duration of the client/server session,” she said. “The WebSocket API adds a convenient annotation based approach to writing WebSocket endpoints.”
Developers interested in getting started with the Java EE 7 release can leverage the NetBeans Integrated Development Environment (IDE) 7.3.1, which supports Java EE 7 features, including HTML 5 and Eclipse Kepler (4.3), which has early builds supporting Java EE 7 available today.
“Eclipse Kepler will ship with Java EE 7 support, thanks to the hard work of the Eclipse Web Tools Project (WTP) team,” said Mike Milinkovich, executive director of the Eclipse Foundation, in a statement. “Early builds are available today, with a final build expected by the end of June; making this the quickest we have ever supported a new Java EE platform release.”
“Java has a unique process of governance in the industry, one that is a hybrid of vendor ownership and massive community involvement in specification, testing and validation,” Hilwa said in summary. “The complexity of this process is justified by the need to tight compatibility, which is the hallmark of the technology, and strong funded investment intended to benefit the entire ecosystem. Oracle certainly went through a bit of a learning curve in running Java, but it is heartening to see that Java’s unique democratic process is more democratic than over, yet able to deliver powerful innovations for the massive base of stakeholders.”