0% found this document useful (0 votes)
71 views

ITE 3106 - Lesson 03 - Application Architectures

The document discusses different types of application architectures: 1) Data processing systems which process data in batches like payroll systems. They have input, processing, and output components. 2) Transaction processing systems like banking systems which process user requests to access or update databases. They handle simultaneous users and updating of shared data. 3) Event processing systems like word processors which process user events in real-time. 4) Language processing systems like compilers which process programming languages.

Uploaded by

Jeewaka Jayanath
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
71 views

ITE 3106 - Lesson 03 - Application Architectures

The document discusses different types of application architectures: 1) Data processing systems which process data in batches like payroll systems. They have input, processing, and output components. 2) Transaction processing systems like banking systems which process user requests to access or update databases. They handle simultaneous users and updating of shared data. 3) Event processing systems like word processors which process user events in real-time. 4) Language processing systems like compilers which process programming languages.

Uploaded by

Jeewaka Jayanath
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Lesson 03- Application Architectures

3.0 Introduction

In the fourth week of Advanced Software Engineering course, you are going to learn
about different application architectures used in computer systems. Generally you will
deal with different applications when providing software solutions in business
environments and understanding of generic application architecture will definitely
empower you to design a better applications.

Learning outcomes

After completing this lesson, you would be able to explain different application
architectures with following,
• Data processing systems
• Transaction processing systems
• Event processing systems
• Language processing systems

What is Application architecture?


The applications architecture is specified on the basis of business requirements. This
involves defining the interaction between application packages, databases, and
middleware systems in terms of functional coverage. This helps identify any
integration problems or gaps in functional coverage.

Applications Architecture means managing how multiple applications are balanced to


work together. It is different from Software Architecture which deals with design
concerns of one application.

Software designer can use these generic application architectures in many ways.
• As a starting point for architectural design process, designers who are not
familiar with this type of application, can use generic architectures as a
basement of the initial designs As a design checklist.
Page 1 of 14
• Developed system architectural design can check against with the generic
application architecture as a way of organizing the work of the development
team.
• Can use to assign work to group members to implement different sub-systems
within the architectures as a means of assessing components for reuse.
• To check the possibility of reuse of components of the system as a vocabulary
for talking about application types.
• Can use concepts identified in the generic architecture to compare applications
in the same type or to discuss specific application

The classification of architecture into a particular type may be obvious from its
context and is, arguably, irrelevant to its success. But in this chapter describes the
architectures of four broad types of applications.
• Data processing systems
Billing systems;
Payroll systems.
• Transaction processing systems
E-commerce systems;
Reservation systems.
• Event processing systems
Word processors;
Real-time systems.
• Language processing systems
Compilers;
Command interpreters.

3.1 Data - Processing Systems

Data –Processing applications are applications that are data-driven. They process data
without explicit user interventions during the processing. The specific actions taken by
the applications depend on the data that is processing. Business rely on data-
processing systems to support many aspects of their business such as calculating and
printing invoices, paying salaries, maintaining accounts etc.

Page 2 of 14
Data processing systems are batch processing systems, where data is input and output
in batches from a file or a database rather than input from and output to a user
terminal.

Figure 3.1 Input-process-output model of data processing system

The input component reads data from a file or database checks its validity and queues
the valid data for processing. The process component takes a transaction from the
queue (input), performs computations and creates a new record with the results of the
computation. The output component reads these records, formats them accordingly
and writes them to the database or sends them to a printer.

The nature of the data-processing systems is where records or transactions are


processed serially. Therefore, these systems are naturally function oriented not object
oriented. Functions are components that do not maintain internal state information
from one invocation to another. Data flow diagrams are a good way to describe the
architecture of business data-processing systems. The fundamental data-flow structure
consists of an input function that passes data to a processing function and then to an
output function.

Figure 3.2 illustrates how a data flow diagram shows the more detail view of the
architecture of the payroll system.

Page 3 of 14
Figure 3.2 DFD of a payroll system

Input-process-output structure of the payroll system


