0% found this document useful (0 votes)
53 views59 pages

Application Architecture and Modeling: Mcgraw-Hill/Irwin

Describe centralized and distributed computing alternatives, including client / server and Internet-based computing options. Describe user and system interface alternatives for system design. Draw physical data flow diagrams for an information system's architecture and processes.

Uploaded by

syayumi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views59 pages

Application Architecture and Modeling: Mcgraw-Hill/Irwin

Describe centralized and distributed computing alternatives, including client / server and Internet-based computing options. Describe user and system interface alternatives for system design. Draw physical data flow diagrams for an information system's architecture and processes.

Uploaded by

syayumi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 59

Chapter 13

Application Architecture
and Modeling

McGraw-Hill/Irwin

Copyright 2007 by The McGraw-Hill Companies, Inc. All

Objectives

13-2

Define an information systems architecture in terms of the


KNOWLEDGE, PROCESSES, and COMMUNICATION building blocks.
Differentiate between logical and physical data flow diagrams,
and explain how physical data flow diagrams are used to model
an information systems architecture.
Describe centralized and distributed computing alternatives,
including client/server and Internet-based computing options.
Describe database and data distribution alternatives for system
design.
Describe user and system interface alternatives for system
design.
Describe various software development environments for
information system design.
Describe strategies for developing or determining architecture of
an information system.
Draw physical data flow diagrams for an information systems
architecture and processes.

13-3

Application Architecture
Application architecture a specification of
the technologies to be used to implement
information systems. The blueprint to
communicate the following design decisions:

13-4

The degree to which the information system will be


centralized or distributed.
The distribution of stored data.
The implementation technology for software
developed in-house.
The integration of commercial off-the-shelf software.
The technology to be used to implement the user
interface.
The technology to be used to interface with other
systems

Physical Data Flow Diagram


(DFD)
Physical data flow diagram (DFDs) a
process model used to communicate the
technical implementation characteristics of
an information system.
Communicate technical choices and other
design decisions to those who will actually
construct and implement the system.
Recall from Chapter 9 that DFDs are a type
of process model.
13-5

Sample Physical
Data Flow Diagram

13-6

Physical Processes
Physical process either a processor, such as a
computer or person, or a technical implementation of
specific work to be performed, such as a computer
program or manual process.
Logical processes may be assigned to physical processors
such as PCs, servers, people, or devices in a network. A
physical DFD would model that network structure.
Each logical process requires an implementation as one or
more physical processes.
A logical process may be split into multiple physical
processes:

13-7

To define aspects performed by people or computers.


To define aspects implemented by different technologies.
To show multiple implementations of the same process.
To add processes for exceptions and security.

Physical Process Notation

ID (optional)
Action Verb
+
Noun or Object
Phrase
Implementation

13-8

Samples of Physical Processes

13-9

Possible Computer Process


Implementations
A purchased application software package
Also called commercial off-the-shelf (COTS) software

A system or utility program


Such as an e-mail/message server or third-party
framework

An existing application program from a program


library
May require modification
13-10

A program to be written

Sample Physical Process


Implementations

13-11

Physical Data Flows


A physical data flow represents:

13-12

Planned implementation of an input to, or


output from a physical process.
Database command or action such as create,
read, update, or delete.
Import of data from, or
Implementation method:
Data flow name
export of data to another
information system.
OR
Flow of data between
Data flow name
two modules or
(Implementation method)
subroutines (represented
as physical processes).

Sample Physical Data Flows

13-13

Sample Physical Data Flows


(continued)

13-14

Physical External Agents


Physical external agents are carried over
from the logical DFD models.
If scope changes, the logical models should
be changed before the physical models are
drawn.

13-15

Physical Data Stores


A physical data store represents the
planned implementation of one of:

13-16

A database
A table in a database
A computer file
A tape or media backup of anything important
A temporary file or batch
Any type of noncomputerized file

Physical Data Store Notation

13-17

Physical Data Store


Implementations

13-18

Distributed versus Centralized


