Application Architecture and Modeling: Mcgraw-Hill/Irwin
Application Architecture and Modeling: Mcgraw-Hill/Irwin
Application Architecture
and Modeling
McGraw-Hill/Irwin
Objectives
13-2
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
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
ID (optional)
Action Verb
+
Noun or Object
Phrase
Implementation
13-8
13-9
A program to be written
13-11
13-12
13-13
13-14
13-15
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
13-17
13-18
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
13-22
13-23
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
Client/Server Architecture
Servers
13-26
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
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.
Client/Server Distributed
Data and Application
13-33
13-35
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.
13-38
13-39
13-41
13-42
Remote Batch
13-43
13-44
Pen Input
13-45
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.
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.
13-49
13-50
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
13-52
13-53
13-54
13-55
13-56
13-57
13-58
13-59