• INPUT: The functions on the left of the diagram, Read employee record, Read
monthly pay data and Validate employee data
• PROCESS: Compute the salary function, works out the gross salary, various
deduction and net salary of each employee
• OUTPUT: Write a series of files that hold details of the deductions and the
salary to be paid. A pay slip for employee recoding net pay, deductions made is
printed by the system

3.2 Transaction - processing systems


Transaction - processing applications are database- centred applications that process
user request for information and that update a database. These are most common type
of interactive business systems. These systems are designed to process user requests
for information from a database or request to update the database.
The input –process-output structure that we discussed in data –processing systems also
applies to many transaction processing systems.

Page 4 of 14
Types of Transactions
Transactions can be internal or external. Transactions which are internal to the
company and are related with the internal working of any organization are called
internal transactions (Ex. Recruitment policy, production policy etc..) and transactions
those are related with external sources called external transactions. (Ex Sales,
purchases etc.).

Characteristics of Transaction Processing Systems

A TPS records internal & external transactions for a company. It’s a repository of data
that frequently accessed by other systems.
A TPS performs routine, repetitive tasks. It is mostly used by lower level managers to
make operational decisions.
Transactions can be recorded in batch mode or online. In batch mode, the files are
uploaded periodically and on line mode, each transaction is recorded as it is occurs.
They are six steps in processing a transaction. They are data entry, data validation,
data processing and revalidation, storage, output generation and query support.

However the main problems addressed by Transaction Processing Systems are:


• The need to handle hundreds, even thousands of simultaneous Users
• The need to allow many Users to work on the same set of data, with immediate
updating
• The need to handle errors in a safe and consistent manner
An example of a transaction processing system is a banking system that allows
customers to query their accounts and withdraw cash from an ATM. The system is
composed of two operating software sub systems.

The ATM software


The account processing software in the bank database server
The input and output sub systems are implemented as software in the ATM, whereas
the processing sub system is in the bank’s database server. Figure: 3.3 shows the
architecture of this system.

Page 5 of 14
Figure 3.3 Architecture of ATM software

An another view of the architecture of a customer accounting systems that handles


personal account transactions from ATMs and counter terminals in a bank shows in
Figure : 3.4. Teleprocessing monitor works as a middleware system in this view.

Figure: 3.4 Architecture of a customer accounting systems

Information and resource management systems.

All systems that involve interaction with a shared database can be considered to be
transaction- based information systems. An information systems allows controlled

Page 6 of 14
access to a large base of information, such as a library catalogue, a alight timetable
etc..
Information systems have a generic architecture that can be organized as a layered
architecture.
Layers include:
• The user interface
• User communications
• Information retrieval and modification
• Transaction management database

The library system LIBSYS is an example of an information system.


• User communications layer:
LIBSYS login component ,Form and query manager, Print manager
• Information retrieval layer:
Distributed search, Document retrieval, Rights manager
Figure 3.5 presents the architecture of the Library system. This system allows users to
access documents in remote libraries and downloads these for printing. The database
is distributed one and users actually connect, through the system, to the databases of
the libraries that provide documents.

Page 7 of 14
Figure: 3.5 Architecture of the Library system Label

Resources allocation systems


Resources allocation systems are a very commonly used application. The layered
architecture can be realized in several ways. Information systems software can be
organized and each layer is a large scale component running on a separate server. Each
layer defines its external interfaces and all communication takes place through these
interfaces.

Examples of resource allocation systems are:


Timetabling systems where the resource being allocated is a time period
Library systems where the resource being managed is books and other items for loan
Air traffic control systems where the resource being managed is the airspace.

Page 8 of 14
Figure: 3.6 Layered model of an information system

Implementations of information and resource management systems based on Internet


protocols. The user interface of these systems is implemented using a web browser.
The association of servers in these systems reflects the four layer generic model as
shown in below.

Figure 3.7 - E-commerce system architecture

E-commerce systems are Internet-Based resource management systems that are


designed to accept customers’ orders electronically. To place an order electronically,
there is an application specific layer includes additional functionality supporting a
“shopping cart” in which customers can place a number of items in separate
transactions, then pay for them all together in a single transaction.

