SPECIAL CAPABILITIES FOR E-COMMERCE TRANSACTIONS
10 October 2003
Recently a Holiday Package System has been developed
by Auckland University Software Engineering students, using
the Gnosis Transaction Manager on Microsoft SQL Server.
From our theoretical understanding of the problem, we could
see the Holiday Package system was a classic long transaction
problem. A holiday package may take days or weeks to complete.
A package may start with tentative dates and places for a
holiday and later move on to specific bookings over a period
of time. Which required rules about completion, such as bookings
made for all flight plans, all nights accommodation accounted
for and full payment made, to name only a few business rules.
We have developed a prototype Holiday Package system for
use by Travel Agents, that makes bookings in several example
disparate systems, via the internet, and holds these as booking
reference numbers.
What we found when working on the Holiday Package system,
was that there was a need to define rules, firstly about going
forward, that is completion of the Package, and secondly,
to define rules about going back, that is, reversing parts
or all of a holiday package, as well.
Here is a probable scenario, the user plans and books the
Australian leg of his holiday and places a save point. The
user then goes about booking the American leg of his holiday
package, may make some plans and a few bookings, and then
decide to reverse out the American plans and bookings, say
the conference is cancelled, or he does not have enough money.
So what about the bookings held in the external systems? These
would have to be cancelled, before the reversal could proceed.
Hence we understood the need for rules about reversing (rolling
back) a transaction, as well as for completing a transaction.
For our system, we did not go to extraordinary lengths to
make cancellations automatic. As these could easily be done
manually, we were most interested in seeing that the integrity
rules were enforced. Which meant that we did not reverse our
side of the system until the appropriate cancellation had
been made to the external system. In Gnosis terminology we
created rollback constraints, to enforce these reversal rules.
"This has been a very interesting project, and we feel
very pleased to have worked with some new concepts that are
applicable in many E-Commerce scenarios, especially were there
are links to other disparate systems, there are some powerful
features available here.", says Mohit Wadan, Software
Engineering Student.
|