While it's possible to build virtually any type of PalmOS application using Satellite Forms, it's predominantly used to build forms-based data-display and acquisition applications for mobile corporate users. The Satellite Forms development tools and process center around three primary processes:
The identification and retrieval of data from a desktop or enterprise database
The viewing and editing of that data on a handheld device
The syncing (a commonly used term for the data synchronization process) of the edited data back to the original desktop or enterprise database via the Satellite Forms conduit
Some explanation of the term conduit may be required here. A conduit is a piece of software that runs on a desktop client or enterprise server, usually in the form of a DLL or shared object. This software performs the task of retrieving data from the handheld computer (a PalmOS device, in the case of Satellite Forms) and updating the data in the data store. The Satellite Forms conduit is distributed as an ActiveX control; developers can build applications using this control by trapping the HotSyncStatus event that's fired when a user presses the HotSync button on his or her docked device.
Databases can be identified or created at design time through the use of the data editing/import tools within the App Designer. Right-clicking Tables in the Project Contents toolbar (refer to Figure 1 or 2) gives the developer the option to import a table from an ODBC database or to create a new table from scratch. Whatever the choice, Satellite Forms takes a snapshot of the targeted data and saves it within one or more local dBASE-formatted files. The developer must either write custom code that copies the data from these files back to the original database on a HotSync or make use of an enterprise sync tool such as Pumatech's Intellisync Anywhere (currently used by Yahoo! Mobile and other large organizations).
One very cool thing that Satellite Forms allows you to do is to tie every control on a form to a field within an imported table. Furthermore, filters can be applied within a form to control the display of data based on a predefined value (see Figure 3).
Adding a data filter.