+ All Categories
Home > Documents > CS125 Midterm Lecture 1 - Software or System Architectures

CS125 Midterm Lecture 1 - Software or System Architectures

Date post: 09-Apr-2018
Category:
Upload: vsrivera
View: 220 times
Download: 0 times
Share this document with a friend

of 35

Transcript
  • 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


Recommended