Wednesday Jul 10, 2013

An Overview of JAX-RS 2

JAX-RS 2 is one of the most significant parts of the Java EE 7 release. In a brief InfoQ article, Vikram Gupta overviews the major changes in JAX-RS 2. There's also the 20-minute JAX-RS 2 presentation by specification lead Santiago Pericas-Geertsen on the GlassFish videos YouTube channel and my own slide deck below:

You can also check out the official specification yourself or try things out with the newly released Java EE 7 SDK.

Friday May 10, 2013

Java EE@JavaOne Russia 2013

JavaOne Russia 2013 was held at the Crocus Expo Center in Moscow on April 23-24. The conference was a resounding success with a great vibe, excellent technical content and numerous world class speakers. Some notable speakers included Werner Keil, Joonas Lehtinen, Heather VanCura, Paul Bakker, Bert Ertman, Talip Ozturk, Anil Gaur, Geertjan Wielenga, Arun Gupta, Jim Weaver, Stephen Chin and David Delabassee. Topics covered included the JCP/JUGs, Java SE 8, Java EE 7, HTML 5/WebSocket, JSF, JMS 2, JAX-RS 2, Java EE Concurrency, JBatch, JSON-P, NetBeans, MySQL, Vaadin, the Oracle Java Cloud, OpenShift, OSGi, JavaFX and Coherence.

 

 

I delivered the Java EE technical keynote, two technical sessions (one on JSM 2 and the other on JAX-RS 2) and three lighting talks (on Java EE Concurrency, JBatch and JSON-P). I also helped deliver two hands-on-labs (on Java EE 7 and the Java Cloud Service). More details on the sessions and JavaOne Russia 2013, including the slide decks and code, posted on my personal blog.

Wednesday May 08, 2013

Santiago Pericas-Geertsen on JAX-RS 2

The 130th episode of the Java Spotlight podcast features an interview with JAX-RS 2 co-spec lead Santiago Pericas-Geertsen. JAX-RS 2 is one of the key parts of the Java EE 7 platform and a vital update to the very popular API. Santiago talks with Roger Brinkley about the motivation for the JSR, some of the API details such as the client API, asynchronous processing, interceptors/filters, Hypermedia support and content negotiation, current status of the JSR as well as what's in the future.

You can listen to the full podcast here. It's really a great starting point for learning about JAX-RS 2. You can certainly give the proposed final draft a read yourself (the API recently passed it's final approval ballot). At ninety some pages, it is not too bad of a read. You can also try the API out with a GlassFish promoted build.

Friday Apr 05, 2013

An Overview of JAX-RS 2

JAX-RS 2 is one of the most significant parts of the upcoming Java EE 7 release. In a brief article, consultant, German author and celebrated Java EE advocate Adam Bien does a great job of overviewing the major changes in JAX-RS 2. He talks about asynchronous processing, EJB/CDI integration, filters/interceptors, the configuration API, the client API and more.

If the article whets your appetite to learn more about JAX-RS 2, you could download the actual proposed final draft and give it a read. For those unaware, JAX-RS 2 recently passed its public review ballot. At just above 90 pages, the actual JAX-RS 2 specification document is not that bad of a read.

Wednesday Dec 19, 2012

Marek Potociar on JAX-RS 2

Java EE 7 is turning the last lap! Late last month JAX-RS 2 (JSR 339) and Bean Validation 1.1 (JSR 349) were adopted by public review ballot, making them the first two JSR's to be ratified. InfoQ interviewed Marek Potociar, JSR 339 co-spec lead (Marek and Santiago Pericas-Geertsen are the dynamic duo leading JAX-RS).

Marek talks about JAX-RS 2 content, it's significance and the future. Read the full interview here.

Sunday Mar 18, 2012

RESTful Java on Steroids (Parleys, Podcast, ...)

As reported previously here, the JAX-RS 2.0 (JSR 339) expert group is making good progress.

