本小节将不涉及具体的代码细节,因为Widget与服务器的交互不会因为Flex Viewer的架构而有所不同,了解了Flex程序如何与服务器端进行交互,直接应用到Widget中即可。下表是Flex与服务器端进行交互可用的技术,具体细节可参考《Flex 4 in Action》中的第15章。
Communication Server Support |
Application |
Benefits |
HTTP (includes REST and RPC hybrids) -All |
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 -All |
Data aggregation from external web services. |
Easy implementation; pull data from multiple outside resources regardless of platform. |
AML -BlazeDS&LiveCycle Data Services(LCDS):Java, -.NETZend: PHP -AMFPHP: PHP -WebOrb: .NET, Ruby, PHP |
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 -LiveCycle Data Services(LCDS), -Flash Media Server(FMS) |
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 -Native to ColdFusion |
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 date serialization. |
JSON -All (JavaScript data objects are serialized and transferred in binary form.) |
AIR applications that use AJAX or Flex applications that use the ExternalInterface API. |
Easy implementation with the HTTPService object; part of the AS3CorLib library. |