Systems
Distributed system a system in which
components are distributed across multiple
locations and computer networks.
Accordingly, the processing workload is distributed
across multiple computers on the network.

Centralized systems a system in which all


components are hosted by a central, multi-user
computer.
Users interact with the system via terminals (or a PC
emulating a terminal).
Virtually all the actual processing and work is done
on the host computer.
13-19

Why the Trend Toward


Distributed Systems?
Modern businesses are already decentralized
(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 in general more
user-friendly because they use the PC as the user
interface processor.
Personal computers and network servers are less
expensive than mainframe computers
Though total cost of ownership is at least as expensive

13-20

Computing Layers
Presentation layerthe user interface
Presentation logic layerprocessing that must be
done to generate the presentation, such as editing input
data or formatting output data.
Application logic layerthe logic and processing to
support business rules, policies, and procedures
Data manipulation layerto store and retrieve data to
and from the database
13-21

Data layerthe actual business data

Types of Distributed Computing

13-22

File Server Architecture


Local area network (LAN) a set of client
computers (PCs) connected over a relatively short
distance to one or more servers.
File server system a LAN in which a server
hosts the data of an information system.
All other layers are implemented on the client
computers.

13-23

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 compromised.

File Server Architecture

13-24

Client/Server Architecture
Clients
Client/server system a distributed computing
solution in which the presentation, presentation
logic, application logic, data manipulation, and
data layers are distributed between client PCs
and one or more servers.
Thin client a personal
computer that does not
have to be very powerful
because it only presents
the user interface to the
user.
13-25

Fat client a personal


computer, notebook
computer, or workstation
that is typically powerful.

Client/Server Architecture
Servers

13-26

Database server a server that hosts one or more


databases and executes all data manipulation
commands at the server.
Transaction server a server that hosts services which
ensure that all database updates for a transaction
succeed or fail as a whole.
Application server a server that hosts application
logic and services for an information system.
Messaging or groupware server a server that hosts
services for e-mail, calendaring, and other work group
functionality.
Web server a server that hosts Internet or intranet
websites.

Client/ServerDistributed
Presentation
Distributed presentation a client/server
system in which the presentation and
presentation logic layers 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).
Character user interface (CUI)
Graphical user interface (GUI)
13-27

Building a GUI From a CUI


Screen Scrapers

13-28

Client/ServerDistributed
Presentation

13-29

Client/ServerDistributed Data
Distributed data a client/server system in which
the data and data manipulation layers are placed
on the server(s), and other layers are placed on
the clients.
Sometimes called two-tiered client/server computing.
Difference to file server systems is where the data
manipulation commands are executed.
Much less network traffic than file server systems
because only the database requests and the results
of those requests are transported across the network.
Database integrity is easier to maintain.
13-30

Client/ServerDistributed Data

13-31

Client/ServerDistributed Data
and Application
Distributed data and application client/server system:
1. The data and data manipulation layers are placed on their own
server(s),
2. The application logic is placed on its own server,
3. The presentation logic and presentation layers are placed on
the clients.

Also called three-tiered or n-tiered client/server computing.


Requires design partitioning.

Partitioning the art of determining how to best distribute


(duplicate) application components across the network.
13-32

Client/Server Distributed
Data and Application

13-33

Internet- and Intranet-based


Architectures
Network computing system presentation and
presentation logic layers implemented in clientside Web browsers using content downloaded
from a Web server.
Presentation logic layer connects to application logic
layer running on application server, which connects to
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.

Intranet a secure network that uses Internet


technology to integrate desktop, work group, and
13-34 enterprise computing into a cohesive framework.

Network Computing System:


Internet/Intranet

13-35

Internet and Intranet


Technologies
Java
Mostly for programming server-side application logic called
servlets
Occasionally for programming client-side application logic called
applets

HTML (HyperText Markup Language)


Mostly for programming the presentation layer

XML (Extensible Markup Language)


Mostly for programming data content to be transported across
the web

SQL (Structured Query Language)


Universal standard language for database manipulation

Web Browsers
13-36

