In the first installment of my two-part series on real-world use of Adobe ColdFusion 8, I looked at how NaturalInsight uses ColdFusion 8 to solve business problems. This edition explores how FoodSHIELD -- an enterprise-class collaboration portal focused on the Food Safety and Defense sector -- uses ColdFusion 8. I also share what I learned from my discussion with Eric Hoffman, the Managing Partner at EJH & Associates; their primary product is FoodSHIELD.
Note: This case study is also available in the TechRepublic download Real-world use of ColdFusion 8: Two technical case studies.
What does FoodSHIELD's application do?
FoodSHIELD's application provides easy communication between regulatory bodies and the food and agriculture industry. This allows them to respond quickly in the event of an emergency (such as food recalls). It creates a centralized community including blogs, surveys, Adobe Connect conferencing, discussion mailing lists, forums, and education resources. It also aggregates information about all participants, such as which laboratories have expertise in specific testing methods. Essentially, if something goes wrong anywhere in the process of getting food from producers to consumers, users of FoodSHIELD can coordinate their response, track the progress of the response actions, and leverage a large existing knowledge base and contact information to ensure that the best possible response is implemented.
How FoodSHIELD uses ColdFusion 8
FoodSHIELD runs using ColdFusion 8 Enterprise Edition. They have two data centers set up, each using a large application server and a large MySQL database server. Both servers run on Solaris.
The application uses the Savvy Content Manager to handle publication of dynamic content and uses a custom framework for the other portions of the system. They are investigating a switch to Model-Glue or ColdBox as a Model-View-Controller (MVC) framework.
Along the same line, they are investigating the use of ColdSpring to handle dependency-injection, and Transfer to handle Object-Relational Mapping (ORM) functions. When FoodSHIELD was originally built, these frameworks were still being refined, so the development team chose to use their own custom libraries. Now that the frameworks are more mature, they are being looked at again for future use.
ColdFusion 8's benefits, challenges, and areas for improvement
FoodSHIELD integrates with a range of external systems using Web services, including government agency servers that handle laboratory results. Eric mentioned how easy this was to create as a result of ColdFusion's extremely easy creation and consumption of Web services.
Eric's team also has two Adobe AIR applications under development for workgroup notifications and document management monitoring on the desktop. The applications will leverage the built-in LiveCycle integration that ColdFusion 8 provides to allow communication between AIR and ColdFusion. They're also looking at adding Flex components to the existing system to handle data visualization, since Flex offers such huge capabilities in this area.
An agile, Scrum-like development approach is employment by the FoodSHIELD CollabNet SourceForge Enterprise 5 for source code control, versioning, defect tracking, and QA. Gomez is used for load testing of the application, and Silverback is used on the Mac for quick and easy usability testing.
One challenge worth highlighting is that Eric needed to make a major change to their platform long after the first versions of the application were deployed: They needed to switch from Windows to Solaris. Because ColdFusion 8 is completely cross-platform, making this major change was quick and painless.
The other capability that Eric noted several times was the rapid development nature of ColdFusion 8. The ability to take customer feedback and changing requirements and quickly turn them around by implementing them within FoodSHIELD was a big help to the development team.
As far as areas for improvement, Eric mentioned that he could use even more PDF and FlashPaper capabilities (converting any type of document would be ideal), and that a slimmer AJAX library size would be appreciated since they are widely using the ColdFusion AJAX features.
I hope you find this exploration of ColdFusion 8 usage in the real world to be informative and a bit more technically-oriented than a typical case study or marketing press release. Both of these customers use ColdFusion 8 in different ways, for different reasons, on different platforms, but they both seem to have the same end result -- powerful, user-focused applications that can be built and maintained very rapidly.
If you're considering a Web development project, and you need an extremely rapid, cross-platform solution that offers a huge range of built-in services, download the Trial Edition of ColdFusion 8 and see how it might help you reach your goals.Get weekly development tips in your inbox Keep your developer skills sharp by signing up for TechRepublic's free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!