Java EE 6: focus on your business

I’m working with Java EE 6 for a long time. When talking with people, I oftentalk about the individual specs and benefits. But I realize that one ofthe main benefits of Java EE 6 is the overall picture. Developers can focuson the real and area-specific problems in their application, and if theirproject is well-written, a Java EE 6 Application Server will allow theapplication to scale well, to be transactional, to handle persistence,…

I don’t have numbers. But from what I hear at JavaOne and read online, theadoption of Java EE 6 is going very well and much faster than with theprevious version of the Java Enterprise specification. Glassfish sets thepace, and the majority of the other application servers is following.

Java EE 6 contains the infrastructure that is needed for a large numberof todays business applications. In early days, every business applicationhad to provide its own infrastructure (database coupling, messaging system,transactional logic,…). The core functionality of the application gotoften interwoven with the infrastructure.

Previous versions of the Java Enterprise specifications also providedthe infrastructure needed to run enterprise applications, but due to itscomplex nature, developers and deployers needed to be experts in theinfrastructure area themselves. The EJB 2.x Entity Bean model, for example,did a lot of work that was shielded from the developer, but the configurationto get it working well was still very complex. In order to be able to usethe functionality provided by the old application servers, you almostneeded to understand everything that was supposed to be hidden.

With Java EE6, this is no longer the case. The application server providesthe infrastructure that the application can rely upon. If you writeyour business application in a clever way, you don’t have to do lots oftasks that are related to the environment/context and you can concentrateon your business logic.
Moreover, if you try to do non-functional stuff,you might get in trouble. I’ve seen problems in many Enterprise projectsthat were due to an own implementation of transactions or thread pooling— reasonably, the developers of enterprise applications are mainlyexperts in a specific field.
The different implementations of the Java EE 6 specification try to competewith each other by providing the best possible implementations. Databaseconnection pooling has been implemented over and over by individualdevelopers, and I still see it in lots of applications. But if you wantit to be scalable and performant, you better rely on what the experts in thisfield already did for you. You don’t develop a “scaling application”.You develop an application that can be scaled on the right infrastructure— i.e. the one that is provided by a Java EE 6 implementation.

Oracle and JavaOne: commitment to the developer community?

JavaOne 2010 is about to start. It will be the first JavaOne under Oracle’sstewardship of Java. While there will be lots of interesting sessions andBOFs during the conference, special attention will be paid to the messagesOracle is sending to the developer community.

After Oracle acquired Sun Microsystems, a lot has been said about Oracle’splans with Java — mainly by others. The opinions vary between “Oraclewill be a much better Java steward than Sun was” and “Oracle want tomake quick bucks on Java and then abandon it”.
Next week, Oracle will have plenty of opportunities to show its plans.Not only their own investment in the Java technology is important to know,I am personally very interested in hearing if and how Oracle is going toinvest in the developer community.

During the Sun stewardship of Java, there was a move towards more communityinvolvement. Compared with the early days of Java, developers now haveeasier access, many parts are open-sourced, and a number of communitiesexist around specific products (e.g. Glassfish).

Why should Oracle invest in the Java community? Clearly, most of Oracle’ssoftware products and middleware rely on Java.
Today, software development happensinside companies, on the Internet or on a combination of both. In orderto broaden the market for the middleware products, it is in Oracle’sbenefit to support the development of Java products outside Oracle.The more Java developers there are, the more common Java is, the easier itis to find developers and customers for the Oracle middleware products.

Apart from Oracle’s financial investment in Java, I wonder if they willfulfill their request from 2007, and create an independent Java Foundation.See this blogentry from James Gosling for more information.

Oracle, you have a whole week the opportunity to steal the hearts of thedevelopers!