Friday, February 1, 2013

clientserver


CLIENT SERVER TECHNOLOGY

By

                  M.JEHAN

Example Diagrams

 

Overview of client server computing

     Dallas-based American airlines Decision Technologies cut their computing budget by 90%-from $5 million to under $500,000

      As the result of an 18 month pjt that created an open systems network.

     Built with $4.5 million worth of multi vendor UNIX based hardware and software.

     The company develops systems for companies such as American Airlines, Lufthansa German Airlines, Ryder Truck Rental and Royal Caribbean Cruise Lines.

     Consolidated Insurance Group in Wilmington, Delaware, reduced capital expenses from $1 million to $300,000 and operating expenses from $2.5 million to $500,000 in the first year after replacing its headquarters based IBM 3090 mainframe and support staff 30 with 7 micro based servers supported by a staff 10.

 

            Contd..

     When United Airlines Inc. converted to a client /server environment from mainframe computer environment, the company saved millions in computer costs and improved flight schedules for its pilots, which is predicted to save nearly $1.5 million a year

     How are these organizations achieving such savings?

 

 

 

Client /Server Computing

What is Client/Server Computing

     Client/Server computing uses local processing power- the power of the desk top platform.

     Simple defn.- Server software accepts requests for data from client software and returns the result to the client.

     The client manipulates the data and presents the results to the user.

     Tech defn.-Most of the application processing is done on a programmable desktop computer, which obtains application services from another computer in a master/slave configuration.

                                  contd..

                Contd..

    The use of open systems (hardware, software, operating systems, databases and networks) enhances client/server computing.

Application Tasks

An application can be broken into six tasks:

     User Interface- what are user actually sees

     Presentation Logic- what happens when the user interacts with the form on the screen

     Application logic

     Data requests and results acceptance

     Data integrity- such as validation, security, completeness

     Physical data management- such as update, retrieval, deletion, and addition.

Query Language Architecture

 

 

 

 

 

 

 

        Query languages to support update, create, retrieve and delete fns as in the above fig.

Original Client/Server Applications

 

 

 

 

 

 

        GUI require a great deal of processing power to create the screen the user sees.

        As app. Tasks were split host and the screen generating desktop m/c as in the fig.

 

Distribution of processing in client/server model

 

 

 

 

 

 

        Distribution of processing between the client and server is accommodated by the client/server model.

 

Rightsizing

        Client/server technology evolves, the battle cry is now rightsizing- design new applications for the platform they are best suited for, opposed to using a default placement.

        The client/server model allows the app to be split into tasks and those tasks performed on individual platforms.

        Developers review all the tasks within an application and determine whether each task is best suited for processing on the server or on the client.

        Determining how the tasks are split can be the major factor in the success or failure of client/server app.            Contd…

 

        Some variations on this theme are:

        Downsizing: A host based app. Is downsized when it is reengineered to run in a smaller or LAN based environment.

        Upsizing: App. that have  outgrown their environment are re-engineered to run in a larger environment.

    Increasing memory and storage on the server

    Swapping more powerful processor into the server.

    Adding processors to the server

        Smartsizing: Technology based smart sizing affects the entire organizational structure and involves re-engineering and redesigning the business process.

 Growth in installed micros and LANs

Benefits of client/server computing

         Dollar Savings

     Client/server technology allows organizations to protect current investments by using existing equipments and protect future investments by using scalable, expandable products.

     Client/server based applications can be developed in less time than mainframe based applications.

         Increased Productivity

     End user  Productivity

      Flexible data access for end users was first provided by 4GLs

     Developers productivity

      Developers can be using client/server development tools

      Most C/S tools make use of object oriented technology

          Flexibility and Scalability

     Adding new components or replacing existing ones is as straight forward

     Users can choose their own presentation interface

         Resource Utilization

     C/S architecture is designed to use LAN technology efficiently, minimizing potential bottlenecks

 

         Centralized Control

     Full circle in the architecture of IS facilities

 

 

 

 

 

               

 

               

               

               

                       

                                      Centralized and decentralized control

         Decentralized portion of the computer system consists of the processing done in the client and is the responsibility of business end user.

         The centralized portion of the responsibility of IS professionals-link to the server

 

 

        Open Systems

    Client/Server computing to be effective, multiple environments must be supported.

    When applications are right sized, it is important that there be connectivity among the components of the platform

    There must be support for multiple hardware vendors, multiple GUI platforms, multiple OS, Multiple DBMS, Multiple communication protocols and multiple LAN OS

    The benefits of open systems- Interoperability and Portability

Evolution of Client/Server Computing

       Hardware Trends

   Power

   Chips

   Memory       

   40MB hard drive is standard on an entry level micro.

     Multiple disk drivers.

 

 

