Search This Blog

Friday, November 16, 2007

Ajax-based Persistent Object Mapping

Virtually all applications use some form of persistence; that is, they
save information for future execution. Generally, the ability to persist
information for later retrieval is a critical aspect of applications,
and as Web applications increasingly integrate user interaction and
contribution, persistence becomes more important. However, persistence
often requires saving state information in a way that's conceptually
different from how the data exists in the execution of the program.
Within the execution of a program, state information is typically stored
in objects (at least, in object-oriented programs) but persisted either
into databases or into text- or character-based formats. The
transformation of state information back and forth between these two
paradigms can often require significant development work and is highly
susceptible to errors. Persistent object-mapping strategies can provide
automation for state storage and retrieval by mapping objects to
persistent data. Such mapping can also provide a simple mechanism for
accessing persistent state and saving that state. The Persevere persistent
object framework brings persistent object mapping to the browser
JavaScript environment. Object persistence has seen great popularity in
the Java programming and Ruby worlds, and the dynamic JavaScript language
is naturally well suited to mapping objects to persisted data. Persevere
automates mapping and communication in Asynchronous JavaScript + XML
(Ajax)-based Web applications in addition to simplifying much of the
development challenge by providing a manageable data model, transparent
client-server Ajax interchanges, automatic state change storage, and
implicit transaction management. By using orthogonal persistent object
mapping, you can rapidly develop powerful Ajax applications by using
simple, familiar JavaScript code. The complexity of writing Ajax requests,
serialization, and database interaction can easily be handled by
Persevere to provide object-oriented access to persisted data for rapid
application development.

No comments: