Video: Unlocking the Java EE 6 Platform

It's amazing how many small and subtle tools NetBeans IDE 7.1 provides for Java EE 6 development. Here's a silent (maybe I'll add some explanatory voice over to it later, but there's something to be said for not having a voice to distract you, so that you're forced to look purely at the images and mouse movements) overview, whizzing through the key tools in NetBeans IDE 7.1 as an application is built up from scratch in just over 10 minutes:

This is what happens in the movie, based on an earlier movie and hands on labs by Arun Gupta:

  • Tools for working with servers, specifically GlassFish, and databases, specifically Java Derby, are shown.
  • A plain vanilla Java Web application is created.
  • Deploy on save is demonstrated.
  • Entity classes are generated from a Java Derby database.
  • A session bean is created, to provide business logic for accessing our database via the entity classes.
  • A servlet is added for testing the session bean.
  • A Facelets template is created.
  • A client of the template is created.
  • The session bean is injected into the Facelets client, so that expression language can be used to access it.
  • The session bean exposes itself as a JAX-RS service and produces XML shown in the browser.

The demo above is a quick recap of the presentation I did on this topic at Java Day, St. Petersburg.

Comments:

Wow, amazing tutorial!
No need for a voice over as you said, it made me focus on what you were doing in the IDE. However, using YouTube Annotations might be helpful to note what's going on for the absolute beginner in a couple areas: http://www.youtube.com/my_videos_annotate?ns=1&v=Uvt1byURZrw

In particular, can you explain some of the more subtle menu choices you made, such as:
- Why the return type "List<Customers>" instead of a String Array, Map or other object type?
- When the error occurred was it because you wanted to show what happens if you forget to add a Facelet Template Client or something else?
- Why were the surrounding tags on h:dataTable removed?
- A few times your mouse doesn't move but a menu pops up, so simply listing the keyboard shortcut used would be great.

Lastly, from where are the choices available in the last menu screen to generate the final REST ws pulled? You skipped through quickly and I'm not sure if that's coming from your CustomerSessionBean or the columns in the table you selected.

I actually know the answer to most of these (except the last one) but just from working with Jr. Programmers those are the types of questions I tend to hear; sorry for the many questions but this tutorial is definitely top notch! I'm only asking because I think its now my go-to introduction to Java webapps for new recruits.

Posted by guest on February 28, 2012 at 02:46 AM PST #

Thank you very much for creating this tutorial,I fully expect to watch it again and perform all of the steps as I'm doing so. This kind of thing is worth its weight in gold as it can convey the big picture far more effectively than a book and there's an awful lot of big picture in Java EE.

Cheers,
Phil

Posted by guest on February 28, 2012 at 05:34 AM PST #

Another excellent post by Geertjan.
And I believe it is really un-locked the Java EE 6 platform.
May I please expect more from Geertjan on JSF 2.x,Primeces,JPA,...?
I hope I miss this post on java.net blog.

Posted by Sree Ramakrishna on February 01, 2013 at 12:23 AM PST #

Post a Comment:
  • HTML Syntax: NOT allowed
About

Geertjan Wielenga (@geertjanw) is a Principal Product Manager in the Oracle Developer Tools group living & working in Amsterdam. He is a Java technology enthusiast, evangelist, trainer, speaker, and writer. He blogs here daily.

The focus of this blog is mostly on NetBeans (a development tool primarily for Java programmers), with an occasional reference to NetBeans, and sometimes diverging to topics relating to NetBeans. And then there are days when NetBeans is mentioned, just for a change.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
12
13
14
18
19
21
22
23
24
25
26
27
28
29
30
   
       
Today