ClientServer and Middleware - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

ClientServer and Middleware

Description:

'Client/server environments use a local area network (LAN) to support a network ... Distributed Component Object Model (DCOM): a competitor to CORBA developed and ... – PowerPoint PPT presentation

Number of Views:40
Avg rating:3.0/5.0
Slides: 34
Provided by: wweymanwh
Category:

less

Transcript and Presenter's Notes

Title: ClientServer and Middleware


1
Client/Server and Middleware
  • Chapter 8
  • MIS 3413 Advanced Data Base Concepts
  • Dr. Segall
  • Spring 2002

2
Client/Server Environments
  • Client/server environments use a local area
    network (LAN) to support a network of personal
    computers, each with its own storage, that are
    also able to share common devices (such as hard
    disks or printers) and software (such as a DBMS)
    attached to the LAN. At least one PC is
    designated as a file server, where the shared
    database is stored.

3
Client/Server Architectures
  • The several client/server architectures that
    have evolved can be distinguished by the
    distribution of application logic components
    across clients and servers.
  • There are 3 components of application logic
  • 1. Presentation Logic
  • 2. Processing Logic
  • 3. Storage Logic

See Figure 8.1
4
Application Logic Components
  • Presentation Logic
  • Concerned with input and output (I/O), this
    component is responsible for formatting and
    presenting data to the user (e.g., screen or
    printer) and managing input from the user (e.g.,
    keyboard or mouse)

5
Application Logic Components
  • Processing Logic
  • Data processing logic
  • data validation
  • identification of processing errors
  • Business rules logic
  • those rules not coded at the DBMS level
  • Data management logic
  • identification of data necessary for processing
    of transactions or queries

6
Application Logic Components
  • Storage Logic
  • Responsible for data storage and retrieval from
    the physical storage devices associated with the
    application being used. (Activities of a DBMS
    occur in this component.)

7
Client/Server Architectures
  • File Server Architecture
  • Database Server Architecture
  • Three-Tier or N-Tier Architecture

See next slides ?
8
File Server Architecture
  • The first of the client/server architectures that
    were developed
  • The client (a PC, sometimes called a fat client)
    handles the presentation logic, processing logic,
    and much of the storage logic (that part
    associated with a DBMS)
  • One or more file servers (devices that manage
    file operations and are shared by each of the
    client PCs attached to the LAN) act as additional
    hard disks

9
File Servers (contd)
  • In a file server environment, each client PC is
    authorized to use the DBMS when a database
    application program runs on that PC. Thus, there
    is one database but many concurrently running
    copies of the DBMS, one on each of the active
    PCs. The primary characteristic of file server
    architecture is that all data manipulation is
    performed at the client PCs, not at the file
    server. The file server acts simply as a shared
    storage device.

10
Limitations of File Servers
  • Considerable data movement is generated across
    the network. (E.g., when a table is queried, the
    entire table is transferred from the file server
    to the client PC.)
  • Each client workstation must perform all
    processing and devote memory to a full version of
    the DBMS (and thus must be relatively powerful).
  • The DBMS copy in each PC must handle shared
    database integrity and security.

11
Database Server Architecture
  • An improvement on file server architecture
  • Sometimes called two-tier architecture
  • The client is responsible for managing
    presentation logic, data processing logic, and
    business rules logic
  • The database server is responsible for database
    storage, access, and processing
  • See next slide for schematic

12
Database Server Architecture
13
Database Server Terminology
  • Back-end Functions - functions performed by the
    central DBMS on the database server
  • Front-End Programs - the application programs
    running on the client PCs
  • Stored Procedures - modules of code (e.g.,
    proprietary SQL dialects) that imple-ment
    application logic or a business rule that are
    stored on the database server

14
Database Server Advantages
  • Only the database server requires processing
    power adequate to handle the database (and it can
    be tuned to optimize database-specific
    processing)
  • Only selected data (e.g., the answers to queries)
    are sent across the network, greatly reducing the
    telecommunications traffic
  • User authorization and other security issues, and
    data integrity checking and sharing is handled at
    one location, the database server

15
Limitations of Database Servers
  • The writing of stored procedures to implement
    application logic, because of the proprietary
    nature of them, may reduce flexibility in
    changing DBMSs.
  • Each client must still be loaded with all
    application programs that will be used at that
    location.
  • Upgrades to an application will require that each
    client be upgraded separately.

16
Three-Tier Architecture
  • Includes another server layer in addition to the
    client and database server layers already
    described
  • The additional server in a three-tier
    architec-ture may serve different purposes, but a
    common use is as an application server
  • This application server will serve as a central
    location for storage of application programs
  • See next slide for schematic

17
Three-Tier Architecture
18
Three-Tier Architecture
  • Most application code is stored on the
    application server rather than on client PCs (and
    thus upgrades to applications need only be loaded
    on the server, not each PC)
  • Resulting workstations are referred to as thin
    clients PCs configured only for handling user
    interface (e.g., Windows) and minimal application
    processing (and often with limited or no local
    data storage)

