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

Slides:



Advertisements
Similar presentations
1 Senn, Information Technology, 3 rd Edition © 2004 Pearson Prentice Hall James A. Senns Information Technology, 3 rd Edition Chapter 7 Enterprise Databases.
Advertisements

Distributed Systems Architectures
Chapter 10 Architectural Design.
Chapter 26 Legacy Systems.
Chapter 7 System Models.
Requirements Engineering Process
Chapter 8 Software Prototyping.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Introduction to Database Development (1) IS 240 – Database Management Lecture #3 – Prof. M. E. Kabay, PhD, CISSP Norwich University
Verification & Validation
1 Note content copyright © 2004 Ian Sommerville. NU-specific content © 2004 M. E. Kabay. All rights reserved. Formal Specification IS301 – Software Engineering.
Working with MS-ACCESS IS 240 – Database Management Lecture #2 – Assoc. Prof. M. E. Kabay, PhD, CISSP Norwich University
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Testing IS301 – Software.
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Critical Systems Validation IS301.
IS301 – Software Engineering V:
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Component-Based Software Engineering.
IS301 – Software Engineering Dept of Computer Information Systems
IS301 – Software Engineering V:
IS301 – Software Engineering V:
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Rapid Software Development IS301.
Distributed Systems Architectures
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 4 Computing Platforms.
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Author: Julia Richards and R. Scott Hawley
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 3 CPUs.
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Chapter 6 – Architectural Design
Making the System Operational
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
Week 2 The Object-Oriented Approach to Requirements
Configuration management
Chapter 11: Models of Computation
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering.
Legacy Systems Older software systems that remain vital to an organisation.
Software Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
Executional Architecture
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 15 Programming and Languages: Telling the Computer What to Do.
Chapter 10: The Traditional Approach to Design
Analyzing Genes and Genomes
Systems Analysis and Design in a Changing World, Fifth Edition
Essential Cell Biology
PSSA Preparation.
Essential Cell Biology
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Energy Generation in Mitochondria and Chlorplasts
TCP/IP Protocol Suite 1 Chapter 18 Upon completion you will be able to: Remote Login: Telnet Understand how TELNET works Understand the role of NVT in.
1 SWE Introduction to Software Engineering Lecture 21 – Architectural Design (Chapter 13)
1 SWE Introduction to Software Engineering Lecture 22 – Architectural Design (Chapter 13)
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.
Slide 1 Ch 13 Application architectures Generic architectures that can be configured and adapted to create a system that meets specific requirements Can.
CS223: Software Engineering
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
Application architectures 1. Topics covered In the previous chapter, the discussion of system arcitectures focused on architectural issues such as control,
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.
Software architecture
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Chapter 5 Architectural Design.
Chapter 5 Architectural Design.
Chapter 6 – Architectural Design
Presentation transcript:

1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301 – Software Engineering Lecture # 16 – M. E. Kabay, PhD, CISSP Assoc. Prof. Information Assurance Division of Business & Management, Norwich University V:

2 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Objectives To explain the organization of two fundamental models of business systems: batch processing and transaction processing systems To describe the abstract architecture of resource management systems To explain how generic editors are event processing systems To describe the structure of language processing systems

3 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Topics covered Data processing systems Transaction processing systems Event processing systems Language processing systems Today we will race like the wind to use 27 of Prof. Sommervilles slides

4 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Generic application architectures Application systems are designed to meet an organizational need. As businesses have much in common, their application systems also tend to have a common architecture that reflects the application requirements. A generic architecture is configured and adapted to create a system that meets specific requirements.

5 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Use of application architectures As a starting point for architectural design. As a design checklist. As a way of organizing the work of the development team. As a means of assessing components for reuse. As a vocabulary for talking about application types.

6 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. 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-centered applications that process user requests and update information in a system database. E-commerce systems; Reservation systems.

7 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application types (2) Event processing systems Applications where system actions depend on interpreting events from the systems environment. 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; Dictation software.

8 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Data processing systems Systems that are data-centered 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.

9 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Input-process-output model

10 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. 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.

11 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Data-flow diagrams (DFDs) Show how data are processed as they move through a system. Representations: Transformations: round-edged rectangles, Data-flows: arrows between them and Files/data stores: rectangles.

12 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Salary payment DFD

13 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Transaction processing systems Process user requests for information from a database or requests to update the database. 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. Users make asynchronous requests for service which are then processed by a transaction manager.

14 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Transaction processing

15 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. ATM system organization

16 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Transaction processing middleware Transaction management middleware or teleprocessing monitors handle communications with different terminal types (e.g. ATMs and counter terminals), serializes data and sends it for processing. Query processing takes place in the system database and results are sent back through the transaction manager to the users terminal.

17 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Transaction management

18 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Information systems architecture Information systems have a generic architecture that can be organized as a layered architecture. Layers include: The user interface User communications Information retrieval System database

19 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Information system structure

20 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. LIBSYS architecture 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; Accounting.

21 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. LIBSYS organization

22 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. 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 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Resource allocation architecture Resource allocation systems are also layered systems that include: A resource database; A rule set describing how resources are allocated; A resource manager; A resource allocator; User authentication; Query management; Resource delivery component; User interface.

24 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Layered resource allocation

25 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. 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. Fine-grain components within layers can be implemented as web services.

26 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. E-commerce system architecture E-commerce systems are Internet-based resource management systems that accept electronic orders for goods or services. They are usually organized using a multi-tier architecture with application layers associated with each tier.

27 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Event processing systems These systems respond to events in the systems environment. Their key characteristic is that event timing is unpredictable so the architecture has to be organized to handle this. Many common systems such as word processors, games, etc. are event processing systems.

28 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Editing systems Real-time systems (Chapter 15) and editing systems are the most common types of event processing system. Editing system characteristics: Single user systems; Must provide rapid feedback to user actions; Organized around long transactions so may include recovery facilities.

29 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Editing system components Editing systems are naturally object-oriented: Screen - monitors screen memory and detects events; Event - recognizes events and passes them for processing; Command - executes a user command; Editor data - manages the editor data structure; Ancillary data - manages other data such as styles and preferences; File system - manages file I/O; Display - updates the screen display.

30 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Editing-system architecture

31 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Language processing systems Accept a natural or artificial language as input and generate some other representation of that language. May include an interpreter to act on the instructions in the language that is being processed. Used in situations where the easiest way to solve a problem is to describe an algorithm or describe the system data Meta-case tools process tool descriptions, method rules, etc and generate tools.

32 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. A language processing system

33 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Language processing components Lexical analyzer Symbol table Syntax analyzer Syntax tree Semantic analyzer Code generator

34 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Data-flow model of a compiler

35 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Repository model of a compiler

36 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Key points (1) Generic models of application architectures help us understand and compare applications. Important classes of application are data processing systems, transaction processing systems, event processing systems and language processing system. Data processing systems operate in batch mode and have an input-process-output structure.

37 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Key points (2) Transaction processing systems allow information in a database to be remotely accessed and modified by multiple users. Event processing systems include editors and real-time systems. In an editor, user interface events are detected and an in-store data structure is modified. Language processing systems translate texts from one language to another and may interpret the specified instructions.

38 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Homework Required By Wed 13 Oct 2004 For 55 points, answer in detail: [diagram] & 13.5 Optional By 20 Oct 2004 For a maximum of 10 points, Any or all of

39 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. DISCUSSION