Download Slides week 7 - Information Management and Systems

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Concurrency control wikipedia , lookup

Clusterpoint wikipedia , lookup

Database model wikipedia , lookup

Object-relational impedance mismatch wikipedia , lookup

Transcript
IMS2805 - Systems Design and
Implementation
Lecture 7
System Architecture
Design
7.1
References
 HOFFER, J.A., GEORGE, J.F. and VALACICH (2002) 3rd ed., Modern
Systems Analysis and Design, Prentice-Hall, New Jersey, Chap 16
 HOFFER, J.A., GEORGE, J.F. and VALACICH (2005) 4th ed., Modern
Systems Analysis and Design, Prentice-Hall, New Jersey, Chap 14
 WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed.,
Systems Analysis and Design Methods, Irwin/McGraw-Hill, New
York, NY. Chapter 11
7.2
Data Design
 Logical data design:
Logical data modelling
 Physical file and database design
7.3
System Architecture
 System architecture is concerned with the technical and
organisational configuration of the design of an
application system
 An architecture is a set of definitions, rules, and terms
that are used as guidelines for building a product
 The architecture must be consistent with: budget constraints
 organisational constraints
 structure
 management
 existing technology
 requirements identified by analysis
7.4
System Architecture Components
 Processing
 Data
 Communications/networks
These components are interrelated
and must be considered in
conjunction with each other.
7.5
Architecture Components:
Processing
The evolution of computing environments has been largely
determined by technological advances in computers and
the convergence of computing and communications
technologies
Processing can be:
 Centralised : e.g Host and terminals
 Distributed :
 co-operative as in client/server
 functionally distributed as in regional processing and
centralised reporting
7.6
Distributed versus
Centralized Systems
A distributed system is one in which the DATA,
PROCESS, and INTERFACE components of an
information system are distributed to multiple locations
in a computer network. Accordingly, the processing
workload is distributed across the network.
In centralized systems, a central, multi-user
computer (ususally a mainframe) hosts all the DATA,
PROCESS, and INTERFACE components of an
information system. Users interact with the host via
terminals (or PC terminal emulators), but virtually all of
the processing is done on the host computer.
(From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed.,
Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY,
Chapter 11.)
7.7
Distributed Computing Architecture
Development of distributed computing involves two opposing trends:
1.
to break up applications and push the resulting fragments towards
the end user.
 price/performance benefits of developing and executing
applications on workstations;
 demands from end users for local autonomy and additional
functionality to improve their productivity.
2
to consolidate data to meet the end user’s need for corporate data
 affects systems integration requirements and results in the
centralisation of applications on large powerful mainframes;
 increases the need for high levels of integrity, performance and
availability.
The pivotal architectural question is:
how and where are computing resources distributed in this architecture ?
7.8
Why Distributed Systems?
 Modern business systems are already decentralized and
distributed.
 Distributed computing moves information and services
closer to the customers and users who need them.
 Distributed computing consolidates the power of
personal computers across the enterprise.
 Distributed computing solutions are more user-friendly
because they utilize the PC as the end user interface.
 Personal computers and network servers are cheaper