19
N-Tier Advantages
  • Scalability - greater ability to upgrade a system
    without having to redesign it (e.g., can add
    additional application servers as demands on
    system grows)
  • Technological Flexibility - with most application
    logic handled by the application server, the DBMS
    can be changed more easily, it is easier to
    interface with the Web

20
N-Tier Advantages (contd)
  • Lower Long-Term Costs - changes to the
    applications in the middle tier can be made
    faster and less expensively. Use of off the
    shelf products is easier, and small chunks of
    code can be written to address needs
  • Improved User Satisfaction - multiple interfaces
    on different clients can access the same business
    process

21
N-Tier Challenges
  • High Short-Term Costs - implementation costs
    associated with programming necessary to convert
    to this architecture
  • Tools and Training - the newness of this
    tech-nology means that tools are not yet fully
    developed and training programs are not yet
    widely available
  • Experienced Personnel - few trained people
  • Incompatible Standards - standards for some
    components of this technology have not yet
    evolved
  • Lack of End-User Tools that work with Middle-Tier
    Services - problems with generic applications
    such as spreadsheet programs (see middleware)

22
Other Client/Server IssuesApplication
Partitioning
  • Defined as The process of assigning portions of
    application code to client or server partitions
    after it is written, in order to achieve better
    performance and interoperability (ability of a
    component to function on different platforms).
  • Basically refers to the ability to optimize a
    particular installations performance by placing
    code where it will run the fastest (client or
    server)

23
Other Client/Server IssuesParallel Architectures
  • Useful in environments characterized by high
    transaction volumes, complex queries, and new
    data types (e.g., video)
  • Supported by SQL since individual queries can be
    split into parts which can then be run
    simultaneously on multiple processors
  • Also, multiple queries can be run simul-taneously
    on parallel processors

24
Multiprocessor Hardware Architectures
  • Symmetric Multiprocessing (SMP)A design
    characterized by all processors sharing a common
    memory and single copy of the operating system.
  • All processors share one copy of OS
  • Fewer bottlenecks due to multiprocessing
  • Improved performance because data stays in memory
    during processing

25
Multiprocessor Hardware Architectures
  • Massively Parallel Processors (MPP)A design
    characterized by all processors having their own
    dedicated memory and copy of the operating
    system.
  • Eliminates of memory contention
  • Easy scalability (small increments possible)

26
Things to Consider when using SMP or MPP
  • Data Analysis Requirements
  • Large Databases
  • Complex Queries
  • Large of Users
  • Cost Justification
  • Investment not cost savings (often complements
    and does not replace)
  • Traditional Technologies
  • Less Risky

27
Middleware Terminology
  • Middleware software which allows an application
    to interoperate with other, otherwise
    incompatible, software without requiring the user
    to understand and code the low-level operations
    necessary to achieve interoperability.
  • Synchronous (real-time)
  • Asynchronous

28
More Middleware Terminology
  • Application Program Interface (API) sets of
    routines that an application program uses to
    direct the performance of procedures by the
    computers operating system
  • Open Database Connectivity (ODBC) similar
    definition to API, but refers to Windows-based
    client/server applications used for accessing
    relational database data

29
More Middleware Terminology
  • Common Object Request Broker Architecture
    (CORBA) a specification for a standard,
    universal, object-oriented middleware
  • Distributed Component Object Model (DCOM) a
    competitor to CORBA developed and supported by
    Microsoft

30
Client/Server Security Issues
  • Because networks are susceptible to breaches of
    security (e.g., through electronic eavesdropping
    and unauthorized connections), establishing
    database security is more difficult in a
    distributed environment than it is in a
    centralized environ-ment. Security measures to
    consider include
  • System-Level Security - user names passwords
    required to access a multiuser client/server
    system
  • Database-Level Security - user names passwords
    required to access a particular database (2nd
    layer)
  • Secure Client/Server Communication - use of
    encryp-tion to transform readable data into
    ciphertext

31
Issues to Address Before Implementing
Client/Server
  • Perform Accurate Business Problem Analysis(dont
    force a problem to fit a particular technology)
  • Perform Detailed Architecture Analysis(make sure
    existing components can work together)
  • Avoid Tool-Driven Architectures(again, define
    problem first, then choose tools to use)
  • Consider Scalability Needs in Choosing
    Architecture(e.g., two-tier may be easier to
    implement for modest needs)
  • Determine Proper Placement of Services(seek best
    balance of fat/thin servers and fat/thin clients)
  • Analyze Throughput of Networks(make sure that
    existing networks can handle volume)
  • Plan for Hidden Costs(allow generous development
    times anticipate training costs)

32
Benefits of Moving to a Client/Server Architecture
  • System functionality can usually be rolled out in
    increments - speeds delivery
  • GUI interfaces on most systems are familiar and
    welcome to end-users
  • Flexibility and scalability allows for pursuit of
    business process re-engineering (BPR)
  • With proper design, can reduce network traffic
    and improve response times
  • Facilitates Intranet/Internet applications

33
Client/Server and Middleware
  • Chapter 8
  • THE END!!!
Write a Comment
User Comments (0)
About PowerShow.com