Capacities of processors

 

 

       Software Trends

 

   Relational Databases

     Multiple structures with multiple management techniques

   GUIs

     MS-Windows, openLook and etc.

 

 

   Multi threaded Processing

     Thread is a process or an execution

     DOS can execute only one process (thread) at a time.

     MS LAN Mgr Network OS – supports multiple threads of execution.

     One thread could controlling the printer, one the keyboard I/O another executing app. Code.

   Continuing Evolution

     Product that generate GUIs have some intelligence about interfaces.

 

 

       Evolution of Operating Systems

   Micro operating systems evolve, there should be some common capabilities. These include

 

     Portability in the underlying kernel and app. Programming interfaces

     Use of 32 bit architecture

     Support for symmetric multiprocessing hardware

     Extensions for multimedia and pen based computing

     Portable OS interface for UNIX

 

 

       Networking Trends

   LAN based implementation

   Token ring running LAN manager

 

       Business Consideration

   Dept. need more than one database.

   Dealing with voice, scanned images, text and graphic images.

 

Overview of Client/Server Applications

       A client/server application has three components: a Client, a server and a network

       Each of these components has a hardware and a software component.

Components of the Client/Server Applications

       Servers -perform the routine.

       Clients- front ends

   To many users client is the “System”

       The data management software on the server is responsible for keeping the data “Safe and Sound”.

       Some org. have applications where clients need to maintain concurrent connections with more than one server-- many-to-many relationship.

 

   Components of Client/server computing

 

The Client

         The client hardware is the desktop m/c that runs client software.

         It could be a micro or a workstation

         The client software formulates the data requests and passes the requests to the network software.

         This s/w send the request to the server , accepts the result from the server and passes the result to the client software.

         The presentation component produces the interface that the user views and interact with.

The Server

       A server is the machine that runs data management software

       Compared to a desktop micro server hardware

   increased memory capabilities;

   increased storage capabilities;

   increased power;

    parallel processors;

   improved cycle times;

   and improved reliability

 

        When evaluating server hardware, the following measures should be kept in mind:

        Reliability- How often does it fail? What is the mean time between failures?

        Availability- How quickly does the system come back into service after a failure? To assure high availability, some systems have self healing routines, continuous processors, fault –tolerant hardware , alarms to high light problems before become serious.

        Flexibility and Scalability. How easily can the server be expanded as processing needs grow?

        A server has operating system software, data management software and a portion of the network software

The Network

         The network hardware is the cabling, communicating cards and the devices that link the server and the clients.

         Connections must allow servers to access other servers and for users (clients) to access data on any network node

         The connection devices, such as routers and wire hubs.

         The communication and data flow over the network is managed and maintained by the network software.

         The network OS manages the network related input /output processes of the server.

Classes of Client/Server Applications

       3 levels:-

   Host based processing

   Client-Based Processing

   Cooperative Processing

 

 

        Host-Based Processing

    Most client/server applications has a presentation layer running on the desktop machine with all app. Processing running on the server/host.

    Presentation layer provides the user with an easy to use interface.

    The processing power of the desktop m/c is used to produce this interface, which requires a great deal of m/c resources

    Host based processing applications require less functionality on the client.

    Host based processing does not permit organizations to re-think the business process

