I've been hooked on Rich Internet Applications (RIA) since the release of Adobe Flash 5. Unlike traditional HTML-based web applications, RIAs take advantage of client runtimes (like Adobe Flash Player) to deliver engaging user experiences. For instance, to write this article I used an Adobe RIA called "Buzzword" (labs.adobe.com/technologies/buzzword), a full-featured word processor running within my browser that lets me collaborate and work simultaneouslyfunctionality that can't be found in traditional HTML-based web applications.
Adobe Flex RIAs become even more useful to users when they use server-side components for connectivity to databases, media, and other services. I've developed the server-side of RIAs using Java, SOAP, .NET, PHP, Rails, and ColdFusion. In the process, ColdFusion has become my application server of choice for RIA service layer development. Why? Because ColdFusion combines straightforward development with features such as Flash Remoting and real-time messaging gateways that simplify communication between the application server and Flex RIAs.
To see why ColdFusion is an important addition to a RIA developer's toolbox, in this article, I design and build a Flex application using ColdFusion 8. This application, named "Task List," enables collaborative management of a list of tasks using a rich front-end and real-time communications; see Figure 1. The complete source code for the Task List application is available online (www.ddj.com/code/).
The goals of the Task List application include:
- It should be deployable as a Java WAR, allowing simple management and installation.
- When users run the application, they should see a simple list of tasks, each clickable to indicate completion.
- A text box and "OK" button should let users add new tasks.
- Upon adding a new task or completing a task, the update should be pushed in real-time to other users running the application.