Design Strategy - Distributed
Systems
System Architectures
CSIS3600 Systems Analysis and
Design
Key Ideas
• The purpose of the analysis phase is to figure out
what the business needs. The purpose of the design
phase is to figure out how to provide it.
• The steps in both analysis and design phases are
highly interrelated and may require much “going
back and forth”
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Key Definitions
• The system architecture design consists of plans for the
hardware, software, communications, security , and global
support for the new application
• The designers must decide if processing will occur in the
server (server-based), at the personal computer (clientbased), or in some combination of these (client-server
based).
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Key Definitions
• The network model shows major components of the
system, where they are located and how they will be
connected to one another.
• The hardware and software specifications describe
these components in detail and aid those responsible
for purchase and acquisition of these products.
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Functions of the Application
System
•
•
•
•
Data storage
Data access logic
Application logic
Presentation logic
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Stand Alone
Common technologies
employed:
Microsoft Access
Foxpro
Excel,
even Java….
Shared Resources (file server)
Common technologies
employed:
– File server (Windows)
– Novell
– Microsoft Access
Server Based or Centralized
Computing
Common technologies
employed:
– Small system Microsoft Access,
Larger system – AS400
applications
– Hierarchical Database
systems
– Mainframes
Server-Based Computing
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Typical Software Development
Environment for Large Centralized
Computing
• An editor and compiler (used to be heavily
COBOL, now C, Java, etc.)
• Transaction monitor to manage on-line
transactions (CICS or Tuxedo)
• File management system (VSAM) or
database management system (DB2)
Alternative Clients
• In client based architectures, clients do most of the
work (except data storage) and present the results
• Terminals
• Microcomputer (personal computer)
• Special purpose terminals (ATMs, kiosks, Palm
Pilots, and many others)
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Client Server (two tier)
• Client/server is a combination of a client or frontend portion that interacts with the user and a
server or back-end portion that interacts with the
shared resource. Server provides database system
and shared access functions and resources such as
database, printers, modems, high powered
processors, etc.
• Some business logic may reside here usually as
SQL stored procedures
• Client provides the user interface and often the
application/business logic
Client-Based Computing
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Client-Server-Based Computing
(2 Tiers)
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Client/Server continued
• The environment is typically heterogeneous and
multivendor.
• The hardware platform and operating system of
client and server are not usually the same.
• Client and server processes communicate through
a well-defined set of standard application program
interfaces (API's) and remote procedure calls
(RPC's).
Client/Server continued
Common technologies employed:
• RDBMS (Oracle, Sybase, Informix, Microsoft
SQL Server)
• Client – Visual Basic, Powerbuilder, C++, Delphi
• API – Application Programming Interface to the
database server and other shared resources and
applications and Remote Procedure Calls to pass
messages between client and server
Typical Software Development
Environment for two tier Client/Server
• Rapid application development for quickly
building the GUI that will be replicated and
executed on all of the client PCs
• Automatic generation of template code for the
GUI and associated system events (such as mouse
clicks, keystrokes, etc.). A programmer only has
to add business logic code. (Delphi,
Powerbuilder, Visual Basic)
• Programming language that is compiled for
replication and execution on the client PCs (Visual
Basic, C++)
C/S development environment continued
• Connectivity for various relational database
engines and interoperability with those engines.
– Interoperability is achieved by including SQL database
commands that will be sent to the database engine for
execution on the server or stored procedures on the
database server which can be ‘called’ from the client
application (appropriate driver usually an ODBC
driver)
• Report writing environment to simplify the
creation of new end-user reports off a database
(Crystal Reports, Business Objects, ReportSmith,
etc.)
Client-Server Attributes
• Typical Pros
– Compatible with web-based
system design
– Scaleable
– Work with multiple
vendors/products
– No central point of failure
• Typical Cons/Limits
– Complexity
– New programming
languages and techniques
(stress for personnel)
– More complex to update
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Client Server (n tier)
Typical 3 tier architecture:
– Data Management
– Presentation
– Business logic and data analysis
Client-Server -- Three Tiers
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Client Server (n tier)
Common technologies employed:
– RDBMS (Oracle, Sybase, Informix, Microsoft
SQL Server)
– Client – Visual Basic, C++, Powerbuilder,
Delphi
– Business logic – C++, Java, etc.
– Middleware – ODBC
Distributed Objects Computing
• Connectivity allows applications to transparently
communicate with other programs or processes,
regardless of their location.
• Middleware between clients and servers
• Update middleware when changing client code
• May reduce efficiency of the application
• CORBA
• DCOM
• And now with .Net SOAP
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Typical Software Development
Environment for n-tier Client/Server
• Support for heterogeneous computing platforms
including Windows, Macs, Unix and legacy
mainframes and minicomputers
• Automatic generation of template code for the
GUI. A programmer only has to add business
logic code. (Delphi, Powerbuilder, Visual Basic)
• Code generation and programming for both client
and server. Most tools in this genre support pure
object-oriented languages such as C++ and now
Java
Typical Software Development for n-tier
Client/Server continued
• Tools to help analysts and programmers partition
application components between the clients and
servers.
• Tools to help developers deploy and manage the
finished application to clients and server including
security management tools
• Sophisticated software version control and
application management software
N-Tiered Client-Server Attributes
• Typical Pros
– Separates processing to
better balance load
– More scaleable
• Typical Cons/Limits
– Greater load on the
network
– More difficult to
program and test
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Internet Architecture
• Similar to n-tier client server
• Employs the idea of services and service
layers
Client-Server -- Four Tiers
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Internet Architecture
Common technologies employed:
•
HTTP
•
HTML
•
CGI
•
ASP, JSP,
• Java (Java applets, Java Beans)
Typical Software Development
Environment for Internet Architecture
• HTML language used to construct WWW
pages and links.
• Computer Gateway Interface – standard for
publishing graphical WWW components
constructs and links (Perl).
• XML – meta language that separates data
from presentation
Development environment for Internet
Architecture continued
• Java – general purpose programming language for
creating platform independent programs and
applets that can execute across the WWW.
• Active Server Pages - Active Server Pages are a
language-independent framework designed by
Microsoft for efficient coding of server-side
scripts that are designed to be executed by a Web
server in response to a user's request for a URL.
Java Server Pages are the Java equivalent of ASP.
Realities of Infrastructure Design
• Most often the infrastructure will be in place
• Coordination of infrastructure components is
very complex
• The application developer will need to
coordinate with infrastructure specialists
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Selecting a Computing
Architecture
Server-Based
Client-based
Client-server
Cost of infrastructure
Very high
Medium
Low
Cost of development
Medium
Low
High
Ease of development
Low
High
Low-medium
Interface capabilities
Low
High
High
Control and security
High
Low
Medium
Scalability
Low
Medium
High
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
The Network Model
• No standard format
• Conveys complexity of the system and how
components fit together
• Components are
– Clients
– Equipment
– Connection to external systems or networks
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Top-Level Network Model
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Hardware and Software
Specification
• Used if new hardware or software must be
purchased
• Actual acquisition of hardware and software
usually left to a purchasing department -especially in larger firms
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Steps in Hardware and Software
Specification
• Note hardware in low-level network model to create list of
needed hardware
• Describe equipment in as much detail as possible
• Consider whether increased processing and traffic will
absorb unused hardware capacity
• Note all software running on each hardware component
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Global Requirements
• Multilingual requirements
– Concurrent multilingual systems
– Discrete multilingual systems
•
•
•
•
Local versus centralized control
Unstated norms (e.g. dates, currency)
24-7 Support
Communications infrastructure
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Security
Identifying Threats to the System
• A threat is any potential adverse occurrence that can
do harm to the application or its data
• Threats come from internal as well as external
sources
• Categories of threats
– Disruptions, destruction and disaster
– Unauthorized access
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Most Common Threats
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Assessing the Risk of Each
Threat
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Creating Controls
• A control is something that mitigates or stops
a threat
• Controls include
–
–
–
–
redundancy
fault tolerant servers
disaster recovery plans
anti-virus software
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Additional Controls Include
• A security policy
• Passwords and encryption
• Firewalls
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Summary
• The three fundamental computing architectures are server-based,
client-based, and client-server based.
• The network model shows technical components of the system and
their geographic location throughout the organization.
• Hardware and software must be specified for acquisition in the
project
• The systems analyst needs to also account for global issues and
security measures.
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.