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.

Additional Resources:
- 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.
Salesbuilder Beta 3 (AIR file + Flex Source Code)
A number of you asked me for the beta 3 version of Salesbuilder. So here it is. I also took the opportunity to clean up the code, and improve a few things. The application is now using synchronous access to the local SQLite database (as opposed to the asynchronous data access strategy of the previous version). I also introduced a simple Data Access Object (DAO) abstraction (see the BaseDAO.as class) to make the DAOs a lot easier to write, read, and maintain. This is a nice improvement compared to the very verbose DAOs used in the previous version. I might move to the annotation-based ORM approach introduced here in a future version. Finally, the “lazy loading” strategy has been improved as well and does a better job at retrieving data as needed by the application.
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.




BlazeDS: Open Sourcing Remoting and Messaging
Today is yet another exciting day for the Flex community and for the world of Rich Internet applications… Adobe is announcing plans to release its Remoting and Messaging technologies under a new open source product named BlazeDS.
The news is probably all over the blogs, but I thought I would summarize the key points:
- The Remoting and Messaging technology previously available only as part of LiveCycle Data Services will now be available for free as a new Open Source product called BlazeDS (under LGPL v3 license).
- The public beta of BlazeDS is available for download here (the GA version is scheduled for early 2008).
- As part of this announcement, the Action Message Format (AMF) protocol specification is also being published. The spec is available here.
- The JIRA bugbase is available here.
Speaking at FlexCamp in Boston on Friday
I will be delivering the opening keynote at the FlexCamp in Boston (at the Bentley College in Waltham) on Friday. This promises to be a really great event with great speakers from the Flex Engineering Team (Paul Reilly, Peter Farland, Tom Jordahl) and other Flex celebrities (Joe Berkovitz, David Coletta, Thomas Burleson, Matt Woodward). Hope to see you there: http://www.flexcampboston.com/
Interactive Bubble Pipeline: Another Hybrid (HTML/Flex) Example
A customer recently pointed out to me that many of our examples feature full-page Flex applications, and wanted to me to demonstrate how a Flex application can integrate with an HTML/Ajax application. Hybrid applications are definitely part of our vision for Flex, and there are many real-life examples of mixing Flash and HTML content out there (see http://finance.google.com/finance?q=adbe). This customer wanted to look at the integration at the code level. Instead of the usual “Hello from Flex”/”Hello from JavaScript” message exchange example, I wanted to show something more meaningful that would also show “why” you would actually want to do this…










