You are on page 1of 47

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 (client-
based), 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 front-end
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 • Typical Cons/Limits
– Compatible with web-based – Complexity
system design – New programming
– Scaleable languages and techniques
– Work with multiple (stress for personnel)
vendors/products – More complex to update
– No central point of failure

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 • Typical Cons/Limits
– Separates processing to – Greater load on the
better balance load network
– More scaleable – 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.

You might also like