than centralized mainframe computers
(From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed.,
Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY,
Chapter 11.)
7.9
Architecture Components:
Computers
mainframe a large, centralised computer
server
terminal
(e.g. an IBM AS400, UNISYS, FUJITSU)
normally interfacing large numbers of
terminals with large, centralised databases.
May be running many concurrent processes
under software such as CICS.
a medium sized computer, normally providing
services, particularly shared data resources
and printing, to a number of PCs. Typically
running under UNIX.
usually a PC, but may be a less intelligent
device. Typically running a GUI interface and
interacting with a single user at a time.
7.10
Processing Architecture:
Types
Host-based:
Master-slave:
Shared-device:
all processing is performed on one computer
system to which are attached unintelligent,
“dumb”, character-based terminals. Processing is
totally non-distributed.
slave computers are attached to a master
computer and perform application processing
functions but only as directed by their master. The
minimal distribution is uni-directional from master
to slave although slave has some limited local
processing capability (eg. field editing).
PC workstations are attached to a system device,
the server, that allows them to share common
resources, files, disk and printer. All application
processing is performed on the PC and only certain
functions are distributed.
7.11
Host-based Processing
disk
host CPU
(running application)
terminals
7.12
Master-slave Processing
disk
host CPU
(running application)
7.13
Shared-device Processing
client
application
client
application
LAN
client
application
server with
shared disk and
printer
disk
7.14
Processing Architecture:
Types: “Co-operative Computing”
Client-server: Workstations become clients as they
request servers to process significant parts
of the application running on the
workstation in addition to sharing
resources. The application is now
distributed and the client and server
cooperate to successfully execute the
application. The client initiates interaction
but the server enforces control over what
services and data the client can request
and arbitrates conflict between clients.
7.15
Client-server
client application
client application
server with
shared disk and
printer
LAN or WAN
disk
client application
7.16
File Server Architecture
A local area network (LAN) is a set of client computers
(PCs) connected to one or more sever computers either
through cable or wireless connections over relatively
short distances.
A file server system is a LAN-based solution in which a
server hosts only the data layers of an information
system. All other layers are implemented on the client
computers. Disadvantages include:
 Frequently excessive network traffic to transport data
between servers and clients.
 Client must be fairly robust (“fat”) because it does
most of the work
 Database integrity can be easily compromised.
(From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed., Systems
Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)
7.17
Client/Server Architecture—
The Clients
A client/server system is a solution in which
the presentation, presentation logic, application
logic, data manipulation, and data layers are
distributed between client PCs and one or more
servers.
A thin client is a personal
computer that does not have to be
very powerful (or expensive) in
terms of processor speed and
memory because it only presents
the user interface to the user.
A fat client is a personal computer
or workstation that is typically more
powerful (and expensive) in terms
of processor speed, memory, and
storage capacity. Most PCs are
considered to be fat clients.
(From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed.,
Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)
7.18
Client/Server Architecture—
The Servers
 A database server hosts one or more shared databases
but also executes all data manipulation commands.
 A transaction server hosts services that ultimately
ensure that all database updates for a single transaction
succeed or fail as a whole.
 An application server hosts the application or
business logic and services for an information system.
 A messaging or groupware server hosts services for
e-mail, calendaring, and other work group functionality.
 A web server hosts Internet or intranet web sites and
services, communicating thorugh thin-client interfaces
such as web browsers.
(From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed.,
Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)
7.19
Distributed Computing Layers
 Presentation layer—the user interface, the presentation of inputs
and outputs to the user
 Presentation layer logic— any processing required to generate the
presentation, such as input editing
 Application logic layer— the logic and processing to support the
business application: the business rules, policies, and procedures,
e.g. credit checking, calcualtions
 Data manipulation layer—the commands and logic required to store
and retrieve data to and from the database
 Data layer—the actual stored business data
(From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed.,
Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY,
Chapter 11.)
7.20
Distributed computing and
systems
 See class handout
7.21
Client/Server Solutions


A distributed presentation client/server system is a solution in which the
presentation and presentation logic layers only are shifted from the server to
reside on the client. The application logic, data manipulation, and data layers
remain on the server (frequently a mainframe).
A distributed data client/server system is a solution in which the data and
data manipulation layers are placed on the server(s), and the application
logic, presentation logic, and presentation layers are placed on the clients.
This is sometimes called two-tiered client/server computing.
 A distributed data and application client/server system is a
