Enterprise Java

Java EE 7 is final. Thoughts, Insights and further Pointers.

It took us a little less than three years to get the next Java EE version out the door. On April 16th this year the JCP EC voted on JSR 342 and approved it. This is kind of a success story because the initial idea of having a cloud ready platform was withdrawn at the very last possible moment in late August last year. As a member of the EG it is more or less easy to write about upcoming features. Even if the umbrella EG only is responsible for the platform level stuff and not the individual contained JSRs you need to know a little more about the details than I expected at first. But I’m not going to recap what has already been written by Arun or the Adopt-a-JSR members. Instead I would like to give you some more behind the scenes and impressions. First of all: A hearty “Thank-You!” to all the hard working EGs and contributors of the individual JSRs! It was a pleasure contributing as an individual and
 
I am thankful for the patience and respect I received for my views and ideas!

Platform Road-map

What started back in 1998 has been a tremendous success. The Java Enterprise Edition as we know it today started out with less than 10 individual specifications and grew over time to what it is today. Different topics started to form the versions with the beginning of what was called J2EE 1.4 in 2003.

A more developer centered view came up with the re-branding towards Java EE (and yes: There is nothing named JEE! Never use that name! Please!) This was extended in the overly successful sixth version. Following that path for me it seemed as if the “cloud” topic initially proposed for 7 came out of nowhere. Reading Linda’s email about the possible re-alignment was kind of a relief and the only thing I have to add is, that it probably came to late. The cloud things will come up again in the next version which will start somewhere in the future hopefully.

What I would Wish for

My personal wish would be to have a better and longer strategy here. Knowing that we are talking about comparably long time-frames this might stay a wish but instead of adopting latest industry trends all over and leaving it up to the individual JSRs to fill the buzz words, I would rather like to see a more platform centered approach. Given the different categories in which each of the new EE versions emerges this could look like this:

With a maximum of 25% fore each of them it would be a reasonable way to fulfill the needs for every stakeholder. 75% for standards related work to keep the platform integrated, usable and up to date and only 25% of the work to slightly adopt to new things. To me it feels like this approach would invert the way it is done today. But someone with more insight might proof me wrong here.
Further on I would suggest, that the “Big Tickets” need some kind of a visionary road-map, too. Lets say it might be related to Gartners Emerging Technologies Hype Cycle.

Gartners Emerging Technologies Hype Cyle (Source: Forbes.com
Gartners Emerging Technologies Hype Cyle (Source: Forbes.com

So my personal road-map for EE’s next big ticket topics would be the following:

Transparency and Community Contribution and Work in the EG

Even if I am complaining about the lack of transparency behind the overall planning I have to note that overall transparency and community contribution raised to a new level in EE 7. Starting with the official survey which Linda launched at the EE-BOF at JavaOne last year on to the upgraded JCP version (JCP 2.8) which is in use for most of the EE JSRs and the incredible amount of people working in the Adopt-A-JSR program this has been the most open EE specification effort of all time. And for those willing to contribute further I suggest  that you get familiar with the Adopt-a-JSR program and start contributing. This is a great way to give feedback to the individual EGs. You’re of course free to pick whatever specification you want and contribute on the user-mailing-lists. They are open and the EGs monitor what is happening there. Further on, most of the EG members are publicly reachable and happy to receive feedback.

Generally I am pleased to say that working in the EE 7 Expert Group was a pleasant experience. I am incredibly honored to have the chance to work with the brightest EE minds in the industry. This includes Bill and Pete and many others. Especially those who won this year’s Star Spec Lead award are the ones I recall being open and responsive to any single question I had. Thank you.

Java Enterprise Edition 7 at a Glance

Enough of behind the scenes and crazy ideas. Here is what EE 7 looks like as of today:

With four new specifications on board and four pruned ones (EJB Entity Beans, JAX-RPC 1.1, JAXR 1.0, und JSR-88 1.2) we’re exactly where we’ve been in EE 6 according to the numbers. The complete specification now contains 34 individual specifications.

SpezifikationJSRVersionJava.net Project
Java Platform, Enterprise Edition3427javaee-spec
Managed Beans3421.0
Java EE Web Profile (Web Profile)3421.0
Java API for RESTful Web Services (JAX-RS)3392.0jax-rs-spec
Web Services for Java EE1091.4
Java API for XML-Based Web Services (JAX-WS)2242.2jax-ws
Java Architecture for XML Binding (JAXB)2222.2jaxb
Web Services Metadata for the Java Platform1812.1
Java API for XML-Based RPC (JAX-RPC) (Optional)1011.1jax-rpc
Java API for XML Registries (JAXR) (Optional)931.0
Servlet3403.1
JavaServer Faces(JSF)3442.2javaserverfaces
JavaServer Pages (JSP)2452.3
JavaServer Pages Expression Language (EL)3413.0el-spec
A Standard Tag Library for JavaServer Pages (JSTL)521.2jstl
Debugging Support for Other Languages451.0
Contexts and Dependency Injection for the Java EE Platform (CDI)3461.1github.com
Dependency Injection for Java (DI)3301.0
Bean Validation3491.1http://beanvalidation.org
Enterprise JavaBeans (EJB)3453.2ejb-spec
Java EE Connector Architecture (JCA)3221.7
Java Persistence (JPA)3382.1jpa-spec
Common Annotations for the Java Platform2501.2
Java Message Service API (JMS)3432.0
Java Transaction API (JTA)9071.2jta-spec
JavaMail9191.5javamail
Java Authentication Service Provider Interface for Containers (JASPIC)1961.1jaspic-spec
Java Authorization Contract for Containers (JACC)1151.5jacc-spec
Java EE Application Deployment (Optional)881.2
Java Database Connectivity (JDBC)2214.0
Java Management Extensions (JMX)2552.0openjdk
JavaBeans Activation Framework (JAF)9251.1
Streaming API for XML (StAX)1731.0sjsxp
Java Authentication and Authorization Service (JAAS)1.0
Interceptors3181.2
Batch Applications for the Java Platform3521.0jbatch
Java API for JSON Processing3531.0json-processing-spec
Java API for WebSocket3561.0websocket-spec
Concurrency Utilities for Java EE2361.0concurrency-ee-spec

Free Online Launch Event for Java EE 7

If you’re interested in first hand information about all the new specs register for the Java EE 7 Launch Webcast: Jun 12th.

The introduction of Java EE 7 is a free online event where you can connect with Java users from all over the world as you learn about the power and capabilities of Java EE 7. Join Oracle for presentations from technical leaders and Java users from both large and small enterprises, deep dives into the new JSRs, and scheduled chats with Java experts.

  • Business Keynote (Hasan Rizvi and Cameron Purdy)
  • Technical Keynote (Linda DeMichiel)
  • Breakout Sessions on different JSRs by specification leads
  • Live Chat
  • Lots of Demos
  • Community, Partner, and Customer video testimonials

 

Markus Eisele

Markus is a Developer Advocate at Red Hat and focuses on JBoss Middleware. He is working with Java EE servers from different vendors since more than 14 years and talks about his favorite topics around Java EE on conferences all over the world. He has been a principle consultant and worked with different customers on all kinds of Java EE related applications and solutions. Beside that he has always been a prolific blogger, writer and tech editor for different Java EE related books. He is an active member of the German DOAG e.V. and it's representative on the iJUG e.V. As a Java Champion and former ACE Director he is well known in the community. Follow him on Twitter @myfear.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments
Back to top button