 |

The Future of ColdFusion
by Rob Brooks-Bilson
10/01/2001
As many of you know, Macromedia recently completed its acquisition of
Allaire, and along with it, ColdFusion. This acquisition has produced quite
a bit of anxiety in the ColdFusion community. Discussions on the
Allaire
Forums and on the popular CF-Talk mailing
list have shown a wide range of opinions. Some saw the move as a strategic
merger of two great companies--Macromedia with its strong emphasis on design
and the user experience (Flash, Generator, Dreamweaver) and Allaire with its
application server offerings (ColdFusion and JRun). Others weren't so
thrilled and felt this spelled the end of ColdFusion. I side with the
former. It would be naïve to say that the merger won't have an impact on the
future development of ColdFusion. However, given the strategic vision of
both Jeremy Allaire (Macromedia's CTO) and Kevin Lynch (president of
Macromedia products), I'm betting that ColdFusion has a long and prosperous
future ahead of it under their leadership.
One of the most obvious implications of the merger is an increased focus on
integrating many of Macromedia's existing products and technologies with
ColdFusion. We've already seen more integration between ColdFusion and
Macromedia's Flash. Macromedia recently released the Flash Component Kit for ColdFusion. This freely available
kit consists of several Flash components and corresponding custom tags for
adding a variety of user interface elements to your Web applications. These
UI elements include a calendar, a calculator, two types of navigation menus,
and a grid control. Macromedia also has several articles on their Web site
devoted to using ColdFusion with Flash: Dynamic Macromedia Flash Basics with ColdFusion Server and
ColdFusion Speaks to Flash. In addition to these resources,
an independent Web site called FlashCFM.com is devoted to all things Flash and ColdFusion
and contains news, tutorials, downloadable code, and components.
Another Macromedia product being tied more closely to ColdFusion is
Macromedia Generator. A server product, Generator produces dynamic Web
graphics. Here, integration is on two fronts. First, the current version of
ColdFusion, version 5, comes bundled with a special version of Generator
that is used to handle the new server-side graphing capabilities in
ColdFusion 5. The second integration point is for companies wishing to use
ColdFusion with the full version of Generator. Macromedia maintains a Web site with a white paper, custom tag, and several
tutorials explaining how to integrate the two technologies.
You can't marry designers and developers without marrying the tools they
use. Nowhere is this more evident than in the IDE (integrated development
environment) tool space. This is an area where it would seem that Macromedia
and Allaire brought competing tools to the merger--Macromedia with its
visual-design-centered Dreamweaver Ultradev and Allaire with its
code-centric ColdFusion Stuidio. Upon closer inspection, however, it's easy
to see that although both sets of tools do basically the same thing,
that is create Web sites and Web applications, it's the approach that each
tool takes that differs and can therefore be leveraged.
Very early on, when Macromedia and Allaire were still separate companies,
each recognized the strengths in the others approach to Web design and
coding and each included bundled versions or hooks into the other's
products. Now that the two
companies are combined, it's only natural that they'll continue to integrate
Dreamweaver Ultradev and ColdFusion Studio, bringing the best of visual
design and code-based design together. I wouldn't be surprised to see the
two products folded into a single offering at some point in the future.
Now that we've talked about the merger and what Macromedia is doing to
complement ColdFusion with its existing product line, let's move on to how
ColdFusion itself is going to evolve.
It's no secret that the next version of ColdFusion (code named Neo) is being
built on Java's J2EE platform. The shift from the current C++ code base
ColdFusion 5 was written in to Java allows Macromedia to implement a number
of features in ColdFusion not previously available--such as Unicode support.
Additionally, it allows ColdFusion to leverage the strengths of the J2EE
platform--mainly the performance boost you get from using compiled byte code,
a number of open APIs, and the ability to write an application once and
deploy it on almost any platform.
At the Allaire Developer's Conference last year, Allaire gave a public demo
of Neo, showing that even without optimization, it was already able to
execute CFML (ColdFusion Markup Language) code three times faster than the
current version of ColdFusion (then version 4.5).
The move to J2EE also signifies another important shift in Macromedia's
overall strategy for ColdFusion. Instead of positioning ColdFusion as an
application server competing in an already crowded market space, ColdFusion
will become a value-added service that runs on existing J2EE application
servers such as those from IBM, Sun, BEA, Oracle, and Macromedia's own JRun
server. Here are some possible scenarios to consider:
You are or want to be a ColdFusion only shop. In this scenario, you do
all of your development in CFML, just as in previous versions. You get JRun
(or a bundled version of) and J2EE by default, but it's transparent to
you.
You want to develop in ColdFusion and take advantage of J2EE development
using JRun as your J2EE application server.
Your company is committed to Java and has/plans to get a J2EE
application server from another vendor. This is perhaps the most exciting
possibility as it allows companies making a strong commitment to Java to
also take advantage of ColdFusion's rapid application development (RAD)
capabilities and rich feature set. In this scenario, you can be "an IBM
shop" and enjoy the benefits of ColdFusion without it being seen as running
competing technologies.
Does this mean that CFML is going away and you'll have to learn Java? Not at
all. In fact, Macromedia has made clear its commitment to the core CFML
language and to its devoted developer base. The ColdFusion philosophy has
always been to provide Web developers with a set of tools that abstract
complex programming tasks and technologies. CFML epitomizes this with it's
simple to learn yet extremely powerful tag based programming model. Of
course, a byproduct of building ColdFusion on top of J2EE is tighter
integration between the two. ColdFusion 5 already has support for Java
objects, EJBs, servlets, and custom extensions written in Java. More
integration between ColdFusion and Java can only be seen as a benefit for
developers.
You may be wondering why developers already using Java would choose to use
ColdFusion over JSP in the J2EE environment. The simple answer is speed and
ease of development as well as overall development cost. JSP is a great
technology. However, JSP is still complex to program in and requires a lot
more coding than ColdFusion to handle similar tasks (even in consideration
of JSP's tag libraries). Since CFML written for Neo will compile to byte
code just as JSP does, ColdFusion developer's will have the best of both
worlds--fast and easy development using CFML, the flexibility and
scalability of J2EE, and compiled application code.
Java is only one of the exciting aspects being touted in the next version of
ColdFusion. With all this talk about Java, you might be wondering about
ColdFusion and Microsoft's .Net platform. Making ColdFusion a service that
sits on top of the J2EE platform definitely squares ColdFusion as competition
for Microsoft's ASP .Net platform. At the same time, however, Macromedia has
stated its strong support for the overall .Net platform and is looking at
ways to integrate support throughout their client and server products.
Another exciting development has to do with plans to integrate parts of the
Content Object API (COAPI), developed as part of Macromedia's Spectra
product into the ColdFusion application server. Exactly what this will look
like is still a matter of speculation, but from what has been publicly
discussed, it looks like one use for the COAPI will be for building various
Web services in ColdFusion.
You can expect to hear more on these and other plans Macromedia has for
ColdFusion at the upcoming DevCon in October
2001.
Rob Brooks-Bilson is the Web technology manager at Amkor Technology, where he
has worked since 1996. Rob's involvement with ColdFusion goes all the way
back to version 1.5 and includes several large-scale projects, the creation
of numerous open source custom tags, and more recently, the open source
Common Function Library
Project, where he coordinates several libraries of freely available
functions. Rob is a member of Team Macromedia (formerly Team Allaire) and
is a frequent speaker at ColdFusion user groups and conferences. Rob also
has his CF certification as a Macromedia Certified ColdFusion 5.0
Developer. He has written several articles on ColdFusion for Intranet
Design Magazine, CF Advisor, and CNET's
Builder.com.

|
 |
Sponsored by:
|