An application installed and running on a wireless device, which serves as the fully-fledged wireless client of a Web service, must be capable of handling fairly complex transactions in order to accomplish complex tasks. Such complex transactions may be nested, i.e. one transaction (the parent transaction) contains any number of sub-transactions (offspring transactions), each of them can in turn have its own sub-transactions. Each transaction involves a set of correlative data creation/deletion/modification operations which can be triggered (simultaneously) by multiple parties with which the wireless device application is in communication, e.g. incoming messaging, on-screen data input, and function invocations.
One solution used to avoid the issue of transaction management on a wireless device requires the use of a post-transaction (PT) synchronization mechanism. Such a PT data/application synchronization mechanism is used for applications that need data exchange from/to other computing devices and/or services. For example, a post-transaction mechanism is used between a Calendar/Address application on a wireless device and its counterpart on the desktop, e.g. a Palm organizer™ and Microsoft Outlook™. However, this solution works only for those applications that are able to provide basic functionality or services without real-time data exchange with other parties (devices and services) in the same computing context. This solution is not ideal even for these applications, for the user is obligated, or a proprietary data synchronization system has to be designed, to update the data manually, and resolve potentially unsolvable data conflicts caused by the asynchronous data update process. An example of a proprietary automatic data synchronization system would be automatic email-synchronization between a wireless device and a desktop email client, such as Research In Motion Limited's push technology. Data synchronization happens automatically after each email operation, which does not involve any complex transaction management on the wireless device.
Another solution to transaction management for wireless devices is deploying a server-side transaction manager to conduct all transactions. In this manner, no complex transactions need to be executed on the wireless device, and only a thin Graphical User Interface (GUI) wireless application is implemented on the wireless device. A typical example of such a wireless application would be wireless Web browser, which might be able to cache input data on a screen, but would not have the ability to perform any “real” transactions, not to mention container-level complex transactions.
Further details of the application and its advantages will be apparent from the detailed description included below.