Anil Channappa


7 December 2009

Adobe LiveCycle Data Services simplifies the development of web applications using Flash and Java. LiveCycle Data Services provides tooling, client and server frameworks to help you write applications that leverage the flexibility and power of Flash with your existing as well as new enterprise Java applications.

LiveCycle Data Services 3 is the latest version of the product and has some significant new capabilities:

  • Support for model-driven development of applications for Adobe Flash, which make application development better, faster, and easier
  • New capabilities for developers to controls the quality of service of enterprise applications
  • New Edge server to support 2-tier enterprise deployments
  • Tooling support to simplify performance testing

In this article I will provide an overview of the new capabilities provided by the LiveCycle Data Services 3.

Better, faster, easier application development

Adobe has developed a new technology, code named Fiber, which brings model-driven development to Flex developers. With Fiber, developers start by creating an application model from which they go on to develop the Flex user interface and the server business logic. It is easier and quicker to now develop Flex applications with Flash Builder 4 and LiveCycle Data Services 3.

LiveCycle Data Services 3 provides a Fiber model run-time, and thus enables data persistence out of the box. With Fiber, data management is implicitly supported and does not require developers to create custom assemblers or employ complicated LiveCycle Data Services specific configurations. More often you can develop a functional application skeleton or prototype without ever having to write any Java or Flex code.

We have also developed a brand new text and graphical data modeling editor, with a plug-in to Adobe Flash Builder 4 beta, which further simplify creating enterprise-ready Flex applications.

These capabilities help enterprise Flex and Java developers to be more productive, and they are designed to be highly extensible to meet complex enterprise application needs.

Quality of service

Flex applications running in Adobe Flash Player can cache data, execute business logic, and open network connections. This enables new kinds of web applications that are difficult or impossible to implement with HTML/AJAX.

With the LiveCycle Data Services 3, we have added two new features:

  • Reliable communications
  • Data throttling

Reliable communications

Before the LiveCycle Data Services 3, the Flash client application and the server application made the best attempt to send requests and obtain responses, but communications were not guaranteed to reach the recipient. The LiveCycle Data Services 3 supports an acknowledge capability that enables all communications between Flex-based applications for Flash and the LiveCycle Data Services server to be guaranteed. All that you have to do is mark the LiveCycle Data Services 3 server destination as reliable.

This enables new capabilities and enhanced web applications.

Reliable web transactions over the Internet

  • Online banking applications with reliable account transfers
  • Reliable online trading applications
  • Web applications that update automatically after long data processing tasks are completed in your enterprise
  • Seamless online customer support applications

Reliable real-time and near-real-time applications - Applications can recover network failure without losing data

  • Monitoring applications that recover automatically from a network failure, for example applications for infrastructure performance monitoring, electric grids monitoring, flight arrivals and departures, and live sport score updates
  • Applications that depend on uninterrupted data synchronization across clients, for example inventory management, live auction transactions, and so on

Pause and resume capability for applications

  • Document management clients that provide pause and resume functionality around document upload and download capabilities
  • Analytical applications that transfer large data sets over the Internet don't have to be connected to the network throughout the download process.
  • Consumer facing applications (e.g. using Adobe AIR) that download large data, e.g. online catalogs

Data throttling

Data throttling is an extension of the messaging infrastructure in the LiveCycle Data Services 3. Similar to the media streaming and throttling capability offered by Flash Media Server, data throttling reduces or increases the amount of data being streamed based on the speed at which Flash Player processes data.

The LiveCycle Data Services 3 supports several options for throttling data, including adaptive throttling. With adaptive throttling, the LiveCycle Data Services 3 server can adjust the data streaming rate automatically without any manual intervention.

Because the LiveCycle Data Services 3 server may be able to provide data faster than the client can process, it supports multiple options for developers to control excess data, including:

  • Ignore : You can specify the threshold at which the server stops sending data
  • Conflate (or Merge): Merge subsequent updates and only send the latest updates
  • Custom: Enables developers to hook business specific logic to handle the excess data

Secure enterprise deployment

Most secure web applications are deployed in a 2-tier architecture, a web server in the DMZ (De-militarized zone) and business logic in the application tier. The role of the web server, besides serving static content, is to proxy incoming HTTP requests to the server in the application tier.

Flash applications using LiveCycle Data Services can achieve greater performance and scalability from using RTMP and NIO. To take advantage of these capabilities, we need a web server complement that support NIO connections and RTMP. LiveCycle Data Services introduces the Edge Server that proxies (RTMP(S) and HTTP(S)) requests and more.

The Edge Server complements rather than substitutes web server capabilities. One should still use the web server for all static content.

Tooling support

LiveCycle Data Services ES 3 ships a Java based load/stress testing tool/framework. Similar to unit testing framework, this framework allows developers to create test cases for testing the application’s performance and scalability.

The load testing framework is a simulation of the Flash client allowing developers to create thousands of virtual Flash clients without the overheads of physically launching flash players.

This tool supports all the protocols and channels supported by LiveCycle Data Services ES 3, including RTMP and HTTP. However, this is not a substitute for commercial load testing tools as it lacks the sophistication such as record and replay, reporting etc.

Where to go from here

Please visit the LiveCycle Data Services 3 page to get a better understanding of the features and capabilities. Here you can download LiveCycle Data Services ES2 and try out some of the new capabilities. Please be sure to check out the documentation and videos that should help you get started with the new features. Of course, we’d love to hear your feedback on the forums, so be sure to let us know what you think.