The Process of Designing Distributed and Internet Systems

advertisement
Chapter 14
Designing Distributed and Internet
Systems
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 1
Learning Objectives
2. Compare different methods to distribute
information systems and data.


Describe the key terms: client/server
architecture, local area network, middleware, and
application program interface.
Illustrate the choices between file server and
other client/server architectures for an
application, based on the relative advantages of
each.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 2
Learning Objectives
 Distinguish
between file server and
client/server environments and contrast
how each is used in a local area network.
 Discuss the different approaches to
designing client/server architectures.
 Illustrate alternative designs for distributed
systems and their tradeoffs.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 3
Learning Objectives
 Review
Internet design fundamentals,
including standards that drive the Internet,
separating content and display, and the
future evolution of Internet standards.
 Discuss the importance of site consistency
and related site consistency issues.
 Discuss issues related to site
management.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 4
Learning Objectives

Compare and contrast two-level and three-level
data warehouse architectures.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 5
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 6
The Process of Designing Distributed and
Internet Systems
• It is similar to designing single-location systems.
• Due to multi-location deployment, numerous design
issues must be considered.
• There is more opportunity for failure due to number of
components.
• The main issues involve ensuring reliability,
availability, survivability, performance.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 7
Deliverables and Outcome
• is a document that consolidates system design
information that provides the following
information:




Description of each site
Description of data usage for each site
Description of business process for each site
Contrasts of alternative IS architectures for site,
data and processing needs of each site
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 8
Designing Systems for
Local Area Networks (LAN)
• LAN: The cabling, hardware, and software
used to connect workstations, computers, and
file servers located in a confined geographical
area.
• Main LAN configuration options:


File Server architecture
Client/Server architecture
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 9
File Server Architectures
• A device that manages file operations and is
shared by each client PC attached to a LAN.
• DBMS use in a file server:


One copy of the DBMS is on the file server and
concurrently running copies are on client PCs.
All data manipulation is performed on the client
PC.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 10
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 11
Limitations of File Servers
•
Excessive data movement

•
Need for powerful client
workstations

•
Entire data tables must be
transferred instead of
individual records.
Each client workstation
must devote memory to a
full DBMS.
Decentralized data control

Complicates record
concurrency control,
recovery, and security.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 12
Cleint/Server Architectures
• Application processing is divided
between client and server.
• Client manages the user interface.
• Database server is responsible for data
storage and query processing.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 13
Client: front-end software provides user interface and data
manipulation functions
Database engine: back-end DBMS software runs on the server to
provide database processing and shared access for clients.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 14
Application Program Interface (API)
• They are software building blocks that ensure
standardization of modules for data exchange
between clients and servers.
• Common API interface can be used for
communication between client and any kind
of DBMS (DB2, SQL Server, MySQL, Oracle).
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 15
Client/Server Advantages and Cautions
• Advantages


Leverages benefits of microcomputer technology
Processing performed close to data source
• Improves response time
• Reduces network traffic


Facilitates use of GUIs
Encourages acceptance of open systems
• Cautions



Difficult migration from file server to client/server
Compatibility issues
Limited system design and performance monitoring tools
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 16
File Server vs. Client/Server
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 17
Advanced Forms of Client/Server
Architecture
• Three-tiered client/server

Three logical and distinct applications:
• Data management
• Presentation
• Analysis

Middleware
• Combination of hardware, software, and communication
technologies that bring together three distinct applications into
one environment

Application Server
• Server where data analysis functions are performed
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 18
Advantages of Three-tiered Architectures
• Applications can be partitioned in a way that best fits
the organizational computing need.
• Easier customization: application code resides on
application server, so change done only in one place.
• Easier maintenance: data analysis is separate from
user interface, so changing one can be done
independently of the other.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 19
Approaches to Designing Client/Server
Architectures
•
•
•
•
•
•
Distributed Presentation
Remote Presentation
Remote Data Management
Distributed Function
Distributed Database
Distributed Processing
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 20
Distributed Presentation
A distributed presentation, freshen up delivery of existing
server-based applications, typically running on legacy
mainframe computers, to distributed clients using screen
scrapper technology.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 21
Remote Presentation
In a remote presentation, all data presentation functions are
on the client, providing greater flexibility of presentation than
the distributed presentation option.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 22
Remote Data Management
In a remote data management all software except data
management is on client, this is closest to the traditional
client/server mode.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 23
Distributed Function
In a Distributed Function, the analysis functions are split
between client and server, with all presentation on client
and all data management on server. Requires coordination
between analysis function on client and server, making it
difficult to develop and maintain.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 24
Distributed Database
In a distributed database, client has all functionality, except
that data storage and management is shared between client
and server. A distributed database is unstable, and it is very
difficult to ensure compatibility and communication between
client and server.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 25
Distributed Processing
A distributed processing combines distributed function and
distributed database, maximizing flexibility of analysis and
data management.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 26
Designing Internet Systems
• Most new system development focuses on Internetbase applications (for internal processing, businessto-business, and business-to-consumer).
• Main design issues:






