Application Architecture & Process Design INFORMATION SYSTEMS FRAMEWORK S S T E A A L Y T S INFORMATION TECHNOLOGY ARCHITECTURE SYSTEM BUILDERS components SYSTEM DESIGNERS specification
Trang 1Application Architecture & Process
Design
Introduction
The chapter will address the following questions:
What is an information system’s architecture in terms of DATA, PROCESSES, INTERFACES, and NETWORKS — the building blocks of all information systems?
What are both centralized and distributed computing alternatives for information system design, including various client/server and Internet/intranet options?
What are the database and data distribution alternatives for
information system design?
What are the make versus buy alternatives and variations for
information system design?
What are the user and system interface alternatives for information system design?
Trang 2Application Architecture & Process
Design
Introduction
The chapter will address the following questions:
What are the various networking topologies and their importance
in information system design?
What are the methods for general application architecture and
design?
What are the differences between logical and physical data flow diagrams, and explain how physical data flow diagrams are used to model application architecture and guide process design?
How do you draw physical data flow diagrams for a
system/application?
Trang 3Application Architecture & Process
Design
General System Design
During general systems design the basic technical
decisions are made These decisions include:
Will the system use centralized or distributed?
Will the system’s data stores be centralized or distributed? If
distributed, how so? What data storage technology(s) will be used?
Will software be purchased, built in-house, or both? For programs
to be written, what technology(s) will be used?
How will users interface with the system? How will data be input? How will outputs be generated?
How will the system interface to other, existing systems?
Trang 4Application Architecture & Process
Design
General System Design
The decisions made during general systems design
constitute the application architecture of the system
An application architecture defines the technologies to be used
by (and to build) one, more, or all information systems in terms of its data, process, interface, and network components It serves as a framework for general design
Trang 5Application Architecture & Process
Design
INFORMATION SYSTEMS FRAMEWORK
S S T E A A L Y T S
INFORMATION TECHNOLOGY ARCHITECTURE
SYSTEM BUILDERS (components)
SYSTEM DESIGNERS (specification)
SYSTEM USERS (requirements)
SYSTEM OWNERS (scope)
Database Architecture
Database Scehma
Data Requirements
Business Subjects
FOCUS ON SYSTEM DATA
Application Schema
Business Processes
Business Functions
FOCUS ON SYSTEM PROCESSES
Interface Schema
Interface Requirements
System Context
FOCUS ON SYSTEM INTERFACES
Processor and Software Architecture
Interface Architecture Networking
Architecture
Network Schema Communication Reqts.
Operating Locations
FOCUS ON SYSTEM GEOGRAPHY
Architecture Project or
Implementation Phase
(deliver the new system into operation)
Study Phase
(establish system improvement objectives)
Survey Phase
(establish scope and project plan)
System Development
C US TOMER cus tom e r-no cus tom e r-na m e cus tom e r-ra ting
ba la nce - due
PR ODUC T product-no product-na m e unit- of-m e a s ure unit- price qua ntity-a va ila ble
OR DER orde r- no orde r- da te products -orde re d qua ntitie s -orde re d
Order Form Help +
Customer Form
P roduct Lookup
Logon New Customer New O rder
O rder Accepted Change
of Address
Marketing Advertising Orders Sales Cancellations Services
O rder
M ana ge ment System
Custome r
Accounts
R eceiv able Databas e Warehouse
Ba nk
O rder P ic king
O rder Credit
Credit Voucher
Check credit Validate customer Validate Releas e order
Cus tomers Orders Products order customer number valid order order without vali d customer
credit order with valid products approved order
quantity approved order rejected order
prices pic ki ng tick et
EDI St
Louis HQ
LA Office Indy Ware- NY
O ffice
West Customers Customers East
Mai ntenance
R ecords
P roducts Catal og
order catal og changes ship ship ship order credit credit service
CUSTOMER customer_no [Alpha (1 0)] INDEX customer_name [Alpha(32)]
customer_rating [Alpha(1)] INDEX balance_due [R eal(5 ,2)]
P R ODUCT product_no [Alpha(10)] INDEX product_name [Alpha(32)]
unit_of_measure [Alpha(2)]
unit_price [R eal(3,2)]
quantity_available [Integer(4)]
OR DER order_no [Alpha(1 2)] INDEX order_date [Date(mmddyyyy) CUSTOMER customer_no
OR DER _P R ODUCT
OR DER order_no
P R ODUCT.product_no quantity_ordered [Integer(2)
Ch ec k
P ro d uc t
Da ta
Ch ec k Cre d it Data
NT Server LA
NT Serv er NY
Communications Controller
P BX
Enternet LAN AIX/Lan
M anager Ethe rne t LAN/NT Etherne t LAN/NT Clie nt P C Clie nt P C Client P C Client P C
Fi r ecr acker Sal es
Database Decisions
Process Decisions
Interface Decisions DecisionsNetwork
Trang 6Application Architecture & Process
Design
Information Technology
Architecture
Network Architectures for Client/Server Computing
What is client/server computing?
A client is single-user computer that provides (1) user interface
services, appropriate database and processing services; and (2) connectivity services to servers (and possibly other clients).
A server is a multiple-user computer that provides (1) shared
database, processing, and interface services; and (2) connectivity to clients and other servers.
In client/server computing an information system’s database,
software, and interfaces are distributed across a network of clients and servers which communicate and cooperate to achieve system
Trang 7Application Architecture & Process
Design
Information Technology
Architecture
Network Architectures for Client/Server Computing
Client/server computing is an alternative to traditional centralized computing
In centralized computing, a multi-user computer (usually a
mainframe or minicomputer) hosts all of the information system components including (1) the data storage (files and databases), (2) the business logic (software and programs), (3) the user interfaces (input and output), and (4( any system
interfaces (networking to other computers and systems) The user may interact with this host computer via a terminal (or, today, a PC emulating a terminal), but all of work is actually done on the host computer
Trang 8Application Architecture & Process
All business logic is programmed
to execute on the server.
Resulting data files may be transferred to another server across the network.
All data is stored on the server and all file and database access and update commands and instructions are executed on the server computer.
Centralized Computing
All business logic is programmed
to execute on the server.
Resulting data files may be transferred to another server across the network.
All data is stored on the server and all file and database access and update commands and instructions are executed on the server computer.
Distributed Presentation Computing
The user interface (usually graphical) is stored and executed
on the client.
All business logic is programmed
to execute on the client using a PC-based programming language.
All data is stored on the server and all file and database access and update commands and instructions are executed on the server computer.
A database server is usually microprocessor-based (e.g., UNIX
or Windows/NT Server) but could
still be a mainframe or minicomputer.
Distributed Database Computing
The user interface (usually graphical) is stored and executed
on the client.
Some business logic may be programmed to execute on the client.
Most business logic is programmed
to execute on the server.
Typically data and business logic (and possibly other services) are
on separate servers (same OS's as
in previous column).
Distributed Data/Logic Computing
User interfaces may be stored and executed on the client, or downloaded from the Internet or
Appropriate business logic may be downloaded from Inter/intranet server to execute on the client.
Appropriate business logic is programmed to execute on the server.
All data is stored on the server (possibly multiple servers) and all file and database access and update commands and instructions are executed on the server computers.
Utilizes data and/or file servers as
in previous two columns, but adds one or more Internet and intranet servers.
Internet/Intranet Computing
The server is usually a
minicomputer (e.g., OS/400 OS) or mainframe computer (e.g MVS,
VM, or UNIX OS).
Wide Area Network
Wide Area Network
Local Area Network
Wide Area Network
Local Area Network
The user interface (usually graphical) is stored and executed
on the client.
All data is stored on the server (possibly multiple servers) and all file and database access and update commands and instructions are executed on the server computers.
Local Area Network
Intranet or Internet Local or
Wide Area Network
Trang 9Application Architecture & Process
Trang 10Application Architecture & Process
The user interface (or presentation) is distributed off the server and onto the client
All other elements of the centralized application remain on the
Trang 11Application Architecture & Process
Distributed presentation computing advantages:
• It can be implemented relatively quickly since most aspects of the
legacy application remain unchanged.
• Users get a friendly and familiar interface to existing systems
• The useful lifetime of legacy applications can be extended until such a time as resources warrant a wholesale redevelopment of the application.
Distributed presentation computing disadvantages:
• The application’s functionality cannot be significantly improved,
and the solution does not maximize the potential of the client’s desktop computer by only dealing with the user interface.
Trang 12Application Architecture & Process
Sometimes called two-tiered client/server.
This architecture places the information system’s stored data on a server, and the business logic and user interfaces on the clients
A local or wide area network usually connects the clients to the server
PCs) connected to one or more server computers (usually microprocessor-based, but could also include mainframes or minicomputers) through cable over relatively short distances.
Trang 13Application Architecture & Process
• File servers store the database, but the client computers must
execute all database instructions This means that entire databases and tables may have to be transported to and from the client across the network
• Database servers also store the database, but the database
commands are also executed on those servers The clients merely send their database commands to the server The server only
returns the result of the database command processing — not entire databases or tables Thus, database servers generate much less network traffic
Trang 14Application Architecture & Process
Distributed data computing advantages:
• Separates data and business logic to (1) isolate each from changes
to the other, (2) make the data more available to users, and (3) retain the data integrity of centralized computing through centrally managed servers.
Distributed data computing disadvantages:
Trang 15Application Architecture & Process
Design
Information Technology
Architecture
Network Architectures for Client/Server Computing
Referred to as three-tiered or n-tiered client/server computing.
This approach distributes databases and business logic to
separate servers
Uses the same database server(s) as in the two-tiered approach
Uses an application server
manage transactions.
from the client to the application server.
Only the user interface and some relatively stable or personal business logic need be executed on the clients
Trang 16Application Architecture & Process
Design
Information Technology
Architecture
Network Architectures for Client/Server Computing
Distributed data and logic computing disadvantages:
• Very complex to design and development.
• The most difficult aspect of three-tier client/server application design is partitioning.
– Partitioning is the act of determining how to best distribute or
duplicate application components (data, process, and interfaces) across the network.
Trang 17Application Architecture & Process
Design
Information Technology
Architecture
Network Architectures for Client/Server Computing
The Internet is an (but not necessarily ‘the’) information
superhighway that permits computers of all types and sizes, all over the world to exchange data and information using
standard languages and protocols
An intranet is a secure network, usually corporate, that uses
Internet technology to integrate desktop, workgroup, and enterprise computing into a single cohesive framework
• The intranet provides management and users with a common
interface to applications and information
Trang 18Application Architecture & Process
Design
Information Technology
Architecture
Network Architectures for Client/Server Computing
specifically to exploit the Internet standards
• Java applets (modular software components) are stored on an
Internet or intranet server and downloaded to the client when they access the application
• Java applets can execute on any client computing platform
A network computer (or NC) is designed to only run
Internet-based applications (such as web browsers and Java applets).
Trang 19Application Architecture & Process
Design
Information Technology
Architecture
Network Architectures for Client/Server Computing
The well designed network provides connectivity and interoperability
• Connectivity defines how computers are connected to “talk” to
one another.
• Interoperability is an ideal state in which connected computers
cooperate with one another in a manner that is transparent to their users (the clients).
• Network topology describes how a network provides connectivity
between the computers on that network.
Trang 20Application Architecture & Process
Design
Data and DB process on server
All business logic on the mainframe server
All data on the mainframe server
Business logic on application server
User Interface
on the PC Client Network
Logic & user interface on PC Network
server
Internal user interface on PC Network
Secure intranet provides access
to data, logic, and interfaces
Distributed Presentation
Distributed Data (2-tier)
Distributed Data & Logic (3-tier)
Internet and Intranet
Trang 21Application Architecture & Process
Design
Information Technology
Architecture
Network Architectures for Client/Server Computing
The Bus network topology:
• A direct point-to-point link between any two computer systems.
• The simplest network topology.
• The network can contain mainframes, minicomputers (or
mid-range computers), personal computers, and dumb and intelligent terminals
• To completely connect all points between n computers, you would
need n times (n-1)/2 direct paths
• Only one computer can send data through the bus at any given
time
Trang 22Application Architecture & Process
Design
Information Technology
Architecture
Network Architectures for Client/Server Computing
• Connects multiple computers and some peripherals into a ring-like
structure.
• Each computer can transmit messages, instructions, and data (called
packets) to only one other computer (or node on the network)
• Every transmission includes an address
• When a computer receives a packet, it checks the address and if the
packet’s address is different than the computer’s address, it passes it
on to the next computer or node
Trang 23Application Architecture & Process
Design
Information Technology
Architecture
Network Architectures for Client/Server Computing
The Star network topology:
• Links multiple computer systems through a central computer.
• The central computer does not have to be a mainframe or minicomputer
• Central computer could be an application server that manages the transmission of data and messages between the other clients and servers (as in the n-tier model).
Trang 24Application Architecture & Process
Design
Information Technology
Architecture
Network Architectures for Client/Server Computing
The Hierarchical network topology:
• Can be thought of as a multiple star network, where the
communications processors are arranged in a hierarchy.
• The top computer system (usually a mainframe) controls the entire
network
All network topologies operate according to established network protocols that permit different types of computers to communicate and interoperate
Trang 25Application Architecture & Process
• A relational database stores data in a tabular form Each file is
implemented as a table Each field is a column in the table Each records in the file is a row in the table Related records between
two tables are implemented by intentionally duplicating columns
in the two tables.
• A distributed relational database distributes or duplicates tables
to multiple database servers (and in rare cases, clients).
Trang 26Application Architecture & Process
The software required to implement distributed relational
databases is called a distributed relational database management
system.
distributed RDBMS) is a software program that controls
access to, and maintenance of the stored data It also provides for backup, recovery and security It is sometimes called a
client/server database management system.
Trang 27Application Architecture & Process
The database engine is that part of the DBMS that executes
database commands to create, read, update, and delete records (rows) in the tables
• In a PC RDBMS, the database engine that processes all database commands must execute on the client PC, even if the data is actually stored on the server
• In a distributed RDBMS, the database engine that processes all
database commands executes on the database server.
Trang 28Application Architecture & Process
Design
Information Technology
Architecture
Data Architectures for Distributed Relational Databases
True data distribution partitions data to one or more database
servers
Entire tables can be allocated to different servers, or subsets of rows in a table can be allocated to different servers
An RDBMS controls access to and manages each server
Entire tables can be duplicated on different servers, or subsets of rows in a table can be duplicated to different servers
The RDBMS not only controls access to, and management of
Trang 29Application Architecture & Process
• The batch inputs are processed against master files or databases.
• Transaction files or databases may also be created or updated by
the transactions
• Most outputs tend to be generated to paper or microfiche on a
scheduled basis
Trang 30Application Architecture & Process
The majority of systems have slowly evolved from batch
processing to on-line processing
On-line systems provide for a conversational dialogue between user and computer
Business transactions and inquiries are often best processed when they occur
Trang 31Application Architecture & Process
Distributed on-line computers handle data input and editing
Edited transactions are collected into a batch file for later transmission to host computers that process the file as a batch
Results are usually transmitted as a batch back to the original computers
Trang 32Application Architecture & Process
Keying errors have always been a major source of errors in computer inputs (and inquiries)
In batch systems, keying errors can be eliminated through optical character reading (OCR) and optical mark reading (OMR) technology
The real advances in keyless data entry are coming for on-line
systems in the form of auto-identification systems.
Trang 33Application Architecture & Process
Some businesses use this technology for remote data collection
• For example, UPS.
A promising technology is emerging in the form of handheld
PCs (HPCs)
• Similar to personal organizers and personal data assistants, these
HPCs offer greater compatibility with desktop and laptop PCs
• Based on Microsoft’s Windows CE operating system, they can be
programmed to become disconnected clients in a client/server application
Trang 34Application Architecture & Process
GUI technology has become the user interface of choice for client/server applications
GUIs do not automatically make an application better
Poorly designed GUIs can negate the alleged advantages of consistent user interfaces
Trang 35Application Architecture & Process
Most users interface with the Internet via a client software tool
called a browser
• The browser paradigm is based on hypertext and hyperlinks
– Hypertext are keywords that are clearly highlighted as a link to
a new page of information
– Hyperlinks are links from graphics, buttons, and areas that link
to a different page of information.
• These links may it easy to navigate from page-to-page and
application-to-application.
Trang 36Application Architecture & Process
Information systems are being designed to directly incorporate the electronic mail
• For example, Microsoft Outlook and Exchange Server and
IBM/Lotus Notes allow for the construction of intelligent
electronic forms that can be integrated into an application
Trang 37Application Architecture & Process
Businesses that operate in many locations and businesses that seek more efficient exchange of transactions with their suppliers and/or customers often utilize electronic data interchange
business transactions between customers and suppliers.
With EDI, a business can eliminate its dependence on paper documents and mail, plus dramatically reduce response time
Various EDI standards exist for the standardized exchange of data between organizations within the same industry
Trang 38Application Architecture & Process
Similar to EDI except that the actual images of forms and data are transmitted and received
It is particularly useful in applications in which the form images or graphics are required (insurance industry)
Trang 39Application Architecture & Process
information systems (and computer systems) interoperate.
A key technology used to interface and integrate systems is
middleware
with incompatible technologies Middleware serves as a consistent bridge between two or more technologies It may be built into operating systems, but it is also frequently sold as a separate product
Trang 40Application Architecture & Process
The preferred or approved user and system interface technologies may be specified as part of the Interface architecture
An organization may leave interface technologies as a decision
to be made on a project-by-project basis
An organization may establish macro guidelines for interfaces and leave the micro decisions to individual projects