OSCON Java Day 3: Java Galore!
by Steve Anglin
The 2002 O'Reilly Open Source Convention (OSCON) and its unofficial open source Java conference goes into full swing with today's sessions on "Open Source & Java: Lessons from the Apache Experience", "Pay as you Go - MVC in JSPs and Servlets", "JDOM Makes XML Easy", "JUnit Tesing", "High Performance Servlets With Apache 2.0", and "Configuration Management with Ant, Bugzilla, and CVS."
First, Mac convert James Duncan Davidson gave the first of the day's sessions open source and Java. "Open Source Software has been a media darling the last few years, especially with attention being focused on the Linux based startups. However, there's been a large amount of activity around Open Source Java at the Apache Software Foundation." Over the past few years, there have been lessons about open source as well as collaborative Java development in this context. This talk explored these lessons, and the issues that created them. He used Jakarta Tomcat's evolution as a specific example as it evolved from one adopted code base to another (i.e., Catalina), as well as eluded to Sun's involvement with Apache during this evolution.
Next, Larry Karnowski of OpenNMS.org talked about how Java Server Pages (JSPs), with their simple script-like syntax, are easy to learn and understand and are well-suited for delivering features quickly. However, JSPs do not use the Model View Controller design pattern (MVC), which is important in user interface development for long-term maintainability and reusability but requires much more developer expertise. In order to benefit from the rapid development cycle and low expertise requirements for writing JSPs, but allow code to scale and be maintainable through MVC design patterns, developers should use coding strategies that take advantage of JSPs' high-level aspects in early iterations but easily migrate to more scalable joint JSP/servlet MVC models when that extra cost is warranted. According to Larry, the "paying as you go", features are quickly added, and only the JSPs that truly require an MVC architecture get that treatment and incur that cost.
After lunch, JDOM.org founder and Apache's representative to the Java Community Process (JCP), Jason Hunter discussed JDOM. JDOM (JSR-102) is an open source Java API for processing XML documents that's both simple and convenient. At a high level, it's similar to the DOM, but since JDOM was designed specifically for Java rather than for multiple languages, it feels much more natural and "right" to Java programmers. For both beginners and experts, Jason showed how to use JDOM to easily and efficiently read and write XML documents from your Java programs while automatically maintaining well formedness. Jason also covered and explaned the new features added in Beta 8. He ended with a discussion of his experience in putting JDOM through Sun's Java Community Process (JCP) as a Java Specification Request (JSR) – the first open source project to become a JSR. The speaker is the JDOM Specification Lead and also Apache's representative to the Java Community Process.
Next, O'Reilly's Ant: The Definitive Guide author Jesse E. Tilly talked about the open source Java testing frameworks such as the JUnit project and more. Testing for bugs is an important development endeavor. For more, check out Jesse's other session at the end of the day, which includes Bugzilla.
Working for Apache and VNU Business Publications, Pier Fumagalli talked about his preference for a Tomcat Servlet container code base that's fully compatible with the Apache 2.0 Server, which would support high performance Servlets.
After joining VNU, he had to face one problem: how to deliver 10 million Servlet generated pages a day without scaling massively on hardware. The solution was the adoption of Apache 2.0 and a new approach to Servlet Engines. Using parts of Tomcat 4.0 and embedding them directly into the multi-threaded architecture of Apache, his team was able to have performance increases on the order of 500% compared to closed-source and highly priced alternatives. In this session, Pier introduced the problems related to having high loads on Servlet-based sites; what are the possible solutions when scaling on hardware is not an option; and how to implement them in their environment.
And finally, Jesse E. Tilly rounds out the day's sessions with "Configuration Management with Ant, Bugzilla, and CVS." This presentation gave an overview of a configuration process that works. "No theory is involved, just battle-tested facts. Those other systems work because they're built on time-tested methodologies that manage projects well. The same can be said with this methodology; it's just that this particular implementation costs a lot less."
That's all all for now. I hope you got your fill of open source Java for the day. Take a break, but show up to the Java Lightning Talks after lunch on Thursday. See you there.