Accessibility
 
Home / Developer Center / Pet Market Application Center

Developer Center Article

MX and Service-Oriented Architectures

When Macromedia began work on the MX series of products, we knew that we had an opportunity to help take the basic architecture of the web to a new level. Two central concepts emerged that informed this new approach: rich clients and web services.

Macromedia's rich client, the Macromedia Flash Player, could help transform static and cumbersome user interfaces into rich, engaging, and interactive applications. More importantly, it could help put into place a more clearly defined presentation layer or client-tier in the Internet application stack.

We also saw another trend emerging, which was helping to overcome clear architectural limitations on the Internet, and that was web services. Web services promise to free application logic and data from location and platform dependencies by exposing applications to each other through a common set of protocols and data standards based around XML, SOAP, and WSDL.

These trends converged for us in MX, where developers build Rich Internet Applications running in the Macromedia Flash Player, and consume back-end services provided by application servers using Macromedia Flash Remoting, a native feature in ColdFusion MX. In ColdFusion MX, we added a new capability called ColdFusion Components, or CFCs, which provide a simple, script-based mechanism for building web services that can be used by Macromedia Flash clients as well as through SOAP.

Acting together, this approach uses a services-oriented architecture, where both the client and server tiers are designed to be loosely coupled and freely interchangeable. The Macromedia Flash client tier has been implemented using an API in ActionScript, where the order processing, catalog, and other functions are accessed as a service. The service in turn uses Macromedia Flash Remoting to communicate with a back-end application. The great thing about this architecture is that you can swap out the back-end easily, just as we've done by layering the Macromedia Flash front end on top of the Java(™) Pet Store and Microsoft .NET Pet Shop. Similarly, the server-side of Pet Market, implemented as a collection of CFC-based web services, is entirely client independent. In fact, these CFCs have no idea that they are being called and used by the Macromedia Flash client application. The CFCs could just as easily have been called by a dynamic page that was generating a HTML or WML view, or even used as objects via SOAP called from another server platform.

 
 

Next