©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.

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

WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Building Applications using ASP.NET and C# / Session 1 / 1 of 21 Session 1.
Session 6 Server-side programming - ASP. An ASP page is an HTML page interspersed with server-side code. The.ASP extension instead of.HTM denotes server-side.
Modifed from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 12 & 13 Slide 1 Models of Software Architectures.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
1 SWE Introduction to Software Engineering Lecture 21 – Architectural Design (Chapter 13)
Tutorial 6 Working with Web Forms
1 SWE Introduction to Software Engineering Lecture 22 – Architectural Design (Chapter 13)
Introduction to Web Database Processing
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
Application architectures
Introduction to Web Interface Technology (CSE2030)
Architecture, Deployment Diagrams, Web Modeling Elizabeth Bigelow CS-15499C October 6, 2000.
Introduction to Web Interface Technology (CSE2030)
Chapter 11 ASP.NET JavaScript, Third Edition. 2 Objectives Learn about client/server architecture Study server-side scripting Create ASP.NET applications.
Course Instructor: Aisha Azeem
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
Application architectures
Server Side Scripting Norman White. Where do we do processing? Client side – Javascript (embed code in html) – Java applets (send java program to run.
1 Web Developer & Design Foundations with XHTML Chapter 6 Key Concepts.
Chapter 6 – Architectural Design Lecture 2 1Chapter 6 Architectural design.
INTRODUCTION TO WEB DATABASE PROGRAMMING
1 CS 3870/CS 5870 Static and Dynamic Web Pages ASP.NET and IIS.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
1 CS 3870/CS 5870 Static and Dynamic Web Pages ASP.NET and IIS.
Dr. Azeddine Chikh IS444: Modern tools for applications development.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
K. Jamroendararasame*, T. Matsuzaki, T. Suzuki, and T. Tokuda Department of Computer Science, Tokyo Institute of Technology, JAPAN Two Generators of Secure.
Tutorial 7 Creating Forms. Objectives Session 7.1 – Create an HTML form – Insert fields for text – Add labels for form elements – Create radio buttons.
Active Server Pages  In this chapter, you will learn:  How browsers and servers interacted on the Internet when the Internet first became popular 
Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
1 Welcome to CSC 301 Web Programming Charles Frank.
Chapter 6 Architectural Design.
Tutorial 6 Working with Web Forms. 2New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition Objectives Explore how Web forms interact with.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
 Previous lessons have focused on client-side scripts  Programs embedded in the page’s HTML code  Can also execute scripts on the server  Server-side.
Tutorial 6 Working with Web Forms. 2New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition Objectives Explore how Web forms interact with.
ASP. ASP is a powerful tool for making dynamic and interactive Web pages An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are.
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
Slide 1 Ch 13 Application architectures Generic architectures that can be configured and adapted to create a system that meets specific requirements Can.
Chapter 27 Getting “Web-ified” (Web Applications) Clearly Visual Basic: Programming with Visual Basic nd Edition.
CS223: Software Engineering
Lect5.ppt - 02/23/06 CIS 4100 Systems Performance and Evaluation Lecture 6 by Zornitza Genova Prodanoff.
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
HTML III (Forms) Robin Burke ECT 270. Outline Where we are in this class Web applications HTML Forms Break Forms lab.
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.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Software architecture
Chapter 6 – Architectural Design
WWW and HTTP King Fahd University of Petroleum & Minerals
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Chapter 27 WWW and HTTP.
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Chapter 5 Architectural Design.
Chapter 5 Architectural Design.
Chapter 6 – Architectural Design
Presentation transcript:

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 2 Topics covered l Data processing systems l Transaction processing systems l Event processing systems l Language processing systems

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 3 Generic application architectures l Application systems are designed to meet an organisational need. l As businesses have much in common, their application systems also tend to have a common architecture that reflects the application requirements. l A generic architecture is configured and adapted to create a system that meets specific requirements.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 4 Use of application architectures l As a starting point for architectural design. l As a design checklist. l As a way of organising the work of the development team. l As a means of assessing components for reuse. l As a vocabulary for talking about application types.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 5 Application types l Data processing applications Data driven applications that process data in batches without explicit user intervention during the processing. l Transaction processing applications Data-centred applications that process user requests and update information in a system database. l Event processing systems Applications where system actions depend on interpreting events from the system’s environment. l Language processing systems Applications where the users’ intentions are specified in a formal language that is processed and interpreted by the system.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 6 Application type examples l Data processing systems Billing systems; Payroll systems. l Transaction processing systems E-commerce systems; Reservation systems. l Event processing systems Word processors; Real-time systems. l Language processing systems Compilers; Command interpreters.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 7 Data processing systems l Systems that are data-centred where the databases used are usually orders of magnitude larger than the software itself. l 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. l Data processing systems usually have an input-process-output structure.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 8 Input-process-output model

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 9 Input-process-output l The input component reads data from a file or database, checks its validity and queues the valid data for processing. l The process component takes a transaction from the queue (input), performs computations and creates a new record with the results of the computation. l The output component reads these records, formats them accordingly and writes them to the database or sends them to a printer.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 10 Data-flow diagrams l Show how data is processed as it moves through a system. l Transformations are represented as round- edged rectangles, data-flows as arrows between them and files/data stores as rectangles.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 11 Salary payment DFD

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 12 Transaction processing systems l Process user requests for information from a database or requests to update the database. l 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. l Users make asynchronous requests for service which are then processed by a transaction manager.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 13 Transaction processing

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 14 ATM system organisation

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 15 E-commerce system architecture l E-commerce systems are Internet-based resource management systems that accept electronic orders for goods or services. l They are usually organised using a multi-tier architecture with application layers associated with each tier.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 16 Event processing systems l These systems respond to events in the system’s environment. l Their key characteristic is that event timing is unpredictable so the architecture has to be organised to handle this. l Many common systems such as word processors, games, etc. are event processing systems.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 17 Editing systems l Real-time systems (Chapter 15) and editing systems are the most common types of event processing system. l Editing system characteristics: Single user systems; Must provide rapid feedback to user actions; Organised around long transactions so may include recovery facilities.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 18 Language processing systems l Accept a natural or artificial language as input and generate some other representation of that language. l May include an interpreter to act on the instructions in the language that is being processed. l 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.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 19 Language processing components l Lexical analyser l Symbol table l Syntax analyser l Syntax tree l Semantic analyser l Code generator

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 20 Web Application Architecture The basic web application architecture consists of a web browser, network, and a web server. Browsers request pages from the server The web server responds with a page containing a mix of content and formatting instructions, expressed in HTML Web browserWeb server HTML request

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 21 Web Application Architecture Web browserWeb server HTML Javascript Activex Applet request Some pages include client-side scripts defining dynamic behaviors for the page to display (javascript)

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 22 Web Application Architecture Web browser Web server HTML request A dynamic web application architecture uses information at runtime (database) and a script to build the HTML file that is sent to the browser Scripted pagedatabase

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 23 Web Application Architecture Web browser Web server HTML request There are three types of CGI: 1) Scripted pages – a mix of HTML and some other scripting language. Examples are Active Server Pages (ASP) and ColdFusion Scripted pagedatabase

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 24 Web Application Architecture Web browser Web server HTML request There are three types of CGI: 2) Compiled page – a binary component. Examples are Microsoft’s ISAPI and Netscape’s NSAPI Scripted pagedatabase

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 25 Web Application Architecture Web browser Web server HTML request There are three types of CGI: 3) Hybrid – once requested, the page is compiled. Example is JavaServer Pages (JSP) Scripted pagedatabase

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 26 Web application architecture components Pages Forms Components Frames Other components

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 27 Pages The most fundamental component of a web application The page may be a: - static HTML page (client page) - combination of static HTML formatted pages and dynamic scripted pages (server page), which generates the client page HTML ASP CF TAGS HTML

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 28 Pages Business logic on the server is activated the execution of scripts inside the page HTML ASP CF TAGS HTML database Web server Web browser Web server

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 29 Pages Scripts running on the client (web browser) can augment the user interface and provide little if any business logic. HTML Javascript VBscript ASP CF TAGS HTML Javascript VBscript database Web server Web browser Web server

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 30 Forms A form is a mechanism for collecting user input in HTML The basic elements are : textarea, checkbox, radio button, selection lists. When a form is completed by a user, the user submits the form back to the server. Name: Address: DONE Web server ASP Or JSP Or CF

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 31 Web Application Architecture

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 32 l Generic models of application architectures help us understand and compare applications. l Important classes of application are data processing systems, transaction processing systems, event processing systems and language processing system. l Data processing systems operate in batch mode and have an input-process-output structure. Key points

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 33 Key points l Transaction processing systems allow information in a database to be remotely accessed and modified by multiple users. l Event processing systems include editors and real-time systems. l In an editor, user interface events are detected and an in-store data structure is modified. l Language processing systems translate texts from one language to another and may interpret the specified instructions.