Wednesday
Wednesday began with a
morning meeting, followed by the 11:00am "JavaServer Faces
Component Vendor's Panel". The panel consisted of
representatives from ILOG (JViews Charts,
Diagrammer,
and Gantt),
Otrix (WebTree,
WebMenu,
and WebGrid),
ESRI
(ArcGIS
Server), Software FX (Chart
FX), and Business Objects (Crystal
Reports). Most of these components were demonstrated
inside of Java Studio Creator, but one vendor's components were shown
from within Eclipse, and another didn't demo their components inside
an IDE at all.
I was pretty familiar
with most of these products, with the exception of Crystal Report's
JSF support. Their suite of components make it quite easy to log in,
navigate through a repository, and select, view, or display reports
using convenient JSF components. It's nice to see JSF support added
to Crystal Report's stack. Craig
McClanahan ended the session with a demonstration of
additional components announced in Java Studio Creator 2 -
specifically a new grid component.
Next up was "Shale:
The Next Struts", presented by David Geary and Craig McClanahan.
If you're not familiar with Shale,
you can think of it as a bag of goodies for building JSF
applications. It includes lifecycle events for backing beans, page
flow support, command chaining, mock objects for testing, and a new
Tapestry-style templating system called "Clay". I'm pretty
familiar with Shale, but I hadn't seen any examples of Clay until
this presentation. It's nice to see some innovation happening around
JSF's display technology; you can find Geary and McClanahan's sample
application at Geary's
Core JavaServer Faces web site.
For some strange
reason, the pavilion floor always closes the day before the end of
JavaOne, so Wednesday was my last day to check out new products and
meet some vendors. As usual, I made the best of my time, visiting
Exadel (Exadel
Studio 3.0), M7 (NitroX),
Oracle (JDeveloper
and ADF
Faces Components), Simplica (ECruiser
DataTable, runtime, and other components), ILOG, Quest
(JClass
ServerChart), ESRI, and others. The two primary
Eclipse plug-in JSF IDE vendors -- M7 and Exadel – both
had great offerings.
I have spent some time
working with M7's NitroX for JSF previously, and it does a great job
of melding a powerful WYSIWYG designer with a quality web development
tool. The killer feature of NitroX, however, is its AppXRay
technology, which has a keen understanding of how all of the
resources within your web application (configuration files, JSPs, and
Java code) are related. So if you ever reference a class that doesn't
exist in faces-config.xml, or use a non-existent managed bean in a
JSF EL expression, NitroX will let you know.
Exadel's next release
of Exadel Studio also has great visual support for JSF, including an
embedded version of Gecko (Mozilla's HTML rendering engine), and the
innovative ability to update the view as you type each character.
Nice!
I also spent some time
talking to two rich-client vendors – Isomorphic and InsiTech.
Isomorphic sells SmartClient
Web Presentation Layer, which is an Ajax-based
component and application framework. What's cool is that you can
define your UIs via XML that lives on the server, so you get the
deployment benefits of the web with a very rich user experience. (The
UI is updated dynamically, so the page isn't constantly refreshed).
Isomorphic's product is well suited for JSF integration, which I
mentioned that to some of the people at the booth - hopefully they
took it to heart.
InsiTech's XTT
takes a radically different approach – all of
their applications are pure Java and use Swing. You can still define
the UI via XML, but an applet is responsible for downloading the
definition and rendering the view on the fly. In contrast to the
Ajax-style approach the result is truly rich client
interfaces.
I took a short break
from my pavilion tour to grab some food and see a glimpse of the Web
Framework Smackdown, which consisted of a jovial group of
fellows: Ed Burns (JSF), David Geary (Struts Shale), Howard Lewis
Ship (Tapestry), Jason Carreira (WebWork), and Eelco Hillenius
representing a new framework called Wicket. I didn't see too much of
the session, so I can't tell you who won, but TheServerSide has a
nice
overview in their JavaOne coverage (which includes
details about other JSF sessions too), and the users of Javalobby had
something
to say as well.
Next, it was time to
attend the MyFaces
gathering at the Thirsty Bear. It was no surprise that
Oracle was sponsoring this dinner, since they officially announced
that they are going to be contributing their ADF Faces Components to
the MyFaces project, and joining as committers. It was great to see
all of the MyFaces players I had seen earlier, as well as some
others, such as Martin Cooper (of Struts fame) and Mark Raible (of
Simplica). I have worked with Mark before, but I had never met
Martin; we had a good chat about music, which is always a fun topic
for computer geeks.
I left the
MyFaces dinner in time to catch most of a 10:30pm BOF about JSR
273, The Design-Time API for JavaBeans. This JSR's
goal is to "extend the JavaBeans specification and APIs to
improve design-time functionality for use within IDEs." This is
important for any type of component that's used inside an IDE, most
notably Swing and JSF components. The current JavaBeans API isn't
quite up-to-date when it comes to specifying how components work when
a developer is using them inside an IDE's visual designer, so most
vendors end up extending the APIs in a proprietary manner. The JSR
uses the work done for Sun Java Studio Creator's JSF support as a
starting point.
This JSR, in
conjunction with JSR
276 (Design-Time Metadata for JavaServer Faces Components) should greatly reduce the amount of
effort necessary to integrate components into different IDEs. I'm a
member of the JSR 273 expert group, but it hasn't begun in earnest,
so I was anxious to hear what Joe Nuxoll (the spec lead) and his
colleagues in the Sun Java Studio Creator team had to say.
Afterwards, I joined some members of the Sun crew for some late night
grub at Mel's Diner.
Page:
1
2
3
4