solution in which: (1) the data and data manipulation layers are
placed on their own server(s), (2) the application logic is placed on its
own server, and (3) the presentation logic and presentation layers are
placed on the clients.This is sometimes called three- or n-tiered
client/server computing. It requires design partitioning.
Partitioning is the art of determining how to best distribute or duplicate
application components (DATA, PROCESS, and INTERFACE) across the
network.
(From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed.,
Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)
7.22
Client/Server Solutions: Internetand Intranet-based Architectures
 A network computing system is a multi-tiered solution in which
the presentation and presentation logic layers are implemented in
client-side Web browsers using content downloaded from a Web
server. The presentation logic layer then connects to the application
logic layer that runs on the application server, which subsequently
connects to the database servers on the backside of the system.
The greatest potential of this approach is its applicability to
redesign of traditional information systems to run on an intranet. An
intranet is a secure network, usually corporate, that uses Internet
technology to integrate desktop, work group, and enterprise
computing into a cohesive framework.
(From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed.,
Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)
7.23
Cooperative Computing
 Advantages:
 exploits the power and relative low cost of desktop
computing technology.
 increased software portability
 reduction in the application backlog
 allows processing to take place at the source of the
data thus reducing network traffic and response
times and increasing the capacity and effective
throughput of the network.
 facilitates the use of GUIs
 encourages open systems as clients and servers are
independent of hardware and software platforms.
7.24
Cooperative Computing
 Disadvantages:
 bottlenecks at the server if significant portion of the
application resides there.
 distributed applications are more complex thus
increasing the cost of application development,
maintenance and support in terms of the run-time
environment and management of the distributed
environment.
7.25
Architecture Components:
Communications
 A communication system:
 is a mechanism that allows distributed resources to
exchange data and control information.
 can be implemented as totally transparent or may be
visible to the user.
 requires physical connection between interacting
nodes.
7.26
Communications: Definitions

A communication system is a collection of hardware
and software that supports intersystem and
interprocess communication between software
components in distributed nodes.

A network provides a physical path between the
nodes.

A link is the direct connection between two (or more)
systems.

The name of an object indicates a system, process or
a node.

An address indicates where the named object is.

A route tells how to get there.
7.27
Communications Architecture:
Networks Classification
A. Classification by ability of nodes to communicate
directly with other nodes:
Point-to-point: one node communicating with an
adjacent node
Node
A
adjacency is measured by how many
link
logical steps it takes to get from one
node to the adjacent node,
eg. In Ethernet each node is one
logical step from any other node.
Node
B
Multipoint (multidrop): all nodes share one line by
Node
A
sharing time on the line
Node
B
Node
C
Node
D
Node
E
7.28
Communications Architecture:
Networks Classification
B. Classification by the way messages are
transmitted between nodes.
Broadcast: all nodes are connected so a single
message can reach all nodes (mainly LAN).
Store-and-forward:
a complete message is
received into an intermediate buffer before
being retransmitted to its destination (mainly
WAN using point-to-point lines).
7.29
Communications Architecture:
Topologies
Topology:
what it looks like on paper
Fully Connected:
each node is connected point-to-point to
every other node. Has high throughput,
reliability and low delays but is costly.
Star:
nodes that are connected to a single
central switching node. Cheap to expand
and low delays but has poor reliability (eg
terminals connected to a central host).
Hierarchical or Tree:
one central host acts as a master in a
master-slave relation with nodes. Useful for
applications that exhibit hierarchical in
nature (eg control systems).
7.30
Communications Architecture:
Topologies
Topology: what it looks like on paper
Bus:
an implementation of a broadcast network
where a shared transmission medium
interconnects all nodes. Minimises costs on
length of links and has low expansion costs
(eg. Ethernet).
Ring:
nodes are linked to their neighbours by a
uni-directional loop whose length is not
limited to line capacity (as in a bus network).
Transmission can be point-to-point or
broadcast.
7.31
Architecture Technology:
Long Distance Links
leased lines
dial-up lines
microwave links
communications lines can be permanently
connected between distant points. These lines
are leased by the organisation and are charged
for whether they are being used or not.
Valuable for high volume traffic. The quality of
the lines can be controlled.
a new link is initiated each time, using the public
switching network. The cost is proportional to the
amount of usage of the link and suits low volume
(infrequent transmission) traffic between distant
points. The quality of the lines cannot be
guaranteed.
limited to line-of sight transmissions, useful over
short distances between buildings.
7.32
Architecture Components:
Data
 Data architecture requires additional information
