The Flex data access features are broken down into three areas: RPC services, Data Management Service, and Message Service. All three features are available if you are using the Flex Data Services (FDS) server. If you are using the free Flex SDK or Flex Builder (which includes the SDK), you can still use the RPC services, which include the HTTPService (for making raw HTTP requests), the WebService (for using the SOAP protocol), and RemoteObject service, which uses AMF3. RemoteObject provides two advantages over HTTP or SOAP. First, while the AMF protocol uses HTTP to transfer packets, the data is transferred in a binary format that is natively understood by the Flash Player. As a result, data can move across the network more quickly and it can be deserialized more rapidly than text-based formats such as XML. Both of these result in performance gains, particularly where large sets of data are involved. Secondly, RemoteObject provides signficant productivity advantages. The remoting service, which runs on your server, automatically marshalls data between AMF and your server-side language (e.g., PHP, Java, C#). As a result, you can directly call methods on your PHP objects without having to write an XML REST interface or create web service interfaces.
The AMF protocol existed before Flex 2 and is used in different mediums, most notably Flash Remoting. However, Flex 2 uses a new version of AMF called AMF3, which provides both greater performance and new features. In addition to Flex Data Services, which provides a Java implementation of remoting (as well as the other services), the current main PHP server projects that support AMF are AMFPHP, SabreAMF, and WebORB for PHP. All three support AMF0 format, but only SabreAMF and WebORB for PHP support AMF3. SabreAMF and WebORB for PHP require PHP 5. The current PHP packages that support AMF3 also only implement the RPC services feature.
Each of the data access service requires an adapter to work. For example, ColdFusion connectivity provides Flex with the ColdFusion service adapter. The ColdFusion connectivity package comes defaulted in ColdFusion MX 7.0.2 and higher. Flex Data Services server uses a Java adapter and provides adapters for all three feature sets. Figure 1 shows the different services and adapters.

Figure 1. Flex services diagram
It is important to note that Flex applications configure each service and adapter through XML configuration files, which are linked to the applications at compile time through the -services mxmlc argument. Depending on the data access services and adapters, the configuration files will be read on the server side to provide other features like white lists, authentication, source definition, proxy configurations, and others.