Information Technology Reference
In-Depth Information
In this chapter, we shall adopt the following approach. Our chief evaluation crite-
rion is whether, and to what degree, a disconnected programming model is a projec-
tion of a connected programming model onto disconnected devices. By “projection,”
we acknowledge explicitly that developers will always have to take the disconnected
environment into account. The goal, however, is for the programming model to en-
able application semantics that are identical, or similar, to a connected application.
The algorithmic issues discussed above should be solved in a way that is transparent
to the developer, who does not have to write more (or different) code than she does for
the connected environment. However, we are also interested in what the code “looks
like,” and the features that are exposed to developers independently of connection-
specific issues. Our criteria here will be more subjective since one person's “feature”
is another person's “needless complexity.” The chapter will use snippets of code to
give a concrete sense of the programming model.
Much work has been done in the area of transactionally synchronizing work per-
formed on a disconnected client to the server. The implications of disconnection for
transactional applications are well known (see [39] for a recent survey of the area of
“mobile transactions”). The presentation in this chapter differs in that we focus on
whether, and how, a mature programming model can be projected to disconnected
devices in a way that takes advantage of such prior algorithmic work. The ability to
project existing connected programming models is important because it can reduce
an application's development and maintenance costs. Development costs are reduced
because developers can use their existing programming model experience to develop
disconnected applications. Maintenance costs are reduced because differences be-
tween the connected and disconnected versions of an application are minimized.
We shall also refer to a prototype that demonstrates that the Enterprise
JavaBeans [10] programming model can be projected onto disconnected devices.
Useful work can be performed on the disconnected device (i.e., few constraints are
imposed), while the likelihood of synchronization problems is minimized. The pro-
totype is interesting because it shows how middleware can concretely realize the
connected programming model on disconnected devices.
1 . 4
R e l a t e d W o r k
Our chapter focuses on how a connected programming model can be projected to
disconnected devices. This part of our work is closely related to the area of mobile
transactions [39] . However, we believe that a simpler programming model and syn-
chronization algorithm than many proposed in the mobile transactions literature is
adequate to project business applications to disconnected devices. We assert that this
simpler approach is sufficient for several reasons.
Search WWH ::




Custom Search