As the O'Reilly Network Java Editor, I attended the inaugural O'Reilly Open Source Convention (OSCON) Java track, focused on open source Java projects and tools. Given the excitement over open source Java, based on the success of the Apache Jakarta projects such as Tomcat, I expected a full house at most of the technical sessions in this track. I was wrong. Instead, expectations were deflated somewhat with attendance below expectations, at around a maximum average of forty to fifty attendees for most of the sessions, starting with OpenNMS.
OpenNMS, presented by Shane O'Donnell, is an open source networking management system tool for Java and XML network development. It competes with other open source networking tools like NetSaint, MRTG/RRD, and Big Brother/Big Sister, as well as commercial products like Tivoli and OpenView. All these agree on a standard: SNMP/SMTP. OpenNMS is compatible with Tomcat, Xerces, Xalan (XSLT) and OpenJMS (more on this later). Its architecture is simple in terms of flow, but complex in terms of technologies it must use outside of Java. Networking socket programming must involve C for the moment, given that Java socket definitions pose problems, and are not open source. Also, “Java's answer to ping: system.exec” does not suffice, according to Shane. Furthermore, the JSDT (Java Shared Data Toolkit) API package would help solve such networking problems if it was open sourced as promised by Sun. As of yet, Sun still has not opened up JSDT to the open source community. I asked Shane if the delay was due to a pending announcement by Sun at next year's JavaOne concerning a wider-cast open source Java. Collab.net's James Duncan Davidson, the next speaker, interjected that that scenario was very unlikely. Time will tell. But OpenNMS represents one of many open source Java projects and tools that will be presented here today. For more information, check out opennms.org
James steps up next to discuss Amber, an open source Java build tool. He starts, though, by discussing the most popular open source Java build tool, Ant. Ant is an Apache Jakarta project that has gained much success with support from major vendors, including Sun's NetBeans IDE. James explains that Ant started as a one-class file, which could launch a compiler. This yielded a tremendous performance improvement. Initially, Ant grew to the point where it was used to build another Jakarta project, Tomcat Web server, using
rmic. Ant then enabled packaging for Tomcat using JAR. Ant is now at the point where support for clean data formats, extensibility, platform independence, project definitions, targets, target dependence, and more was not enough, actually limited. That's because “logic and XML (data) don't mix well,” says James. Hence, his motivation for Amber is clear. Amber is to be a build tool that supports scripted build files. Unfortunately, he could not provide specific code examples, given that Amber is still in the prototype stage of development. No Alpha release has been scheduled, yet. For more on Amber, check out amber.org. For now, he suggests that Ant, not Make, is the build tool of choice.
The Java track breaks for lunch over at the NuSphere tent, right along the San Diego harbor. NuSphere CTO D. Britton Johnston, MySQL.org Organizer Mike Furgal, O'Reilly Network Editorial Director David Sims and myself discussed the state of MySQL. We discussed MySQL and Java and its implications on SQLJ. SQLJ has been in doubt for some time. According to MySQL.org, SQLJ was initially started a commercial effort by IBM, Oracle, and Sybase as a Java database solution. In his view, MySQL has supplanted SQLJ. Others have confirmed his opinion. Of course, Sybase will not officially say it's dead, but they, along with IBM, have not given it much financial or community support. Oracle may be the last of the three to agree. What do you think? Anyway, our lunch meeting covers other topics such as .NET and C# connectivity to MySQL. Is MySQL.org looking at ways of supporting this in the community yet? At this time, the answer is no, given current C# support. However, he hasn't ruled it out of future consideration. NuSphere seemed to be in agreement regarding this in relation to their products. Lunch ends and the track resumes.
OpenEJB Co-Founder David Blevins starts off the afternoon track with OpenEJB, an open source EJB-based container and potential EJB implementation and Web application server plug-in. OpenEJB offers CORBA 3 and CCM (CORBA Component Model) Interoperability Bridge. Additionally, it offers EAR, JAR, and WAR packaging support and much more. It was a very technical session. His presentation can be found at oreilly.conferences.com. It was also the best-attended of the sessions on this day, with well over seventy to eighty participants. My hunch is that it will be a plug-in as part of a larger, more complete Web application server environment, along with OpenJMS and more. Look for pending announcement. To participate in OpenEJB development as well as hear about its latest developments, subscribe to firstname.lastname@example.org and type Subscribe openejb-development in email subject field.
eBuild and JBoss.org developer Andreas Shaefer was next. He covers Jboss.org, an open source Java Web application server, which is a broader J2EE-based container. Its architectural backbone is JMX, with each module a MBean. It allows for a dynamic proxy-based Java interface, which makes ejbc “superfluous,” according to Andreas. J2EE packaging support includes JAR, WAR, and EAR. JBoss modules include MQ for messaging, CX for connectivity, SX for security, TX for transactions, Mail, SOAP for Web services implementations, Test and Doc. It seems to be a complete platform. External support for this open source development environment includes Jakarta Tomcat, Jetty, Cocobase, Castor for JDO (Java Data Objects) and Tyrex integration. However, Andreas made it clear that JBoss preferred Jetty for performance reasons. Then he covers a Jetty installation example, followed by a coding example. He creates a data table on the fly and an XDoclet using MailEJB. The current problems with JBoss seem to involve management framework and API like JMX-HTML, JMX-RMI Connector and most importantly, the management Mbean implementation (JSR-77 project). For more on JBoss, refer to current ONJava.com articles. Also, go to JBoss.org if you want to participate in this open source effort.
Next up, Stuart Halloway presented JAWIN, an open source tool for Java/EJB interoperability with Win32 API and COM. JAWIN allows code generation for COM Stubs or sockets. The next step is DLL sockets. JAWIN is an interesting interoperability tool, strong on potential but weak on performance. According to Stuart, JAWIN is “slow.” Unfortunately, demand and resources are limited on this project. To participate, let Stuart Halloway know. There are other open source interoperability projects out there like Java.NET, supported by Halycon Software. Look for more on this in the coming weeks.
And finally, Collab.net's Jon Stevens ends the OSCON Java track with a session about Scarab, an open source tool for integrating fundamental security features and bug fixes in open source Java applications built with the Jakarta Turbine Servlet framework using MVC. Jakarta Velocity template language and Jakarta Torque for schema.xml database access have also been used with Scarab. Scarab functions like Bugzilla, but Bugzilla still offers better graphics and images. For more, go to collab.net site for more information on how to participate.
With your participation on any of these open source tools, you'll insure the growth and use of open source Java. Next year though, I hope to see more Java developers at OSCON. I also hope to see more Jakarta and other technology projects in addition to open source Java tools. Enjoy. Hope to see you all there next year.
View more Open Source Convention coverage.
Return to ONJava.com.
Copyright © 2009 O'Reilly Media, Inc.