1 System modeling Requirement Modeling u secase diagram activity diagram Content modeling c lass diagram state machine diagram Navigation modeling Presentation modeling CS Department Bakhter university Kabul Afghanistan ID: 782682
Download The PPT/PDF document "CS Department Bakhter university Kabul A..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
CS Department Bakhter university Kabul Afghanistan
1
Slide2System modeling
Requirement Modeling
u
se-case diagram, activity diagram
Content modelingclass diagram, state machine diagramNavigation modelingPresentation modeling
CS Department Bakhter university Kabul Afghanistan
2
Slide3Software system architecture
Specifics of web application architecture
Layered web architecture
2-layered architecture
3-layered architectureN-layered architectureCS Department Bakhter university Kabul Afghanistan
3
Slide4The
architecture
of a computer system is the high-level (most general) design on which the system is
based
Architectural features include:ComponentsCollaborations (how components interact)Connectors (how components communicate) CS Department Bakhter university Kabul Afghanistan
4
Slide5CS Department Bakhter university Kabul Afghanistan
5
Key
attributes
of an architecturearchitecture describes structurearchitecture forms the
transition from analysis to implementation
different
viewpoints
(
conceptual, runtime, process and implementation
)
m
akes a system
understandable
Slide6CS Department Bakhter university Kabul Afghanistan
6
Factors
influence
the system architecture
Architecture
Quality considerations with
Performance
Scalability
Reusability
Other?
Functional Requirements
Clients
Users
Other Stakeholders
Slide7CS Department Bakhter university Kabul Afghanistan
7
Factors
influence
the system architecture
Architecture
Experience with
Existing Architecture
Patterns
Project Management
Other?
Technical Aspects
Operating
System
Legacy Systems
Other?
Slide8CS Department Bakhter university Kabul Afghanistan
8
A number of
architectures
for specific requirement in several application domain have been developedFor web application architecture, usually we consider
layering aspect: to implement the principle of
‘separation of concerns’
d
ata aspects:
to support processing of structured and non-structured data
Slide9CS Department Bakhter university Kabul Afghanistan
9
For web applications
quality requirements
are more demanding as compared to desktop applicationsperformance, security, scalability, and availability etc
.Need specific
technical infrastructures
both for the development and
the operation
of
web
applications
Slide10CS Department Bakhter university Kabul Afghanistan
10
we have to
consider
web infrastructure architecture (WPA)web application architecture
(WAA)Web application architecture (WAA) depends on the problem domain of the application, therefore we focus on web platform architecture
(WPA)
Slide11CS Department Bakhter university Kabul Afghanistan
11
In
particular WPAs provide a wide range of functionalities
to solve common problems and they define the context in which web applications (WAA)
may evolve.
Slide12CS Department Bakhter university Kabul Afghanistan
12
The following section gives an overview of common components of Web platform architectures and shows how these architectures
support
the development of Web applications
Slide13CS Department Bakhter university Kabul Afghanistan
13
Client:
generally a browser (user agent) is controlled by a user to operate the w
eb applicationthe client’s functionality can be expanded by installing
plug-ins
Firewall:
a
piece of software
regulating
the communication between insecure
networks(e.g
.,
the
Internet) and secure networks (e.g., corporate
LANs)
t
his
communication
is
filtered
by access rules
Slide14CS Department Bakhter university Kabul Afghanistan
14
Proxy:
A
proxy is typically used to temporarily store web pages in a cache
Web server: A Web server is a piece of software that supports various Web protocols
like HTTP
, and HTTPS, etc., to process client
requests
Slide15CS Department Bakhter university Kabul Afghanistan
15
Database server:
this
server normally supplies data in structured form, e.g., in tables
Legacy application: A legacy application is an older system that should be integrated as an internal or external component
Slide16CS Department Bakhter university Kabul Afghanistan
16
Media server:
This
component is primarily used for content streaming of non-structured bulk data (e.g., audio or video)
Application server:An application server holds the functionality required by
several applications
Slide17CS Department Bakhter university Kabul Afghanistan
17
C
lient
Browser
Plug -In
Firewall
proxy
Web-server
HTML, XML
Database server
Application server
Legacy application
Media server
Slide18CS Department Bakhter university Kabul Afghanistan
18
Presentation tier:
Every web application needs
to
communicate
with external entities, human users or other computers
allows
these entities to
interact
with the system
implemented
as a
GUI interface
How
the data should appear to the
user
Slide19CS Department Bakhter university Kabul Afghanistan
19
Application tier:
Web applications
do more than information delivery, they perform data
processing
(Business Logic & calculation) behind the results being delivered
This
tier is often referred to as
Services
Business logic
Slide20CS Department Bakhter university Kabul Afghanistan
20
Data layer:
Web applications
needs
data
to work with
Data can reside in
databases
or other
information repositories
Deals
with and implements different data sources of Information Systems
Slide21CS Department Bakhter university Kabul Afghanistan
21
Presents architecture in two layers:
Layer
1: Client platform, hosting a web browserLayer 2: server platform, hosting all server software
componentsAlso called client/server architectureClient directly send request to the server
Server respond to the client request
Static or dynamic requests
Slide22CS Department Bakhter university Kabul Afghanistan
22
Client
Web/App Server
Database
Services
Dynamic HTML
Static HTML
Client
Server
Slide23CS Department Bakhter university Kabul Afghanistan
23
Advantage:
Inexpensive
(single platform)Disadvantages:
Interdependency (coupling<Dependency> B/Z of single layer) of components
No
redundancy (no duplication)
Limited
scalability
Typical
application:
10-100 users
Small company or
organization
Slide24CS Department Bakhter university Kabul Afghanistan
24
Usually implemented in 3 layers
Layer
1: DataLayer 2:
ApplicationLayer 3:
presentation
Additionally, security mechanism
(Firewall)
and caching mechanism
(Proxies)
can be added
Slide2525
Application Server
(Business Logic, Connectors,
Personalization, Data Access)
DBMS
Backend
(Legacy Application,
Enterprise Info System
)
Business Layer
Data Layer
Client
Presentation Layer
Firewall
Proxy
Web Server
CS Department Bakhter university Kabul Afghanistan
Slide26CS Department Bakhter university Kabul Afghanistan
26
Advantages:
Improved
performance
Decreased coupling of software components
(because there are two server)
Improved
scalability
Disadvantages:
No
redundancy
Typical
Application:
100-1000 users
Small business or regional organization, e.g., specialty retailer, small college
Slide27CS Department Bakhter university Kabul Afghanistan
27
A multitier (
N-layer)
architecture is an expansion of the 3-layer architecture, in one of several different possible ways
Replication of the function of a layer
Specialization
of function within a
layer
Slide28CS Department Bakhter university Kabul Afghanistan
28
Replication:
Application
and data servers are replicatedServers share the total workload
Slide29CS Department Bakhter university Kabul Afghanistan
29
Specialization:
Servers are specialized
Each server handles a designated part of the workload, by function
Slide30CS Department Bakhter university Kabul Afghanistan
30
Slide31CS Department Bakhter university Kabul Afghanistan
31
Advantages:
Decoupling
of software componentsFlexibility to add/remove platforms in response to load
ScalabilityRedundancy(repeat same server)
Disadvantages:
Higher costs (maintenance, design, electrical load, cooling
)
Typical
Application:
1000+ users
Large business or organization
Slide32CS Department Bakhter university Kabul Afghanistan
32
2-Tier
3-Tier
N-Tier
10
100
1000
users
large e-commerce, business, or organization
small e-commerce, regional business or organization
local business or organization
capacity
scalability
redundancy
cost
Slide3333
Application Server
(Business Logic, Connectors,
Personalization, Data Access)
DBMS
Business Layer
Data Layer
Client
Presentation Layer
Web Server
Media
Server
CS Department Bakhter university Kabul Afghanistan
Slide34Software system architecture
Specifics of web application architectureLayered web architecture2-layered architecture
3-layered architecture
N-layered architecture
CS Department Bakhter university Kabul Afghanistan 34
Slide35Chapter 4
,
Kappel
, G.,
Proll, B. Reich, S. & Retschitzegger, W. (2006). Web Engineering, Hoboken, NJ: Wiley & SonWeb-based application development,
Ralph F Grove , J and B publishers,
(www.jbpub.com)
CS Department Bakhter university Kabul Afghanistan
35