To illustrate
the use of persistence, let us consider three different
ways of designing an airline reservation and booking system.
Any of these three designs are valid. However, depending
on your goals, each design requires a different number of
FlashCONNECT ports, thus a different number of D3 licenses.
Application
description
- Web
page 1: Specify Route
- The
user specifies the date, time and location of both departure
& arrival. This Web page does not contain any information
from a database so a FlashCONNECT port is not needed to
view it.
-
- Web
page 2: Select flight and payment
- The
user selects one flight from a list of flights that match
the criteria, and enters their payment information.
-
- Web
page 3: Confirm payment
- The
user confirms the payment and flight information.
-
- Web
page 4: Completion message
- The
user is informed that their order is completed.
Design
1
Of
the three designs, this design consumes a FlashCONNECT license
for the longest period of time; however, the customer will
always be able to book a seat on any flight offered. After
page 1 is submitted, a tentative reservation is placed for
each flight matching the user's criteria. One of the tentative
reservations is finalized and the others released after
payment is confirmed.
Design
2
Taking
the middle ground, this design consumes a FlashCONNECT license
for an amount of time less than design 1 but more than design
3. A final reservation is made when the user specifies a
specific flight when submitting page 2 and confirmed after
payment is confirmed. This design ensures the flight is
available when the customer selects a specific flight; however,
the flight could have filled sometime between the time the
flight is first seen (Web page 2 loaded) and the time the
payment is made (after Web page 2 submitted).
Design
3
This
design consumes a FlashCONNECT license for the least amount
of time. The final reservation takes place when the payment
information is confirmed (page 3). The risk increases that
their flight might fill while they are selecting a flight
and entering payment information.