Tuesday Dec 24, 2013

Season's Greetings and Happy New Year from the GlassFish/Java EE Team!

On behalf of the GlassFish and Java EE team at Oracle I wish you and your family Season's Greetings and a very Happy New Year!

As you know this has been quite an eventful year for us - especially with the release of Java EE 7 and GlassFish 4 as well as the now ongoing survey effort to help drive the agenda for Java EE 8 and GlassFish 5, not to mention efforts like the revamped GlassFish.org community site. We are ever thankful for your support and we hope to continue to try our best to serve your interests, perhaps against what many would consider pretty tall odds.

In the coming year, we will look forward to working harder than ever in engaging you through the Java EE open standard, the GlassFish code base, Adopt a JSR, Java EE Blue Print projects and this humble community blog among many other existing and upcoming efforts.

Thanks and best wishes once again. We hope to see you next year!

Friday Dec 20, 2013

Server Sent Events (SSE) in Glassfish/Jersey

As you know, HTTP is a stateless protocol. For most use cases in the enterprise, the statelessness of HTTP is a huge boon for scalability - a benefit that is also extended to REST. However, there is a certain class of arguably emerging use cases for which the stateless nature of HTTP is actually a scalability challenge. These use cases require the bidirectional, full-duplex, asynchronous characteristics of stateful protocols such as TCP. Examples include chat-like online collaboration, stock-ticker like command-control/monitoring, online gaming and the like. WebSocket (and the Java API for WebSocket newly included in Java EE 7 :-)) is ideal for these cases. Between the seemingly diametric opposites of plain HTTP and WebSocket, there's also Server Sent Events (SSE). SSE is aimed at yet another scenario - a steam of events generated by the server and consumed passively by the client. Although not standardized in JAX-RS 2/Java EE 7, Jersey/GlassFish includes support for SSE.

In an very detailed blog post, Rahman Usta of the Istanbul JUG explains SSE and demonstrates a non-trivial use of the Jersey/GlassFish support for SSE.

Wednesday Dec 18, 2013

Want to Work on WebSocket/Tyrus? Oracle is Hiring!

The WebSocket team at Oracle is looking for another key contributor! If you want to become part of the dynamic, high-profile team that is working on the industry leading Java API for WebSocket (JSR 356) reference implementation Tyrus and related open standards, projects and products like Java EE, GlassFish and WebLogic, this is the time to update your resume/CV and share it with us. The job is based in Prague, Czech Republic.

The formal details of the job are on LinkedIn.

If you are interested and have any questions, please feel free to post your questions here, get in touch with the Tyrus team or drop an email directly to pavel dot bucek at oracle dot com.

Wednesday Dec 11, 2013

'Come and Play! with Java EE 7' in London!

"The French and the British are such good enemies that they can't resist being friends."
(Peter Ustinov)

Our friends of the London GlassFish User Group are planning their next event on the 9th of January 2014. For that occasion, Antonio Goncalves (Paris JUG, Devoxx France, Java EE EG Member, author...) will dare to cross the Channel to talk on Java EE 7.


'Come and Play! with Java EE 7'

As you know, Java EE is old-fashioned, heavyweight, cumbersome, and made mostly of boilerplate code. Who would develop a modern Web application with such a technological stack? Who would start a heavy application server, deploy some EJBs, and wait ages for integration tests to run - only to end up with an ugly Web page?

If you like HTML5 front ends with responsive design, sexy graphical components, manageable REST interfaces, easy asynchronous processing, reliable messaging, and transactional databases, come to this session to see two developers writing and testing a real Java EE 7 Web application within 1 hour.

More info can be found here.

Monday Nov 18, 2013

JMS2@London GlassFish User Group

Some of you may be aware that the London GlassFish User Group got launched a few months ago. The group is organized and sponsored by C2B2 Consulting. C2B2 continues to offer GlassFish support and C2B2 Technical Director Steve Millidge recently offered his pretty level-headed reaction to the discontinuation of Oracle commercial support for GlassFish - it's worth reading for perspective.

The Manchester, UK based JMS 2 specification lead Nigel Deakin recently led a session in the group on the new JMS 2/Java EE 7 features in GlassFish 4. The video for the talk is posted below. There's also my own slide deck on JMS 2 posted on SlideShare (with source PDF and abstract).