Standards
Separating content from display
Future evolution
Site consistency
Site management
Online data management
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 27
Standards for Internet Design
• Internet design is simpler than client/server due to
proliferation of standards.
• Types of Standards:



Domain naming (BIND): a method for translating domain
names into Internet Protocol (IP) addresses
Hypertext Transfer Protocol (HTTP): a communication
protocol for exchanging information on the Internet
Hypertext Markup Language (HTML): the standard language
for representing content on the Web via command tags
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 28
Separating Content from Display
• HTML has limitations due to format orientation of
tags.
• eXtensible Markup Language (XML) has been
developed to separate content from display.
• XML: an Internet authoring language that allows
designers to create customized tags that represent
data transmitted between applications.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 29
Future Evolution
• Move from desktop PCs to thin clients

Most processing and data storage occurs on the
server
• Use of wireless mobile devices


Wireless Access Protocol (WAP): a wireless
version of HTTP
Wireless Markup Language (WML): a wireless
version of HTML
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 30
Site Consistency
• Professionalism requires a consistent look-and-feel
across all pages of a Web site.
• Aids to consistency:

Cascading Style Sheets
• A set of style rules that tells a Web browser how to present a
document

Extensible Style Language (XSL)
• Specification for separating style from content when generating
HTML documents
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 31
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 32
Site Management Issues
• Customer Loyalty and Trustworthiness

Conveyed by:
•
•
•
•
•
•
•
Design quality
Up-front disclosure
Comprehensive, correct and current content
Connected to the rest of the Web
Data security
Personalization
Customization
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 33
Site Management Issues (cont.)
• Longevity of Web Pages




Customer Bookmarks
Links from Other Sites
Search Engine Referrals
Old Content Adds Value
• System Security vs. ease of use


“Remember my password”
Use of cookies
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 34
Online Data Management
• Context development

Method of understanding how a system fits within the existing
business activities and data
• Integration depth

Measurement of how far a system penetrates into the existing
technology infrastructure
• Organizational breadth

Measurement that tracks the core business functions affected
by a system
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 35
Context, Breadth and Depth
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 36
Online Transaction Processing (OLTP)
• Refers to immediate automated responses to
the requests of users.
• Designed to handle multiple concurrent
transactions.
• Plays a large role in electronic commerce
applications.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 37
Online Analytical Processing (OLAP)
• Refers to graphical software tools that
provide complex analysis of data stored in a
database.
• OLAP server is the chief component.
• Good for time series and trend analysis.
• Enables user to “drill-down” into the data.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 38
Merging Transaction and Analytical
Processing
• Requires combining operational and informational components
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 39
Data Warehousing
• Is a collection of data for decision support.
• Key features:




Subject-oriented: organized around key subjects
Integrated: data are collected from many operational
systems and made to conform to standards
Time-variant: data contains a time dimension
Nonvolatile: data cannot be updated by users
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 40
Steps in Building and Using a Data Warehouse
• Extract data from various source system files
and databases.
• Transform, integrate, and load the data.
• Data warehouse is a read-only environment
• Users access via query languages and
analytical tools.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 41
Data Warehouse Architectures
• Two-level

Data warehouse and decision support environment
• Three-level


Operational systems
Enterprise data warehouse
• Centralized, integrated data warehouse
• Control point and single source of all data made available to
end users

Data marts
• A data warehouse that is limited in scope based upon
aggregation and selection
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 42
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 43
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 44
Summary
• In this chapter you learned how to:
2. Compare different methods to distribute
information systems and data.


Describe the key terms: client/server
architecture, local area network,
middleware, and application program
interface.
Illustrate the choices between file server and
other client/server architectures for an
application, based on the relative
advantages of each.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 45
Summary
 Distinguish
between file server and
client/server environments and contrast
how each is used in a local area network.
 Discuss the different approaches to
designing client/server architectures.
 Illustrate alternative designs for distributed
systems and their tradeoffs.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 46
Summary
 Review
Internet design fundamentals,
including standards that drive the Internet,
separating content and display, and the
future evolution of Internet standards.
 Discuss the importance of site consistency
and related site consistency issues.
 Discuss issues related to site
management.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 47
Summary

Compare and contrast two-level and three-level
data warehouse architectures.
© 2006 ITT Educational Services Inc.
SE350 System Analysis for Software Engineers Unit2 Slide 48
Download