A standard Flex project commonly interacts with the server via HTTPServices, RemoteObjects, or some similar class to retrieve and update data. The question for the sample application becomes, how to allow access to such services and data, or simulate them?
The overall goal is to provide backend data and services that realistically simulate working (specifically in terms of Cairngorm classes) in a live application, without becoming tied to a particular backend system or language (after all, Flex can be used with a variety of backend languages) or creating overly complex simulations by excluding a backend system. Several ideas were floated, all of which had their strengths and weaknesses.
The solution finally agreed upon was to create an Adobe AIR application. If you are unfamiliar with AIR, it stands for Adobe Integrated Runtime. AIR projects are different from standard Flex projects in that they are run as applications on the local machine rather than in a web browser. Because of this, they are afforded capabilities that their web-based counterparts are not. These capabilities, among other things, led to the decision to make the sample application an AIR application.
First, AIR applications can store data on the local file system. One way of doing this is in local database files. AIR includes an embedded database system called SQLite. This enables you to have database access on your local machine without requiring you to install any servers.
Second, if ...