Do consider inviting Nigel to give a JMS 2 talk if you are relatively local to him. Also, consider supporting the group if you are local to it. More recently, Nigel presented a JavaOne 2013 technical session titled Easier Messaging with JMS 2.0 as well as a Birds-of-a-Feather session titled What’s Next for JMS?. Stay tuned to Parleys.com for video of the sessions to be posted (the slide decks are already posted on the linked JavaOne Content Catalog).

Friday Nov 15, 2013

MOXy is the New Default JSON-Binding Provider in GlassFish 4

When I talk about JAX-RS 2, JSON-P and Java EE 7 a surprising number of people seem to assume that GlassFish and Jersey does not support JSON binding and just supports lower level JSON processing. It is in fact correct that Java EE 7 has standardized JSON processing (via JSON-P) but not a JSON binding API yet (although such a standardized API is a very strong consideration for Java EE 8 and would build upon the JSON-P work). However Jersey, the popular JAX-RS reference implementation, has long had strong support for JSON binding via MOXy, Jackson and Jettison (now it also has support for JSON-P of course). In fact, in GlassFish/Jersey the default JSON binding provider is MOXy. If you are not familiar with MOXy, it is a very interesting project part of EclipseLink (the JPA reference implementation) that translates JAXB annotations to JSON. In a code driven post, Blaise Doughan of the Oracle EclipseLink team explains the details of using MOXy with JAX-RS in GlassFish.

For more details on Jersey's support for JSON, you should check out the very well-written documentation.

Monday Nov 11, 2013

HTTP Session Invalidation in Servlet/GlassFish

HTTP session invalidation is something most of us take for granted and don't think much about. However for security and performance sensitive applications it is helpful to have at least a basic understanding of how it works in Servlets.

In a brief code centric blog post Servlet specification lead Shing Wai Chan introduces the APIs for session invalidation and explains how you can fine tune the underlying reaper thread for session invalidation when it is needed in GlassFish 4. Don't hesitate to post a question here if the blog is not clear, this is a relatively esoteric topic...

Thursday Nov 07, 2013

6 Facts About GlassFish Announcement

To help clarify the message about the recent roadmap for GlassFish, I decided to put together 6 facts about the announcement, future of GlassFish, and the Java EE platform as a whole: 

"Since Oracle announced the end of commercial support for future Oracle GlassFish Server versions, the Java EE world has started wondering what will happen to GlassFish Server Open Source Edition. Unfortunately, there's a lot of misleading information going around. So let me clarify some things with facts, not FUD."

Read full story here

Monday Nov 04, 2013

Java EE and GlassFish Server Roadmap Update

2013 has been a stellar year for both the Java EE and GlassFish Server communities. On June 12, Oracle and its partners announced the release of Java EE 7, which delivers on three major themes – HTML5, developer productivity, and meeting enterprise demands. The online event attracted over 10,000 views in the first two days!

During the online event, Oracle also announced the availability of GlassFish Server Open Source Edition 4, the world's first Java EE 7 compatible application server. The primary role of GlassFish Server Open Source Edition has been, and continues to be, driving adoption of the latest release of the Java Platform, Enterprise Edition. Oracle also announced the Java EE 7 SDK, which bundles GlassFish Server Open Source Edition 4, as a Java EE 7 learning aid. Last, Oracle publicly announced the Java EE 7 reference implementation based on GlassFish Server Open Source Edition 4. Java EE is a popular platform, as evidenced by the 20+ Java EE 6 compatible implementations available to choose from.

After the launch of Java EE 7 and GlassFish Server Open Source Edition 4, we began planning the Java EE 8 roadmap, which was covered during the JavaOne Strategy Keynote. To summarize, there is a lot of interest in improving on HTML5 support, Cloud, and investigating NoSQL support. We received a lot of great feedback from the community and customers on what they would like to see in Java EE 8.

As we approached JavaOne 2013, we started planning the GlassFish Server roadmap. What we announced at JavaOne was that GlassFish Server Open Source Edition 4.1 is scheduled for 2014. Here is an update to that roadmap.

  • GlassFish Server Open Source Edition 4.1 is scheduled for 2014
  • We are planning updates as needed to GlassFish Server Open Source Edition, which is commercially unsupported
  • As we head towards Java EE 8:
    • The trunk will eventually transition to GlassFish Server Open Source Edition 5 as a Java EE 8 implementation
    • The Java EE 8 Reference Implementation will be derived from GlassFish Server Open Source Edition 5. This replicates what has been done in past Java EE and GlassFish Server releases.
  • Oracle will no longer release future major releases of Oracle GlassFish Server with commercial support – specifically Oracle GlassFish Server 4.x with commercial Java EE 7 support will not be released.
  • Commercial Java EE 7 support will be provided from WebLogic Server.
  • Oracle GlassFish Server will not be releasing a 4.x commercial version