Classes of Client/Server applications

 

       Client-based Processing

   Client/server applications puts all the app. Logic on the client m/c with the exception of data validation routines, which are coded into the DBMS on the server.

   Users can access data on any node.

   Many of the host fns –security and reliability must be built into these new client server app.

 

        Cooperative Processing

    app. Uses a fully cooperative peer-to-peer processing approach.

    All components of the system are equal and can request to provide services to each other.

    The processing is performed where ever computing resources (devices, CPU, and memory are available

    A single system can act as a client for other servers and a server for other clients.

    Data manipulation may be performed on both the client and the server, whichever is more appropriate.

Categories of client/server Applications

       Client/Server app. Can also be categorized by their support function.

       The architecture of Client/Server computing promotes group interaction, whether it is messages, mail, shared data, or shared app.

       users of an application can be anywhere on the network.

 

       Office Systems

   Client/Server computing provides a framework for electronic communication as in the Fig.

   Users on LAN C can Communicate with users on LAN A or LAN B

The foundation for electronic communication

 

       Front-Ends to Existing Systems

   Another category of client/server app. Consists of screen emulation systems (screen-scrapers), which convert existing character based screens to GUI screens.

   No changes are made to the existing app. on the server

   Benefits of these systems are ease of use and increased worker productivity.

   Existing products facilitate building front-ends to existing systems.

   They capture the 3270/5250 data stream and map it into a client based display panel.

 

       Database access

   To provide a GUI for accessing corporate data

   Query oriented app. Provide a single window to the data of the organization.

                                    Query oriented Applications

 

 

       Transaction-Processing Applications

   Also known as mission-critical applications, include order entry, inventory, and point-of-sale systems.

   System must run continuously.

       Investigative applications

   Transaction processing systems work with real time data.

   Investigative app. Are designed to support decision makers.

   Investigative app. Are often called Decision Support Systems (DSS) or Executive Information Systems (EIS).

   Ref. next slide pic.

 

 

 

 

 

 

 

   Snapshots of Data for investigative applications

Understanding Client/Server Computing

       Dispelling the Myths

    Many myths promoted by Marketing literature, others are promoted by the press, more by omission than inclusion.

   Client/Server Computing is Easily Implemented

   Current Desktop Machines are sufficient

   Minimal Training is Required

   All Data are Relational

   Development time is Shorter

 

Obstacles-Upfront and Hidden

    Client server computing is not the easy task that marketing literature would have us believe.

    They are some very real, and painful, hurdles on the road to success

        Costs

    Cost saving prompt organizations to consider client/server computing

    Conservative figures for the cost per MIPS (millions of instructions per second) are:

    IBM Mainframe-About $100,000

    Midrange-About $50,000(includes some bandwidth processors)

    Desktop-About $300

 

       Mixed Platforms

   In the past, most org. operated homogeneous centralized mainframe and midrange processors and terminal n/w

   Managed separately-independent systems and protocol

   Today, org have at least two micro OS, multiple n/w OS and variety of n/w topologies.

       Maintenance

   It is costly and time consuming

 

 

       Reliability

   H/w must be stable and include backup units and monitoring s/w for the system itself.

       Restructuring Corporate Architecture

   Client/server technology also restructures the workflow processing.

   Electronic data interchange (EDI) is an example of a modification in workflow processing.

Open Systems and Standards

         To Business end users, open systems mean easy access to information

         The IEEE – open systems offers the following definition

       “A comprehensive and consistent set of international information technology standards and functional standards profiles that specify interfaces, services, and supporting formats to accomplish interoperability and portability of applications, data and people.”

Standards Areas

      Four areas of client/server computing

       Platforms-Developed by hardware and software vendors- such as Intel chips, UNIX, and DOS with Windows.

       Networks-N/W protocols- such as OSI and TCP/IP

       Middleware- Between App. and the OS, includes GUIs, database, E-Mail systems

       Applications- Org. decide on std app. to facilitate work group interaction

 

Existing Standards

        Currently, there are recognized stds for server OS environment and for network protocols

    UNIX

    POSIX-Portable Operating Interface from IEEE is a UNIX based specification.

    TCP/IP-to connect LAN Based micros to corporate data on a UNIX host.

    OSI- to provide a common basis for communication

    RDA and DRDA - Remote Data Access (RDA) Architecture and Distributed Relational Database Architecture

    Distributed data management

 

 

Open Systems

Components of an open systems environment

 

       Factors for Success

   Identify the business motivation for the change to client/server computing.

   Whether it is reduced costs, increased productivity, or a competitive advantage, implementation of the new technology.

   Internetworking –LAN,WAN

   Interoperability-ability to interact

     Considering client m/c, client s/w, n/w, n/w s/w, server and server s/w.

   Compatible Environments- whenever possible, avoid mixing architectures

   Perceived Benefits- ease-of use, cost saving, response time, functionality, accessible data.

 

 

Host

         The term "host" is used in several contexts, in each of which it has a slightly different meaning: 1) In Internet protocol specifications, the term "host" means any computer that has full two-way access to other computers on the Internet. A host has a specific "local or host number" that, together with the network number, forms its unique IP address. If you use Point-to-Point Protocol to get access to your access provider, you have a unique IP address for the duration of any connection you make to the Internet and your computer is a host for that period. In this context, a "host" is a node in a network.

         2) For companies or individuals with a Web site, a host is a computer with a Web server that serves the pages for one or more Web sites. A host can also be the company that provides that service, which is known as hosting.

         3) In IBM and perhaps other mainframe computer environments, a host is a mainframe computer (which is now usually referred to as a "large server"). In this context, the mainframe has intelligent or "dumb" workstations attached to it that use it as a host provider of services. (This does not mean that the host only has "servers" and the workstations only have "clients." The server/client relationship is a programming model independent of this contextual usage of "host.")

         4) In other contexts, the term generally means a device or program that provides services to some smaller or less capable device or program.

No comments:

Post a Comment