Page 183 -
P. 183

166   Chapter 6   Architectural design



                  Figure 6.14 The          I/O           Application       Transaction       Database
                  structure of transaction  Processing     Logic            Manager
                  processing applications



                                        class of system includes interactive banking systems, e-commerce systems,
                                        information systems, and booking systems.
                                    2.  Language processing systems Language processing systems are systems in
                                        which the user’s intentions are expressed in a formal language (such as Java).
                                        The language processing system processes this language into an internal format
                                        and then interprets this internal representation. The best-known language pro-
                                        cessing systems are compilers, which translate high-level language programs
                                        into machine code. However, language processing systems are also used to
                                        interpret  command  languages  for  databases  and  information  systems,  and
                                        markup languages such as XML (Harold and Means, 2002; Hunter et al., 2007).


                                      I have chosen these particular types of system because a large number of web-
                                    based business systems are transaction-processing systems, and all software devel-
                                    opment relies on language processing systems.



                             6.4.1   Transaction processing systems

                                    Transaction processing (TP) systems are designed to process user requests for infor-
                                    mation from a database, or requests to update a database (Lewis et al., 2003).
                                    Technically, a database transaction is sequence of operations that is treated as a sin-
                                    gle unit (an atomic unit). All of the operations in a transaction have to be completed
                                    before the database changes are made permanent. This ensures that failure of opera-
                                    tions within the transaction does not lead to inconsistencies in the database.
                                      From a user perspective, a transaction is any coherent sequence of operations that
                                    satisfies a goal, such as ‘find the times of flights from London to Paris’. If the user
                                    transaction does not require the database to be changed then it may not be necessary
                                    to package this as a technical database transaction.
                                      An example of a transaction is a customer request to withdraw money from a bank
                                    account using an ATM. This involves getting details of the customer’s account, check-
                                    ing the balance, modifying the balance by the amount withdrawn, and sending com-
                                    mands to the ATM to deliver the cash. Until all of these steps have been completed, the
                                    transaction is incomplete and the customer accounts database is not changed.
                                      Transaction processing systems are usually interactive systems in which users
                                    make asynchronous requests for service. Figure 6.14 illustrates the conceptual ar-
                                    chitectural structure of TP applications. First a user makes a request to the system
                                    through an I/O processing component. The request is processed by some application-
                                    specific logic. A transaction is created and passed to a transaction manager, which is
                                    usually embedded in the database management system. After the transaction manager
   178   179   180   181   182   183   184   185   186   187   188