8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
1/35
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
2/35
Lecture ObjectivesLecture ObjectivesSoftware/System Architecture
0 After this lecture, the student should be able:
0 define software architecture,0 describe the types software architecture, and
0 learn basic elements of each type software
architectures.
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
3/35
What is Software/System Architecture?Software/System Architecture
0Organization of the overall system.
0Serves as the outline for both the system and theproject developing it, defining the workassignments that must be carried out by design andimplementation teams.
0Product for early analysis to make sure that the
design approach will yield an acceptable system.0Conceptual glue that holds every phase of the
project together for all its many stakeholders.
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
4/35
Fundamental Attributes ofa Quality
ArchitectureSoftware/System Architecture
0Robust. Architecture changes can be performedwithout disturbing the entire architecture.
0 Stability. Architecture can survive for a significantperiod of time.
0 A stable and robust architecture will allow for changesbut basically remain the same over time.
0Flexibility. Architecture must allow the exchange ofexisting elements and the integration of new elementswithout major efforts.
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
5/35
Layers ofa Business Information SystemSoftware/System Architecture
0 Information Systems (IS) are usually built on
databases. Preparing access to the database and
accessing the database comprises a significant portionof an information system's code.
0 Presentation Layer/Tier
0
Business Logic or Application Layer/Tier0 Database Layer/Tier
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
6/35
Figure 1. Layers of a Business Information System
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
7/35
Common Types of Software/System
ArchitectureSoftware/System Architecture
0 Stand-Alone Architecture (PC with Stand-alone DB)
0 File-Server Architecture
0 Client-Server Architecture (Database-Server)
0 nth-Tier Architecture0 Single tier (1-tier)
0 Dual tier (2-tier)0 Triple tier (3-tier)
0 nth-tier
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
8/35
Common Types of Software/System
ArchitectureSoftware/System Architecture
0 Stand-Alone Architecture
0 Database (or files) reside on a PC - on the hard disk.0 Applications run on the same PC and directly access the
database. In such cases, the application is the DBMS.
0 Business rules are enforced in the applications runningon the PC.
0 Single user accesses the applications.
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
9/35
0File - Server Architecture
0All processing is done at the PC that requested thedata.
0Entire files are transferred from the server to theclient for processing.
0Problems with this architecture are:
0Huge amount of data transfer on the network
0Each client must contain full DBMS0heavy resource demand on clients
0client DBMSs must recognize shared locks, integritychecks, etc.
Common Types of Software/System
ArchitectureSoftware/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
10/35
Figure 2.Typical File-Server Architecture Layout
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
11/35
0PCs are connected to a local area network(LAN).
0A single file server stores a single copy of thedatabase files.
0Applications run on each PC on the LAN andaccess the same set of files on the file server.The application is also the DBMS.
Common Types of Software/System
Architecture
Software/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
12/35
0Business rules are enforced in the applications
and also the applications must handle
concurrency control possibly by file locking.
0Each user runs a copy of the same application
and accesses the same files.
0e.g. Sharing MS Access files on a file server.
Common Types of Software/System
Architecture
Software/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
13/35
0Advantages:
0 (limited) Ability to share data among several users
0 Costs of storage spread out among users0 Most components are now commodity items - prices
falling
0Disadvantages:
0 Limited data sharing ability - a few users at most
Common Types of Software/System
Architecture
Software/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
14/35
0Client-Server Architecture
0Architecture that was developed as a
response to the limitations of file-sharingarchitectures, which require tons ofbandwidth and can often stall a networkcausing it to crash.
0Requires low shared usage and low volume ofdata to be transferred.
0Database server replaced the file server.
Common Types of Software/System
Architecture
Software/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
15/35
0Relational Database Management Systems(RDBMSs) answered user queries directly.
Since only specific queries were beinganswered, only that data was transferredinstead of entire files that slow downnetworks.
0Improves consistency in data between users,since all users had access to the sameupdated information.
Common Types of Software/System
Architecture
Software/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
16/35
Figure 3.Typical Client-Server Architecture Layout
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
17/35
0In client-server systems, typically defines thefollowing:
0 Networked computing model
0 Processes distributed between clients and servers
0 Client Workstation (usually a PC) that requestsand uses a service
0 Server Computer (PC/mini/mainframe) thatprovides a service
0 For DBMS, server is a database server
Common Types of Software/System
Architecture
Software/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
18/35
Figure 4. Application Logic in Client-Sever Systems
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
19/35
Tiers we are going to
study
Figure 5.Evolution of nth-
Tier Architecture
Common Types of Software/System
Architecture
Software/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
20/35
0Single-Tier Architecture
0Time of huge mainframe
0All Processing in single computer
0All resources attached to the same computer
0Access via dumb terminals
Common Types of Software/System
Architecture
Software/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
21/35
Figure 6. Layout of single-tier database architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
22/35
0Advantages
0 Simple
0 Efficient0 Uncomplicated
0Disadvantages
0 Very Expensive
Common Types of Software/System
Architecture
Software/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
23/35
0Two-Tier Architecture
0 Consist of three components:
0User system interfaces,
0Processing management, and
0
Database management.
Common Types of Software/System
Architecture
Software/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
24/35
0 User System Interf ace (USI) - is a component of an
organizations decision support system, which includes human
decision-makers. It provides a user friendly layer of
communication to make requests of the server and offersmultiple forms of input and output. USIs include features like
display management services, sessions, text input, and dialog.
0 Processing Management - includes process development,
process implementation, process monitoring, and processresources services.
0 Database Management- includes database and file services.
Common Types of Software/System
Architecture
Software/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
25/35
0 Derives its name from how it distributes workbetween clientand server.
0 Clients access databases through the user system interface.
0 Database management, on the server side, distributesprocessing between both client and server.
0 Both tiers (client and the server) are responsible for some ofthe processing management.
0 Thin client is a PC just for user interface and a littleapplication processing. Limited or no data storage(sometimes no hard drive)
Common Types of Software/System
Architecture
Software/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
26/35
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
27/35
0Clientis responsible for
0I/O processing logic
0Some business rules logic
0Server performs all data storage and accessprocessing
0 DBMS is only on server
Common Types of Software/System
Architecture
Software/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
28/35
0Advantages:0 Clients do not have to be as powerful0 Greatly reduces data traffic on the network0 Improved data integrity since it is all processed centrally0 Improve usability though user-friendly, form-based
interfaces.0 Improve scalability because two tiered systems can hold up
to 100 users, whereas file server architectures can onlyaccommodate 12.
0 best suited to homogeneous environments for processing
non-complex, non-time sensitive information.
0Disadvantages:0 Expensive0 File server limited only to 12 users.
Common Types of Software/System
Architecture
Software/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
29/35
0Three-Tier Architecture
0Applications runs on the traditional client-
server model but from a application server.
0Client only displays the GUI and data, but has
no part in producing results
0Database server serves to few connections
Common Types of Software/System
Architecture
Software/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
30/35
Figure 8. Application logic in three-tier database architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
31/35
31
Thin clientsThin clients
BusinessBusinessrules onrules onapplicationapplicationserverserver
DBMS onlyDBMS only
ononDatabaseDatabaseserverserver
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
32/35
0Advantages:
0 Scalability
0 Application Servers can be deployed on many machines0 Database no longer requires a connection from every client.
0 Reusability0 If a standard object is employed, the specific language of
implementation of middle tier can be made transparent.
0 Data Integrity0 The middle tier can ensure that only valid data is allowed to be
updated in the database.
Common Types of Software/System
Architecture
Software/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
33/35
0Advantages:
0 Improved Security0 Since the client doesnt have direct access to the database, Data layer is
more secure.0 Business Logic is generally more secure since it is placed on a secured
central server.
0 ReducedDistribution0 Changes to business logic only need to be updated on application
servers and need not to distributed on clients
0 Improved Availability0 Mission Critical Applications can make use of redundant application
servers and redundant application servers, so it can recover fromnetwork of server failures
Common Types of Software/System
Architecture
Software/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
34/35
0Disadvantages:
0 Expensive
0 Increased Complexity / Effort
0 In General, 3-tier Architecture is more complex to build
compared to 2-tier Architecture.
0Point of Communication are doubled
Common Types of Software/System
Architecture
Software/System Architecture
8/7/2019 CS125 Midterm Lecture 1 - Software or System Architectures
35/35
Client does
extensive
processing
Client does little
processing
Comparison of Software ArchitecturesSoftware/System Architecture
0 Stand-Alone Architecture
0 File Server Architecture
0 Client-Server Architecture
0 nth-Tier Architecture
Top Related