Expanding on that last bullet, new and existing Oracle GlassFish Server 2.1.x and 3.1.x commercial customers will continue to be supported according to the Oracle Lifetime Support Policy.

Oracle recommends that existing commercial Oracle GlassFish Server customers begin planning to move to Oracle WebLogic Server, which is a natural technical and license migration path forward:

  • Applications developed to Java EE standards can be deployed to both GlassFish Server and Oracle WebLogic Server
  • GlassFish Server and Oracle WebLogic Server have implementation-specific deployment descriptor interoperability (here and here).
  • GlassFish Server 3.x and Oracle WebLogic Server share quite a bit of code, so there are quite a bit of configuration and (extended) feature similarities. Shared code includes JPA, JAX-RS, WebSockets (pre JSR 356 in both cases), CDI, Bean Validation, JSF, JAX-WS, JAXB, and WS-AT.
  • Both Oracle GlassFish Server 3.x and Oracle WebLogic Server 12c support Oracle Access Manager, Oracle Coherence, Oracle Directory Server, Oracle Virtual Directory, Oracle Database, Oracle Enterprise Manager and are entitled to support for the underlying Oracle JDK.

To summarize, Oracle is committed to the future of Java EE.  Java EE 7 has been released and planning for Java EE 8 has begun. GlassFish Server Open Source Edition continues to be the strategic foundation for Java EE reference implementation going forward. And for developers, updates will be delivered as needed to continue to deliver a great developer experience for GlassFish Server Open Source Edition. We are planning for GlassFish Server Open Source Edition 5 as the foundation for the Java EE 8 reference implementation, as well as bundling GlassFish Server Open Source Edition 5 in a Java EE 8 SDK, which is the most popular distribution of GlassFish. This will allow GlassFish releases to be more focused on the Java EE platform and community-driven requirements. We continue to encourage community contributions, bug reports, participation on the GlassFish forum, etc. Going forward, Oracle WebLogic Server will be the single strategic commercially supported application server from Oracle.

Disclaimer: The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract.It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

Thursday Oct 10, 2013

GlassFish and Friends Party Photos!

As you may know, the now iconic GlassFish and Friend Party took place 8 PM - 10 PM, Sunday, September 22nd at the much coveted Thirsty Bear on the first day of JavaOne 2013. As with previous years, it was a great success with a full house, old friends, new friendships, good conversations and a good time. The photos below speak for themselves (many thanks to Bruno and Arun for taking them):

Just some of the folks attending included Adam Bien, Alexandra Huff, Alexis MP, Anil Gaur, Arun Gupta, Ben Evans, Blaise Doughan, Bruno Borges, David Delabassee, David Heffelfinger, Doug Clarke, Ed Bratt, Ed Burns, Edgar Martinez, Heather VanCura, Jaromir Hamala, Johan Vos, John Clingan, Kerry Wilson, Kirk Pepperdine, Ludovic Champenois, Makito Hashiyama, Mark Heckler, Martijn Verburg, Melissa Jacobus, Mike Lehmann, Murat Yener, Nigel Deakin, Patrick Curran, Paul Sandoz, Rajiv Mordani, Romain Grecourt and Shaun Smith. Regrettably, I could not be there myself this year. Perhaps next year we will see you at the party?

Stay tuned for the videos/slide decks from the GlassFish stories, roadmap and executive panel from the GlassFish Sunday Community event...

Tuesday Oct 08, 2013

JavaOne 2013 Trip Report

JavaOne 2013 San Francisco was held September 22-26. This was a particularly important year from a Java EE standpoint with the release of EE 7 and GlassFish 4 - the content reflected this fact. JavaOne 2013 can certainly be considered a success by most measures. It's clear the best and the brightest in the Java ecosystem continue to see participating in JavaOne as a badge of honor and a privilege.

Besides booth duty at the GlassFish 4/Java EE 7 kiosk on Monday/Tuesday, I led the GlassFish Community Event on Sunday, had a BOF titled "What’s New with Bean Validation and Expression Language in Java EE 7" on Monday, led the GlassFish BOF on Tuesday and had a technical session titled "Android and iOS Development with Java EE 7" on Thursday. More details on the sessions and JavaOne, including the slide decks and code, posted on my personal blog.

