Wednesday Dec 21, 2016

Java EE 8 - Community Survey Results and Next Steps

Thanks to everyone who took the time to complete the Java EE Community Survey!  1693 of you completed the survey, and ranked the importance of 21 different component technologies included in our proposed Java EE roadmap presented at JavaOne 2016.  For more detail on this roadmap, watch Anil Gaur’s Keynote at JavaOne 2016.

Detailed findings and analysis can be found here and the chart below summarizes community ranking of component technologies surveyed, from most important to least important.

Score ranking


Conclusions

We reviewed the Java EE 8 proposal based on these survey results, and additional review of implementation considerations.  We have concluded that:
  • REST (JAX-RS 2.1) and HTTP/2 (Servlet 4.0) have been voted as the two most important technologies surveyed, and together with JSON-B represent three of the top six technologies. Much of the new API work in these technologies for Java EE 8 is already complete.  There is significant value in delivering Java EE 8 with these technologies, and the related JSON-P updates, as soon as possible. 
  • CDI 2.0, Bean Validation 2.0 and JSF 2.3 were not directly surveyed, but significant progress has been made on these technologies and they will be included in Java EE 8.
  • We considered accelerating Java EE standards for OAuth and OpenID Connect based on survey feedback.  This could not be accomplished in the Java EE 8 timeframe, but we’ll continue to pursue Security 1.0 for Java EE 8.
  • At JavaOne, we had proposed to add Configuration and Health Checking to Java EE 8, and these technologies rank reasonably high in survey results.   However, after additional review we believe the scope of this work would delay overall Java EE 8 delivery.  We have concluded it is best to defer inclusion of these technologies in Java EE in order to complete Java EE 8 as soon as possible.
  • Management, JMS, and MVC ranked low in survey results, and this ranking supports our proposal to withdraw new APIs in these areas from Java EE 8. We have withdrawn the JSRs for Management 2.0 (JSR 373), and JMS 2.1 (JSR 368), and are investigating a possible transfer of MVC to another community member or organization in order to complete JSR 371 as a stand-alone component.
We will revise the Java EE 8 proposal consistent with these findings.   The table below summarizes Oracle's original and revised Java EE 8 proposals, focusing on areas of new API development:

Revised proposal Original and Revised Java EE 8 Proposals

Next Steps

Based on the survey results and implementation considerations discussed above, we’ll move forward with the revised Java EE 8 proposal.   If you have further feedback on Java EE 8, please join the project (if you are not already a member), and post to users@javaee-spec.java.net for further discussion.

Monday Nov 28, 2016

A quick update on Java EE

Oracle is notifying the Java Community that it will withdraw the JSRs for Management 2.0 (JSR 373), and JMS 2.1 (JSR 368).  In response to community feedback, Oracle is investigating a possible transfer of MVC to another community member or organization in order to complete JSR 371 as a stand-alone component.

These changes are consistent with the revised Java EE roadmap presented at JavaOne 2016, in which Oracle proposed to remove these JSRs from Java EE 8.  For more details, see Anil Gaur’s portion of the JavaOne 2016 Keynote and Linda DeMichiel’s Java EE 8 Update presentation.  The changes also reflect the importance ranking of these technologies in Oracle's follow-up Java EE community survey.  Management, JMS, and MVC were ranked at or near the bottom of all technologies which were surveyed.  We expect to have an update soon describing the overall survey results and next steps for Java EE 8.

Thursday Jan 14, 2016

Java EE @ Java Day Mexico

Java2Days 2015 was held on November 2-4 in Sofia, Bulgaria. It is far and away the largest Java conference in the Balkans region and now perhaps one of the most important conferences in Europe as a whole. This was another great year for this rapidly growing, vibrant event. It attracted a host of international and local speakers including Patrick Curran, Geertjan Wielenga, Ivan St. Ivanov, Vladimir Pavlov and Andrew Lombardi. Topics included Java SE, Java EE, HTML5/JavaScript, mobile, and the cloud.

I did talks on real world microservices with Java EE and aligning Java EE with the reactive movement. I also ran a lab on JMS 2. More details, including slide decks, session video and code, posted on my personal blog.

Tuesday Jan 05, 2016

Java EE @ Java Day Mexico

