Application architectures 1. Topics covered In the previous chapter, the discussion of system arcitectures focused on architectural issues such as control,

Slides:



Advertisements
Similar presentations
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301.
Advertisements

Database System Concepts and Architecture
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Chapter 13 Review Questions
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Modifed from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 12 & 13 Slide 1 Models of Software Architectures.
1 SWE Introduction to Software Engineering Lecture 21 – Architectural Design (Chapter 13)
1 SWE Introduction to Software Engineering Lecture 22 – Architectural Design (Chapter 13)
COMP365: DESIGN Information systems architecture
Application architectures
Course Instructor: Aisha Azeem
Application architectures
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Chapter 6 – Architectural Design Lecture 2 1Chapter 6 Architectural design.
Architectural Design.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Chapter 7 System models.
CSc 461/561 Software Engineering Lecture 7 – Architectural Design.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Chapter 6 Architectural Design.
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
Chapter 6 – Architectural Design 1Chapter 6 Architectural design.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter 6 Architectural design Chapter 6 – Architectural Design Lecture 1 1.
Slide 1 Ch 13 Application architectures Generic architectures that can be configured and adapted to create a system that meets specific requirements Can.
Software Architectural Design 1. Topics covered  Architectural design decisions  Architectural views  Architectural patterns  Application architectures.
CS223: Software Engineering
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
Chapter 6 – Architectural Design 1Chapter 6 Architectural design CS 425 October 20, 2011 Ian Sommerville, Software Engineering, 9 th Edition Pearson Education,
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Application architectures. Objectives l To explain the organisation of two fundamental models of business systems - batch processing and transaction processing.
A PPLICATION ARCHITECTURES Chapter 13. O BJECTIVES To explain the organisation of two fundamental models of business systems - batch processing and transaction.
Lecture 6 – Architectural Design
Databases (CS507) CHAPTER 2.
Software architecture
CompSci 280 S Introduction to Software Development
Transaction processing systems
Chapter 6 – Architectural Design
Working in the Forms Developer Environment
Architectural Design.
Part 3 Design What does design mean in different fields?
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Chapter 6 – Architectural Design
Software Engineering Architectural Design Chapter 6 Dr.Doaa Samy
Software Engineering Architectural Design Chapter 6 Dr.Doaa Samy
Service-centric Software Engineering
Chapter 6 – Architectural Design
Software Architecture
Chapter 6 – Architectural Design
Tiers vs. Layers.
Chapter 6 – Architectural Design
Chapter 5 Architectural Design.
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
CS385 T&D Software Engineering Dr.Doaa Sami Khafaga
Chapter 7 –Implementation Issues
Chapter 5 Architectural Design.
Chapter 6: Architectural Design
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Presentation transcript:

Application architectures 1

Topics covered In the previous chapter, the discussion of system arcitectures focused on architectural issues such as control, distribution and system structuring. In this chapter, we will study the architectures from an application perspective. Data processing systems Transaction processing systems Event processing systems Language processing systems 2

Generic application architectures Application systems are designed to meet some business or organisational need. As businesses have much in common, their application systems also tend to have a common architecture that reflects the application requirements. Systems of the same type have similar architectures, and the differences between these systems are in the detailed functionality that is provided. A generic architecture is configured and adapted to create a system that meets specific requirements. 3

Use of application architectures As a starting point for architectural design. As a design checklist. As a way of organising the work of the development team. As a means of assessing components for reuse. As a vocabulary for talking about application types. 4

Application types -1 Data processing applications Data driven applications that process data in batches without explicit user intervention during the processing. Billing systems; Payroll systems. Transaction processing applications Data-centred applications that process user requests and update information in a system database. Interactive business systems. E-commerce systems; Reservation systems. 5

Application types -2 Event processing systems Applications where system actions depend on interpreting events from the system’s environment. These events can be the input of a command by a system user or a change in variables that are monitored by the system. Word processors; Real-time systems. Language processing systems Applications where the users’ intentions are specified in a formal language that is processed and interpreted by the system. Compilers; Command interpreters. 6

Data processing systems Systems that are data-centred where the databases used are usually orders of magnitude larger than the software itself. Data is input and output in batches Input: A set of customer numbers and associated readings of an electricity meter; Output: A corresponding set of bills, one for each customer number. Data processing systems usually have an input- process-output structure. 7

Input-process-output model 8

Input-process-output 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. 9

Data-flow diagrams The nature of data-processing systems where records are processed serially with no need to maintain state across transactions means that these systems are naturally function-oriented. Data-flow diagrams (DFDs) provide a good way to decsribe the architecture of such systems. As studied in the previous chapters, DFDs show how data is processed as it moves through a system. Transformations are represented as round-edged rectangles, data-flows as arrows between them and files/data stores as rectangles. 10

