I am preparing a presentation and demo for SAP Inside Track istanbul about Building Adobe Flex Applications using BlazeDS. I’ve find many articles on Internet and prepared an overivew document about BlazeDS. Since it is rarely discussed on SDN, I decided to create this blog post. I’m starting with brief overview and later I will continue with details and sample applications developed on SAP platform.
BlazeDS is a remote access and messaging protocol that lets us connect an Adobe Flex application to server-side and pass data among clients connected to server. It was a part of Adobe LiveCycle DS until the end of 2007. Adobe has released the source code for BlazeDS under the Lesser General Public Licencse (LGPL v3).
BlazeDS is a set of services that manages the communication between Adobe Flex and Java application. The following figure shows the main features of BlazeDS :
RPC services let a client application make asynchronous requests to remote services that process the requests and then return data directly to the client. You can access data through 3 types of client-side RPC components:
HTTP Services (HTTP GET or POST)
SOAP Web Services
Java Objects (Remote Object Services)
The Messaging Service lets client applications communicate asynchronously by passing messages back and forth through the server.
The Messaging Service expands the core messaging framework to add support for publish-subscribe messaging among multiple Flex clients through the BlazeDS server. A Flex application uses the client-side messaging API to send messages to, and receive messages from, a destination defined by the server.
BlazeDS lets you access many different persistent data stores and databases including JMS, and other data persistence mechanisms. A service adapter is responsible for updating the persistent data store on the server in a manner appropriate to the specific data store type. The adapter architecture is customizable to let you integrate with any type of messaging or back-end persistence system.
In the following figure we see the architecture of BlazeDS on J2EE engine.
The BlazeDS server is contained in a J2EE web application. A Flex client makes a request over a channel and the request is routed to an endpoint on the BlazeDS server. From the endpoint, the request is routed through a chain of Java objects that includes the MessageBroker object, a service object, a destination object, and finally an adapter object. The adapter fulfills the request either locally, or by contacting a backend system or a remote server such as Java Message Service (JMS) server.
The communication between client and server uses AMF (Action Message Format) protocol. AMF is binary protocol for exchanging data that can be used over HTTP in place of text-based protocols that transmit XML. Applications using AMF can eliminate an unnecessary data abstraction layer and communicate more efficiently with servers.
So why use BlazeDS in our projects:
Easy adoption of Flex Applications to existing J2EE server applications
High performance in data transfer
Free and Open Source
Easy integration between Java and Flex developers
Combines the strong development capabilities of Java and visual capabilities of Flex.
You can download BlazeDS source files and binaries from