Using Data Services

With Data Services, developers define a set of destinations using XML configuration files. These definitions are used by the built-in service adapters provided as part of the application. The following adapters can be used:

  • Low-level adapters to connect to Java objects (data access objects), JMS topics and queues, and Adobe ColdFusion® components (CFCs)

  • Higher-level adapters for common persistence solutions such as Hibernate, EJBs, and Spring.

    The following sections highlight major services in Data Services.

LiveCycle Remoting

With LiveCycle Remoting integration, Flex clients can call services in Foundation. LiveCycle Remoting supports synchronous and asynchronous service invocation. LiveCycle performs much faster than web services by using the more efficient AMF3 binary protocol.

Message Service

This messaging feature is based on established publish and subscribe messaging standards and terminology. It provides a client-side API and a corresponding server-side Message Service for creating Flex messaging applications. The Message Service also enables participation in JMS messaging. The messaging and real-time infrastructure enables collaboration and data-push applications to be built in a scalable and reliable manner. This is done while preserving the lightweight web deployment model.

Data Management Service

The Data Services data management feature spans the client and server tiers to provide the top-level functionality for distributed data in Flex applications. With this feature, you can build applications that provide data synchronization, data replication, and occasionally connected application services. Additionally, you can manage large collections of data and nested data relationships, such as one-to-one and one-to-many relationships. You can also use Data Management Service adapters to integrate with data resources.

A client-side Data Services component, which you can create in MXML or ActionScript, calls methods on a destination configured in the server-side Data Management Service. The client-side component performs the following activities:

Filling client-side objects with data from remote data resources

Synchronizing the versions of data in multiple client instances with the server-side destination.

RPC services

RPC services let you interact with server-side RPC services to provide data to your applications.

You can access data through HTTP GET or POST (HTTP services), SOAP (web services), or Java objects (remote object services). Another common name for an HTTP service is a REST-style web service. REST stands for Representational State Transfer and is an architectural style for distributed hypermedia systems.

In a typical Flex application, an RPC component sends data as input to one or more RPC services. When an RPC service runs, it returns its results data to the RPC component that made the request.

LiveCycle Remoting is an extension of the Remoting RPC service.

Flex-Ajax Bridge

The Flex-Ajax Bridge (FABridge) is a small code library that you can insert into a Flex application to expose it to scripting in the browser. You can also use this library in a Flex component, or an empty SWF file.

In JavaScript, you can use FABridge to make your ActionScript classes available without any additional coding. This method is used instead of defining new, simplified APIs to expose a graph of ActionScript objects to JavaScript. After you insert the library, you can do anything with JavaScript that you can do with ActionScript.

Ajax Data Services

Ajax Data Services is a JavaScript library that lets Ajax developers access the messaging and data management capabilities of Data Services ES3 directly from JavaScript. Ajax Data services lets you use Flex clients and Ajax clients that share data in the same messaging application or distributed data application.

Many Ajax applications are taking on the responsibilities of round-tripping data. Using Ajax Data Services, you can integrate real-time data streaming and messaging, along with a rich data management API that dramatically simplifies the development of RIAs.

// Ethnio survey code removed