Salary payment DFD 11

Transaction processing systems Process user requests for information from a database or requests to update the database. A database transaction is sequence of operations that is treated as a single unit. All of the operations in a transaction have to be completed before the database changes are made permanent. So the failure of operations within the transaction do not lead to inconsistencies in the database. For ex; a customer request to withdraw money from a bank account using an ATM. 12

Transaction processing systems From a user perspective a transaction is: Any coherent sequence of operations that satisfies a goal; For example - 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 databse transaction. Users make asynchronous requests for service which are then processed by a transaction manager. (interactive systems) 13

Transaction processing 14

Transaction processing A user makes a request to the system through an I/O processing component This request is processed by some application specific logic. A transaction is created and passed to a transactio manager, which is usually embedded in the databse management system. After the transaction manager has ensured that the transaction is properly completed, it signals to the application that processing has finished. 15

ATM An ATM system that allows customers to query their accounts and withdraw cash is a transaction processing system. The system has two subsytems- the ATM software and the account processing software in the bank’s database server. The I/O sub-systems are implemented as software in the ATM, whereas the processing subsystem is in the bank’s database server. 16

ATM system organisation 17

Information systems architecture An information system allows controlled access to a large base of information, such as a library catalogue, a flight timetable etc. Information systems have a generic architecture that can be organised as a layered architecture. Layers include: The user interface User communications: handles all input and output from the user interface. Information retrieval: includes application specific logic for accessing and updating the database System database 18

Information system structure 19

LIBSYS organisation 20

LIBSYS architecture The library system LIBSYS is an example of an information system. User communications layer: LIBSYS login component identifies and authenticates users. Form and query manager manages the forms that may be presented to the user and provides query facilities allowing the user to request information from the system. Print manager controls the printing of documents that, for copyright reasons, may be restricted. 21

LIBSYS architecture Information retrieval layer includes application-specific components that implement the system’s functionality: Distributed search component searches for documents in response to user queries across all the libraries that have registered with the system Document retrieval component retrieves the document or documents that are required by the user to the server where the LIBSYS system is running. Rights manager component handles all aspects of digital rights management and copyright. Accounting component logs all requests and handles any charges that are made by the libraries in ths system and also produces management reoprts on the use of the system. 22

Resource allocation systems Systems that manage a fixed amount of some resource (football game tickets, books in a bookshop, etc.) and allocate this to users. Examples of resource allocation systems: 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. 23

Resource allocation architecture Resource allocation systems are also layered systems that include: A resource database that hold details of the resources being allocated. A rule set describing how resources are allocated. A resource manager component that allows the provider of the resources to add, edit or delete resources from the system. A resource allocator component that updates the resource database when resources are assigned and that associates these resources with details of the resource requestor. 24

Resource allocation architecture User authentication component that allows the system to check that resources are being allocated to an accredited user. Query management component allows users to discover what resources are available. Resource delivery component component that prepares the resources for delivery to the requestor. User interface component allows the requestor of the resource to issue queries and requests for the resource to be allocated. 25

Layered resource allocation 26

Layered system implementation Each layer can be implemented as a large scale component running on a separate server. This is the most commonly used architectural model for web- based systems. On a single machine, the middle layers are implemented as a separate program that communicates with the database through its API. A third alternative is to implement fine-grain components within layers as web services and compose these dynamically according to teh user’s requests. 27

E-commerce system architecture E-commerce systems are Internet-based resource management systems that accept electronic orders for goods or services. They are usually organised using a multi-tier architecture with application layers associated with each tier. 28

Event processing systems These systems respond to events in the system’s environment. Their key characteristic is that event timing is unpredictable so the architecture has to be organised to handle this. Many common systems such as word processors, games, etc. are event processing systems. 29

Editing systems Real-time systems and editing systems are the most common types of event processing system. Editing systems are programs that allows users to edit documents such as text documents, diagrams or images. Editing system characteristics: Single user systems; Must provide rapid feedback to user actions such as ‘select’ and ‘delete’. Organised around long transactions so may include recovery facilities like automatically saving the work in progess. 30

Editing system components Editing systems are naturally object-oriented: Screen - monitors screen memory and detects events; Event - recognises events and passes them for processing; Command - executes a user command; Editor data - manages the editor data structure; File system - manages file I/O; Display - updates the screen display. 31

Language processing systems Accept a natural or artificial language as input and generate some other representation of that language as an output. Most widely used language processing systems are compilers. Components Lexical analyser Symbol table Syntax analyser Syntax tree Semantic analyser Code generator 32

A language processing system 33

Repository model of a compiler 34