TheServerSide Java Symposium: A Recap
by Steve Anglin
Here is my coverage of TheServerSide Java Symposium, held in Las Vegas, NV from Mar 23 thru Mar 25:
Thu Mar 23 Sessions Attended
Advanced Testing Techniques with TestNG: TestNG is a recent open source lightweight testing framework built on annotations that offers advanced testing functionalities such as test groups, method parameters, dependent methods and time-outs. This presentation offered a short introduction to TestNG as well as examined some testing scenarios typically encountered by programmers in various software areas and how TestNG does seemingly help create elegant and simple testing designs and serves as a viable testing alternative to unit testing.
RAD That Ain't Bad: Domain Driven Development with Trails: The open source lightweight Trails framework aims to take a new approach to Rapid Application Development in Java using proven frameworks like Spring, Tapestry, and Hibernate. By eliminating redundant steps in the development process and stressing convention over configuration, Trails can greatly accelerate development of RDBMS persistent web applications. In this session, the speaker gave a real Trails application in a few minutes, and then dived into the details of how Trails works. While Trails seems quite powerful, it's still nascent as it relies only on heavy integration and use of Tapestry along with Spring. You can't use other Web frameworks like Spring MVC, Struts, etc. If you're already using Spring, I think Trails becomes superfluous, imo. While configuration with Spring may take longer initially, it should be smooth sailing with Spring, which also caters naturally to Domain Driven Development anyway. Trails currently is an extra layer, but long-term may be different. We'll see. Trails is an open source project on Java.net.
Spring Update: What's New and Cool in Spring 2: Spring 2 is a major release that makes the open source lightweight Spring Framework both more powerful and easier to use. In this presentation, Rod Johnson surveyed the new features of Spring 2, before focusing on two of the most important: the introduction of extensible XML configuration, and significant enhancements to Spring AOP. Spring 2 allows Spring configuration to be enhanced with custom XML tags, which can provide valuable abstraction for repeated or complex configuration tasks. Rod showed how to define new tags, and how this capability would benefit all Spring users. Spring 2 makes Spring AOP both simpler and far more powerful, and marks a major milestone for AOP in general. In conjunction with AspectJ 5, Spring 2 provides a complete roadmap for AOP usage, from dynamic proxies up to full use of AspectJ weaving, using the same programming model. It becomes possible to use the powerful AspectJ pointcut expression language in Spring AOP, as in AspectJ. Spring AOP can even run AspectJ annotation-style aspects within its proxy based runtime, with the same low cost of adoption as Spring AOP. For more, visit SpringFramework.org.
Fri Mar 24 Sessions Attended
Introduction to JBoss Seam: JBoss' Gavin King talks about EJB 3 and JSF as they are perhaps the most exciting new developments in the Java EE 5 platform. Seam is an innovative new open source lightweight enterprise Java EE 5 application framework that integrates the EJB 3.0 component model with JSF as a presentation tier. Seam builds upon the standard extension points provided by both specifications and provides a set of Java Annotations that extends the standard annotations defined by the EJB specification. In addition, Seam introduces several innovative new ideas: managed conversations, declarative and contextual application state management, bijection - a generalization of the notion of inversion of control and integrated business process management. As King illustrated, JBoss Seam seemingly tackles all these problems, and provides a uniform model for stateful components in Java EE 5. For more, check out JBoss.org.
Apache Geronimo Prime-time: the open source, and now becoming lightweight, Apache Geronimo is the latest open source application server to achieve J2EE 1.4 certification, making it ready for prime time in the Enterprise. It is now a real contender in the open source application server market and offers a unique architecture making different open-source projects pluggable and capable of building customized stacks. This session by author Jeff Genender presented an overview of Apache Geronimo, its architecture, its major open source components, how it works, and how to configure and use the application server. This covered Geronimo's different concepts such as the kernel, GBeans, deployment and different configurations, and running the application server. Apache Geronimo 2 is also in the early works, which will allow Java EE 5 deployment once Geronimo is Java EE 5 certified. Lastly, Apache Geronimo is IoC compliant, and can currently deploy Spring-based developed applications. For more, go to the Geronimo.Apache.org site.
Sat Mar 25 Keynote and Sessions Attended
Keynote Panel: Enterprise Java Trends with Rod Johnson, Bruce Tate, Floyd Marinescu, and more...
"The Web-tier is broken... In 3 years, (Java-based) Web frameworks will be obsolete." -- Rod Johnson
"Java is in trouble on the low end." -- Bruce Tate
These quotes were an admission that Java is not best for all things. It's best for the core domain model, but in terms of the Web-tier, Java just does not offer enough of a lightweight solution or flexibility as PHP and Ruby (on Rails) offers, currently. That's why we are starting to see Spring lead the way with integration offerings to Java-based scripting languages. The need for Java-based scripting is clearly growing in demand according to the keynote panel. Rod represented the moderate view. Bruce Tate tood the more extreme view that Java is just not right at all now and that's why Java developers should move to Ruby on Rails. And Floyd Marinescu represented the other side and most likely the JBoss view that Java isn't broken in the Web-tier as much as Rod and Bruce may make of it.
And the sessions started up again with Persistence with iBATIS - Hands On: In this session, iBATIS lead Clinton Begin actually used only a Java IDE and real-world examples to demonstrate how iBATIS is used to create an effective persistence layer for your application. There were no code snippets here, the persistence layer was seemingly coded and tested from scratch. Seemingly, iBATIS is easy to learn and use. It's one to watch, but Hibernate is still the leading adopted persistence framework, followed by the big potential that the Java Persistence API (JPA) in EJB 3 offers. However, Spring does use and integrate iBATIS along with Hibernate.
Building Quality Applications with Ajax Frameworks: According to Dion Almaer and Justin Gehtland, Ajax techniques can lend tremendous richness to your Web UIs. But Ajax can be tedious and difficult to implement from scratch. Fortunately, there are a number of powerful frameworks that can make it much easier to do Ajax, including some that integrate with Java-based Web frameworks. This session demonstrated (through live coding): The popular Prototype, Dojo, MochiKit, DWR and Scriptaculous Ajax frameworks, each of which offers unique abilities to enhance your applications. These frameworks can be used with any server-side framework and their use with Struts and JavaServer Faces applications. This talk also discussed the state of Ajax support for JavaServer Faces via third-party JSF components and JSF-specific frameworks. Lastly, they showed how to easily add amazing Ajax effects to Java-based Web application.
Java Persistence API: One of the key results of the work on EJB 3.0 has been the introduction of a new, standard API for Java persistence and object/relational mapping. This work initially began as part of the EJB 3.0 and, in response to the urging of the Java community, has been expanded to include use in Java SE environments ("outside the Java EE container"). The talk covered key aspects of the Java Persistence API, including use of the EntityManager API, persistence units and persistence contexts, object/relational mapping using Java metadata annotations, extensions to EJB QL, and use of Java Persistence in Java SE environments. Also, from the show in general, we learned that an open source JPA effort, OpenJPA, is perhaps being accepted as a proposal into the Apache Software Foundation, and will go into the Apache incubator. IBM, Spring, BEA and others are apparently planning on backing this open source effort.
And I ended the show by perusing XQuery for Java Geeks by Jason Hunter and Bruce Tate's Beyond Java session, which focused more or less on Ruby on Rails. All in all, it was a good show. If you missed it, you have another chance as TSS Java Symposium goes overseas to Barcelona, Spain. For more, visit TheServerSide.com and/or TechTarget.com.