Welcome!

Adobe Flex Authors: Liz McMillan, RealWire News Distribution, Maureen O'Gara, Yakov Fain, Keith Swenson

Related Topics: Adobe Flex

Adobe Flex: Article

ColdFusion In The Trenches

CFMX is RX for Midwest Health Care Organization

The Organization
The Midwest is home to a world-class health-care provider, research facility, and medical school. For close to a century, this organization has been pushing the limits of modern medicine, while making significant contributions to the medical community.

The organization has treated more than 6,000,000 patients since its founding. Today it is a multibillion dollar operation with facilities in several states, employing more than 45,000 physicians, nurses, and health-care workers, and just as committed as ever to excellence in health care and medical research.

The Web Sites
The organization actually has two very different public-facing sites with very different goals.

The public .com site is a consumer-information site serving over 12,000,000 page views each month. It provides extensive articles and information on diseases and medical conditions, prescription and overthe- counter drugs, healthy living, preventative medicine, and more. Under the banner proudly declaring "Reliable information for a healthier life," a vast amount of content is made available at no cost to readers. Visitors can sign up for regular e-mail newsletters and even register for personalized content relating to information they provide.

The organization also maintains a dedicated site specifically for patient care on a .org domain. This multilingual site provides physicians and patients with vital personalized content, and also lists job postings, research, medical services, international services, and other related information. There are also numerous internal sites and applications (see Image I).

Using ColdFusion
By now it should be blatantly apparent that the public-facing Web sites are highly content-centric. In fact, it would not be a stretch to consider them to be massive content management and publishing systems. And at the heart of the content management systems sits ColdFusion.

The organization has been using ColdFusion since the early Allaire days. And as ColdFusion evolved, their developers have been quick to leverage the features and capabilities it offered. The sites now use a combination of ColdFusion 4.5, ColdFusion 5, and ColdFusion MX running on Windows and Solaris boxes (using IIS and Apache). As is the case in all large organizations, data is stored in a variety of databases, including Oracle, Sybase, Microsoft SQL Server, and DB2.

Configured for Scalability
The production .com site is split across two physical data centers linked by fiber backbones. The network architecture and configuration has been optimized for highperformance content management. Each location is configured as follows:

  • Arrowpoint (now Cisco) switches
  • SonicWall SSL accelerators to improve the performance of secure data transmission
  • Five clustered ColdFusion servers running on Windows 2000
  • Three clustered dedicated media servers running on Linux (so as to reduce load on the application servers)
  • Two clustered Verity K2 servers running on ColdFusion MX on Windows 2000
  • Two Sybase servers running on Solaris, configured for failover
Similar configurations are employed on the development and build sites so as to eliminate deployment problems caused by differing environments (see Image II).

The use of dedicated servers is important. Early performance problems taught the application developers that static media content (images, graphics, any media saved to disk) can be served more efficiently from dedicated boxes. This way the media is served faster (there is no application server running to slow things down), and the ColdFusion servers can run faster too (as resources are not being used for responding to simple HTTP requests). Similarly, the dedicated Verity K2 servers allow for lightning-fast indexing and searches with no other processing getting in the way. This is a well-thought-out and highly scalable architecture, one that also allows for future growth and expansion.

And this is just one of the public-facing .com sites. ColdFusion is used for all sorts of applications (both public facing as well as internal):

  • Content creation and management
  • Content workflow and approval
  • Content publishing and data searching
  • Human resources self-serve applications (like timecard and benefits management)
  • Change management tracking, which is crucial for compliance with recently mandated HIPAA (Health Insurance Portability and Accountability Act of 1996) regulations
  • Single Sign On system (built on Web services), which allows corporate clients to seamlessly integrate their custom-hosted corporate sites into their own corporate portal without the need for additional login steps image I
  • Internal newsletter application that can be customized by department
  • Committee Minutes system that allows for the archiving and retrieval of minutes
  • Employee directory services system
  • IT issues tracking system
  • Job posting board

ColdFusion was originally brought in to replace an existing Interwoven solution, and to bring hosted applications in house. As per an internal technical specialist, ColdFusion is used because of its "rapid development, ease of use, and minimal learning curve."

This is not to say that ColdFusion is the answer to all problems - on the contrary. Whereas ColdFusion empowers users with "rapid prototyping and quick results," some developers have failed to understand where ColdFusion should be used and where it should not. Some early attempts at building entire complex systems in ColdFusion failed to scale. As the technical specialist puts it, "it is so easy to develop things that just shouldn't be developed in CF." But with that important lesson learned, ColdFusion is hard at work doing what it does best.

Note: The subject of when and when not to use ColdFusion is frequently covered in my CFDJ column <BF> on <CF>.

