chap 2.client server computing (ch1,2)

Upload: aksoniwala

Post on 02-Apr-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    1/58

    Client Server Computing

    Ch 1,2 of syllabus

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    2/58

    The Good Old Days .

    In Olden days Mainframes were

    used .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    3/58

    What are Mainframes ?A mainframe is simply a very large computer

    The name comes from the way the machine isbuild up.

    All units (processing, communication etc.)were hung into a frame. Thus the

    maincomputer is build into a frame, therefore:Mainframe

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    4/58

    Mark I mainframe

    (1950's)

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    5/58

    Mainframes are used : used mainly by large organizations for critical

    applications, typically bulk data processing such as

    census,industry and consumer statistics, ERP, andfinancial transaction processing.

    To run commercial applications of Fortune 1000businesses and other large-scale computing

    purposes.

    Banking and insurance businesses

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    6/58

    A computer Vs a MainframeA mainframe has 1 to 16 CPU's (modern

    machines more)

    Memory ranges from 128 Mb over 8 Gigabyteon line RAM

    Its processing power ranges from 80 over 550

    Mips

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    7/58

    It has often different cabinets for Storage I/O RAM

    Separate processes (program) for task management program management job management serialization catalogs inter address space

    communication

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    8/58

    Mainframes Choose a vendor .

    Analyst supervise it and set proper

    Operating System . Data Communication Specialist .

    Storage Specialists :hook up frames disk &

    tape drives Maintenance & System Managementbuild

    in every component .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    9/58

    After Revolution .. World ofClient/Servers and Open

    systems .

    Choice for each and every component .

    Mix and Match Components .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    10/58

    Chapter 2

    Welcome to C/S ComputingReal Client /Server Vision

    Client /Server Computing provides anopen and flexible environment .

    Mix and Match is the rule .

    Client applications are on PCs/Desktops. Servers know how to communicate with

    PC client .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    11/58

    Internet and Intranet The WWW is redefining Client /Server

    Computing .

    Corporate LANS and WANS are becoming partof Internet .

    Extranet is used .

    Refers to an intranet that is partially accessible toauthorized outsiders .

    Intranet resides behind a firewall

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    12/58

    It is accessible only to people who are membersof the same company or organization

    An Extranet provides various levels ofaccessibility to outsiders.

    Virtual Private Networks (VPNs) is technology totunnel through the public network.

    http://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci213324,00.htmlhttp://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci213324,00.html
  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    13/58

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    14/58

    Enterprise Resource Planning systems (ERPs)integrate all data and processes of an organization

    into a unified system. A typical ERP system will use multiple components

    of computer software and hardware to achieve theintegration.

    A key ingredient of most ERP systems is the use ofa unified database to store data for the varioussystem modules

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    15/58

    ERP Client/Server Craze ERP applications are provided by

    companies like SAP,PeopelSoft,Oracle etc.

    They provide packaged Client/Seversolution for back office enterprisefunctions .

    Give solution for Accounting ,Payroll,human Resources .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    16/58

    Provide Single user Interface .

    All pieces from same vendor to get

    integration .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    17/58

    ERP sys are not really turn key

    It gives 80% solution .

    ERP requires re-engineering of company'sprocess and culture .

    Change operations to match ERP package .

    ERP must be integrated with rest ofenvironment .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    18/58

    Built Infrastructure that ties with new ERPpackage .(Database,Web-serversLAn based app.)

    ERP dont give competitive advantage .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    19/58

    What is Client/Server ?

    Clients and Servers are two separatelogical entities that work together over a

    n/w to accomplish a task .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    20/58

    Characteristics for Client /ServerSystems .

    Service

    A client is defined as a requester / consumer ofservices and a server is defined as the providerof services .

    Shared Resources

    AServer provides service/s to many clients at atime .

    Regulate access to shared resources

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    21/58

    Asymmetrical protocols

    Many-to-one relationship between Clientsand servers.

    Client gives request .

    The server responds to data (andapplication) requests from the client .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    22/58

    Transparency of Location

    A single machine can be both a client

    and a server depending on the softwareconfiguration .

    Server is a process that can reside on

    same m/c as that of client . It can reside on different m/c on

    network.

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    23/58

    Mix and Match

    Ideal Client/Server s/w is independentof h/w & OS.

    (e.g. Internet )Message Based Exchange.

    Interaction through message Passing Mechanism.

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    24/58

    Scalability

    C/S System can be scaled in two

    ways :Horizontal:Adding /Removing clientswithout much impact on performance .

    Vertical :Migrating to larger /fasterserver .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    25/58

    Real C/S?File servers

    Store the files that are created by the networkusers.

    They also store applications such as word

    processing programs, spreadsheets etc. Users can access parts of a file server's hard disk

    which will appear as an extra drive on their own

    computer. Applications can either be run from the fileserver,

    or they can be downloaded to the user'sworkstation

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    26/58

    Used for sharing files on n/w . They are required for creating shares storage

    for documents, images , Engg.drawing .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    27/58

    A computer in a LAN dedicated to database

    storage and retrieval. The database server is a key component in a

    client/server environment. It holds the databasemanagement system (DBMS) and the databases.

    Upon requests from the client machines, itsearches the database for selected records andpasses them back over the network.

    Database Servers .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    28/58

    Client passes SQL requests as messages tothe database server .

    Code processes SQL request & the datareside on the same m/c.

    Plays key role for important queries &flexible reports .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    29/58

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    30/58

    Groupware Servers

    A groupware server is software designed toenable users to collaborate, regardless of

    location, via the Internet or a corporateintranet and to work together in a virtualatmosphere .

    These Client/Server systems place people indirect contact with other people .

    Lotus Notes, Microsoft Exchange .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    31/58

    In most cases ,applications are developedusing scripting language & form-based i/fs .

    Many Groupware uses E-mail as theirstandard messing middleware .

    Internet is becoming middleware platform

    for groupware .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    32/58

    Transaction Server Client invokes remote procedures that reside in

    server .

    These remote procedures on server executea group of SQL Statements .

    N/W exchange consist of single request/reply .

    SQL statements either succeed or fail . These grouped SQL statements are called

    transactions .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    33/58

    Client component usually includes GUI

    Server consists of SQL Transactions against a

    data base . These are called Online Transaction Processing .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    34/58

    Object Application Servers

    Client/Server Application is written as a set ofcommunication objects .

    Client objects communicate with server objectusing Object Request Broker. (ORB)

    Client invokes a method on a remote object .

    The ORB locates an instance of that objectserver class .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    35/58

    There are currently two prominentdistributed object technologies:

    Common Object Request BrokerArchitecture (CORBA)

    COM/DCOM

    http://www.sei.cmu.edu/str/descriptions/corba.htmlhttp://www.sei.cmu.edu/str/descriptions/corba.htmlhttp://www.sei.cmu.edu/str/descriptions/corba.htmlhttp://www.sei.cmu.edu/str/descriptions/corba.html
  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    36/58

    Web Application Server

    Aweb server serves web pages to clientsacross the Internet or an Intranet.

    The web server hosts the pages, scripts,programs, and multimedia files and servesthem using HTTP, a protocol designed to

    send files to web browsers and otherprotocols.

    Web Server returns documents

    when client asks them by name .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    37/58

    The most common web server is

    Apache (available for all major operatingsystems) though IIS (InternetInformation Server - available on theWindows Platform) is a fast growing

    web server.

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    38/58

    FAT server /FAT Client

    C/S applications can be differentiated by how theapplication is split between client & server.

    FAT Client:

    A Client that performs the bulk of the dataprocessing operations. The data itself is stored onthe Server .

    FAT Client places more functions on Client . Client performs the bulk of any data processing

    operations itself.

    Provide flexibility & opportunity for creating Front

    end tools

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    39/58

    FAT Server

    A server in a client/server environment that

    performs most or all of the applicationprocessing with little or none performed in theclient .

    FAT server application are easier to manage&deploy on n/w bcos most of the code runs onserver .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    40/58

    Fat Client Examples

    File Server

    Fat Server Examples

    Groupware, Transaction ,Web server

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    41/58

    Different Architectures basically splitClient/Server applications into different

    functional units that can be assigned to clientsor servers .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    42/58

    2 Tier Architecture

    A two-way interaction in a client/serverenvironment, in which the user interface is

    stored in the client and the data are stored inthe server .

    In 2 tier C/S System application logic is buried

    either inside the user i/f on client or withindatabase on server.

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    43/58

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    44/58

    Application logic & business logic reside

    on Client m/c . Database runs on the server computer.

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    45/58

    The method that's most commonly used is theStructured Query Language (SQL).

    The SQL statement is sent to the databaseserver, which performs the work locally onthat physical computer and returns only therelevant information (the answer) to the clientPC .

    Only the database services are separated fromthe application in a two-tier design.

    The presentation and business logic layersremain very intertwined, and both continue tohave intimate knowledge of the database.

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    46/58

    Three Tier Architecture .

    A three-tier architecture is any systemwhich enforces a general separation

    between the following three parts: Client Tieror user interface

    Middle Tieror business logic

    Data Storage Tier

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    47/58

    Tier 1: the client contains the presentation logic,including simple control and user input validation. Thisapplication is also known as a thin client.

    Tier 2: the middle tier is also known as the applicationserver, which provides the business processes logic

    and the data access. Tier 3: the data server provides the business data. Advantages of a three-tier architecture:

    It is easier to modify or replace any tier without

    affecting the other tiers. Separating the application and database

    functionality means better load balancing. Adequate security policies can be enforced within the

    server tiers without hindering the clients

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    48/58

    Applied to web applications and distributedprogramming, the three logical tiers usually

    correspond to the physical separation betweenthree types of devices or hosts:

    Browser or GUI Application

    Web Server or Application Server Database Server (often an RDBMS or

    Relational Database)

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    49/58

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    50/58

    In a three-tier client/server application,the presentation layer usually does nothave intimate knowledge of thedatabase.

    Instead, the presentation layercommunicates with its applicationserver using a predifined messagestrategy.

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    51/58

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    52/58

    Your browser knows absolutely nothing aboutthe structure of the database at Amazon.com,

    for example but you are nevertheless able tointeract with that database when you order abook.

    This is the result of well-defined Internetprotocols that allow the client (the browser) totalk to an application server (a Web site).

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    53/58

    Architecture

    Pros Cons

    One tier SimpleVery highperformance

    Self-contained

    No networking --can'taccess remote services

    Twotiers

    Clean, modulardesignLess network traffic

    SecurealgorithmsCan separate UI from

    business logic

    Must design/implement protocolMust

    design/implementreliable data

    storage

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    54/58

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    55/58

    N-tier Architecture

    N-Tier architecture refers to the architecture of anapplication that has at least 3 "logical" layers -- or

    parts -- that are separate. Each layer interacts withonly the layer directly below, and has specificfunction that it is responsible for.

    Because each layer can be located on physically

    different servers with only minor code changes,hence they scale out and handle more server load.

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    56/58

    A good example of a n-tier distributedapplication is a stock-trading system.

    In this environment, multiple data feeds(stock quotes, news, trading orders) arrivefrom different sources, multiple databases

    (accounts, logs, historical data) areaccessed, and multiple clients run specializedapplications.

    It makes sense to weave together thedisparate patches in this quilt with the threadof a common distributed object architecture,like CORBA or EJB.

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    57/58

    Benefits of using middle layer as acomponent based application

    Big applications can be developed as smallones .

    Application can reuse components

    Clients can access data & functions easily &safely .

  • 7/27/2019 Chap 2.Client Server Computing (Ch1,2)

    58/58

    When should 3 tier be used ?

    Many applications services or classesmorethan 50

    Applications programmed in differentlanguages or written by differentorganizations .

    Two /more heterogeneous data sourcessuch as data base & a file system.