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.