2002 OSCON Java Wrap-Up
Pages: 1, 2
OSCON Java Day 3: Java Sessions I
The 2002 O'Reilly Open Source Convention (OSCON) and its unofficial open source Java conference went into full swing with Wednesday's sessions: "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."
Mac convert James Duncan Davidson gave the first of the day's sessions on 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," said Davidson. Over the past few years, there have been lessons learned 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), and alluded 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 of writing JSPs, but to 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.
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. Testing for bugs is an important development endeavor. For more, check out Jesse's other session at the end of the day, which included discussion of Bugzilla.
Based on his experience 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 massively scaling 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, the possible solutions when scaling on hardware is not an option, and how to implement them in their environment. He also commented on his hopes that Tomcat does not becomes a full-fledged, options-heavy Web containter with EJB, JMX, JNDI, and more.
Instead, he believes that the single file installation and optimized performance should not be sacrificed for these, and that EJB, JMX, JNDI and others can be called through optional sockets. Apparently, as Tomcat continues to evolve, this debate is getting louder, as Pier's viewpoint differs from the current Tomcat viewpoint.
Jesse E. Tilly rounded out the day's sessions with "Configuration Management With Ant, Bugzilla, and CVS." In it, he first discussed the five types of open source projects: malevolent dictator, benevolent dictator, republic, democracy, and anarchy. Then, he described the advantages and disadvantages of each, touting the best kinds of open source projects: benevolent dictator (i.e., Jakarta) and republic.
Tilly used this as a springboard to discuss the open source development, build, test, and de-bug processes. Essentially, 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."
OSCON Java Day 4: Lightning Talks
The unofficial O'Reilly Open Source Convention (OSCON) Java conference on Thursday was on the lite side, with only a session on Java Lightning Talks. Lightning Talks are a forum for Java developers, programmers, and advocates to talk on any desired topic in a span of five minutes for each participant.
Today's participants included Mac convert and author James Duncan Davidson, Apache vice president and JDOM.org founder Jason Hunter, Sun's Open Source Diva, Danese Cooper, and representatives from JBoss. James gave a rehash of the significance of Apache and how it functions as an open source community. Jason discussed his experience with JDOM. Danese spoke about the status of open sourcing Java at Sun. Unfornately, the status is status quo. JBoss responded to Danese in regards to JBoss as a solution. Then, JBoss went on to talk about how open source projects seem to waste time on re-creating and implementing code bases that already exist in another form (another way of saying "reinventing the wheel") instead of focusing on indended project goals.
Afterwards, the audience participated in a more informal open source Java community town hall meeting with Q&A between the audience and the aforementioned speakers. Topics included Python vs. Java, and language bias shouldn't exist, because there's a place for each language, depending on the domain of the problem. Others came up as well. The final topic seemed to be on open source Java: what aspects of Java should be open sourced, etc.? Certainly, the reference implementation should be open source. In order for this to possibly happen, Danese invited interested parties to email her at email@example.com. She invited emails on your views for open source Java from Sun, including why Java should be open source and the value it can bring to Sun. Over time, she plans to collect as many responses as she can get, and share these with Sun's hierarchy.
OSCON Java Day 5: Java Sessions II
The unofficial 2002 O'Reilly Open Source Convention (OSCON) Java conference wrapped up on Friday with four sessions on NetBeans, Tomcat Clustering, JBoss, and Java for Mobile Devices/Mod_Perl.
NetBeans project lead Tim Boudreau showed how to build applications based on the NetBeans Platform. If you program in Java, you are probably familiar with the NetBeans IDE. What you may be less familiar with is using the NetBeans core to build your own desktop applications.
This session was supposed to have covered the NetBeans APIs; instead, it focused on some examples of how you can build more robust applications faster, using the NetBeans Platform to provide the basic infrastructure any large desktop application needs. Also, Danese Cooper showed up to explain the status of open source Java at Sun -- pretty much a repeat from yesterday's Java Lightning Talks session. She did add that that Sun is open to having the TCK available for free to non-profits, organizations, and the like.
Next, Jason Brittain of CollabNet talked about the Apache Jakarta Tomcat 4.0 clustering models and implementations. Eventually, one machine just isn't enough for high-traffic sites that use Java servlets. Regardless of whether it's for better scalability or for fault tolerance, eventually, your servlets will need to run on more than one server machine. To help you set up and maintain a clustered Tomcat 4 system, you should understand some of the details of the models and existing implementations of Tomcat 4 clustering infrastructure software. In addition to this session, you can read the following article: Clustering with Tomcat.
After lunch, Dain Sundstrom of the JBoss Group showed how you can improve performance and cut costs. JBoss has always been focused on making J2EE development painless and efficient. The most recent JBoss release, JBoss 3.0, includes several features that highlight how the efficiencies of J2EE (including a decrease in coding time, testing time, and administration) can be fully realized. Certain core JBoss features were discussed in detail with regard to providing an example of how to develop with these efficiencies in mind, including CMP 2.0, clustering, hot-deployable services, and JMX.
And to cap it all off, Gunther Birznieks of eXtropia talked about the status of Java for mobile devices using Java 2ME. However, Java 2ME, MIDlets, and the like are still immature and insecure. He suggested the use of Mod_Perl for accessing certain classes' functions that could reside on the middleware, as opposed to a VM on the device.
I hope you had the chance to attend and enjoy this year's unofficial Java conference. It's my wish to see an official Java conference starting next year, given this year's excitement, standing-room-only sessions and much, much more. If there's anything to take away from this year's unofficial Java conference, it's that open source Java is here to stay -- regardless of Sun's current positioning on it. Of course, we can change this, thanks in advance to Apache, JBoss, JDOM, and other open source Java community members, as well as those who want to see the vision of open source Java realized, including Sun's Open Source Diva, Danese Cooper.
Return to ONJava.com.