(Macromedia) Cold Fusion: A Brief Overview <ul><li>What is Cold Fusion? </li></ul><ul><li>An example of CF code </li></ul><ul><li>How does it compare with the others: </li></ul><ul><li>- PHP </li></ul><ul><li>- ASP </li></ul><ul><li>- CGI/Perl </li></ul><ul><li>Summary </li></ul>
What is Cold Fusion? Cold Fusion (formerly owned by Allaire; purchased by Macromedia in 2001) Is A Fast Reliable Way To Rapidly Build And Deploy Scalable Solutions That Integrate Browser, Server, And Database Technologies. Cold Fusion Uses A Tag Based (like html), Server Scripting Language That Is Ideal For Programming Web Applications. Cold Fusion Runs Entirely On The Server, So No Browser Plug-ins Are Needed. Cold Fusion Can Be Used To Integrate Any ODBC Database, Such As Microsoft Access, Excel, SQL Server, Dbase, FoxPro, Oracle, And Plain Text Files Into Your Web Site. Beyond Database Integration, Cold Fusion Supports 70 Server Side Tags, 200 Functions, And Over 800 Third Party Components. Current server version is 5 at a cost of $1295.00 for the Professional Edition. Enterprise Edition is $4,995.00. Use with Cold Fusion 5 Ultradev Studio.
What is Cold Fusion? Frequently used tags: <cfquery></cfquery> <cfinclude template=“includes/navleft.cfm”> <cfoutput> <cfif GetFac.fac_Course1 neq""> #GetFac.fac_Course1#<br> </cfif> </cfoutput> # signs identify CF variables
What is Cold Fusion? works with SQL; nest SQL statement inside CF tags <cfquery datasource="external" name="GetFac" username=“johndoe" password=“9008xyz"> SELECT fac_ID, fac_FirstName, fac_MiddleName, fac_LastName, fac_Title, fac_OfficeNumber, fac_Phone, fac_Fax, fac_Email, fac_Webpage, fac_Education, fac_Course1, fac_Course2, fac_Course3, fac_Course4, fac_Course5, fac_Bio, fac_Activities FROM tblFaculty WHERE fac_ID = #FACID# </cfquery>
An example of Cold Fusion code <cfquery datasource="external" name="GetAlumBOD" username=“janedoe" password=“8877"> SELECT alumbod_lname, alumbod_fname, alumbod_email, alumbod_class, alumbod_title FROM tbl_0102alumBoard ORDER BY alumbod_lname </cfquery> <cfscript> GetAlumBOD_NumRows = GetAlumBOD.RecordCount; </cfscript> <html> <head> <title>Owen@Vanderbilt - Alumni & Development Board Members</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" href="../styles/ogsm.css" type="text/css"> </head>
CF vs other Web App Programs Break-down of current internet program usage by percentage PHP – 30% asp – 48% jsp – 2% cfm – 20% as of March 4, 2002, from AltaVista stats http:// php.weblogs.com /popularity
CF vs PHP ( http:// php.weblogs.com/php_vs_cold_fusion ) CF: Platforms: NT, Solaris 7 or higher, HP-UX 11, or RedHat 6.1 or higher; Any webserver that has ISAPI, WSAPI, NSAPI, CGI, or module extensions. Language: Primitive, but passable Database: Great syntax and abstraction File handling: Adequate RegEx: Adequate Error Handling: Good Search: Outstanding (comes bundles with Verity) Date-Handling: Nearly idiot-proof Cost: $$$ to $$$$$$$$ PHP: Platforms: Where do you want to run today? Language: Feature-rich and flexible Database: Great native support, bloated syntax File handling: Comprehensive RegEx: Outstanding Error Handling: Poor Search: Non-Existent Date-Handling: Primitive Cost: null
CF vs ASP IIS 3.0 ( http:// www.houseoffusion.com/hof/body/asp.cfm ) Syntax ASP: script-based, developer friendly; supports VB syntax. CF: tag-based, html author friendly. Supports JS style scripting as well. ASP has support for multiple, extensible scripting languages. CF's tag syntax is simpler and easier DB connectivity ASP: Database connectivity through ADO COM object - ODBC CF: Database connectivity through tags - ODBC, Native drivers, OLE DB, ADO COM objects, etc. The CF DB tags are somewhat easier to use than ASP ADO objects.
CF vs ASP IIS 3.0 ( http:// www.houseoffusion.com/hof/body/asp.cfm ) State Management ASP: dynamic, using a temporary cookie to identify a server side object with configurable expiration CF: static across user sessions, using a permanent cookie with storage in the Windows registry/database, or dynamic just like ASP's CF will do state management just like ASP, or it can preserve state across browser sessions making it more flexible. Debugging ASP: error message sent to browser upon runtime errors, or not. On/Off switch, no customization. CF: configurable debugging information (including SQL debugging info) sent to browser upon runtime errors, can be restricted to certain IP addresses CF has by far the better debugging.
CF vs CGI/Perl The Common Gateway Interface (CGI) is a protocol designed to pass information from the browser to the server, and back again. For awhile it was the only real solution for producing dynamic data on web sites. Perl is the language of choice for implementing CGI because its strengths lie in the text processing so necessary for handling all kinds of information. But Perl is a full-blown language that exists beyond the confines of CGI, and in many cases that's more than you need. Although Perl works beautifully for web development, it wasn't designed specifically for it. Perl designed more to work on Unix platform. Some debate as to whether Perl is more secure than CF. CF much easier and faster to write than Perl.
Summary If you can handle the price tag and have good familiarity with html and want to learn to quickly develop basic to sophisticated web applications, Cold Fusion is probably your best bet. The program is robust, very well supported and user – and platform-friendly. Non-programmers especially should find a relatively short learning curve with plenty of canned applications ready to drop into their site, as well as a strong user community. Nashville has a Cold Fusion user’s group http:// www.ncfug.org/index.cfm Visit http://www.macromedia.com/software/coldfusion/productinfo/competitive/ for more information.