I just came off a phone call where Oracle were briefing community members about their announcement to open up Java EE. The process has just started and, understandably, there are currently more questions than answers.
- Oracle finds Java EE to be very successful
- Millions of applications are using Java EE
- Oracle plans to continue support of Java EE
- Java EE 8 will be completed as planned
- Java EE 8 will also be certified on Java SE 9
By stepping aside and relicensing the technologies to an open source foundation, Oracle hope to address the perception about the openness, agility and flexibility of the current process. What this will actually mean to the Java Community Process (JCP) is uncertain. It will at least have to go through some reform to accommodate the new licensing terms.
One thing to note here, and something that is a really big thumbs up to Oracle, is that they are now informing and including the community and key players in the process from the start.
When Oracle announced that MVC 1.0 was withdrawn from Java EE 8, they also indicated that they were investigating a possible transfer to a community member or organization for completion as a standalone JSR. True to their word, a request for a transfer ballot of JSR 371 has now been submitted to the JCP Executive Committee.
I am happy to announce that I will be the receiving part of this transfer and thus will take over as Spec Lead for JSR 371.
So, why would I want to take over a JSR that ranked so low in the Java EE Survey? Well, there are several reasons for that:
First of all the incredible community support and interest there is for MVC 1.0. For example, JSR 371 is the most widely adopted JSR by Java User Groups participating in the Adap-a-JSR program. No less than 8 JUGs have adopted this JSR!
Secondly, I feel that the wording of the question in the survey may have played a role. The question for MVC was “How important is MVC API for the next generation of cloud and microservices applications? (1=Not Important, 2, 3, 4, 5=Very Important)”. Still, 505 responded Very Important and only 361 Not Important. The rest were pretty evenly distributed. See Java EE Survey Results for the complete numbers.
Third, only 1693 surveys were completed worldwide. Out of 10 million Java developers, this is an alarmingly low number taking into consideration that the survey was open for more than a month and there were massive encouragements for participation from the community, including Oracle.
Fourth, in the Java EE Guardians survey that was performed just prior to the Java EE 8 survey more than 30% of the respondents answered Very Important to the question “How important is it to add a new action-oriented MVC framework to Java EE?”.
The Way Forward
The most important thing right now is that the request for transfer is approved by the EC. The ballot closes January 30, so shortly after that the practical work may start.
As mentioned in Aggressive Road Map for Java EE 8, MVC 1.0 is left out of the plans for Java EE 8.
The way I see it, and also have indications from several people I have talked with during JavaOne, the possible outcomes of this are:
1. MVC is dropped completely
2. MVC continues and is included in Java EE 8 (JSR 366)
3. MVC continues as a standalone specification outside of the Java EE 8 umbrella spec
Let’s cross our fingers that the survey result turns out positive for MVC and that option 1 is ruled out by the community.
If we’re honest, option 2 is probably not very likely to happen. Given the aggressive road map for EE 8, cuts will need to be made. And MVC certainly isn’t on the list of the preliminary proposal.
Then we are left with the third option. And I actually think this may be the best way for MVC. There are several reasons for this:
MVC will not be depending on the Java EE 8 release and may release earlier and more oftenJava EE 8 is going to include some form of modularity and MVC may very well be one of these modules no matter if left out of EE 8. There are also some considerations to take if this option is explored
Ozark needs to be made portable across Java EE implementations. This means that we will need to get rid of the dependencies on internal Jersey APIs and base the entire implementation on APIs and SPIs that are available in Java EE 7 (and later Java EE 8 and 9)TCK
An open TCK under for example Apache 2.0 will enable us to easier use community input for developing the TCK. If Oracle is willing to let go of the TCK, they will also be relieved of the cost of creating it. This actually also applies to Ozark. It would be great if it could be developed under e.g. Apache 2.0
So, what you should do is to fill out the survey by following the link below:
The first time I attended JavaOne was 1999 and I have only missed it once since then. Sadly, this year will be the second time I am not present there. I have become kind of used to the week in San Francisco every year. It is the perfect way to start the summer with a visit to that beautiful city. Since it is in September this year, it would probably been the perfect way to end the summer (…we have short summers here in Scandinavia…).
I will for sure miss the massive input and inspiration this conference gives me and enables me to keep up-to-date on everything that is happening in the Java Community. This year’s conference is also special since it is the first time Oracle is hosting the show. It feels like a good idea to co-host it with Oracle Develop and I hope it will be a success to be continued. Next year, I will definitely be attending, one way or the other…!
It is amazing what a month in South Africa does to you. Things like Twitter, Facebook and blogging becomes pretty distant… But now I have been home for a while, Sun+Oracle has been approved by EU, I have finished (almost) my kitchen renovation and celebrated yet another birthday, so it is time to get started again!
After a discussion with a colleague at a coffee break this morning, I decided to try out Google App Engine. The getting started guide is a great place to start. It gives you a great walk-through setting up the development environment and creating a sample application. Since I am no big fan of Eclipse, I installed the Google App Engine Plugin for NetBeans. After resolving a small issue regarding path settings (see solution here), it was up and running perfectly.
Next steps will be to figure out what changes that has to be made to my existing applications to be able to deploy them on app engine. Probably the server side of YouOweMe will be the first candidate. Or maybe the KanbanFX server. I haven’t decided yet…