Java Day Mexico 2015 was held on August 29 in historic Guadalajara. I was truly honored to be invited to speak here and this is a very fitting first trip report of the year. Java Day Mexico is the largest Java developer conference in Mexico and it is led primarily by Mexican JUGs. This was another highly successful year for the growing conference. Speakers included Venkat Subramaniam, Pratik Patel, Bruno Borges and Heather VanCura. Topics included Java SE, Java EE, HTML5, JavaScript, architecture, JVM languages, mobile and the cloud.

I had five talks total, essentially back-to-back. I did talks on Java EE 7, Java EE 8, real world microservices with Java EE, aligning Java EE with JavaScript/HTML5 rich clients and open standards. More details, including slide decks and code, posted on my personal blog.

Tuesday Nov 17, 2015

2015 JCP Award Winners Announced

An open standard like Java EE involves a lot of hard work from a lot of different groups of people. The hard work of these people, largely selflessly, benefit countless Java developers. For specification leads the work in the JCP is often far beyond just a job. I have seen the same to be true of many vendor experts on a specification. Especially admirable are the independents that contribute to specifications largely on their own time as well as Adopt-a-JSR participants. The annual Java Community Process awards is a small way of recognizing some of these great people and their work. There are four different awards:

  • JCP member or participant of the year
  • Outstanding specification lead
  • Most significant JSR
  • Outstanding Adopt-a-JSR participant

The following are the nominations I had personally made for this year's awards (in no particular order):

  • Josh Juneau (for outstanding Adopt-a-JSR participant)
  • Arjan Tijms (for JCP member of the year)
  • Adam Bien (for JCP member of the year)
  • David Blevins (for JCP member of the year)
  • Ivar Grimstad (for JCP member of the year)
  • Antoine Sabot-Durand (for outstanding specification lead)
  • Manfred Riem and Santiago Pericas-Geertsen jointly (for outstanding specification lead)
  • CDI 2 (for most significant JSR)
  • MVC 1.0 (for most significant JSR)

The winners of the JCP awards were announced in a lavish party during JavaOne 2015. I am happy to see that one of my nominations - Adam Bien - won this year and the others were strong contenders. I am also happy to see the other winners - Anatole Tresch (for outstanding specification lead), JSR 363 - Units of Measurement API (for most significant JSR) and Rajmahendra Hegde/JUG Chennai (for outstanding Adopt-a-JSR participant). In particular JUG Chennai has long been a strong supporter for Java EE through the Adopt-a-JSR program. I would encourage you to read a bit about the winners and all of the nominees. It's no surprise Java EE has a strong showing in the nominations. These are all true Java heroes in my book. All the details are posted on jcp.org for you to take a look at.

Wednesday Aug 26, 2015

JSON-P 1.1/Java EE 8 Webinar at Istanbul JUG

The Istanbul JUG has been spinning up it's participation in Java EE 8 through Adopt-a-JSR. They have already taken an interest in JSON-P 1.1, MVC and JMS 2.1 with many more Java EE 8 JSRs on their radar. The Istanbul JUG is the first Turkish JUG to engage with Adopt-a-JSR and Java EE 8.

Towards this end the JUG is hosting an online webinar on the proposed changes in JSON-P 1.1 to better involve JUG members. These changes include support for JSON Pointer, JSON Patch and JSON Patch-Merge as well as Java SE 8 alignment. They will be using the recently released specification early draft to drive the discussion. The meeting will be hosted online so anyone can participate. The event will be held on September 3rd, 9:00 PM Istanbul time. Details of the meeting can be found here. The linked page also includes a registration form for the webinar. Note the meeting will be in Turkish.

The Adopt-a-JSR program is one the key things we are trying hard to do differently for Java EE 8 with the goal making this version of the platform one of the most community driven technologies ever developed. Here are just some of the things you could help do via the program right now:

The full details for Adopt-a-JSR/Java EE 8 is always available here. Remember that if you have any questions on any of this, you are always welcome to drop me a note.

Wednesday Aug 12, 2015

Adopt-a-JSR/Java EE 8 at Istanbul JUG

The Istanbul JUG has been spinning up it's participation in Java EE 8 through Adopt-a-JSR. They have already taken an interest in MVC and JMS 2.1 with many more Java EE 8 JSRs on their radar. The Istanbul JUG is the first Turkish JUG to engage with Adopt-a-JSR and Java EE 8.

Towards this end, the JUG is hosting an event on Adopt-a-JSR to better involve JUG members. The intent of the meeting is to introduce the program and how members can participate in various Java EE 8 JSRs. The meeting will be held on August 13th, 7:30 PM at the Koc University Incubation center. Details of the meeting can be found here (the page is in Turkish and geared towards Istanbul residents).

