RegisterLog In/Log OutView Cart
O'Reilly
web.oreilly.com
BooksSafari BookshelfConferencesO'Reilly NetworkO'Reilly GearLearning Lab
 
advertisement




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.

Related Reading

Programming ColdFusion
By Rob Brooks-Bilson

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:

  1. 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.

  2. You want to develop in ColdFusion and take advantage of J2EE development using JRun as your J2EE application server.

  3. 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:



O'Reilly Home | Privacy Policy

© 2007 O'Reilly Media, Inc.
Website: | Customer Service: | Book issues:

All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.