|
|
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
| HOME
| DIRECTIONS
| HOTEL
| SCHEDULE |
| TOPICS
| SPEAKERS
| REGISTER
| CF CONF CENTRAL |
|
|