Considered by many to be a dead language just a few years ago, ColdFusion is getting a second life in rich Internet applications (RIA) developed at the San Diego Department of Child Support Services (SDDCSS). Darius Fattahipour, senior IT engineer for the child services agency, is updating ColdFusion applications to provide a RIA Calendar Dashboard to reduce social service client wait times while monitoring and managing the appointments of children, parents and agency personnel.
ColdFusion provider Adobe has worked to improve the integration of ColdFusion with Flex and AIR, its advanced RIA tool chest. This is providing new life not only for the legacy applications but also for the skillsets of an army of ColdFusion coders. ColdFusion was originally produced by Allaire, which was acquired by Macromedia in 2001, which in turn was acquired by Adobe Systems Inc. in 2005.
Fattahipour said the new RIA application, completed this past week, provides real-time alerts for the department staff so they can better manage appointment scheduling. The Calendar Dashboard leverages the legacy ColdFusion backend with the newest Adobe Integrated Runtime (AIR) and Flex for the user interface, he explained. The Adobe LiveCycle Data Services ES framework provides the messaging.
Fattahipour went through a period when ColdFusion was considered a "dying language" and development seemed to be moving toward either .NET or J2EE. For ColdFusion coders, Adobe's integration of ColdFusion first with Flex and this past year with AIR has given them new life in (RIA) development, Fattahipour said. It saves time and money in moving ColdFusion application into the RIA world, because developers don't have to re-write their backend system in .NET of Java, he said.
"With the latest version of ColdFusion, Adobe has made connecting these technologies easier," Fattahipour said. "When you install ColdFusion all the connectors are there already. That makes it a lot easier because the configuration was difficult."
The leader of San Diego's ColdFusion user group and now the Adobe user group, Fattahipour resisted the idea that the language was passé in the Web services, service-oriented architecture, RIA world.
"ColdFusion is really great as middleware," he said. "As a product it allows you to easily gather data from a database. But you're still constricted by what you could do with HTML and even an Ajax interface. So Flex is nice because I can build really robust rich Internet application, which I did in this case, but still leverage all my ColdFusion code.
Adobe LiveCycle Data Services ES framework for the of Flex and AIR applications provides the messaging between the Flex user interface and the backend ColdFusion applications connected to SQL databases, Fattahipour explained. "So whenever there are updates to the data, they basically send that data through a message to the dashboard."
The coding was done in ActionScript, which is the scripting language for both Flex and AIR, he said. The latest application for the Calendar Dashboard was Fattahipour's first experience working with AIR.
"You write it in ActionScript," he said of AIR programming, "which is the same programming languague used in Flex. With AIR you have some additional APIs. You write the application in the same way except you compile it for the desktop."
With the new AIR application, the code is generated from ColdFusion by LifeCycle Data Services and send alerts to the browser on a manager's PC desktop when waits for children, parents and other clients are becoming very long, he explained.
Speed of coding was what drew him to ColdFusion for original Internet development a decade ago, Fattahipour said.
"The reason ColdFusion was popular originally was that the programming was fast," he said. "You don't have to write as many lines of code as you do in Java or .NET. In Flex, it's the same way, it's a tag-based language, kind of like what Microsoft is doing now with Silverlight. You can do all the basics with tags. If you need to do customization, you can go in and expand the tag and write a custom component."
The newer Flex is attractive to ColdFusion programmers, he argues, because of they share a similar programming model. As well, both are tag-based.