Data Architectures
Relational database stores data in tabular form. Each file
is implemented as a table. Each field is a column in the
table. Related records between two tables are
implemented by intentionally duplicated columns in the two
tables.
Distributed relational database A database system that
duplicates tables to multiple database servers located in
geographically important locations.
Distributed relational database management system
a software program that controls access to and
maintenance of stored data in the relational format.

13-37

Types of Data(base)
Distribution
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 on


more than one database server.
Propagates updates on one database server to any
other database server where the data is duplicated.

13-38

Data Partitioning versus


Data Replication

13-39

Interface Architectures Inputs,


Outputs, & Middleware

Batch inputs and outputs


Online inputs and outputs
Remote batch
Keyless data entry (and automatic identification)
Pen input
Electronic messaging and work group
technology
Electronic Data Interchange (EDI)
Imaging and document interchange
Middleware
13-40

Batch Inputs and Outputs

13-41

On-Line Inputs and Outputs

13-42

Remote Batch

13-43

Keyless Data Entry (and


Automatic Identification)

13-44

Pen Input

13-45

Electronic Data Interchange


(EDI)
Electronic Data Interchange (EDI) the
standardized electronic flow of business
transactions or data between businesses.
Typically, many businesses must agree to a common
data format to make EDI feasible.

13-46

Middleware
Middleware utility software that enables
communication between different
processors in a system.
It may be built into the respective operating
systems or added through purchased
middleware products.
Presentation middleware
Application middleware
Database middleware
13-47

Process Architectures
Software development environment (SDE) a
language and tool kit for developing applications.

SDEs exist for centralized computing


SDEs exist for distributed presentation
SDEs exist for two-tiered client/server
SDEs exist for multi-tiered client/server
SDEs exist for Internet and intranet client/server

Clean layering a design strategy that requires


that presentation, application, and data layers of an
application be physically separated.
13-48

Allows components of each layer to be revised or


enhanced without affecting the other layers.

Application Architecture
Strategies for System Design
The Enterprise Application Architecture Strategy
Enterprise-wide information technology architecture to
be followed in all development projects.
Approved network, data, interface, and processing
technologies and development tools.
Strategy for integrating legacy systems and technologies.
On-going process for continuously reviewing application
architecture.
On-going process for researching emerging technologies
Process for analyzing requests for variances from the above.

The Tactical Application Architecture Strategy

13-49

Defines architecture for each new system on an


application-by-application basis as needed.
Requires feasibility analysis for each application.

Drawing Physical DFDs for


Network Architecture
Develop a physical data flow diagram (DFD) for
the network architecture.
Each process symbol represents a server or class of
clients.

For each processor, develop a physical DFD to


show the event processes (from Chapter 9) that
are assigned to that processor.

13-50

All but simple processes should be factored into


design units and modeled as a more detailed
physical DFDs.

Design Units
Design unit 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.
13-51

The Network Architecture DFD


Network architecture a physical DFD
that allocates processors (clients and
servers) and devices (machines and
robots) to a network and establishes:
the connectivity between clients and servers
where users will interface with the
processors

13-52

Network Architecture DFD

13-53

Data Distribution Options


Store all data on a single server.
Store specific tables on different servers.
Store subsets of specific tables on
different servers.
Replicate (duplicate) specific tables or
subsets on different servers.

13-54

Data Distribution and


Technology Assignments DFD

13-55

Process Distribution and


Technology Assignments
For two-tiered client/server systems, all logical
even diagrams are assigned to the client.
For three-tiered client/server and network
computing systems, must closely examine each
events primitive (detailed) DFD.

13-56

Determine which primitive processes should be


assigned to the client and which should be assigned
to an application server.
Generally data capture and editing are assigned to
servers
If different aspects of a single DFD are partitioned to
different clients and servers, draw separate physical
DFD for each.

Physical DFD for an Event

13-57

See Figure 13-13


in text for a more
readable version

The Person/Machine Boundary

13-58

See Figure 13-14


in text for a more
readable version

A Manual Design Unit

13-59

You might also like