JavaOne - Day 3 - Gosling and Pancakes for Breakfast

by Sue Spielman

The funfest part about being here (other than getting to see people that I don’t get to see all the time) is never knowing what could happen next. This morning I skipped breakfast on the trek to the Moscone Center and instead went to check my email. When in doubt between food or email, always pick email. Next thing I know, I’m sitting next to James Gosling with about 10 other people at a pancake breakfast meeting talking about subjects that ranged from the prolific hotspot devices located throughout Hong Kong to having Java devices tell when milk has expired in your refrigerator. Pancakes will just never be the same.

Today I’ve continued to sit in on some of the sessions focused on the mobile technology and good ‘ole J2EE as well as taking a few spins around the pavilion floor. With a smaller vendor presence this year, the floor is almost manageable to get through without need to take a tent and sleeping bag with you.

With all of the talk about mobility development, I took a look at the new Metrowerks release of Code Warrior Wireless Studio that has the first release of on-the-device- debugging for the Sony Ericson T610, a very cool looking phone. Sony is the first vendor to support the Java Debug Wire Protocol (JDWP) over a TCP/IP connection. If you’ve debugged mobile apps before, you understand that this is a very important milestone for us. Using the emulators is good enough for maybe 90% of debugging, but you really need to be able to do final testing on the device. Now you can set breakpoints in the code that will be hit off of the running device.

I also spent some time talking with Mark Roth, the spec lead for JSP 2.0, about the new emerging tech coolstuff site. This is new site that is being federated with the site to allow internal technologies at Sun to be shared with the community. Mark spent a weekend building a project called TLDDoc, for JSP Tag libraries. It’s a way to generate JavaDoc-like information for tag libraries for JSP 1.1,1.2, and 2.0. It can be customized using stylesheets so you can have the information displayed as you wish. He’s been using it for his work and found it useful, so now everyone can take a look. Check it out at out at and click on the TLDDoc project. If a project is being downloaded and used a lot from the coolstuff site, it will be moved to the mainstream site.

It was good to see that the ‘Advanced J2EE Patterns’ had a full (more like overflowing) room which hopefully means that developers are applying patterns to their architectures. This session is really the launch of the updated patterns catalog. I had a chance to get an advanced copy of the 2nd edition of ‘Core J2EE patterns’ (which I’m sure most of you have the 1st edition on your shelf) . It’s worth your time (and money) to take a read through the new edition. There are 6 new patterns (including one for web services) and revisions to the original 15. New code samples, overhaul to UML diagrams, and the introduction of the micro architecture which is how to reference patterns in a course grain solution by leveraging the J2EE patterns underneath.

There are 2 new patterns in each of the tiers. Presentation tier includes Context Object
for keeping protocol specific information encapsulated, and can be used for request, context and configuration. The Application controller is used for centralizing and modularizing action and view management. There’s also a new ‘bad practices’ added to the presentation catalog. Preaching about adhering to MVC and using view helper components that can be accessed across views has been heard loud and clear. However, using scriptlets as helpers is a bad practice (duh). Refactoring and using tag files in JSP 2.0 and the JSTL can help eliminate this need to use scriptlets. New business tier patterns include Business Object and Application Service. Business Object addresses conceptual domain model with business logic and model, while Application Service addresses the problem of centralized business logic across several business-tier components and services. Use an Application Service to centralize and aggregate behavior to provide a uniform service layer. In the integration tier, Domain Store – is called the ‘mother of all patterns’. JDO is a realization of the domain store pattern and addresses the entity bean debates going on in many shops. The Web Service Broker provides access to one or more services using XML and web protocols.

So that’s it for today. I’ll give you my overall thoughts on this year’s JavaOne and a wrap-up tomorrow.