HOME DIRECTIONS HOTEL SCHEDULE TOPICS SPEAKERS REGISTRATION Special Offer More CLASSES SPREAD THE WORD Latest NEWS Photos

CF Conf Central
September 18th - September 19th, 2004
Rockville, MD

NEWS

Until the Fusebox conference ( September 18th - September 19th), we will be talking with featured speakers at the conference.

Interviews

8. John Paul Ashenfelter - Leveraging Java Tools for Fusebox 4 Development

In this Fusebox Conference interview I talk with author John Paul Ashenfelter on "Leveraging Java Tools for Fusebox 4 Development".

Michael Smith: John, I see that you are speaking on "Leveraging Java Tools for Fusebox 4 Development" at the Fusebox conference. Why should a ColdFusion programmer be interested in this?

John Paul Ashenfelter: Obviously one of the biggest changes introduced in ColdFusion MX was the fact that ColdFusion is now a J2EE application that runs on top of a J2EE server. And since Java can be integrated into CFMX applications so easily, an enormous world of existing tools and components are now available for use in your CFMX application.

MS: What kind of tools are available?

JPA: All sorts! There are tools for managing and automating the software development process, frameworks for building applications, components for common functionality that can be embedded in your application, and even integrated development environments (IDEs) for building code. In fact, the real issue is usually not being able to *find* an existing Java tool to meet your need -- but instead how to *choose* which of several is best for the task at hand. More importantly, there are many, many open source Java tools software that can be leveraged in CFMX applications.

MS: What do you mean by "open source" Java software?

JPA: "Open source" means that the source code for the tools is freely available under one of the many open source licenses, such as the GPL (GNU Public License), Apache, or Berkeley licenses are to name three common ones. This is especially relevant to Fusebox developers since Fusebox 4 is also open source software. I just got back from teaching a tutorial at the O'Reilly Open Source Convention and was thrilled to see a number of interesting and useful Java open source projects.

MS: So where can you find open source Java software?

JPA: Everywhere! ColdFusion MX itself uses a number of open source projects under the hood, including everything from log4j for logging to xalan for XML processing to the Axis web services framework that Macromedia jointly develops with IBM and released as open source software.

MS: That is cool, but I meant where can *I* find some open source projects?

JPA: There are literally thousands of open source Java projects. Good places to start looking for them are the Jakarta site (jakarta.apache.org), tigris (www.tigris.org), and of course Sourceforge (www.sourceforge.net).

MS: Can you give me some example projects that I might find useful?

JPA: Some of the most generally useful projects are: Subversion, a source control system that was designed to replace the very common CVS source control system Ant, a build tool that can be used to package and deploy applications, including web applications, Jakarta Commons projects, especially the Commons- Logging package plus many, many others for specific tasks, such as the Lucene search engine, the XML libraries, and some visualization tools

MS: Why is all of this important to a Fusebox developer?

JPA: One of the things I've always liked about building Fusebox applications was the possibility for reusing circuits in multiple applications. The large library of open source Java tools provides many more ways to reuse code. Plus Fusebox itself is an open source project, so using open source Java tools seems to naturally make sense!

MS: Interesting... Is it possible to call a Java library straight from a fuseaction?

JA: You can if you don't mind having things look a little messy. The [set] verb in fusebox can be used to instantiate any Java class that is in the CFusionMX/WEB-INF/classes directory or that is packaged as a JAR file in the CFusionMX/WEB-INF/lib. You've got the two-step option where you create the object and then call its methods if you don't need a return value.

Here is an example (I have used square brackets instead of angle brackets to get through Michael's email program):

[set name="obj" value=CreateObject('java','HelloWorld')/]
[set name="msg" value=obj.greet()/]

and the ability to call a method directly

[set name="obj2" value=CreateObject('java','HelloWorld').greet()/]

or even

[set value=CreateObject('java','HelloWorld').greet()/]

And all of these methods are equivalent to how you'd use Java objects in a "normal" CFML template.
But... one of the new features of Fusebox 4.1 is an [object] tag that is supposed to make working with Java classes easier. We'll just have to wait for the release of Fusebox 4.1 at the Fusebox Conference to see how it works!

MS: Wow that is really cool. I can't wait to see your talk.


Previous Interviews:
Week 1: Hal Helms - Keynote Speech
Week 2: John Quarto-vonTivadar - New Aspects of Fusebox 4.1
Week 3: Michael Smith - Real World FLiP
Week 4: Rey Muradaz - How NOT to Fusebox
Week 5: Steve Nelson - Fusedocs
Week 6: Hal Helms - Bonus FLiP CD
Week 7: Sandra Clark - Layouts in Fusebox 4


If you have any questions, contact michael(at)teratech.com


|  HOME  |  DIRECTIONS  |  HOTEL  |  SCHEDULE  |
|  TOPICS  |  SPEAKERS  |  REGISTER  |  CF CONF CENTRAL  |