Information Technology Reference
In-Depth Information
as they were originally invoked on the client. Each batch is invoked in a sepa-
rate server-side transaction and replayed atomically. The failure (as indicated
through an exception thrown by a replayed method) of one transaction, auto-
matically causes the failure of all subsequent transactions. Finally, the server
returns a SyncToken to the client which can be used to query the status of the
synchronization.
5.
Evaluating Disconnected Programming Models
This chapter contends that a connected programming model for business applica-
tions can be projected to disconnected devices such that:
the semantics of the programming model are (almost) unchanged regardless of
whether the application executes in a connected or disconnected environment;
the need to synchronize the device's work to the server is hidden from develop-
ers by a combination of the programming model and middleware;
applications developed with this approach can be usefully deployed to dis-
connected devices because work performed on the device will be committed
successfully to the server.
This programming model consists of:
A transaction model using detection-based algorithms to perform concurrency
control [12] .
Synchronization based on method-replay algorithms.
A component model that delegates transactions, persistence, and security to
container middleware rather than requiring developers to supply this function.
As short-hand, we shall refer to this programming model as EJBSync (Section 4.5 )
because EJBSync is a prototype realization of the programming model. A quanti-
tative evaluation of this contention requires considerable experience with deployed
applications over a long period of time. In the absence of such experience, we will
validate our claim by comparing our approach to some popular alternatives.
5 . 1 E x o t i c Tr a n s a c t i o n M o d e l s
Several more complicated programming models have been introduced to address
the problems of mobile disconnected business applications [9,27,32] ). These attempt
to reduce conflicts and/or operate in resource-constrained environments. As dis-
cussed in Section 1.4 , business applications (at least in the medium term) will be
Search WWH ::




Custom Search