Developers and Development
The sites (and their supporting applications) are created and maintained by hundreds of developers, with seven dedicated full time to maintaining the publicfacing .com site. Developers have a diverse set of skills, from ColdFusion to Java to .NET to JavaScript and CSS to database administration and network management. They use Macromedia Dreamweaver, ColdFusion Studio, HomeSite, and Macromedia Flash, and some content creators use the recently released Macromedia Contribute.

Having access to so many different but complementary skill sets is invaluable, and has allowed the various teams to build well-designed and highly structured applications, using the various technologies for what they do best.

ColdFusion is used for most of the presentation layer. Back-end processing is implemented in a mixture of .NET and Java (especially when integrating with mainframes and legacy systems) and some ColdFusion as well. Being able to develop back ends on any appropriate platform and front ends in ColdFusion makes for an ideal and very compelling combination of power and productivity. On the .com site, for example, a number of the health-management programs utilize both ColdFusion and Java.

ColdFusion handles the display and personalization components, and JavaBeans are used for the number crunching and data manipulation. In addition to being more scalable, this split saves time as development can be split across team members leveraging their respective skills.

Recent development projects have employed MVC (model-view-controller) design, and ColdFusion is used at the V and C layers. Several applications employ the community-driven Fusebox methodology and framework (www.fusebox.org) to facilitate code reuse, simplified maintenance, and troubleshooting. And the development team is now working with Mach-II (a new Web application framework focused on easing software development and maintenance, www.machii. com.)

Scaling up and monitoring a variety of systems is always a concern. Using a Mach- II based application, JMX interfaces can be accessed for an immediate snapshot of system health. The framework also allows for cloning of new control interfaces to different systems as they come online.

Content Management
The core content management systems are powered by two ColdFusionpowered solutions. CommonSpot (by PaperThin, Inc.) is used on a research site because it works well out of the box, and is also flexible, extensible, and very lightweight. The .com site is built on top of a highly modified Macromedia Spectra application. Yet another Spectra modification is in the works, this time to migrate from WDDX (www.openwddx.org) data stores to XML using XPath for searches.

These content-management systems empower nonprogrammers to deliver compelling content, locale-based content, and even entire custom sites for corporate clients. Special features (like various health-related calculators) can be embedded in sites quickly and easily. Project personnel can create and edit articles consisting of embedded images, popups, slideshows, and other multimedia via simple Web interfaces (see Image III). Using this simple interface they can move sections sections around, delete them, and create new ones. Other screens (like the one shown in Image IV) allow for reordering the content in articles, inserting and removing content, and making quick edits.

All site navigation elements are XML driven. Obviously, requiring staff to manipulate XML would just not work, so data-entry screens (like the one shown in Image V) allow project personnel to interactively build these elements while previewing the end result. The preview uses a Macromedia Flash movie that is dynamically updated using the generated XML.

To improve performance, not all content is served dynamically. A custom ColdFusion application dynamically renders static HTML pages when content changes. This dramatically improves the performance of highly content-centric applications where content tends to be created more often than updated. (Incidentally, similar techniques are employed on parts of Macromedia's own site, www.macromedia.com).

What's Next
With an eye on current trends and future technology, the organization is already leveraging SOAP-based Web services. ColdFusion MX powers data syndication feeds to CNN, Walgreens, and others. IBM WebSphere Portal is now being deployed, and ColdFusion MX will be an important part of that initiative too.

Summary
This health-care pioneer was an early adopter of ColdFusion, which has grown to play a significant role within the organization's Internet and intranet presence. With a diverse mixture of developers and skill sets, and with highly content-centric applications, ColdFusion is a perfect fit for the fast-growing and ever-changing needs of one of the world's foremost health organizations.

More Stories By Ben Forta

Ben Forta is Adobe's Senior Technical Evangelist. In that capacity he spends a considerable amount of time talking and writing about Adobe products (with an emphasis on ColdFusion and Flex), and providing feedback to help shape the future direction of the products. By the way, if you are not yet a ColdFusion user, you should be. It is an incredible product, and is truly deserving of all the praise it has been receiving. In a prior life he was a ColdFusion customer (he wrote one of the first large high visibility web sites using the product) and was so impressed he ended up working for the company that created it (Allaire). Ben is also the author of books on ColdFusion, SQL, Windows 2000, JSP, WAP, Regular Expressions, and more. Before joining Adobe (well, Allaire actually, and then Macromedia and Allaire merged, and then Adobe bought Macromedia) he helped found a company called Car.com which provides automotive services (buy a car, sell a car, etc) over the Web. Car.com (including Stoneage) is one of the largest automotive web sites out there, was written entirely in ColdFusion, and is now owned by Auto-By-Tel.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.