When Written: April 2002
PRO SERVER with subs without subs
Full Product £829 £589
Full product £5159 £3689
verdict : A pedigree, performance, support for XML, XSL transformations, web services, reusable components, multi platform , J2EE support, tighter integration with Flash the list goes on, how much more do you want?
To review a server product such as Cold Fusion is always difficult, the editors scream for screen shots, of what? Lines of code? This task has been made even more difficult with the latest incarnations of Macromedia Web development tools, all of which have been suffixed ‘MX’. Flash MX, Dreamweaver MX, and ColdFusion MX are all so interlinked and build on each other’s strengths that they can and should finally be considered as a complete web development solution. ColdFusionMX is now such a part of Macromedia’s total solution that it is difficult to consider it on its own, so you will have to forgive me if I occasionally talk about the other products here.
It is very important to realise how they all work together and by doing so how they will enable us to deliver the sort of web applications that we have been struggling to implement with .NET. The work that Macromedia has put into these products is far from the mere addition of new features. They have brought to the marketplace a system that will enable you to develop web applications talking to web services running on either single servers or farms. They have beaten Microsoft to this Holy Grail, who whilst, they now have the coding and arguably the debugging tools, are severely lacking good design and web front end development programs.
This review is about ColdFusion MX, although this is really version 6 and not a separate product. The code has been completely rewritten to run on the Java platform and also includes a J2EE compliant Java Application Server. By doing this, ColdFusion MX will run on a variety of platforms and with a variety of web servers. IIS, Apache, Netscape, JRun, WebSphere, iPlanet Application Server and Web Logic Servers will all run ColdFusion MX. It will work on Linux, Solaris, HP-UX or any J2EE application server as well as having support for type IV JDBC, LDAP, COM, CORBA and JavaBeans/EJB. It is this ability to bridge the gap between the different camps that will appeal to many developers. It means that you can develop a web application and then implement it on more or less any web server. This process is simplified by the ability of ColdFusion MX (like the previous versions) to wrap up all the server side code and settings into a deployment package, which can then be run on a remote server with all the configurations done by the program. This functionality is getting more and more important as server side solutions get increasingly more complex.
In common with most new programs nowadays ColdFusion MX has full support for XML and it is claimed that it is easy to build Web Services. This certainly seemed to be the case when I tried it. One extra line of code is all that is required and with Dreamweaver MX’s ability to discover the properties of a web service from its WSDL file, and then automatically to generate a Web proxy, and finally display this graphically for you to drag and drop its data onto your page means that we are starting to approach the stage where we can all consider using web services without having to be a top programmer.
ColdFusion MX has built in XML parsing as well as supporting XSL transformations so that data from XML can be simply parsed and the data extracted from it server side. The data in say an HTML form can then be passed to the client, to be used in your web site or web application. As well as web services, java, .NET/COM and CORBA objects are all supported within ColdFusion MX. It is great to see such full and complete support for these technologies; we are all told everyday that XML is the way to go but implementing solutions can be tricky and in the world of short development times often there is not the luxury of the time to implement such things even if it is the ‘way to go’. After all, the user / client only sees a web site at the end of a day and they don’t care how it was produced, so long as it was produced quickly and the performance is good. On this last point, Macromedia has improved things with a system of page compilation and has made some changes to the locking mechanism to increase performance of what is already a high performance solution.
When developing a front end with something like a Flash object on the client talking to a back end server side process, debugging can become a little tricky to say the least! The debugging in ColdFusion MX has been very good for some time, putting many competing products to shame. In this version they have extended the debugging capabilities even further by having an application called NetConnect debugger. This application when run, shows you the data being sent back and forth between the client and the web server. This tool is so useful for picking up on those incorrectly formed queries and the like.
Macromedia see the way forward to building web applications (rather than web sites which may contain many such web applications) is to use Flash MX as the User Interface builder and implementer, with this talking to data and business processes held server-side and provided by ColdFusion MX or other web services. These conversations can be done in a variety of ways including SOAP and HTTP, but an extra interesting one is Macromedia’s own Action Message Format. This is a secure high performance binary transfer between Flash MX and ColdFusion MX via HTTP. This concept of building web applications has phenomenal possibilities. Macromedia have not forgotten traditional web sites and Dreamweaver MX now includes Ultradev to provide a powerful tool to build these as well as supporting Flash applications and web services. This is all exciting stuff, and it has at long last given us what has been promised for some time; a new way to build web applications.
To help with the development of multi lingual web sites ColdFusion MX now has support for UNICODE, this gives access to the extended character set required to fully support languages other than English. This support does not extend to the languages that are written right to left yet.
Within ColdFusion MX you can now create Components, which are reusable code that can be called from other code. This helps reduce development times and simplifies debugging. There is now a ColdFusion section on the excellent Macromedia Extensions site where you can download extra functionality for ColdFusion MX written by either Macromedia or the developer community.
The already excellent charting facilities of ColdFusion MX have been improved, enabling a greater range of charts and variations to be generated either as graphics or as a Flash objects. These charts can either be generated on the fly in response to a user’s request or if the chart data is not rapidly changing then they can be batched, say once a day and produced as static images to be used on the site.
ColdFusion MX comes in three main versions. First there is the Professional edition and this runs on Windows and Linux and will connect to ODBC data sources as well as directly to Access, SQL Sever and MYSQL in the windows version and to SQL Server and MySQL in the Linux version. The search capability of the included verity search engine is limited to 125,000 documents whereas in the other editions of ColdFusion MX this maximum is 250,000. The Professional version does not support the advance deployment and management of the Enterprise nor load balancing and fail over. The Enterprise and the J2EE version are very similar in their specification both supporting direct connectivity to a large number of databases including Informix and Oracle except the J2EE version does not support load balancing nor fail over yet. There is a free developer’s version so that you can develop your application without having to invest in a full copy. Macromedia’s pricing for the Professional and the Enterprise version is based on a per server cost so you can host as many web sites as you like on that server. The J2EE version is licensed at a per CPU cost. Obviously there are upgrade paths for existing users and it is worth checking out the Macromedia site for these.
As you have probably gained from the tone of this review, I am very excited by this and the other MX products from the Macromedia stable. If like me, you have been watching and experimenting with the .NET vision for several years and been frustrated time and time again with the tools available, then you now have a range of products that will work together and make it possible for you to leverage the XML / .NET vision at last. ColdFusion MX’s support for talking to XML data sources and then delivering them via a variety of mechanisms to Flash applications means that now you have no reason not to develop real user interfaces for your web applications rather than the dreadful Form – Submit – Wait – Display that we have all had to use in the past. DHTML and CSS promised lots but browser incompatibilities have rendered most of this useless. The increasing use of PDA’s and phones for Internet access just presents even more browser problems. Macromedia’s solution to this by using a small plug in which talks to the back end processes on a server could well be what we have all been waiting for. Perhaps its time to say ‘the browser is dead – long live XML & Flash!’.
Ease of use 4/6
Value for Money 4/6
256M (512M recommended) RAM, 400Mb of hard disk space, Windows 98SE/ME/NT/2000/XP
256M (512M recommended) RAM, 350M Hard disc space
Red Hat 6.2, SuSE 7.2 or 7.3
SPARC or PA-RISC 1.1 or 2.0
256M (512M recommended)RAM, 350M Hard Disc space
Solaris 7 or 8, HP-UX 11
The web based administration page shows all your ColdFusionMX settings
New commands give extensive support for XML
Access to Webservices are set up in a similar was as data sources in the Admin pages
The debugging has always been good now but its better now.
Netconnection debugger allows you to see what is going on between a client and the ColdFusionMX server.
The Macromedia Exchange site now has addins for Cold Fusion
Article by: Mark Newton
Published in: Mark Newton