Page 186 -
P. 186
6.4 Application architectures 169
4. Finally, the lowest layer, which is built using a commercial database manage-
ment system, provides transaction management and persistent data storage.
Information and resource management systems are now usually web-based systems
where the user interfaces are implemented using a web browser. For example,
e-commerce systems are Internet-based resource management systems that accept elec-
tronic orders for goods or services and then arrange delivery of these goods or services
to the customer. In an e-commerce system, the application-specific layer includes addi-
tional functionality supporting a ‘shopping cart’ in which users can place a number of
items in separate transactions, then pay for them all together in a single transaction.
The organization of servers in these systems usually reflects the four-layer
generic model presented in Figure 6.16. These systems are often implemented as
multi-tier client server/architectures, as discussed in Chapter 18:
1. The web server is responsible for all user communications, with the user inter-
face implemented using a web browser;
2. The application server is responsible for implementing application-specific
logic as well as information storage and retrieval requests;
3. The database server moves information to and from the database and handles
transaction management.
Using multiple servers allows high throughput and makes it possible to handle
hundreds of transactions per minute. As demand increases, servers can be added at
each level to cope with the extra processing involved.
6.4.3 Language processing systems
Language processing systems translate a natural or artificial language into another
representation of that language and, for programming languages, may also execute
the resulting code. In software engineering, compilers translate an artificial program-
ming language into machine code. Other language-processing systems may translate
an XML data description into commands to query a database or to an alternative
XML representation. Natural language processing systems may translate one natural
language to another e.g., French to Norwegian.
A possible architecture for a language processing system for a programming lan-
guage is illustrated in Figure 6.18. The source language instructions define the pro-
gram to be executed and a translator converts these into instructions for an abstract
machine. These instructions are then interpreted by another component that fetches
the instructions for execution and executes them using (if necessary) data from the
environment. The output of the process is the result of interpreting the instructions
on the input data.