This material was created by Vicente Maciel Jr and shows important points and features of ColdFusion. Adobe Cold Fusion 8 “This article has the objective of showing the main reason for the Brazilian companies and from companies around the world to adopt Adobe ColdFusion as a solution for the development of web applications through the CFML language. The main target of this article, truthfully, is the non-ColdFusion user, since it will clear to him/her, through various arguments, the main reasons for the adoption of this technology. All arguments presented here are not simply my only particular opinion and they were collected from independent and trustful sources, and the are part of the ColdFusion Evangelism Kit.
What is it? What is it for?
“The fastest way to develop Java web applications”, “The best solution fpr the development of Rich Internet Applications (RIAs)”. Those are the words that describe the product, by Adobe. Immediately, we already have here a very important argument for those who compare Java (JEE) with ColdFusion (CFML). Really, ColdFusion (CFML) is nothing more or less than a Framework for the development of Java applications. When you write a CFM file (.cfm) that will be part of your application, at the moment of the first reading of this file by the server from a request, this file (.cfm) will be compiled and it will generate a bytecode Java (.class), that will become the file to be processed by the Java nucleous in ColdFusion for the next requests and accesses. In that manner, it is clear that the CFML is simply an abstraction of the Java language and it has its API available in the form of CFML TAGs, in order to provide the developer better speed based on the simplicity of the sintaxe, extreme learning facility, code understanding, and continuing with the eficiency and other characteristics that the Java language offers. As all frameworks, ColdFusion is in constant evolution by the Adobe engineers. Although we do not have exactly all Java API available in the CFML Coldfusion framework, the complete Java API can be consumed in a ColdFusion application through the instantiation and manipulation of the Java classes (see example of receiving emails from a POP server using SSL)
“But Java, ASP/ASP.Net*, and PHP are free!”
In order to run ASP/ASP.Net it is necessary to have IIS, Windows, which is a paid operational system. Though, there is no way to use it freely. That is the most famous argument that a non-ColdFusion user highlights in the moment that the technology is cited. But, although they are free, would they keep the low cost after their adoption ? The graphic below shows, considering licensing, training, time/cost for development, time/cost for maintenance and support, the adoption of ColdFusion results in a final cost much inferior in relation to the other cited technologies. Sources: Sun Developer Network Overview of Java SE Security, MSDN How To: Use Regular Expressions to Constrain Input in ASP.NET, PHP.net Manual – Security Section, Adobe White Paper – Rapid application development for J2EE using Adobe® ColdFusion® 8, Adobe White Paper – ColdFusion 8 developer security guidelines The main contributing factors for this affirmation to be true are the items Time/Cost of Training/Setup/Proficiency and Time/Cost of Development and Maintenance of systems using the technology. Having Java as comparison, we can see in the graphics below the average time necessary for the developer to be able to start developing and just after, the time to reach proficiency with the technology. These two items are linked not only to cost but also with the efficiency of the generated code which will interfere immediately in the final product quality. We also know that the quality of the generated code in the production of the first version of the product will influence not only on the time but on the necessity of the code maintenance during its life time, including being a decisive factor on that life time until the product turns absolete (for example).
Speed and Quality in Development
ColdFusion is included in a type of product denominated RAD, which is the acronysm for Rapid Application Development. That immediatley means the ColdFusion developer will need less effort (quantity of code/implementation) to develop a solution ready to be put to production (published/deployed).
Using once more Java as a comparison point, we can see in the graphic below the result of an analysis made by the Adobe team (at that time Macromedia) based on the code used to develop the “reference application” by Sun (Java creators) named “Pet Store” and the comparative application made by Adobe/Macromedia named “Pet Market”.
This send us back to cost, since that to write more code it is necessary more time. Considering time as work/hour of a professional, then it becomes clear that the use of ColdFusion as the server-side technology, has its cost gradually lower, while the adoption of other technologies will generate a initial low cost but gradually higher on the way.
But ColdFusion hosting is always more expensive than the other options. That’s because in order for the provider to offer this option, they need to acquire an Enterprise License of the product. So the provider streams down that cost to the clients. BUt as we saw on the privious topics, the speed (productivity) that the CFML framework provides will turn the developer agile and he/her will attend more customers in less time. In that manner will generate bigger profits than if it was another technology chosen simply because of the factor of hosting costs. For the client taht will pay for the hosting, the economy will be in shorter time for the development as well as the smaller cost of maintenance, as we have already seen on previous topics.
Beyond those arguments, it is whorth to cite always, the smallest factor in reference to the cost of ownership is related justly to the cost of hosting. Who uses ColdFusion in Brazil and in the world? Adobe has a registry of more than 10,000 companies and 500,000 developers (data from Evans Data Corporation em 2007) that have chosen ColdFusion as server technology for RAD applications all over the world. This group is responsible for 125,000 instances of ColdFusion servers online.
On this Adobe link, you will see a list of 75 companies that are part of the list of Fortune 100, some with links to their respective case studies. Here in Brazil, the most know companies using ColdFusion are: Correios (Post Office), Embraer, Ministerio da Saúde (Health Minist.), Prefeitura do Rio de Janeiro (Mayor), Aços Vilares, Aneel, Assembleia Legislativa da Bahia, DClick (specialist in RIA), Fio Cruz, Fundação Getulio Vargas (statistics), Ministerio do Meio Ambiente, and many other that can be seen on the project CFEmpresas by the users group CFUGBR.
Back to the Future, Rich Internet Applications
If you are an up-to-date professional with all innovations that the technology market has been suffering in the last 5 years mainly, you must have heard about Rich Internet Application (RIA). This term refers to a new model of web solutions development (and desktop applications which uses web resources) which try to use the technical resources from the machines (clients) that access those applications in a most optimized and efficient possible form. Adobe started in the RIA market with the Flash technology. Having in mind to offering the best and most complete platform for RIA development, not only Flash but several other products from Adobe – mainly Coldfusion – were subjected to many studies and modifications to attend that purpose. With that, several other products showed up as Flex, AIR and LiveCycle Data Services, all of them having as prime technique base the protocol AMF (Action Message Format).
The AMF protocol (created by Adobe) is in short a protocol of serialization and de-serialization of objects in binary mode, which increments the speed and efficiency of the data transmission between applications. Being binary, this process shows itself much more efficient than the transport of text data normally used in Ajax solutions through JSON and XML.
The LiveCycle Data Services, which is part of ColdFusion but it is also available as an individual product (and for which there is also an open source equivalent: BlazeDS), offers today the best solution for data integration with existing RIA applications in the market, and it is the only product today built with the most recent version of the AMF specification. In that manner, ColdFusion becomes uncontestable, differential and highly considered as advantage in relation to development of back-end solution of RIA applications.
More yet about future, it is important to analyze the words of the current Technology Manager for Adobe, Mr. Kevin Lynch:
“ColdFusion is an important part of our strategy to enable rapid development of engaging rich Internet applications, and we are continuing to invest in great new capabilities in ColdFusion.“
– Kevin Lynch, Chief Technology Officer
As per the technical resources, this article already talked about. But it is important to note there is commitment by Adobe with the future of it, since it is important part of the company’s strategy to offer a complete RIA solution. That is made clearer when Adobe releases the graphic below which represents their plans for the next version of ColdFusion, named in the project phase as Centaur, Sully and Link:
Conclusion: Give ColdFusion a chance!
ColdFusion needs only one chance to certainly become your preferred technology for development of solutions Web, AJAX and RIA. Follow the steps:
- The Development Edition is equivalent to the Enterprise Edition (with all resources enabled) and it is tottaly free. It runs in any operating system and its installation process is very simple. Note: ColdFusion is totally free for teaching institutions like schools, universities that want to implement it as learning resource for their students, see here.
- If you want to follow the fastest way to dominate the technology, go to a certified Adobe training center where you will find official classes and material.
- Register in a discussion group like CFBRASIL (discussion list/forum) managed by CFUGBR (official Adobe users group) to answer your questions with more experienced ColdFusion developers in Brazil.
There is a lot more to know about ColdFusion. Be my guest to question me about anything through the comments in this article. It will be a great pleasure to help you to become another ColdFusion developer.
As Adobe certified intructors and consultors, we already formed more than 200 professionals and performed in seminars to more than 10,000 attendees in Adobe events about this technology since 1999.
Of course, we’d like your comments describing your experiences.