If you're interested in what the future holds for RESTful Java web services, you can now watch Marek's Devoxx presentation or listen to him in the latest Java Spotlight Podcast (#74).

ALT_DESCR

Marek discusses the new client API, filters/handlers, BeanValidation integration, Hypermedia support (HATEOAS), server-side async processing and more.

With JSR 339's Early Draft Review 2 currently out, another draft review is planned for April, the public review should be available in June while the final draft is currently scheduled for the end of the summer. In short, expect completion sometime before the end of 2012.

Wednesday Feb 22, 2012

JAX-RS 2.0 - Jersey Code Rulez

What's better than the JAX-RS 2.0 Early Draft? Well, code of course! As spec lead Marek Potociar just announced, the first Jersey 2.0 milestone build is out.

ALT_DESCR

This is an entirely new code base which uses HK2 for dependency injection (a core technology for GlassFish), offers a new asynchronous internal design as well as an API to programmatically define JAX-RS resources. Read about these and more about what's new in Marek's detailed post. Of course this is also the future reference implementation for JAX-RS 2.0.

Feel like trying it out? Simply go to Maven Central (of course none of this is production quality at this point).

Thursday Feb 09, 2012

A status on JAX-RS 2.0. Early Draft.

With the Early Draft of JAX-RS 2.0 review period closed for a little while now, here's Arun's walk through the technology's new and improved features.

ALT_DESCR

The Client API seems to be a very popular feature and one that seems pretty stable at this point. Filters and Handlers is another set of new features enabling interception of requests and responses while Hypermedia, a founding principle for REST, is better supported. JAX-RS 2.0 also offers the ability to validation parameters with BeanValidation, introduces asynchronous processing (returning Future objects on the client side) and finally better connection negotiation. Read all about it here.

JAX-RS has become an important component of the Java EE platform and the cloud theme going forward is only making it even more relevant. Check out this earlier post for Marek's (co Spec Lead on JAX-RS 2.0) take on where the JSR stands.

Sunday Jan 08, 2012

RESTful JAX-RS Roundup

Note: if you're reading this using a feedreader, please make sure you've updated to the updated TheAquarium feed.

While most parameter handling examples with JAX-RS focus on @PathParam, there are other JAX-RS 1.x annotations that are worth knowing.

Mkyong has a short and simple example for how to use @MatrixParam (and for many more here) while John Yeary covers @CookieParam. The JavaDoc for both annotations can be found here and here.

ALT_DESCR

Meanwhile, François explores Jersey's support for MVC where the Controller is a resource class, the model is returned by a resource method, and the view is a template which operates on the model (this is inspired by the stapler project and is also used by Hudson). Note that this is not part of the JAX-RS standard.

To close this quick roundup, I'd like to point you to a month-old JAX-RS blog entry by Adobe's Christophe Coenraets combining jQuery and JAX-RS/Jersey as probably the one with the best taste to date (IMO, etc...) !

Update: John Yeary has (a lot) more JAX-RS resources for you.

.

Friday Jan 06, 2012

Tab Sweep - JSON, OSGi, GlassFish+NetBeans experience, JAXB and JodaTime, file uploads & more

Recent Tips and News on Java, Java EE 6, GlassFish & more :

Radio Receiver

JSON to Java with JDK6 (Julien)
What does the future hold for OSGi without leader Peter Kriens? (JAXenter)
JavaCloudGuy: Glassfish (Java EE 6) is now available as option in #cumulogic (Twitter)
JAXB and Joda-Time: Dates and Times (Blaise)
JAX-RS Tip of the Day: Using YUI2 and YUI3 DataTables with Jersey and jQuery (John)
JAX-RS @MatrixParam example (mkyong)
First experiences and getting started with GlassFish 3.1 and NetBeans 7.x – it’s a breeze (Lucas)
Maven's WAR Overlay: What are WAR Overlays? (DZone)
Book Review for "Java EE 6 with GlassFish Application Server" (Rick)
Managing unmanaged beans in CDI (Nicolas)
Using Bean Validation together with ExtVal in JPA and JSF (Edwin)
Java EE 6 using WebLogic 12c and NetBeans (Video) (Arun)
Spark, A micro Web Framework (spark.com)
Multiple File Upload Examples (John Yeary)
Released: NetBeans Platform 7, The Book (Geertjan)
Java 7: Understanding the Phaser (Niklas)
Where's my log file? (Nigel @ Open Messaging)
Sample: Java EE 6 + Wicket + NetBeans + GlassFish + MySQL (Geertjan)
Using Jsp in a Jersey JAX-RS RESTful application (François)
How to change the Glassfish server log level from command line (François)

Tuesday Dec 13, 2011

Jersey 1.11 is here with MOXy support

Jakub, the Jersey lead has just announced Jersey 1.11 which offers EclipseLink's MOXy support, attaching filters to non-blocking clients as well as some docs cleanup.

Moxy Band

Jersey 1.11 is scheduled to be available as part of the upcoming GlassFish 3.1.2 release. More on other component updates for this release in an upcoming post.

I can't help but wonder if the number of Canadians involved in MOXy has anything to do with it being named after a heavy metal band. Project and product names are always fun stories.

Monday Nov 21, 2011

Marek's JAX-RS 2.0 content from Devoxx 2011

Marek Potociar, one of the two co-spec leads for the upcoming JAX-RS 2.0 had a very well-attended session at Devoxx and wrote a blog post about it detailing his conference experience (1st time at Devoxx) and running through the new features of the specification.

A link to slides is also included in his post.

ALT_DESCR

The work by the expert group seems very solid at this point as you can read for yourself in details in the recently published early draft document.

You can follow the remaining work between now and the middle of new year on the specification project pages on java.net.

Sunday Oct 16, 2011

JAX-RS 2.0 Progress and Client API

One of the very well attended set of sessions and highly anticipated Java EE 7 technology is JAX-RS 2.0 (JSR 339), a specification that now has an early draft awaiting publication.

Co-spec lead Santiago Pericas-Geertsen has started a series of blogs on important features, starting with the Client API.

ALT_DESCR

As expected, this defines a Client class and a builder pattern for better readability. Make sure you read Santiago's piece to understand what Message Body Writers (or MBWs) are and how configurable this API is meant to be.