contains the following layers: Presentation,
Verification, Encryption, and Data Access.
2.2.6 Stage VI
Requirements: The application needs to execute
work units or groups of operations whose result to
be available only if the entire group was processed
successfully. Such an operation group should not
overwrite during its execution data that was already
modified by another.
Consequences: This stage is the first in which it
becomes necessary to preserve the operational
integrity of data. The application’s work units
composed of multiple operations defined in the
requirement are actually translated into database
transactions. The clients will therefore require the
ability to impose locks on the records that they read
with the purpose of modifying so that no other
instance will attempt to simultaneously do it. The
transaction execution can be done either by using the
native database support or by embedding the
transaction mechanisms in the application. Also,
there is a third option of implementing the
transactions as database stored procedures.
In case the transactions are processed using the
native database support or implemented as stored
procedures the 2-Tier physical architecture of the
application remains unchanged. However, if the
transactional support is implemented directly in the
application, its physical architecture will modify,
becoming 3-Tier. The additional tier will be
dedicated to transaction management.
Practically, the choice is about the best
transactional model for the application, the available
options being: TP-Less, TP-Lite and TP-Heavy.
As per the initial assumption that at each stage
the lowest impact solution will be chosen, the native
transactional support of the application will be used,
going for a TP-Less transaction processing strategy.
2.2.7 Stage VII
Requirements: The application needs to cope
with strict performance criteria, related both to the
processing speed and the bandwidth required for
data transfer from and to the database.
Consequences: Such non-functional
requirements will trigger modifications in the way
transactions are processed.
There are situations in which the use of the
native transactional support of the database does not
fulfill the required performance criteria, especially
because of the big amount of data transferred to and
from the client in order to be processed. The data set
resulted after each operation will be sent to the client
who will take the decision of continuing the
transaction or not.
The transaction’s implementation as stored
procedures will diminish the quantity of data
transferred through the physical communication
environment. I/O operations are probably the
bottleneck of any software systems, and they are
even slower if network transfer is also involved.
2.2.8 Stage VIII
Requirements: The application needs to support
a number of clients bigger than the maximum
number of connections accepted by the database.
Figure 5: Eighth’s Stage Architecture.
Consequences: The adoption of the above stated
requirement involves changes in the physical
architecture of the application. The transaction
processing strategy needs to change, going to TP-
Heavy and consequently adding a new tier. The
introduction of the additional tier consisting of a
transaction manager, one of the simplest types of
application servers, will change the physical
architecture to 3-Tier (Figure 5).
A transaction manager is doing a multiplex
operation between n clients and m connections,
where usually n is greater than m using a waiting
queue.
3 MATHEMATICAL MODEL
A software system like the one used for the above
case study mathematically modeled. Apart from
modeling the state of the system as any point of
time, its evolution can also be modeled.
Architecturally, a system evolves only when
exposed to stimuli or events, which in such a case
are new or modified requirements. Depending on the
new or modified requirements, the system will
change or not the architectural state, both physically
and/or logically. Therefore, the evolution of a
software system during successive development
cycles can be modeled as a discrete set of states X,
where
Xx
is any discrete state of the system.
MOLDING ARCHITECTURE AND INTEGRITY MECHANISMS EVOLUTION - An Architectural Stability Evaluation
Model for Software Systems
429