Wednesday Nov 20, 2013

JPA 2.1 Type Converters

Somewhat surprisingly, JPA 2.1 appears to be one of the APIs that seems to get lost in the Java EE 7 buzz. Although it is a point release JPA 2.1 includes a fairly large number of very important changes such as schema generation, entity graphs, support for stored procedures, unsynchronized persistence contexts, entity converters, and much, much more. In a code driven post Thorben Janssen discusses one of these changes - entity converters. There's also the 20-minute JPA 2.1 presentation by specification lead Linda Demichiel on the GlassFish videos YouTube channel:

More recently, Linda presented a JavaOne 2013 technical session titled Java Persistence 2.1. Stay tuned to Parleys.com for video of the session to be posted.

Friday Jul 19, 2013

Java EE@Chicago JUG

On July 16th, I presented our flagship Java EE 7 talk at the Chicago JUG. Heather VanCura of the JCP helped arrange the talk.

The talk went very well - over 75 people attended by my count. More details, including the slide deck, posted on my personal blog.

Tuesday Jul 16, 2013

What's New in JMS 2 - Part 2

JMS 2 is one of the most significant parts of Java EE 7. Clearly, the principal goal of JMS 2 is to streamline and modernize the API by adopting programming paradigms like higher level abstractions, dependency injection, annotations, runtime exceptions, the builder pattern and intelligent defaults. However, a limited number of important new features were also added to JMS 2. In a recent OTN article, JMS 2 specification lead Nigel Deakin covers the new features such as shared subscriptions, delivery delays, asynchronous sends and delivery counts in detail. The article is the second of a two part series on JMS 2. For more visual folks, there is also Nigel's brief 15 minute video on JMS 2 on the YouTube GlassFish videos channel as well as is my JMS 2 slide deck below:

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

Monday Jul 15, 2013

Java EE 7 Tutorial Available!

Many of you are familiar with the official Java EE Tutorial already. It is a great resource for learning Java EE and it is totally free!

The Java EE 7 version of the tutorial is now available along with the SDK/GlassFish 4. There's both a PDF version and an HTML version. In addition, the team behind the tutorials has also developed a great sample/starter application for Java EE 7 named Your First Cup: An Introduction to the Java EE Platform that should be very helpful to beginners.

A detailed blog entry talks about both the updated tutorial and starter application.

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.

Monday Jul 08, 2013

Free Webinar on WebSocket, JSON-P, HTML 5 and Java EE 7

As developers, there's nothing better than a decent show-and-tell. OLL-Live is offering a free webinar titled Java EE 7: Using Web Sockets for Real-Time Communication on July 10 (Wednesday) at 8 AM Pacific Time. It will demonstrate writing an HTML 5 front end using a WebSocket, JSON-P, and Java EE 7 backend.

Don't miss out, check out the details and register now! I did mention it's free, right :-)?

JCache Marches Onward!

As many of you know, JCache (JSR 107) narrowly missed Java EE 7. JCache is clearly a very important and long-anticipated API as indicated in the well-participated Java EE 7 survey. I am happy to report that JCache keeps making steady progress and recently posted a public review.

The review is open until August 5th and you are encouraged to get your comments in. You can send your comments directly to jsr107@googlegroups.com or enter issues on GitHub.

At the current pace, JCache should be ready well ahead of Java EE 8 and be an excellent candidate for inclusion. You should also be able to use JCache with Java EE 7 and Java EE 6 as a drop-in jar.

Thursday Jul 04, 2013

Java EE 7 Javadocs Now Online

The official Javadocs are now available along with the recent Java EE 7 SDK release. While most of us use Javadocs for reference, some of us use Javadocs as an invaluable learning tool. I've personally certainly always found it useful to get deeper insight into any given API.

Comparing the Java EE 7 Javadocs with the ones for Java EE 6 also provides interesting perspectives into the changes such as the packages, features and APIs added.

Tuesday Jul 02, 2013

JBatch Overview