Sunday Sep 15, 2013

Java EE/GlassFish@JavaOne 2013

With JavaOne around the corner, at least some of you are probably planning out your session schedules next week or the week after. To help you navigate the sessions you might want to attend, I thought I'd write a brief entry highlighting some of the key Java EE/GlassFish related content this year. This is obviously a pretty important JavaOne with the Java EE 7/GlassFish 4 releases, so there's a lot of it.

Below are the sessions I think you should seriously consider broken out by day (to add a session to your schedule, click on the session ID link and use the Schedule Builder widget on the top right hand side):

Sunday

  • UGF9871: GlassFish Community: The Foundation for Opportunity - if you are around on Sunday, don't miss this one. It's packed full of great content - the GlassFish roadmap, an Orale executive panel, Java EE/GlassFish customer stories. More details on GF.org.

Monday

  • CON5919: Easier Messaging with JMS 2.0 - Learn about JMS 2 from the specification lead Nigel Deakin himself.
  • CON3733: JSR 341: Expression Language 3.0 - Learn about EL 3 from the specification lead himself.
  • CON6617: Java EE 7: What’s New in the Java EE Platform - A great overview of EE 7 from none other than the specification leads Bill and Linda.
  • CON3436: Inside the Java WebSocket API - Learn about the key WebSocket API from the specification lead himself.

Tuesday

  • CON3294: JSF 2.2 New Features in Context - A relevant and insightful overview of JSF 2.2 from the specification lead Ed Burns himself.
  • HOL2147: Java EE 7 Hands-on Lab - Get a first hand taste of developing with Java EE 7 yourself. Materials available on GF.org.
  • BOF2795: Meet the Java EE Specification Leads - Meet the Java EE specification leads yourself and give them your feedback on Java EE 7 and beyond.
  • BOF5972: What’s Next for JMS? - Get involved in the future of JMS.
  • BOF7796: GlassFish Community BOF - Meet the folks responsible for developing GlassFish and give them your feedback.

Wednesday

  • CON3319: GlassFish 4 Overview: What’s Under the Hood? - Insight into the innovations in GlassFish 4 beyond Java EE 7 itself.
  • CON7731: JSR 353: JSON Processing API in Action - Learn about the foundational JSON-P API from the specification lead himself.
  • CON5356: Finally, JAX-RS 2.0 Is Final: A New Standard in RESTful Web Services Development - Learn about the changes in JAX-RS 2 from the specification lead Santiago himself.

Thursday

  • CON3868: Android and iOS Development with Java EE 7 - A code driven look at using Java EE 7 with Android and iOS native applications.
  • CON3598: From the Spring Framework to Java EE 7 - More insight into moving to Java EE from Spring.
  • CON2406: Java EE 8 and Beyond - An important look into the future of Java EE.
  • CON11031: Building Oracle NoSQL Database Applications with EclipseLink - A look into marrying NoSQL and Java EE.
  • CON7948: JSR 236: Introduction to Concurrency Utilities for Java EE 1.0 - Learn about the much awaited Java EE Concurrency Utilities from the specification lead himself.

This of course is just the tip of the iceberg. For even more sessions, checkout the Java EE Focus On page on the JavaOne site. We'll of course have a Java EE/GlassFish presence at the demo grounds as well.

Happy JavaOne and hope to see you around!

Wednesday Sep 11, 2013

Video Interviews on the GlassFish Community Event

I did a couple of brief video interviews talking about the JavaOne Sunday GlassFish Community Event - the first with celebrated Java advocate Steve Chin and the second with Bob Rhubart of the OTN Architect Community. Feel free to check it out and don't hesitate to sound off if you have further questions I can help answer.

You still have an opportunity to pose questions to the executive panel by sending me a quick email or attending the event first-hand. All of the event details including how to schedule for the session to secure your spot is posted on GlassFish.org.

Come to the event and kick off a great JavaOne by voicing your support for the GlassFish and Java EE communities!

Monday Sep 02, 2013

Why Join the JavaOne GlassFish Community Event?

If you are active in the GlassFish community, you probably already know about the GlassFish Community Event that takes place on the Sunday that kicks off JavaOne San Francisco. The event has long been the rallying point for the GlassFish community at JavaOne.

This year, the event is taking place from 9:15 AM to 11:15 AM. The title of the event is GlassFish Community: The Foundation for Opportunity and the event ID is UGF9871. To add to this session to your schedule now, follow this session details link to the JavaOne Content Catalog and use the Schedule Builder widget on the top right hand side.

