2.12.2008

BlazeDS = AMF/LiveCycle?

I've been lucky over the years to always have someone that can build the back-end data structure for a project. But, as a result, I've let myself become less knowledgeable as I should be on what technologies to use and work best in certain situations. So lately I've been trying to get up to speed in this area and have been playing around with RubyAMF, AMF PHP, and SWX PHP as solutions for Flash/Flex to server communication.

I've been the most impressed with technologies that use AMF (Action Message Format). AMF is a binary format for exchanging data. It's mostly used to transfer data between Flash/Flex applications and a database via a remoting request. In a remoting call, the external elements being called would be application tier services, which would likely be running on an application server such as Adobe ColdFusion, Java, PHP, or .NET.

The major benefits of using AMF for remoting requests are speed and packet size. The use of a AMF binary data transfer format increases performance, allowing applications to load data up to 10 times faster than with text-based formats such as XML or SOAP.

Adobe evangelist James Ward has a Flex application on his site that enables you to run some AMF benchmark tests. Census RIA Benchmark demonstrates various methods of loading data in RIAs and determines how those methods affect performance, bandwidth, and client memory usage.

So, where am I going with this? Well, Adobe released source code for its remoting and messaging technologies under a new open source product named BlazeDS.

An open source Java implementation of AMF, BlazeDS includes technologies that were previously available only as part of LiveCycle Data Services (LCDS) . With BlazeDS, developers can easily connect to back-end distributed data, as well as push data in real time to Flex and AIR applications, for more responsive RIA experiences.

According to Adobe, the company plans to contribute the proven technologies from LCDS to the community through BlazeDS. The two LCDS technologies included in the first release are the Messaging Service and the Remote Procedure Call (RPC) Services:

  • Messaging Service: The Messaging Service provides publish and subscribe messaging for Flex and Ajax applications. Messaging uses the Java Message Service (JMS) to provide real-time communication between connected clients and JMS-compatible application servers, such as ColdFusion. This enables you to create scalable, reliable applications for collaboration and data push, such as chat applications or real-time stock quote applications.
  • RPC Services: The RPC Services (aka Flash Remoting) are designed for applications in which the request/response model is the best choice for accessing data. It enables the use of HTTP services, SOAP-based web services, and Plain Old Java Objects (POJOs) with the efficient AMF 3 protocol. The biggest benefit of using RPC Services in LCDS is the ability to call Java services directly without needing to configure them as SOAP-compliant web services.
It keeps getting less and less expensive to develop Flex applications. The Flex SDK is free and includes a command-line compiler and the entire library of Flex framework class files. BlazeDS will be free and includes some of the functionality from LiveCycle. Its a good time to be a Flash/Flex developer.

Labels: , , , , ,

0 Comments:

Post a Comment

Links to this post:

Create a Link

<< Home