The Adopt-a-JSR program is one the key things we are trying hard to do differently for Java EE 8 with the goal making this version of the platform one of the most community driven technologies ever developed. Here are just some of the things you could help do via the program right now:

The full details for Adopt-a-JSR/Java EE 8 is always available here. Remember that if you have any questions on any of this, you are always welcome to drop me a note.

Monday Aug 10, 2015

Help Recognize Java Community Process (JCP) Heroes!

An open standard like Java/EE involves a lot of hard work from a lot of different groups of people. The hard work of these people, largely selflessly, benefit countless developers. For specification leads the work in the JCP is often far beyond just a job. I have seen the same to be true of many vendor experts on a specification. Especially admirable are the independents that contribute to specifications largely on their own time as well as Adopt-a-JSR participants. The annual Java Community Process awards is a small way of recognizing some of these great people and their work. This year's award nominations are now open - you should read the details here. There are four different awards:

  • JCP member or participant of the year
  • Outstanding specification lead
  • Most significant JSR
  • Outstanding Adopt-a-JSR participant

The awards will be presented at JavaOne 2015. These are the nominations I have personally made already:

  • Josh Juneau (for outstanding Adopt-a-JSR participant)
  • Arjan Tijms (for JCP member of the year)
  • Adam Bien (for JCP member of the year)
  • David Blevins (for JCP member of the year)
  • Ivar Grimstad (for JCP member of the year)
  • Antoine Sabot-Durand (for outstanding specification lead)
  • Manfred Riem and Santiago Pericas-Geertsen jointly (for outstanding specification lead)
  • CDI 2 (for most significant JSR)
  • MVC 1.0 (for most significant JSR)
Are there others that deserve nomination this year? If so, please don't hesitate to submit the nomination yourself using the very straightforward form. The form is only open until August 17th, so please do hurry!

Tuesday Aug 04, 2015

JSON-P 1.1 Early Draft Released!

The JSR 374 Expert Group has just posted the first Early Draft of the 'Java API for JSON Processing specification version 1.1' also known as 'JSON-P 1.1 EDR1'. 

This is the first cut of the JSON-P 1.1 API that is slated for inclusion in Java EE 8. The scope of any specification might (slightly) evolve, things might be removed and/or added. For example, the support of JSON Merge Patch wasn't originaly planned when this JSR was started but it is now part of EDR1. On the other hand, support for 'Big JSON' is still being discussed but again, it's a draft, the API will still evolve. 

At this stage, it is important that you read the Javadoc and try the API to provide feedback. There are still plenty of time to adjust things so feedback is really important. To easily get started on JSON-P 1.1, you might want to check those ressources.

On a practical note, the Javadoc *is* the specification so don't look for a PDF specification document. The Early Draft period will be closed on October, 2. In the meantime, the EG is eagerly awating your feedback! As usual, comments and feedback should be sent to the JSON-P users mailing list.

Wednesday Jul 15, 2015

Java EE @ GIDS 2015

The Great Indian Developer Summit (GIDS) 2015 was held on April 21-24 in Bangalore, with a follow-on GIDS.Mini held on April 25 in Hyderabad. GIDS is very easily the largest and most significant developer event in South Asia. Perhaps reflecting global demographic shifts in software development, GIDS may also now have become one of the largest developer conferences in the world. It was truly a privilege to be able to speak at the event and I am even more fortunate to have had a number of Java EE sessions there. While in India I am very happy to say I spoke at a couple of entirely community driven JUG events at the Madras JUG (Chennai) and the Hyderabad JUG before and after GIDS.

At GIDS and GIDS.Mini I delivered talks on JavaScript/HTML 5 + Java EE, Reactive + Java EE and DDD/CargoTracker + Java EE. The Madras JUG hosted multiple talks on the same day before GIDS. I delivered talks on the JCP, open standards and Java EE, Java EE 8 as well as Microservices + Java EE at the Madras JUG. The Hyderabad JUG hosted the official Java EE 7 Hands-on-Lab as a full day workshop after GIDS.Mini. More details on the sessions and the trip to India, including slide decks and code, posted on my personal blog.

Tuesday May 05, 2015

Java EE 7 Maintenance Review Draft