Page 9 of 14
3.3 Event-Processing Systems

These systems respond to events in the system’s environment or user interface. The
key characteristic is that event timing is unpredictable. Therefore system architecture
must be able to organize these events when they occur. Many common systems such as
word processors, games, etc. are event processing systems. The system detects and
interprets events and user interface represent implicit commands to the system, which
make some action to follow that command. For example, if we are using a PowerPoint
and click on a slide, the click event means “start the slide shows”.

In addition Real-time systems and editing systems are the most common types of event
processing system. Real time systems are response to some external stimulus. However
real time systems events are not usually user interface events. But they are associated
with servers in the system. Because of the need for real- time response to
unpredictable events these systems are usually organized as a set of cooperating
processes.

Editing systems are porgrammes that run on PCs or workstations and that allow users
to edit documents such as diagrams or images, text documents etc. Some editors are
focus on editing a single type document while others editing different types including
text and diagrams. Editing systems have a number of characteristics that differentiate
them from other types of systems.

Editing systems are mostly single-user systems.

Editing systems have to provide rapid feedback on user actions such as “select” and
“delete”.
Editing sessions are normally much longer than sessions involving ordering goods or
making some other transaction.
A generic architecture for an editing system and responsibilities of the architectural
components are shown in figure 3.8.

Page 10 of 14
Figure: 3.8 Generic architecture for an editing system

Screen – this monitors the screen memory segment and detects events that occur.
Event – this object is generated by an event arriving from Screen.
Command - this object processes a command from the event object and calls the
appropriate method in the editor data object to execute the command.
Editor data – when the appropriate command method in editor data object is called, it
updates the data structure and calls the Update method in Display to display the
modified data.
Ancillary data – some editor commands are implemented by a method in this object.
File System – this object handles opening and saving files. These can be either editor
data or ancillary data.
Display – this object keeps tracks of the organization of the screen display. (Refresh
method in Screen)

Page 11 of 14
3.4 Language – processing systems

Language processing systems are systems where the user’s intentions are expressed in
a formal language such as Java. This system processes this language in to some internal
format and then interprets this internal representation. The best known language
processing systems are compilers. However, language processing systems are also used
to interpret command languages for databases, information systems and markup
languages such as XML. Language processing systems accept a natural or artificial
language as an input and generate some other representation of that language as an
output.

The generic architecture of a language processing system is shown in figure 3.9

Figure 3.9 Generic architecture of a language processing system

Translators in a language- processing system have a generic architecture that includes


the bellow components.
• A lexical analyzer – takes input language tokens and converts them to an
internal form.
• A symbol table- which holds information about the names of entities
• A syntax analyzer - checks the syntax of the language being translated
• A syntax tree – which is an internal structure representing the programme being
complied
Page 12 of 14
• A semantic analyzer - uses information from the syntax tree and the symbol
table to check the semantic correctness of the input text.
• A code generator – walks the syntax tree and generates abstract machine code.

The diagram 3.10 show the data flow model of a compiler.

Figure 3.10 Data flow model of a compiler

This model of compilation is widely used. It is effective in batch environments where


programs are compiled and executed without user interaction.

The figure 3.11 illustrates how a language processing systems can be part of an
integrated set of programming tools. In this figure, the symbol table and syntax tree
act as a central information repository. Tools or tool fragments communicate through
it.

Figure: 3.11 Components of language processing system

Page 13 of 14
Summary
In this lesson you had opportunity to learn four different application architectures used
in application designing. When we consider Data processing systems you can see many
examples like accounting systems, payroll systems where it processes data and provide
you a result. Where as transaction processing systems, which you use daily, such as
ATM, e-commerce etc need to handle a complete transaction and provide you a output
if successful, otherwise whole transaction should be reversed and system should be
reversed back to last known state. Then we discussed about event processing systems
such as word processor, or real-time processing systems. Finally we discussed about
language processing systems like interpreters, compilers as generic application
architectures.

Page 14 of 14

You might also like