Live Help / Call Center Application with Flex and BlazeDS
I recently posted a number of examples (Yahoo Maps Collaboration and Collaborative Data Entry) showing how to use the BlazeDS / LCDS Message Service to build collaborative applications. In this post, I’m extending the Collaborative Forms application to provide an example of a more complete and real life “Live Help / Call Center” application.
Collaborative Data Entry with Flex and BlazeDS

After Yahoo Maps collaboration, here is another example of enabling collaboration in a Flex application using the publish/subscribe messaging infrastructure of BlazeDS.
This example demonstrates “collaborative forms” (or “collaborative data entry”). Users in different locations can fill in forms “together” in a real-time and in-context collaboration session: changes made by one user are automatically reflected in the other users application.
Yahoo Maps Collaboration using Flex and BlazeDS

Two years ago, I wrote a simple Google Maps collaboration example. The Flex application listened to Google Maps events to synchronize maps between different users. It also added nice collaboration features such as videoconferencing and a collaborative whiteboard overlaid on top of the map. In addition to demonstrating the real-time messaging capabilities of Flex, this application also illustrated Flex/Ajax integration using External Interface.
Two recent events prompted me to revisit this sample:
- Yahoo recently released an ActionScript 3 API for Yahoo Maps.
- Adobe recently released the Remoting and Messaging features of LiveCycle Data Services as an Open Source project named BlazeDS.
So, I updated the sample to work with the Yahoo Maps ActionScript API and BlazeDS (or LCDS). No need to communicate between Ajax and Flex in this version since the rendering of the map is entirely done within the Flex application.
SQLite Admin for AIR 1.0

Here is a new version of my AIR-based SQLite Admin application updated for AIR 1.0. You can use this application to examine the structure of a database, create a new database or open an existing one, execute any type of SQL statement, etc.
An interesting aspect of this version is that the application itself uses a database (sqladmincache.db) to keep track of the databases you opened and the statements you executed. This is useful if you want to quickly re-open a recently accessed database, or re-execute a recently executed statement.
The UI is still simple, but uses some new AIR and Flex 3 features such as the AdvancedDataGrid and Native Windows.
Click here to install the application.
Click here to download the source code.
Salesbuilder for AIR 1.0
Now that Flex 3 and AIR 1.0 are generally available, it’s time to upgrade some of the sample applications I have been building during the beta program. So, here is Salesbuilder for AIR 1.0.
Salesbuilder is a Sales Force Automation application written in Flex and deployed on the AIR runtime. It demonstrates local persistence using the embedded SQLite database, data synchronization, native drag-and-drop, and other features such as direct chart manipulation.
The links:
- Click here to install the application.
- Click here to download the source code.
- Follow this script for a guide tour of the application.

New Version of SalesBuilder using LiveCycle Data Services
I have often felt that we needed a more real-life/complex sample application to adequately demonstrate LiveCycle Data Services, and specifically the Data Management Service. So, I wrote a new version of Salesbuilder that uses LCDS to persist data at the server side. “Salesbuilder LCDS” demonstrates advanced LCDS features such as associations, lazy loading, etc.
This application will also be packaged as a sample in the next version of LiveCycle Data Services currently in private beta.
Bug Fix in SQLite Admin
If you downloaded the SQLite Admin AIR application I posted on Tuesday, make sure you download the last version. The new version fixes a problem where you get the following exception: ‘Error #3115: SQL Error.’, details:’cannot rollback - no transaction is active’, operation:’rollback’. Many thanks to Barry Beattie for reporting the problem.
AIR-based SQLite Admin updated for Beta 3
Updated on Feb 8th 2008: If you downloaded this application before this date, make sure you download the new version (AIR file + source code) for the latest bug fixes.

I’m in the process of updating some of the applications I wrote for earlier versions of Flex and AIR. Here is a new version of my AIR-based SQLite Admin application updated for Beta 3. You can use this application to examine the structure of a database, create a new database or open an existing one, execute any type of SQL statement, etc.
An interesting aspect of this new version is that the application itself uses a database (sqladmincache.db) to keep track of the databases you opened and the statements you executed. This is useful if you want to quickly re-open a recently accessed database, or re-execute a recently executed statement.
This version uses synchronous database operations, and uses the schema API to show you the list of tables and columns available in your database.
The UI is still simple, but uses some new AIR and Flex 3 features such as the AdvancedDataGrid and Native Windows.
Click here to install the application.
Click here to download the source code.
Speaking about BlazeDS and LCDS “Next” at Flex 360 in Atlanta, February 26-27th
I will be presenting at Flex 360 in Atlanta. My session will be focused on building Flex and AIR applications that leverage the new features of BlazeDS and of the next (and never demonstrated before) version of LiveCycle Data Services. Once again, this promises to be a really great event with great speakers and Flex celebrities! Hope to see you there: http://www.360conferences.com/360flex/
Christophe
BlazeDS Release Candidate Available
Last Friday, we posted the BlazeDS Release Candidate on Labs.
If you missed the beta announcement in December, Adobe is open sourcing its Remoting and Messaging technologies (previously available as part of LiveCycle Data Services) under a new open source product named BlazeDS.
Trader Desktop
With the addition of the new HTTP Streaming channel, BlazeDS now offers several options for building real time applications (HTTP Streaming, polling, long polling). In this new sample application, you can switch between channels in the running application, and experience the performance and latency characteristics of each type of channel. The application also demonstrates how to use the Channel and ChannelSet classes to specify which channel you want to use at the client side (as opposed to relying on the channel configuration from messaging-config.xml that is built into the SWF at compile time).
The beta version was lacking a straightforward sample showing how to use Remoting to build a CRUD application. The inventory management is a simple database maintenance application that allows you to manage the product inventory in the sample database . The persistence layer is provided by a simple Java service that exposes CRUD methods (create(), update, delete()) that the Flex application can invoke remotely. In this application I reused the skin created for the Salesbuilder AIR app, and applied it to an application running inside a browser.
Download the BlazeDS Release Candidate here.