If you are a GlassFish user or even just a friend, this is the most important JavaOne event that you really should not miss, and for good reasons:

  • Learn the insider's view of the Java EE 7/GlassFish 4 release, community, success, metrics and roadmap for the future from non other than GlassFish product manager John Clingan himself (stay tuned for more details on the roadmap - in case you cannot make it to the session, we will update the GlassFish roadmap page after the event).
  • Get a unique opportunity to listen to and openly interact directly with the Oracle Executives responsible for Java EE and GlassFish during the GlassFish Executive Panel. This year, our panelists include the likes of Mike Lehmann (VP Product Management), Anil Gaur (VP, Software Development) and Cameron Purdy (VP Development). Besides open Q & A, the panel will field a representative set of questions submitted by the community. To submit your questions, email them to me as soon as possible. We will post a video of the panel on The Aquarium after the event.
  • Hear success stories from real world Java EE/GlassFish users and get to ask them your questions. This year Makito Hashiyama (Rakuten), David Heffelfinger (Ensode), Jaromir Hamala (C2B2) and Kerry Wilson (Vanderbilt University Medical Center) will be sharing their stories. As always, we will video record and post the stories on the GlassFish Stories blog and feature them on The Aquarium after the event.
  • Meet key members of the Oracle GlassFish team and community including Advocates, Architects, Java EE spec leads, and Product Managers.
  • Grab some free GlassFish swag like a GlassFish t-shirt or cool laptop sticker.
  • Attending the event is one of the strongest ways you can show your support for GlassFish and Java EE under Oracle, get your voice heard and help shape the future.

Note that this is a JavaOne Sunday User Group session, so you will need a JavaOne pass to get in. Like all JavaOne events, there is a limited amount of registrants allowed for the session, so if you think this is something that is worth your while, you would be wise to pre-register via the JavaOne Schedule Builder as soon as possible.

Do check out the details for the event on the GlassFish.org JavaOne Community Event Page, including the agenda, timings, panel question ideas, participant bios and story outlines.

Thursday Aug 22, 2013

You are Invited to the GlassFish & Friends Party!

If you are active in the GlassFish community, you probably already know about the GlassFish & Friends Party that takes place on the Sunday of JavaOne San Francisco at the much coveted Thirsty Bear. The event has become somewhat of an iconic tradition these past few years...

If you are a friend of GlassFish or interested in becoming one this is the party to attend and for good reasons:

  • It's quite possibly the best place to network with some of the brightest minds in the GlassFish, Java EE or Java ecosystems in a very laid back setting. In the past folks like James Gosling, Kirk Pepperdine, Bert Ertman, Heather VanCura, Cay Horstmann, Ed Burns, Ben Evans, Frank Greco, Martijn Verburg and Bill Shannon have attended the party. This year, folks like Paul Sandoz, Arun Gupta, Ludovic Champenois, David Heffelfinger, Markus Eisele, David Delabassee, Bruno Borges and Mike Lehmann have already signed up (I'll of course be there to greet you as well). You can certainly count on most key members of the GlassFish team including architects, specification leads and product managers to be there.
  • It's a great place to find out first hand what is going on with Java EE and GlassFish at Oracle. This is an especially important year with the release of Java EE 7 and GlassFish 4.
  • You can meet people using GlassFish and Java EE in the real world and ask them about their experiences.
  • Help shape Java EE and GlassFish by talking in person to some of the most key influencers and decision makers.
  • It's free - anyone in the San Francisco Bay area can attend (all you need to do is sign up via EventBrite).
  • You can grab some free GlassFish swag while you are at it like a GlassFish t-shirt or laptop sticker.

Besides the party, if you happen to be lucky enough to be coming to JavaOne itself, another event that you really shouldn't miss is the GlassFish Community event on Sunday morning (9:15 AM - 11:15 AM). If you are interested, make sure to add it to your calendar through the JavaOne Schedule Builder. I'll be posting more details about that event in the next few days. For now, there is the session details on the JavaOne Content Catalog. You should also check out the very cool Java EE 7 and GlassFish promotion page for JavaOne on GlassFish.org. Lastly and perhaps most importantly, there is the handy list of key Java EE and GlassFish sessions at JavaOne.

The party starts at 8 PM (on Sunday, September 22nd) at the Thirsty Bear (661 Howard Street). Space is limited, so if you think this is worth your while, you would be well advised to sign up as soon as you can. Hope to see you there!