Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
RIA architects often find themselves bewildered when faced with the dilemma of choosing a web service infrastructure. Knowing the technology that’s available in this area is critical, because the wrong decision could be catastrophic. Table 15.1 is a high-level overview of the services that are available to you and can be used as a reference when making infrastructure design decisions.
| Communication Server support | Application | Benefits |
|---|---|---|
| HTTP (includes REST and RPC hybrids) | ||
| Simple widget-based applications; speed and real-time UI updates aren’t required. | Easy implementation via the HTTPService object; RPC hybrid protocols can be invoked using RemoteObject. |
| SOAP/WSDL | ||
| Data aggregation from external web services. | Easy implementation; pull data from multiple outside resources regardless of platform. |
| AMF | ||
| Approaching enterprise level; speed is important; data is usually pulled from server by polling. | Binary data compression makes communications 12 times faster; strong data typing; multiplatform support. |
| RTMP | ||
| Enterprise level, messaging, instantaneous UI updates; data can be pushed to the client; streaming media content; data-intensive RIAs. | Integrates into existing J2EE infrastructure; document management, rapid data transfer, clustering, data tracking, syncing, paging, and conflict resolution. |
| Flash Remoting | ||
| Robust, enterprise platform for client/server Flex communications; native. | Seamless integration with the Flash platform; removes the need for an intermediate code library to do data type mapping and data serialization. |
| JSON | ||
| AIR applications that use AJAX or Flex applications that use the ExternalInterface API. | Easy implementation with the HTTPService object; part of the AS3CorLib library. |