about the essential data model:




volumes
locations
events
distribution
 This additional information not only impacts the
data but also the processing and the
communication choices.
7.33
Data Architecture :Issues
 For distributed data architecture the following
issues need to be considered:








data ownership
data transfer speeds
network utilisation
query processing
catalogue management
update propagation
concurrency controls
recovery controls
 Similar issues arise in other architectures
7.34
Data Architecture :
Distributed Data Objectives












local autonomy
non reliance on a central site
continuous operations
location independence
fragmentation independence
replication independence
distributed query processing
distributed transaction processing
hardware independence
operating systems independence
network independence
DBMS independence
7.35
Data architectures
 Historically central control of data has been
considered essential
 Data is easier to manage as a shared resource:
the only practical way used to be on a central
computer
 Client/server and network computing allow
distribution of data without loss of control via
advances in distributed relational database
technology
(From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed.,
Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)
7.36
Data architectures
A relational database stores data in tabular form. Each file is
implemented as a table. Each field is a column in the table. Each
record is a row. Related records between two tables are
implemented by intentionally duplicated columns in the two tables.
A distributed relational database distributes or duplicates tables
to multiple database servers located in geographically important
locations, e.g. different sales regions
A distributed relational database management system
(distributed RDBMS) is a software program that controls access
to and maintenance of stored data in the relational format. It
provides for backup, recovery and security.
The processing of all commands executes on the database server,
reducing data traffic on the network.
(From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed.,
Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)
7.37
Types of Data(base)
Distribution
Most RDBMSs support two types of distributed data:
Data partitioning truly distributes rows and columns of
tables to specific database servers with little or no
duplication between servers.
 Vertical partitioning assigns different columns to different
servers.
 Horizontal partitioning assigns different rows to different
servers.
Data replication duplicates some or all tables (or parts of
tables) on more than one database server. Database
technology controls acces to, and manages consistecy of
duplicated data across the servers.
(From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed.,
Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)
7.38
Data architecture
 The data architecture must specify the RDBMS
technology and the partitioning or replication of data
 It is selected based on the desired client/server or
network computing model and the database technology
needed to support that model
 Many organisations have standardised on their PC
RDBMS and their distributed, enterprise RDBMS, e.g.
Microsoft Access and SQL Server
 Technology decisions concerning data input and output
technologies also need to be made
(From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed.,
Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)
7.39
A Method for System
Architecture Design
1.
2.
3.
4.
Draw a physical DFD to represent the network architecture. Each
physical process symbol will represent a client or server
processor.
For each physical process on the above network architecture
model, draw a physical DFD that shows the event processes that
are assigned to (or duplicated on) that physical processor.
For appropriate processes on the above system DFDs, draw draw
more detailed physical DFDs that factor the event into design
units.
Draw physical, primitive DFDs for appropriate processes from
step 3.
(From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed.,
Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)
7.40
A Method for System Architecture
Design: Design units
A design unit is a self-contained collection of
processes, data stores, and data flows that share similar
design characteristics.
A design unit serves as a subset of the total system
whose inputs, outputs, files and databases, and
programs can be designed, constructed, and tested as a
self-contained unit.
Ultimately, design units must be integrated into a whole
system.
(From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed.,
Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)
7.41
A Method for System Architecture
Design: The Network Architecture DFD
A network architecture is documented as a
physical DFD that allocates processors (clients
and servers) and possibly devices (machines
and robots) across a network and establishes:
 the connectivity between clients and servers
 where users will interface with the processors
(From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed.,
Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)
7.42