It seems batch processing is moving more and more into the realm of the Java developer. In recognition of this fact, JBatch (aka Java Batch, JSR 352, Batch Applications for the Java Platform) was added to Java EE 7. In a recent article JBatch specification lead Chris Vignola of IBM provides a high level overview of the API. He discusses the core concepts/motivation, the Job Specification Language, the reader-processor-writer pattern, job operator, job repository, chunking, packaging, partitions, split/flow and the like.

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

Wednesday Jun 26, 2013

What's New in JMS 2 - Part 1

JMS 2 is one of the most significant parts of Java EE 7. One of the principal goals of the JMS 2 API is improving developer productivity by reducing the amount of code to work with JMS by adopting programming paradigms like higher level abstractions, dependency injection, annotations, runtime exceptions, the builder pattern and intelligent defaults. In a recent OTN article, JMS 2 specification lead Nigel Deakin covers the ease-of-use changes in detail. The article is the first of a two part series on JMS 2. For more visual folks, there is my JMS 2 slide deck:

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

Tuesday Jun 25, 2013

deny-uncovered-http-methods in Servlet 3.1

Servlet 3.1 is a relatively minor release included in Java EE 7. However, the Java EE foundational API still contains some very important changes. One such set of features are the security enhancements done in Servlet 3.1 such as the new deny-uncovered-http-methods option.

Servlet 3.1 co-spec lead Shing Wai Chan outlines the use case for the feature and shows you how to use it in a recent code example driven post. You can also check out the official specification yourself or try things out with the newly released Java EE 7 SDK.

Monday Jun 24, 2013

Java EE@NY Java SIG

On May 29th, I presented our flagship Java EE 7 talk at the New York Java Special Interest Group. The NY Java SIG is the first Java User Group in existence (since September 1995) and is the largest Java User Group in North America.

The talk went very well - the official RSVP shows a sold out event with 275 attendees. More details, including the slide deck, posted on my personal blog.

Friday Jun 07, 2013

What's New in CDI 1.1?

Introduced in Java EE 6, CDI is clearly a key API to standardize dependency injection in enterprise Java. A lot of the work related to CDI in Java EE now involves treating CDI as an effective mechanism for unifying the Java EE component model and aligning others specs around it to make for a more cohesive platform. Examples of this on-going effort in Java EE 7 includes aligning the JSF component model/scoping to CDI, decoupling declarative transactions from the EJB component model through the JTA 1.2 @Transactional CDI interceptor, modernizing the JMS 2 API utilizing CDI, better support for CDI in Bean Validation 1.1 and many others.

CDI 1.1 itself is a point release that has a relatively long list of smaller but nonetheless important fixes and enhancements. In a recent blog post, CDI 1.1 specification lead Pete Muir does a good job of listing out the changes. The post is especially valuable for the referenced links that you can dig into to see if any of the changes are immediately useful to you if you have adopted CDI already.

Monday Jun 03, 2013

An Overview of the Java API for WebSocket

The Java API for WebSocket (JSR 356) is one of the key parts of Java EE 7. It allows Java developers to write Java HTML5/WebSocket applications with a simple, fluent, high-level API, both on the client and the server-side. With the official Java EE 7 launch looming there's already a flurry of great articles on topics like JSR 356.

In a recent OTN article, Johan Vos provides an overview of the Java API for WebSocket. He covers WebSockets, the JSR, the programming model, API details through code examples and advanced features. The article is a great starting point to learning WebSocket. You could also take a look at my slide deck below.

You are of course encouraged to take a look at the official specification (the JSR recently had it's final release). At fifty some pages, it is pretty digestible.

Friday May 31, 2013

Java EE@JeeConf 2013

JeeConf 2013 was held in historic Kiev on May 24-25. JeeConf is the most significant Java conference in the Ukraine. The conference attracted a bevy of local and international speakers including Venkat Subramaniam, Yakov Fain, Talip Ozturk, Jacek Laskowski, Mohamed Taman and Sander Mak. Topics included Java SE, NoSQL, cloud, HTML5/JavaScript, Arquillian and of course Java EE.

I delivered two very well attended talks - my talk on Java EE 7 (our flagship talk) and a talk on using NoSQL databases in Java EE. More details on the sessions and JeeConf, including the slide decks and code, posted on my personal blog.