After spending way too much time on ways to speed up web applications, you'll find that your greatest mileage comes in database optimizations, networking, and reducing the bytes downloaded (an example).
Sun has a large customer base which has historically focused on [enterprise] application development.
AJAX/HTML - On one hand, I've grown a new appreciation for the platform. It forces you to keep things simple for users and working directly with the full Java stack on the server is a bonus for maintenance and monitor-ability.
At JavaOne this year, I've decidedly filled my schedule with Desktop track sessions and network-related talks. Everything is becoming more appealing now with Sun's commitment to providing a "Consumer" release of Java SE mid-2008 (expected) which will include fixes/enhancements around webstart, swing, user experience/performance, and finally the inclusion of JavaFX.
JavaServer Faces 1.2 includes support for Resource Injection and annotations such as
@PreDestroy. Coming from action frameworks, these 'implicit' hooks make composite presentations a bit easier to pull together, even in the stateless HTTP GET case.
In some ways, this blog could be considered my recap of 2007 and the mistakes and knowledge I've gained. In other ways this blog acts as a foundation for ways I'd like to view JSF 2.0.
With the tech market in an upturn, we are seeing an revitalization of startups on the web for application service providers. Sometimes these are analytical/informational services or point of sale applications which provide supplemental support for one part or all of the customer's business.
Often when you are looking at caching 'requirements', you have a couple things to think about:
Working with Hibernate and attempting to wrap caching services elsewhere in one of our applications, I'm concerned with the way these caching frameworks handle expiration.
I'm finding so much of Java's APIs to be extremely literal and long-winded at times. While this produces self documenting code, I'd still like to see some better ideas for the getter/setter shorthand than '->'.
More on the topic here: Dion's Blog