Top Banner
WATERLOO CHERITON SCHOOL OF COMPUTER SCIENCE Enterprise Enterprise Web-based Software Web-based Software Architecture & Design Architecture & Design CS 446/646 ECE452 Jun 6 th , 2011 IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark class discussions
21

These slides are NOT to be used as a replacement for ...

Feb 06, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: These slides are NOT to be used as a replacement for ...

WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

Enterprise Enterprise Web­based SoftwareWeb­based Software

Architecture & DesignArchitecture & Design

CS 446/646 ECE452Jun 6th, 2011

IMPORTANT NOTICE TO STUDENTS

These slides are NOT to be used as a replacement for student notes.These slides are sometimes vague and incomplete on purpose to spark class discussions

Page 2: These slides are NOT to be used as a replacement for ...

2WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

CharacteristicsServers● application server● web server● proxy servers

Platforms & Technologies● heterogeneous

Focus/Scope● usually well defined

Clients● heterogeneous

– users, business partners (B2B)

● scale– large number of clients

● distributed

Page 3: These slides are NOT to be used as a replacement for ...

3WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

CharacteristicsData● large amounts of data● long-term & short term persistence● distributed in nature● governed by schema

– global company wide– local application specific– complex & resistant to change (why?)

Page 4: These slides are NOT to be used as a replacement for ...

4WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

Architectural StyleLayered Style

core

business utilities

applications

Are you sure?

Page 5: These slides are NOT to be used as a replacement for ...

5WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

Architectural StyleTiered Style● from layered to tiered

– physical separation– each tier

● acts as a client of the tier to the right● provides a service to the tier on the left

● consequences?

Page 6: These slides are NOT to be used as a replacement for ...

6WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

Architectural StyleClient-Server Style● distributed heterogeneous clients

– thick & thin– isolated from each other

● centralized servers– computationally powerful– one server to support many clients

● design considerations?

Page 7: These slides are NOT to be used as a replacement for ...

7WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

Architectural StyleClient-Server Style● observations

– main functionality processed at the central server

– user interface at each client– flows

● data flows from server to client● control flows from client to server

– did some body say data?

Page 8: These slides are NOT to be used as a replacement for ...

8WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

Architectural StyleRepository Style● central repository

– multiple data-sources– generally database type (why?)

● data is shared across– clients– applications

● data is dynamic

Page 9: These slides are NOT to be used as a replacement for ...

9WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

Functional ConcernsApplication {functional components}● collection of business functionality● generally divided over multiple tiers

Data● transactional

– ACID● atomicity – all or nothing● consistency – from one consistent state to another consistent state● isolation – interaction of other operations with the modified data● durability – data after a successful transaction is never lost

Page 10: These slides are NOT to be used as a replacement for ...

10WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

Non­functional Concerns● concurrency● availability● security● performance● fault-tolerance● application distribution & deployment● evolution● re-usability

Mostly Honoured

Page 11: These slides are NOT to be used as a replacement for ...

11WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

Non­functional Concerns● cost● ease of use● interoperability● portability● throughput

Mostly commonly violated

Page 12: These slides are NOT to be used as a replacement for ...

12WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

Putting it all Together

Client Tier Server Tier Data Tier

Page 13: These slides are NOT to be used as a replacement for ...

13WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

Putting it all Together

Client Tier Server Tier Data Tier

Presentation Business

A

A

W

W

Page 14: These slides are NOT to be used as a replacement for ...

14WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

Putting it all Together

Client Tier Server Tier

Presentation

Data Tier

Business

DataSource

Application

Controllers

Services

Data Access

A

A

W

W

Web

Page 15: These slides are NOT to be used as a replacement for ...

15WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

Web­based Enterprise AppsWhy web applications?● what non-functional requirements are we solving?

Page 16: These slides are NOT to be used as a replacement for ...

16WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

Web­based Enterprise AppsWhy web applications?● what non-functional requirements are we solving?

concurrency

availability

security

performance

fault-tolerance

application distribution

application deployment

evolution

re-usability

cost

ease of use

interoperability

portability

throughput

Page 17: These slides are NOT to be used as a replacement for ...

17WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

Web­based Enterprise AppsKey Attributes● thin clients – web browsers

– computationally challenged● user interface – HTML, javascript, css

– simple & static (mostly)– resides at client tier

● communication– synchronous request response cycle– HTTP over TCP/IP– what about data

Page 18: These slides are NOT to be used as a replacement for ...

18WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

First Generation

Client Tier Server Tier

W

W

Web

W

CGI-Scripts DataSource

Data Tier

HTTP request(URL or Form posting)

HTTP response(HTML Document)

Page 19: These slides are NOT to be used as a replacement for ...

19WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

First GenerationObservations● simple design● client-tier

– building blocks are?● business tier

– aggregation of scripts– scripts are

● independent● stateless

● lacks organic growth (how?)● security nightmare

Client Tier Server Tier

W

W

Web

W

CGI-Scripts DataSource

Data Tier

HTTP request(URL or Form posting)

HTTP response(HTML Document)

Page 20: These slides are NOT to be used as a replacement for ...

20WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

Second Generation

Client Tier Server Tier

Presentation JEE Container

W

W

J

J

Web

W

JEE Server

Servlet

Services

JDBC

DataSource

Data Tier

HTTP request(URL or Form posting)

HTTP response(HTML Document)

Page 21: These slides are NOT to be used as a replacement for ...

21WATERLOOCHERITON SCHOOL OFCOMPUTER SCIENCE

Second GenerationObservations● not so simple anymore● improves business tier only

– high level frameworks● JEE servlets, struts, spring MVC

– applications server standardization● design by contract● provides various services (like what?)

● negative impact on – request-response cycle (why?)– user interface (why?)