All versions of ColdFusion prior to 6.0 were written using Microsoft Visual C++. CF MX 6.0 move to the Java-based architecture. Major things introduced in CFMX (MX - Matrix, Code name is NEO - hero of Matrix). I pointed out some of them below,
Mac,Linux OS support
ability to code and debug Flash
API was released with an OOP
Added Verity Searches
For every language has its pros and cons. Q5 is answer for this also, But I will point out one or 2 advantages of CF over other languages.
vs PHP : Ajax features, Integration with adobe products, community support, J2EE
vs Java : Easy to learn, Code developmet & maintence cost
vs .NET : All OS, Most of webserver Support
Simplified Installation and Migration
All Operating System (OS) Support
All Database support
Faster Development & Easy to Learn
Improved & support for all Protocols
access to all the J2EE libraries
Integration with Other adobe Products (Flex, Flash, PDF..)
Cold Fusion is an example of a Common Gateway Interface application. The Common Gateway Interface is a mechanism to allow Web servers, which are designed to serve static documents, to receive dynamic output from programs and serve it as if it were static data.
1. When a browser sends a request for a Cold Fusion template to a Web server, several things must happen. First, the Web server recognizes the information from the browser as a request for CGI output.
2.If the request was initiated from a form, the server has to write the form field information to some area in storage that is accessible to other programs on the machine. Usually, this is done by using STDOUT data streams. The WinCGI interface, which can be used by WebSite and other servers, writes the form data to INI-style files on disk, which are then opened and read by the CGI application.
3.The CGI program requests data from the data source, which is returned in step
4. The CGI program formats the data as HTML output, returning this output to the server in step
5. The server receives this output, performs any further server-side processing necessary, and then sends it to the browser.
Cold Fusion defaults to using server API modules instead of CGI to communicate between the Web Server and ColdFusion Application Server.
A server that exposes business logic to client applications through various protocols including HTTP, HTTPS, IIOS/SSL. Eg: Sun Java Application server, weblogic server
It takes care of important issues like Transaction Management, Security, Database Connection Pooling, Clustering, Scalability,session management,load balancing,thread management and Messaging etc. A web server cannot provide these.
A computer that delivers (serves up) Web pages. Every Web server has an IP address and possibly a domain name. For example, if you enter the URL http://www.domainname.com/index.html in your browser, this sends a request to the server whose domain name is domainname.com. The server then fetches the page named index.html and sends it to your browser.
Any computer can be turned into a Web server by installing server software and connecting the machine to the Internet. There are many Web server software applications, including public domain software from NCSA and Apache, and commercial packages from Microsoft, Netscape and others.
ColdFusion is implemented on the J2EE. J2EE is a standard, it is not a programming language. J2EE is an implementation of the Java programming language, but includes a number of Application Programming Interfaces (APIs) for connecting to databases, queuing messages, connecting to registries and naming and directory services.
All of these APIs are used by coldfusion for many of its base services and other runtime services.
ColdFusion consists of following components:
► cf script
► ColdFusion Administrator
► Verity Search Server
FROM movie LEFT JOIN director ON movie.id = director.movie_id