The Java EE 7 Platform Specification (JSR 342) is currently going through a maintenance release process. If you check the proposed changes, you will see that this update is really about clarifying the specification itself; none of the proposed changes will impact the Java EE 7 RI nor the TCK. So clearly, only the specification itself will be slightly impacted.

It seems that a consensus has now been reached amongst the Java EE 7 Experts Group over the proposed changes and if everything goes well, the update will soon be submitted to the JCP to formally initiate the Maintenance Review process. 

Monday Apr 13, 2015

A Preview of Java EE @ GIDS 2015

The Great Indian Developer Summit (GIDS) 2015 will be held on April 21-24 in Bangalore, with a follow-on GIDS.Mini to be held on April 25 in Hyderabad. GIDS is very easily the largest and most significant developer event in South Asia. Perhaps reflecting global demographic shifts in software development, GIDS may also now have become one of the largest developer conferences in the world. It is truly a privilege to be able to speak at the event and I am even more fortunate to have a number of Java EE sessions there. While in India I am very happy to say I will also be speaking at a couple of entirely community driven JUG events at the Madras JUG (Chennai) and the Hyderabad Java user group before and after GIDS.

Below are a preview of my talks at GIDS:

  • Using JavaScript/HTML5 Rich Clients with Java EE 7: This is my thus far extremely popular and well-received talk on using Java EE 7 as an effective back-end for JavaScript/HTML5 rich clients. If this is a development model that interests you, the talk should give you some valuable tools to get started. Although I use AngularJS for my examples, the basic participles from a Java EE 7 perspective apply to any JavaScript/HTML5 or native/hybrid mobile client. The slides for the talk are on SlideShare while the demo code is on GitHub. Besides Bangalore, I will be repeating this talk in Hyderabad for GIDS.Mini.
  • Reactive Java EE - Let Me Count the Ways!: This is one of my newest and thus far also extremely popular and well-received talks. It explores how Java EE 7 APIs like JMS, MDB, EJB @Asynchronous, JAX-RS/Servlet/WebSocket async, CDI events and Java EE concurrency utilities along with Java SE 8 features such as lambdas and Completable Futures work to align the platform with the reactive movement. The slides for the talk are here.
  • Applied Domain-Driven Design Blue Prints for Java EE: This talk essentially introduces the Cargo Tracker project. In the talk I cover the very basics of DDD, discuss how DDD constructs apply to Java EE and show how the mapping can be done using Cargo Tracker. The slides for the talk are here.

  • I am very honored that the Madras JUG and Hyderabad JUG invited me to speak to their members while in India for GIDS and very proud that I was able to accept. The GIDS organizers were very gracious in extending their goodwill to support the community. Both the JUGS in Madras and Hyderabad have arranged all day events in slightly different formats, which is awesome.

    The Madras JUG will host multiple talks on the same day. I will be delivering the opening keynote as well as a technical session. For the keynote I will be delivering my thus far very well-received talk titled Why Open Standards and Java/EE Matter. In the talk I will discuss the basic value proposition of open standards like Java and Java EE in maintaining a healthy, competitive, multi-vendor ecosystem. The slides for the talk are here. For the technical talk, I'll be delivering the latest update on Java EE 8. Besides covering the current state of Java EE 8 I also cover how you can get involved in the process including through highly inclusive programs like Adopt-a-JSR. The slides for the Java EE 8 talk are also on SlideShare. The Madras JUG event will be held before GIDS and the details for the event are here.

    The Hyderabad JUG is hosting the Java EE 7 Hands-on-Lab as a full day workshop. This is essentially our flagship lab/workshop at the moment covering Java EE 7. It has always proven popular so far and it is a great way to get some hands-on experience with Java EE 7. The Hyderabad JUG event will take place after GIDS.Mini and the details are here.

    Hope to see you in India soon during at least one of these events? As always never hesitate to reach out to me if there is something I can help with or if you have a question. I'll bring along some Java/Java EE goodies you are welcome to :-).

    Wednesday Mar 18, 2015

    Java EE Management API 2.0 (JSR 373) Spins Up

    As most of you know the initial wave of Java EE 8 JSRs have been underway for a little while now, including the platform JSR itself, CDI 2, JSON-B, JMS 2.1, Servlet 4, JAX-RS 2.1, MVC and JSF 2.3. Three more Java EE 8 JSRs have been more recent additions - Java EE Security, JSON-P 1.1 and Java EE Management 2. The Java EE Management API 2 (JSR 373) had been the last of these to truly spin up and I am happy to report that it too has now gone fully into high gear under the leadership of specification lead Martin Mares. Though the initial expert group has already formed, you should still feel free to join as an expert if you want - just go to the JSR page linked above to nominate yourself.

    Although it does not seem to get as much press thus far, this JSR is actually potentially one of the most interesting and useful parts of Java EE 8. For those familiar, it is essentially a modernization of the very dated "J2EE Management" (JSR 77) API. The intention of the old API was to allow for managing all kinds of resources on an application server - JMS resources, JDBC resources, JCA resources, JavaMail resources, drivers, deployment artifacts, EJBs, Servlets, servers, domains and so on. For various reasons the JSR saw limited success - some have argued that the API was overly complex, abstract and cumbersome. It certainly seems dated today as it is largely centered on EJB remote interfaces.

    The new management API is a great chance to take a fresh look at the problem domain using an updated tool-set. Unlike JSR 77, the new API will make use of REST, SSE and potentially WebSocket. For those familiar with the popular GlassFish REST management interface, we can reasonably expect to see something similar. From an industry standpoint, this means being able to work with all Java EE 8 application servers using a uniform, predictable cross-platform API from all kinds of tools from simple HTTP command-line clients to Chef and Puppet, whether on the cloud or on premise. Though not strictly part of JSR 77, the new management API is also slated to handle deploying artifacts instead of simply managing/monitoring them, which is also extremely useful (for the curious, this was the domain of another very dated relatively obscure API -  "J2EE Deployment" or JSR 88).

    Note that you can always participate in a JSR without officially being part of the expert group by simply subscribing to the JSR user alias. In case of Java EE Management API 2.0 that alias is users at javaee-mgmt dot java dot net - go to the Java EE Management API 2.0 java.net project page to subscribe. Also remember that you can always contribute on an even more lightweight format through Adopt-a-JSR.

    Wednesday Feb 11, 2015

    Java EE @ Java2Days 2014

    Java2Days 2014 was held on November 17-19 in Sofia, Bulgaria. It is far and away the largest Java conference in the Balkans region and now perhaps one of the most important conferences in Europe as a whole. This was another great year for this rapidly growing, vibrant event. It attracted a host of international and local speakers including Arun Gupta, Geertjan Wielenga, Roberto Cortez, Ivan St. Ivanov, Andy Gumbrecht and Andrew Lombardi. Topics included Java SE, Java EE, HTML5/JavaScript, mobile, OSGi, IoT and the cloud. I am extremely grateful that the organizers invited me again this year and very glad that I was able to accept.

    Java EE had a strong showing this year:

    • What's Coming in Java EE 8 - me
    • Nuts and Bolts of WebSocket - Arun
    • Java EE 7 Hands-on Lab - Arun, Ivan and me
    • Apache Tomcat to Apache TomEE in 1-n Steps - Andy Gumbrecht
    • Java EE 7 Batch Processing in the Real World - Roberto and Ivan
    • Coding for Desktop and Mobile with HTML5 and Java EE 7 - Geertjan
    • JavaScript/HTML5 Rich Clients Using Java EE 7 - me, Ivan
    • Forge and Arquillian Hands-on Lab - Ivan, me
    • Why Open Standards and Java/EE Matter (to You) - me

    More details on the sessions and Java2Days, including the slide decks, video and code, posted on my personal blog.

    Thursday Jan 22, 2015

    Java EE @ JMaghreb 2014

    JMaghreb 2014 was held on November 4-6. Organized by the Morocco JUG, JMaghreb is one of the largest Java developer conferences in North Africa. This was yet another brilliant year for the conference. Speakers included Patrick Curran, Werner Keil, Johan Vos, Mohamed Taman, Hazem Saleh, Paul Bakker, Romain Manni-Bucau, Abdelmonaim Remani, Simon Ritter, Angela Caicedo and Mike Milinkovich. Topics included Java SE, Java EE, JavaFX, HTML5/JavaScript, mobile, NoSQL, OSGi, Big Data and the cloud. I am extremely grateful that the organizers invited me and very glad that I was able to accept.

    I delivered talks on open standards/the JCP, aligning the JavaScript ecosystem with Java EE 7, aligning Java EE with Reactive Programming and Java EE 8. More details on the sessions and JMaghreb, including the slide decks and code, posted on my personal blog.