mercredi juil. 28, 2004

So, I'm back home from JavaOne. I must say that I had a good time. This may
sound very politically correct, but for starters, this year's
conference was more technical and more united (IBM, JBoss, etc...) and
the networking was great as always.

But hey, one big news is that I'm now blogging! This is really a Sun corporate thing as even Jonathan Schwartz
has started his own blog and I believe all this blogging ecology is a
very natural thing given Sun's culture. One of the best things about
JavaOne is that you can meet people and be curious. I was lucky enough
to meet Tim Bray at a Sun-internal conference
a few days before JavaOne. His talk was concise and pretty fascinating.
Tim seems to be very curious (see here) and has this wonderful ability to explain
in simple words pretty much any concept or technology. This, together
with Pat's repeated suggestions (thanks for the comment,
I now have to live up to the reputation!), is really what got be
started with this whole blogging thing. Hopefully I talked my French
colleague Eric Mahé into starting his blog real soon.

But back to JavaOne, the things I'm taking back are mainly these :

Tiger: hugerelease
(I'll probably spend the next few week reading O'Reilly's Developer's
Notebook) and long release. Still need to wait until late September
before it's final. So far, compatibility has been the good surprise of
this release. I'm still tracking performance figures, but they already
seem pretty good (broader OS/Processor support certainly is a plus
there).

Creator / JSF:
this was a big topic at the conference and since I've been meeting with
many customers lately on the subject I'm glad the product is finally
out. It still has a long way to go compared to its non-Java competition,
but the basis are very good - JSF for Corporated Developers rather than
the "Now my tool does JSF too" approach. One interesting experience I
had was with a J2EE customer looking for a RAD tool. He gave Creator
the advantage (even before it hit final release) over Microsoft's
Visual Studio arguing standard J2EE applications and integration with
his existing infrastructure were more
important to this him than a mature full-featured product like Visual
Studio. Now you can't comment Creator without mentionning JSF.
While it is still pretty early in the game, I think that it can do most
of what STRUTS does (STRUTS
really needs to inovate to keep being up to speed technically) and that
while it lacks some features from other frameworks, it is leveling the
ground for a great UI component market, providing standard and scalable
MVC2 infrastructure but most importantly it was built with tools in mind
from day one.

JDNC / JDIC / JavaWebStart: this is really about rich clients and I must say that I like GUI development, that I share many ideas with Amy Fowler (once a JSF spec-lead!)
but also that many customers are looking into a better alternative to
web clients trying to behave like rich ones. These customers need to
have better end-user experience, not require a server for simple things
like sorting, but also notification, keyboard-driven application,
off-line usage, etc. So, when talking about rich clients using Java on
the desktop, there's really three issue: (1) JRE deployment, (2)
Application deployment, (3) Java client technology. In the enterprise,
(1) can be solved using Windows/Linux masters, Active Directory deployments,
or silent installs. (2) is really Java Web Start's job and the
technology really got better with version 5.0 - better desktop
integration, single instance, lock-down feature, extensive enterprise
configuration, smart card support, Pack200 compression, etc. (3) is
about Swing vs. SWT and which protocol to choose to talk back to the
server. I believe that Swing's increased performance and look-and-feel,
JDNC's ease of development (although it's not final and tools are not yet available), JDIC and the Netbeans Platform
(not the IDE) are many good reasons for making a strategic choice for
Java and Swing as the base technology for competitive rich-based Java
clients. The protocol is something I may address in another blog, but
let's just say Web Services are not the cure for now as there's no
portable stub API and JAX-RPC is not yet part of J2SE, sorry JDK 5.0.

Tools: even looking just at Sun, there's more to tools than just Java Studio Creator! A few things worth noting: Borland joined the JTC (Java Tools Community, javatools.org).
Beehive (BEA's new open source project) gained support from Eclipse.
Borland now provides some of their tools for Eclipse developers!
Meanwhile, NetBeans is making huge progress with its upcoming 4.0 release:refactoring, performance tuning using JFuid technology, ANT-based build system, Tiger (JDK 5.0) support, and J2EE support including EJB and Web Services.
I guess an eclipse just can't last forever! Also, Java Studio
Enterprise (the commercial version of Sun's tools) previewed UML
two-way-editing-with-no-annotation support (nice reverse-engineering
demo), collaborative tools (instant messaging for the developer),
integrated profiling tools (most of them demoed during James Gosling's general session).
Also showed during a technical session was a very nice-looking
real-world (i.e. document-centric, long-runing, asynchronous, and
conversational) Web Services developement prototype based on Crupi's
J2EE extented design patterns (this is all part of the Kitty Hawk project
focusing on SOA). Most other tool vendors are coming out with support
for things like "visual" Struts, EAI, BPEL, etc. As always, timing is
everything and future will tell if UML or JSF are more relevant than
BPEL and Struts in 2005. I don't have the answer.

Java & Open Source: no, Sun has not open sourced Java and I
believe the debate with James Gosling and others did a good job of
asking the main questions: what does Open Sourcing Java really mean and what's in for the developer? To
have at least one Open Source implementation of Java? That's already
true for J2EE and certainly possible with J2SE
JDK. Sun could stick an open source license on Java and not solve the
developers pains (this isn't necesseraly true for die-hard OSS bigots
who are said to be looking at Mono as a java replacement). The belief
is that Sun can fix many issues developers face (bug fixing is probably
the top one) without open sourcing java, and weekly builds are a visible first step. It's sun's Glasnost experience.

Among other hot topics, AOP, scripting (Groovy, JSR 223)
and EJB 3.0 (J2EE 5.0) were on my todo list and still are (at least
before I can comment them here). All have in common great potential,
but also the risk of fragmenting either the platform or the community.

Wow, this was a long blog, maybe too long. Next ones will be more bistro-style.