This is the long awaited third part in the series of articles describing
a generic server-side architecture for transactional eCommerce websites,
using a Model View Controller architecture or Mediator Pattern [Gamma
95] configuration.
Part 1, outlined the architecture to be used to handle the event
driven nature of an http request - html response, server to client
system, and detailed how to deliver this in a 3 tiered model of
Presentation Layer, Business Layer and Persistence Layer. The Presentation
Layer is modeled using UML Statecharts [Horrocks
98] which lend themselves to easy implementation using Mediator
Pattern which provides the View and Controller elements of the MVC
model.
Part
2, explained how to implement the infrastructure to run the
MVC model using UML Class Diagrams,
Statecharts and Java code to process and respond to http request
events.
In
Part 3, we look at how all this hard work developing infrastructure
can be made to pay off and deliver real advantages. We look at how
to protect the system from unexpected browser (client-side) events
or activities such as refresh, back, and bookmarks. We will see
that this can be achieved with a single piece of code to manage
all of this activity.
We
will also see how Statecharts can be used to cleanly model the boundaries
of logical transactions and how the MVC engine can be used to provide
protection of these transaction boundaries (transaction isolation
[Gray 93]) and scoping using a single piece
of code.
Finally
we will look at how exceptions to normal operation can be cleanly
handled and implemented within the same system.