Sunteți pe pagina 1din 33

ITT73 COMPONENT TECHNOLOGY

UNIT –I
CLIENT/SERVER COMPUTING

Client/Server computing – Building blocks – Types of Server – Types of Client – Types


of Middleware – Aspects of Client/Server system – Sizing – Scalability – Tiered
architecture – Client/Server models – Requirements of Client/Server system –
Distributed Objects – benefits – drawbacks – from distributed objects to components.

1.1 What is Client/Server computing?


The client–server model is a distributed application structure in computing that
partitions tasks or workloads between the providers of a resource or service, called servers,
and service requesters, called clients.

1.2 BUILDING BLOCKS


The three basic building blocks of Client/Server computing are shown in figure 1.1,

 Client
 Middleware
 Server

SERVER
MIDDLEWARE
CLIENT
DB

Fig.1.1 building blocks of client/server computing

1.Client Process:

The process which makes requests to the server for a particular service is called as the
Client process.

2.Middleware:

Middleware is a software that coordinates the communication between the client and
the server.

3.Server Process:

The process which provides the service requested y the client process is called as
Server process.

1.2.1 FOUR SITUATIONS IN ARRANGING THE BUILDING BLOCKS:

1. Client/Server for tiny shops


2. Client/Server for small shops and departments

Department of Information Technology, SMVEC Page 1


ITT73 COMPONENT TECHNOLOGY

3. Client/Server for intergalactic enterprises


4. Client/Server for post scarcity world.

1.2.1.1 Client/Server for tiny shops:

 This building block implements client, middleware and most of the business services
on the same machine as depicted in figure 1.2.
 Suggested for one person shops, home offices and mobile users.
 Vendors can easily package single user versions of a Client/Server application.
 The operating system used must be robust enough to run both client and server sides
of the application.

DB
CLIENT MIDDLE SERVER
WARE

Fig.1.2 building blocks of client/server for tiny shops

1.2.1.2 Client/Server for small shops and departments:

 This building block implements client/single server with the help of classic Ethernet
as in figure 1.3.
 It is used in small shops, branch offices and departments.
 This is well suited for LAN-based single server establishments.
 This implementation account around 80% of today’s client/server application.
 There are no complex interactions between servers so it is easy to identify failures.

CLIENT
MIDDLE
SERVER
CLIENT DB

CLIENT

Fig.1.3 building blocks of client/server for small shops and departments

1.2.1.3 Client/Server for Intergalactic enterprises:

 This building block implements multiple server which are connected through internet
as in figure 1.4.

Department of Information Technology, SMVEC Page 2


ITT73 COMPONENT TECHNOLOGY

 Though the servers are present throughout the enterprise, they present a single system
image to the client.
 Intergalactic Client/Server implementation is upwardly scalable, ie) when more
processing power is needed, more number of servers can be added or existing server
machine can be upgraded to latest generation server.
 The servers may be partitioned based on the function they provide, the resource they
control or the database they own.
 Replication of server is done to achieve fault tolerance or to boost an applications
performance.

MIDDLEWARE
CLIENT

SERVERS

Fig.1.4 building blocks of client/server for intergalactic enterprises

1.2.1.4 Client/Server for a post-scarcity world:

 This implementation transforms every machine in the world into both a client and a
server.
 Every machine is both a client and a full function server. We call this plentiful
environment as the post-scarcity world.

CLIENT MIDDLEWARE CLIENT

CLIENT MIDDLEWARE CLIENT


MIDDLEWARE MIDDLEWARE
CLIENT CLIENT

CLIENT MIDDLEWARE CLIENT

Fig.1.5 building blocks of client/server for post scarcity world

Department of Information Technology, SMVEC Page 3


ITT73 COMPONENT TECHNOLOGY

 Every machine in the post-scarcity world is connected through ORB (Object


Request Broker).
 Personal agents on every machine will handle all the communications with their peer-
agents anywhere in the universe.

1.2.2 INSIDE THE BUILDING BLOCKS:

1.2.2.1 Client Building Block:

 The client building block runs the client side of the application.
 The client application runs on an Operating system.
 The operating system provides two types of interfaces,
Graphical User Interface (GUI)
Object Oriented User Interface (OOUI)
 These interfaces helps in accessing the distributed services which are present in the
Network.
 The client also runs a component of Distributed system management (DSM) element.
 This DSM may be a simple agent on pc or a front-end of the DSM application.

1.2.2.2 Server Building Block:

 Server building block runs on the server side of the application.


 The server application runs on server software package.
 The five server platforms for creating applications as shown in figure 1.6,
SQL database servers
Groupware servers
Object servers
TP monitors
Web servers.
 Server depends on the Operating system to interface with the middleware which
brings the request from the client.
 Server also runs Distributed system management, which may be a simple agent on pc
or backend of DSM application.
 The Distributed system management applications runs on every node in a client/server
Network.
 A managing workstation collects information from all its agents on the network and
displays its graphically.

Department of Information Technology, SMVEC Page 4


ITT73 COMPONENT TECHNOLOGY

Fig.1.6 building blocks of client/server computing

1.2.2.3 Middleware Building Block:


 Middleware building block runs on both client and server sides of the application.
 The middleware building block is described into three categories,
Transport stack
Network operating system
Service specific middleware.
 Like the other two building blocks middleware also has a DSM software component.

1.2.3 SERVER- TO – SERVER MIDDLEWARE:


 Server – to – server middleware is used to coordinate inter-server communications.
 Server to server interactions are usually client-server in nature. The server which
requests the services becomes the client to the other server.
SNMP-> Simple Network Management Protocol
CMIP-> Common Management Information Protocol
ORB-> Object Request Broker.

Client object communicates with server object using an ORB. It is used to locate the
instance of the server class.

Example : SOM 3.0(IBM), ORB plus(HP), Orbix(Iona).

P-P ->peer – to – peer.


Sender and receiver use same protocol interface to conduct a network conversation with
any other computer.

IPX/SPX -> Internet packet Exchange (IPX)


Sequenced packet Exchange (SPX)

It is a type of Network stack. In this Network layer is provided by Ipx and transport
layer is provided by spx reliable and connection oriented protocol.

Department of Information Technology, SMVEC Page 5


ITT73 COMPONENT TECHNOLOGY

NETBIOS:
Net BIOs is for program to program communication. It was introduced by IBM
and Sytek in 1984. It is used as an interface to variety of stacks including TCP/IP, XNS,
IPX/SPX.

SNA:
SNA-> SYSTEM NETWORK ARCHITECTURE.
SNA is a product of IBM. It supports cross Network directory services, Integrated Network
management.

1.3 TYPES OF SERVER

1. File servers
2. Database servers
3. Transactions servers
4. Groupware servers
5. Object servers
6. Web servers

1.3.1 FILE SERVERS

 A File server is a computer attached to a network that has the primary purpose of
providing shared storage of computer files (such as documents, sound files,
photographs, movies, images, databases, etc.) that can be accessed by the
workstations that are attached to the same computer network as in figure 1.7.
 File servers may also be categorized by the method of access: Internet file servers are
frequently accessed by File Transfer Protocol (FTP) or by HTTP

Fig.1.7 working of file servers

Function The client passes request for file records to the file server.
Type of Messages
Communication
Advantage Sharing files over a Network.
Application Shared message exchanges.
Entire file records are sent to client instead of a single file.
Disadvantage Many message exchanges.
Entire file records are sent to client instead of a single file.

Table 1.1 functions of file servers

Department of Information Technology, SMVEC Page 6


ITT73 COMPONENT TECHNOLOGY

1.3.2 DATABASE SERVERS


 A database server is a computer program that provides database services to other
computer programs or computers, as defined by the client–server model.

Function Client passes SQL requests to database server.

Types of SQL calls.


Communication
Working SQL requests from clients are processed by server and the result
is sent back To the client.
Message Comparitively less number of messages.

Code Server code is vendor-specific. Client code is written often based


on Application.
Application Decision support systems with ad-hoc queries and flexible
reports.

Table 1.2 functions of Database servers

Sql commands

client

client DB Database server

Fig.1.8 working of database servers

1.3.3 TRANSACTION SERVERS

 A transaction server manages business transactions.


 It sits in the middle, between the client and the server and acts as glue, holding
essential data processing activities together as in figure 1.9.
 The transaction server is responsible for maintaining high performance, availability
and data integrity.

Department of Information Technology, SMVEC Page 7


ITT73 COMPONENT TECHNOLOGY

Function Invokes remote procedures on a server with a SQL database


agent.
Type of Transactions (Atomic Nature)
communication
Working Client invokes the remote procedure and executes the sql
statements and the sql statements send the result to the client.
Message Single request- reply message.
Application Online transaction processing(OLTP), Tp lite (stored procedures),
Tp Heavy(Tp monitors), Credit-card verification, Online banking
transactions, E-commerce

Table 1.3 functions of Transaction servers

transactions

client

client DB TP Monitor

Fig.1.9 working of transaction servers

1.3.4 GROUPWARE SERVERS

 It allows users to work jointly, in spite of place, through Internet or a mutual Intranet
and to work together in a near environment as in figure 1.10.

Function Management of semi-structured information such as text, image,


mail,etc.
Types of Groupware messages.
communication
Working This system place people in the network in direct contact with
other people in the network.
Code Applications are created using scripting language and form based
interface.
Application Document Management, Imaging, Multiparty Applications.

Table 1.4 functions of Groupware servers

Department of Information Technology, SMVEC Page 8


ITT73 COMPONENT TECHNOLOGY

client

Groupware
client DB
servers

Fig.1.10 working of groupware servers

1.3.5 OBJECT SERVERS

Function Client object communication with server object with a set of


Communicating objects called as ORB.
Type of Remote Method Invocation (RMI).
communication
Working the client invokes the method on remote object and the ORB
locates the Instance of object and the instance of object send the
result to the client.
Advantage Concurrency and sharing.
Examples SOM 3.0(IBM), ORB plus(HP), Power Broker(Expert Soft), SOM
3.0(IBM), ORB plus(HP), Power Broker(Expert Soft),
Table 1.5 functions of Object servers
INVOKES
CLIENT OBJECT METHOD ON
REMOTE OBJECT

ORB locates

INSTANCE OF
result THAT OBJECT

Fig.1.11object invocation in RMI

Fig.1.12 working of object servers

Department of Information Technology, SMVEC Page 9


ITT73 COMPONENT TECHNOLOGY

1.3.6 WEB SERVERS


 The primary function of a web server is to deliver web pages on the request of clients
using the Hypertext Transfer Protocol (HTTP) as in figure 1.13.
 The most common use of web servers is to host websites

Function The world wide web is the first truly intergalactic Client/Server
Application.
Types of HTTP over TCP/IP.
communication
Working A web server returns documents when the clients ask for them by name.
Application Web provides more interactive forms of client/server computing. Web
and Distributed objects have started to come together. Eg: Java.

Table 1.6 functions of Web servers

Html
forms

INTERNET HTTP
server
OVER TCP/IP
java

Html
documents

Fig.1.13 working of web servers

1.4 TYPES OF CLIENTS

 Client/Server application are client-centric.


 The client side provides the “look & feel” for the services a system provides.

1.4.1 CLIENTS:
NON-GUI
GUI
OOUI

Department of Information Technology, SMVEC Page 10


ITT73 COMPONENT TECHNOLOGY

GUI non GUI

Client

LAN
server

database
OOUI Client

Fig.1.14 Types of clients

1.4.2 NON-GUI:
 NON-GUI clients generate server requests with less amount of human interaction.
 Two categories of Non-GUI clients are
Non-GUI that do not need multitasking.
Non-GUI that need multitasking.
Non-GUI that do not need Multitasking:-
 Provides simple human interface in the request generation loop.
 Examples are automatic teller machine (ATM), barcode readers, cellular phones.
Machines, smart gas pumps and intelligent clip boards.
Non-GUI that need multitasking:-
 These clients require very granular, real-time, event-driven multitasking services.
 Example are robots, testers and daemon programs.

1.4.3 GUI CLIENT:-


 This type of clients raises occasional requests to the server.
 The requests are got from a human interaction with a GUI (Graphical User
Interfaces).
 GUI client are best suited for OLTP (Online Transaction Processing) type business
applications.
 It may be a good front-end for the database servers.
 GUI consists of Graphic dialogs. Colors, menus, scroll bars, pull-down and pop-up
windows.
 Simple GUI uses “Object-Action” Model. Users can select objects and then select the
actions to be performed on the chosen objects.
 Example:- from menu bar, selecting file (object) and then selecting open (action).
 Most widely used in windows 3.x and OSF motif applications.

1.4.4 OOUI CLIENTS:-


 OOUI is highly iconic, object oriented user interface.
 It provides seamless (Continuous) access to information in a very visual formats.

Department of Information Technology, SMVEC Page 11


ITT73 COMPONENT TECHNOLOGY

 OOUI’s desktop objects must communicate with themselves and also with external
servers.
 The desktop contains multiple workplaces running concurrently. Each workplace
may be running parallel dialogs.
 Information is displayed to the user in the foreground windows, while background
tasks are constantly moving information to and from servers. (Eg:- playing a
multimedia document).
Example:
OSI2 workplace shell
Nextstep
Mac Os.
1.4.5 Application:-
 Decision support applications.
 Multimedia based training systems.
 Stockbroker workstations.
 System management consoles.

1.5 TYPES OF MIDDLEWARE

 DCE (Distributed Computing environment)


 MOM (Message Oriented middleware)
 Procedural Middleware
 Object Oriented Middleware(OOM)
 Transaction processing monitors (TP monitors)
 ODBC (Open Database Connectivity).

1.5.1 DCE
 DCE is a combined set of services that supports the development of distributed
applications. Including Client/Server.
 DCE is independent of operating system & network so it is easily compatible with
user’s existing environment.
 DCE is a layered approach. Starting with operating system in bottom to high-level
applications at the top.
 Provides various services such as Naming or directory services , Time services
,Security services, Distributed file services, Pc integration services.

1.5.2 MOM
 MOM operates on the principle of Message passing and message queuing.
 MOM operates on peer-to-peer distributed computing model supporting both
synchronous and asynchronous interactions.
 MOM provides high-level services multi protocol support and other system
management services.

Department of Information Technology, SMVEC Page 12


ITT73 COMPONENT TECHNOLOGY

 One of the key attributes of middleware is that is should provide seamless integration
between different environments.
 When a client issues request for a service such as a database search, it does not talk
directly to that service; it talks to middleware.
 Talking to the middleware usually involves placing the message on a queue where it
will be picked up by the appropriate service when the service is available.
 MOM ensures that messages get to their destinations and receive a response.
 The queuing mechanism used can be very flexible either offering First-in First-out or
priority assigned message.
 MOM software can also include system management functions such as network
integrity and disaster recovery.

1.5.3 PROCEDURAL MIDDLEWARE


 The most common form of procedure based middleware is Sun Microsystem’s RPC
middleware technology.
 A distributed application running on one computer make procedure calls that execute
on another computer.
 RPC extends a local procedure call by supporting direct calls to procedures on remote
systems, enabling the programmers to develop distributed applications.
 The presentation layer of RPC mask the difference between data representation on
different machine, allowing programs to work across multiple systems.
 RPC allows clients to identify and locals servers by name.

1.5.4 OBJECT ORIENTED MIDDLEWARE


 OOM is based on Object oriented programming paradigm.
 A number of different OOM technology is available.Two of them are a)CORBA
b)DCOM
1.5.4.1 CORBA
 CORBA was defined by Object Management group to provide a standardized
platform to construct distributed components.
 A CORBA application consists of a number of objects that store data and export
functionality to other objects.
 Each object type has an interface defined with the OMG Interface definition
Language(IDL)
 CORBA is language independent and has bindings to Java,C,C++ etc.

1.5.4.2 DCOM
 Microsoft developed the Component Object Model(COM) to support local
component.
 Later this was extended to support distributed invocations,resulting in
DCOM(Distributed Component Object Model)

Department of Information Technology, SMVEC Page 13


ITT73 COMPONENT TECHNOLOGY

1.5.5 TP MONITORS
 TP monitors handles online transactions, which gave rise to online transaction
processing which became to part of business systems today.
 Transaction processing systems pass messages between programs. They operate, store
& forward queues and they send acknowledgements.
 A transaction is defined as an atomic unit of work that possesses four properties
namely atomicity, consistency, isolation & durability(ACID PROPERTIES).

Atomicity
Atomicity requires that each transaction is "all or nothing": if one part of the
transaction fails, the entire transaction fails, and the database state is left unchanged. An
atomic system must guarantee atomicity in each and every situation, including power failures,
errors, and crashes.

Consistency
The consistency property ensures that any transaction will bring the database from
one valid state to another. Any data written to the database must be valid according to all
defined rules, including but not limited to constraints, cascades, triggers, and any
combination thereof.
This does not guarantee correctness of the transaction in all ways the application
programmer might have wanted (that is the responsibility of application-level code) but
merely that any programming errors do not violate any defined rules.
Isolation
Isolation requires that multiple transactions occurring at the same time not impact
each other’s execution.
For example, if Joe issues a transaction against a database at the same time that Mary
issues a different transaction, both transactions should operate on the database in an isolated
manner. The database should either perform Joe’s entire transaction before executing Mary’s
or vice-versa. This prevents Joe’s transaction from reading intermediate data produced as a
side effect of part of Mary’s transaction that will not eventually be committed to the database.
Durability
Durability means that once a transaction has been committed, it will remain so, even in
the event of power loss, crashes, or errors. In a relational database, for instance, once a group
of SQL statements execute, the results need to be stored permanently (even if the database
crashes immediately thereafter).
To defend against power loss, transactions (or their effects) must be recorded in a non-
volatile memory.

 TP monitors have advanced error trapping procedures and recovery features in the
event of a breakdown.
1.5.6 ODBC
 ODBC is Microsofy ’s interfaces for accessing data in a distributed environment made
up of relational and non-relational DBMSS.

Department of Information Technology, SMVEC Page 14


ITT73 COMPONENT TECHNOLOGY

 With ODBC, application developers can allow an application to concurrently access,


view and modify data from multiple databases.
 ODBC has emerged users to access data in more than one data storage location from
within a single application.
 It allows users to access data in more than one type of DBMS (such as DB2, oracle,
SQL Server, DEC etc.) from within a single application.
 It simplifies application development.

1.6 ASPECTS OF CLIENT/SERVER SYSTEMS


The various aspects of client server systems are
Asymmetric Protocols:
 The relation between client and server is many-to-one.
 Client initiates the dialog by requesting a service.
 Server waits until a request is received.
Encapsulation of services:
 Server, when given a message request to services, it determines has the job is to be
done.
 The servers can be upgraded without affecting the clients.
Location Transparency:
 Server processes can resides on the same machine as a client, or a different machine
across the network.
 Client/Server software hides the location of server from clients by redirecting service
requests.
Message based exchanges:
 Clients and servers are loosely coupled systems.
 The communicate by request and response messages.
 A server can receive requests from multiple clients.
Modular/Extensible design:
 Modular design enables fault tolerance of the application. System does not shut down
when failures occur.
 One or more servers may fail without affecting the application, as long as the failed
server’s copy available on servers that are active.
Platform Independence:
 Client and server can be deployed on different hardware using different OS.
Reusable Code:
 Client/Server systems allows reusability of code.
 The code of an exiting application can be modified and enhanced to form a new
application.
Scalability:
 Horizontal Scalability-> Increasing client Machines
Vertical Scalability-> upgrading the Servers.
Separation of Functionalities:
 Server = Business logic and data

Department of Information Technology, SMVEC Page 15


ITT73 COMPONENT TECHNOLOGY

Client = presentation layer


Shared Resources:
 A single server serves for many clients. The Resources of the server are shared among
the clients.
 The server is also responsible for regulating the access to the shared resources.

1.7 SIZING

 As client/server technology evolves, there is a need for designing application for the
platforms they are best suited for, instead of a default placement.
 An application should run in the environment that is most efficient for that
application.
 Client/server model allows applications to split into tasks and perform these tasks on
individual platforms.
 Determining how the tasks are split can be the major factor in the success or failure of
a client/server application.
Downsizing
Upsizing
Smartsizing
Downsizing:
A host based application is down sized when it is reengineered to run in a smaller or
LAN based environment.
Upsizing:
Applications that have outgrown their environment are reengineered to run in a larger
environment.
Smartsizing:
It affects the entire organizational structure and involves reengineering and redesigning
systems that support the process.

1.7.1 DOWNSIZING:
 Downsizing involves porting applications from mainframe and midrange computers
to a smaller platform or LAN-based client/server applications.
 One potential benefit of downsizing is lowered costs. As technology improves, the
costs of LAN servers and micros continues to drop.
 Mainframe computers require special rooms, operators and system programmers,
whereas micros can sit on a disk. Micro computers can easily cooperate with existing
LAN environment
 Other potential benefits are
Improved response time
Decreased system development time
Increased flexibility
Greater control
Implementation of changes in workflow.

Department of Information Technology, SMVEC Page 16


ITT73 COMPONENT TECHNOLOGY

1.7.2 UPSIZING:
 Companies are downsizing from mainframes to LAN-based systems.
 At the same time, they are planning for the future by ensuring that these new systems
are expandable.
 When an application outgrows the current environment, the capacity of the
environment should be increased.
 Otherwise, the applications should be ported to a larger environment with no
disruption to users.
Ways of expansions:
Increasing memory and storage on server.
Swapping a more powerful processor into the server.
Adding more processors to the server.
Upgrading to a more robust network software.

1.7.3 SMARTSIZING:
 Smartsizing is based on reengineering the business processes.
 The application code is streamlined.
 Information technology is implemented to make the business processes more efficient
and increase profits.
 Smartsizing helps in developing the products and bringing it to the market faster.

1.8 SCALABILITY
 The number of servers in a client/server application depends on the type of services
required by the clients.
 It starts with a single pc server to super servers populated with microprocessors.
 Servers of required power is not enough means client/server model allows the
partition of work among different servers.
 The client/server model is upwardly scalable. When more processing power is
needed, more number of servers can be added.
 The existing server can b traded up to the latest generation of superserver.
Horizontal scalability
Vertical scalability
 Increasing the number of clients in the LAN when the application needs extension is
called as Horizontal scalability.
 Upgrading the server or including more number of servers to improve the processing
power is called as Vertical scalability.

1.9 TIERED ARCHITECTURE

 Client/Server architecture consists of clients and servers. There are three architectures
in client/server model.
One-tier architecture
Two tier architecture

Department of Information Technology, SMVEC Page 17


ITT73 COMPONENT TECHNOLOGY

Three-tier architecture

1.9.1 1-Tier Architecture


In a single tier architecture,the clients are able to access the directly. This means that
the file you want to work with must be accessible from a local or shared drive. This is the
simplest of all the architectures, but also the least secure as in figure 1.15. Since users have
direct access to the files, they could accidentally move, modify, or even worse, delete the file
by accident or on purpose.
File
Client
server

Client

Fig.1.15 1-tier architecture

Eg : Software packages like MS Access, MS Excel, QuickBooks, and Peachtree


could be accessed easily.
It is usually an issue when multiple users access the same file at the same time: In
many cases only one can edit the file while others only have read-only access.
Advantage:
 Simple and cheap
Disadvantage:
 Unsecured and data can easily be lost .

1.9.2 Two-tier architecture:


This architecture is also called Client-Server architecture because of the two
components: The client that runs the application and the server that handles the database
back-end. When the client starts it establishes a connection to the server and communicates as
needed with the server while running the client. The client computer usually can’t see the
database directly and can only access the data by starting the client. This means that the data
on the server is much more secure. Now users are unable to change or delete data unless they
have specific user rights to do so.
The client-server solution also allows multiple users to access the database at the
same time as long as they are accessing data in different parts of the database. One other huge
benefit is that the server is processing data that allows the client to work on the presentation
and business logic only.
This mean that the client and the server is sharing the workload and by scaling the
server to be more powerful than the client, you are usually able to load many clients to the
server allowing more users to work on the system at the same time.

Department of Information Technology, SMVEC Page 18


ITT73 COMPONENT TECHNOLOGY

Essential components of two-tier client/server architecture is shown in fig.1.16. It has


two parts:
A client pc
Database server

Client Program
GUI
Data request
DB Request
File Access Routines Data Response
Database
Client workstation Management
Client Program System
GUI Database
server
DB Request Data request

File access routines

Data response Client workstation

Fig.1.16 Essential components of Two-tier client/server architecture

Fig.1.17 two-tier architecture

Considerations:
 Client program accesses the database directly.
 Requires a code change to port to a different database.
 Potential bottleneck (difficulty) is faced for every data requiests.
 High volume of traffic in the network due to data shipping.
 Client program executes the application logic.
 Limited by the processing capability of the client workstation (memory, cpu)
 Required application code to be distributed to each client workstation.

Department of Information Technology, SMVEC Page 19


ITT73 COMPONENT TECHNOLOGY

Client Workstation:
 Client workstation contains a client program that runs on an operating system.
 A GUI is present to get request from the client and pass it on to the server.
 File access routines helps in accessing the database file present in the server.

Server Machine:
 Server consists of database files and a database management scheme to handle the
requests from the client.

Advantages:
 Development issues:
Simple structure
Easy to setup and maintain.
 Performance:
Business logic and DB are physically close which gives higher performance.
Disadvantage:
 Development issues:
Difficult to implement database server due to complex applications.
Requires more code for the client.
Changes in business logic requires new client side software to be distributed and
installed.
 Performance:
Database is required to perform business logic, this slows down database
operations.

1.9.3 Three-tier architecture:


 A client pc
 Application server
 Database server

This involves one more layer called the business logic tier, service tier or middle tier
(layer). In the client-server solution the client was handling the business logic and that makes
the client “thick”. A thick client means that it requires heavy traffic with the server, thus
making it difficult to use over slower network connections like Internet and Wireless (LTE,
3G, or Wi-Fi).
By introducing the middle layer, the client is only handling presentation logic. This
means that only little communication is needed between the client and the middle tier making
the client “thin” or “thinner”. An example of a thin client is an Internet browser that allows
you to see and provide information fast and almost with no delay.
As more users access the system a three-tier solution is more scalable than the other
solutions because you can add as many middle tiers (running on each own server) as needed
to ensure good performance (N-tier or multiple-tier).

Department of Information Technology, SMVEC Page 20


ITT73 COMPONENT TECHNOLOGY

Fig.1.18 Three-tier architecture

Client Program Server program


Database
GUI Application logic
Management
Request for Database request
System
Applications database
Communication
Communication function
function

CLIENT APPLICATION SERVER DB SERVER

Fig.1.19 functions of servers in three-tier architecture

Considerations:
 Client program contains presentation logic only.
 Less number of resources needed for the client.
 Modification of client code is not needed, when the database location changes.
 Less code is distributed to client workstations.

 One server handles many client requests.


 More resources available for server program.
 Reduces data traffic on the network.
Advantages:
 Development:
Business logic is separated from database server and client, which increases the
performance.
Changed in business logic requires changes only is application server.
 Performance:
3-tier architecture gives superior performance.

Department of Information Technology, SMVEC Page 21


ITT73 COMPONENT TECHNOLOGY

More secure
Disadvantage:
 Development:
More complex structure.
More difficult to setup and maintain.

1.10 CLIENT/SERVER MODELS


The five models in client/server design are
 Distributed presentation
 Remote presentation
 Distributed logic
 Remote data
 Distributed data

1.10.1 Distributed presentation:

Client Server
Presentation(Screen scraping or Terminal Emulation) (Program logic Data)
Fig.1.20 Distributed presentation between client and server

 Distributed presentation means both the client and server machine can format the
display presented to the user.
 The client intercepts the output from the server and reroutes the output through its
own processes before presenting it to the user.
 “terminal Emulations” is used to give pc users the ability to log on and direct access
the mainframe system.
 Users can locally with windows and also open a window and work directly with
mainframe applications.
 However, terminal emulation provides application interface that is text-only rather
than graphical user interface (GUI) is windows.
 Screen scraping is an advanced form of terminal emulation, which helps in hiding the
mainframe screen from the user.

Department of Information Technology, SMVEC Page 22


ITT73 COMPONENT TECHNOLOGY

1.10.2 Remote presentation:

Client Server
Some Program Logic (Validation, for example) (Some Program Logic Data )
Fig.1.21 Remote presentation between client and server

 In some cases, it is necessary to move some application’s program logic from host
computer to a small pc.
 Remote presentation is useful when moving from a dumb terminal environment to a
pc in a LAN based environment.
 A dumb terminal is used to give input to and receive output from server.
 The dumb terminal consists of a keyboard and a monitor only, without no processing
power ie) no processor is present in dumb terminal.

1.10.3 Distributed logic:

Client Server
(Presentation & Program logic) (Program logic data)
Fig.1.22 distributed logic between client and server

 Distributed logic is similar to client-middleware-server type of building block.


 Distributed logic splits the client/server application into client processes and server
processes.
 The client is given the responsibility of presentation by providing a GUI to the user.
 Server takes care of the business logic of the application and the database.
 And finally, the communicating agent between the client and server is going to be the
middleware software.
 Client = presentation/GUI
Server = Business logic & data
Middleware = client/server communication.

Department of Information Technology, SMVEC Page 23


ITT73 COMPONENT TECHNOLOGY

1.10.4 Remote Data:

Client Server
(Presentation ,All Program Logic) (Data Logic)
Fig.1.23 Accessing Remote data in client and server environment

 In remote data, client handles presentation and all the application logic.
 Server provides only the data. Since the server is present somewhere in the network,
this model is called as Remote Data.
 Client uses Remote SQL or ODBC (Open Database Connectivity) to access the data
stored on the Remote server.
 Application use this Remote data model most widely today.

1.10.5 Distributed Data:

Client Server 1 Some Data


Presentation Server 2 Some Data
All Program Logic Server 3 Some Data

Fig.1.24 Distributing data in client and server environment

 In distributed data model, the data is being distributed across multiple networked
systems.
 This model requires an advanced data management scheme, since the data has been
distributed across multiple servers. A DBMS scheme is needed for the efficient
retrieval of data.
 This DBMS scheme enforces the ACID property namely atomicity, concurrency,
isolation and model to implement.
 It requires a great deal of planning and decision-making skills to implement.

1.11 REQUIREMENTS OF CLIENT/SERVER SYSTEMS


The Client/Server package will be a generic package that will provide users with the
ability to easily create client/server applications that can be used on UNIX (IBM, SGI,
Digital, Linux) and NT systems without any change to their source code.

Department of Information Technology, SMVEC Page 24


ITT73 COMPONENT TECHNOLOGY

1.11.1 Client Requirements:


1.Connect/Disconnect to one (or more) server process(es).
Provides automatic reconnection to a server if connection is lost and
notifies the user that connection has been lost or re-established.
Connect to server by name.
2. Send/Receive messages of arbitrary size and format.
Synchronous and asynchronous should both be supported.
1.11.2 Server Requirements:
1. Advertises service availability by name.
2. Receive incoming connections from clients.
Should also be allowed to disconnect or reject any connection at any time.
3. Send/Receive messages of arbitrary size and format.
Synchronous and asynchronous should both be supported.
Key messages by connection.
4. Respond to high priority requests.
5. Controllable from outside expert program.
Can clear queues if they are full.
Can disconnect a client if the connection is causing problems.
1.11.3 General Requirements:
1. User should not need to know what communications protocol is being used.
Should allow user to specify a protocol
Should at minimum support TCP, UPD and NT named pipes (for L3).
2. User independence from underlying implementation.
User should not need to know whether or not threads are running
behind the scenes.
3. Handle events common to all Client/Server applications.
Connection established/failed.
Disconnection occurred.
4. Allow user to provide callbacks if common event occurs.
E.g. Want to display to the user that a connection has been made.
5. Timeout on activities which may or may not block.
6. Provide statistics and monitoring capability.
Get message counts, rates.
Get status of Client or Server process.
o Number of threads running.
o Status of each thread.
7. Allow developers the ability to add in more information.

Department of Information Technology, SMVEC Page 25


ITT73 COMPONENT TECHNOLOGY

1.12 DISTRIBUTED OBJECTS

 A distributed object is similar to object in the object oriented language such as c++,
small talk etc.
 A distributed object must support all of the properties that can an object of object
oriented language supports.
Encapsulation
Polymorphism
Inheritance
Object reuse.
 Distributed object must present itself across heterogeneous platforms to remote users
in methods irrespective of the platform.
 Data and business logic are encapsulated within the distributed objects.
 Examples are:
CORBA (Common object Request Broker Agent)
COM (Component Object Model).
 From the introduction of distributed objects, it became easy to build complex
client/server systems by simply assembling and extending reusable software
components.
 Any distributed object can be modified or replaced without affecting the rest of the
components in the system.
 The components may be shipped as collections of class libraries preassembled in
frameworks.
 All the together to perform a specific task.
 Distributed object promise to provide the ultimate in mix-and-match capabilities.

1.13 BENEFITS OF DISTRIBUTED OBJECTS


 Plug and play
 Interoperability
 Portability
 Coexistence
 Self-managing entities

1.13.1 PLUG AND PLAY:


 Small/Granular components of software can be combined on the basis of “mix-and-
match” to form an application.
 Distributed objects are packaged as “components” that can play together in suites.
 The entire application can be formed by assembling the “off-the-shelf” object
components as like figure 1.25.

Department of Information Technology, SMVEC Page 26


ITT73 COMPONENT TECHNOLOGY

OBJ 1 OBJ2 OBJ 3

FRAMEWORK

Fig.1.25 OBJ components in distributed environment

1.13.2 INTEROPERABILITY:

 The distributed objects can interoperate across networks.


 Components of one network can communicate with the components of other network
through ORB

ORB

NETWORK 1 NETWORK 2

Fig.1.26 Interoperabilty between netwoks through ORB

1.13.3 PROTABILITY:
 Distributed objects can run on different platforms such as OS/2, MAC, UNIX etc.,

OBJECTS

OS / 2 LINUX MAC

Fig.1.27 Distributed objects on different platforms

1.13.4 COEXISTENCE:
 Distributed objects can coexist with legacy applications such as DBMS, TP monitors
etc.as like figure 1.28,
 The distributed objects are covered with “object wrappers” that makes the distributed
objects easily to coexist with the already existing applications.

Department of Information Technology, SMVEC Page 27


ITT73 COMPONENT TECHNOLOGY

DBMS

OBJECTS ORB LOTUS


NOTES

TP MONITORS

Fig.1.28 Coexistence of distributed objects

1.13.5 SELF-MANAGING ENTITY:


 Distributed Objects manage themselves and also the resources associated with the
objects as in figure 1.29.
 Object must allows to manage complex systems by broadcasting instructions and
alarms in case of failures.

APPLICATIONS

OBJECTS
OBJECTS

APPLICATIONS

Fig.1.29 Self-managing entity in distributed objects

1.14 DRAWBACKS OF DISTRIBUTED OBJECTS


1. Multiple points of failure
2. Complexity

Multiple points of failure


By distributing the components of a system across multiple machines, the
susceptibility of the system to failure can be increased. If all components of a distributed
system are required to be available at any time network, machine failure can reduce the
reliability of the system.

Complexity
It involves the construction of a number of interacting elements and often these
communicate asynchronously – making exhaustive testing almost impossible. The size of
most distributed component systems means that multiple developers are involved in their

Department of Information Technology, SMVEC Page 28


ITT73 COMPONENT TECHNOLOGY

construction, again this increases the complexity of the process, as the developers must keep
up to date with all changes to interfaces and behaviours in the system.

1.15 FROM DISTRIBUTED OBJECTS TO COMPONENTS

 A classical object is a collection of intelligence that encapsulates code and data.


 Classical objects provides reuse through inheritance and encapsulation.
 Classical objects live within a single program.
 Contrastly, distributed objects can live anywhere on the network.
 Distributed objects are packaged as independent piece of codes that can be accessed
by remote clients through remote method invocations.
 The language and the compiler used to create distributed objects are totally
transparent (hided) to the user.
 Client don’t need to know where the distributed object resides or what operating
system it executes on.
Components:
 A components is a distributed object that is not bound to a particular program,
language or implementation.
1.15.1 Driving force behind the Components:
 The driving force behind the components is the desktop applications.
 Today’s desktop applications are monolithic-containing all the features whether we
use it or not.
 Only 10% of the application features are used and the rest of the features add bulk and
complexity to the system.
 These features-heavy, monolithic applications are very costly for vendors to upgrade
& maintain.
 Vendors are trying to rearchitect their existing applications and suites into
components.

1.15.2 Component to the Rescue:


 Power users
Power users can personalize their applications using off-the-shelf components.
They will use scripts to tie their parts together.
 Small developers and ISVs
Components will reduce costs and lower the barriers for small developers.
They can create individual components and integrate with already existing
softwares.
They get more time for marketing the product.
 Large developers, Is shops & system integrators
Large developers will use components to develop enterprise-wide
applications.
80% of the functions are available as off-the-shelf components.

Department of Information Technology, SMVEC Page 29


ITT73 COMPONENT TECHNOLOGY

The resulting application will be less complex to test because of the high
reliability of the pre-tested components.
 Marketing people
Marketing people will assemble applications targeting specific markets.
Instead of selling large monolithic applications they will be able to provide
their customerswith what they really need.

1.15.3 Facilities of components:


 Security
 Licensing
 Versioning
 Life cycle management
 Support for open tool palletes
 Event notification
 Configuration & property management
 Scripting
 Metadata & introspection
 Transaction control & locking.

TWO MARKS

1) Define Client process.


The client is a process or program that sends a message to a server process or
program, requesting the server to perform a task or service. Client programs usually manage
the user-interface portion of the application, validate data entered by the user, dispatch
requests to server programs, and sometimes execute business logic.

2) Define Server process.


A server process is a process or program that fulfills the client request by
performing the task requested. Server programs generally receive requests from client
programs, execute database retrieval and updates, manage data integrity and dispatch
responses to client requests. Sometimes server programs execute common or complex
business logic.

3) Name the three building blocks of client/server architecture.


The three building blocks of client/serve architecture are

1. Client
2. Middleware
3. Server
4) List out the types of clients and servers.
Types of Servers are:

a) File sever b) Database server c) Transaction server d) Groupware server f) Web server

Department of Information Technology, SMVEC Page 30


ITT73 COMPONENT TECHNOLOGY

Types of Clients are:

a) Fat client b) Thin client c) GUI client d) OOUI client.

5) What are the advantages of groupware servers?

Document Management
Imaging
Multiparty applications

6) Define Middleware.

Middleware is the “glue” that holds client/server applications together. It is the software
which allows an application to interoperate with other software, without requiring the
user to understand and code the low-level operations required to achieve interoperability.

7) What are the types of middleware?

Distributed Computing Environment (DCE)


Remote Procedure Call (RPC)
Message Oriented Middleware (MOM)
Transaction Processing Monitors (TPM)
Open Database Connectivity (ODBC)

8) What are the essential components of three tier architecture?

A Client PC
Application Server
Database Server

9) Point out the disadvantages of 2-tier architecture.

Difficult to implement database server due to complex applications.


Requires more code for the client side.
Any change in business logic requires new client side software to be distributed
installed.

10) Brief about remote data model in client/server.

Client provides presentation and application logic


Server provides only data
Client uses SQL or ODBC to access the data stored in the remote server.

Department of Information Technology, SMVEC Page 31


ITT73 COMPONENT TECHNOLOGY

11) What is RPC?

A distributed application, running as a process on one computer, makes procedure calls


that execute on another computer. The remote server sends a response to the client, and
the application continues its process.RPC call may be Asynchronous or Synchronous.
RPC is used to allow applications to be processed in part on other servers, which leaves
the client workstation free to do other tasks.

12) Define Downsizing.

A Host based application is downsized when it is reengineered to run in a smaller or LAN


based environment. Benefits of downsizing are Improved Response time, Decreased
system development time, Increased Flexibility.

13) What are the ways of expansion in upsizing?

Increasing memory and storage on server


Swapping a more powerful processor into the server
Adding more processors to the server
Upgrading to a more robust network software

14) Define Smart sizing.


Smart sizing affects the entire organizational structure and involves reengineering and
redesigning of the business processes as well as information system that supports the
business process.

15) Define Scalability and its types.

Increasing the number of servers in order to provide the required service is called as
Scalability. The Client/Server model is upwardly scalable; when more processing power
is needed more number of servers can be added. Two types of Scalability are:

Horizontal Scalability
Vertical Scalability

16) What are distributed objects?

Distributed objects can present itself across heterogeneous platforms to remote users in
such a way that the users may invoke the methods irrespective of the platform. Data and
business logic are encapsulated within the distributed object. Eg: CORBA , COM.

17) Difference between classical objects and distributed objects.

Classical Objects Distributed Objects

A classical object is a collection of A Distributed object encapsulates


intelligence that encapsulates code data and business logic.

Department of Information Technology, SMVEC Page 32


ITT73 COMPONENT TECHNOLOGY

and data.
Classical objects provide reuse Distributed objects support all the
through inheritance and properties of object oriented
encapsulation. language.

Classical objects live within a Distributed objects are available


program. throughout the network.

18) Define IDL.

Interface Definition Language (IDL) is a standard language for defining function and
method interfaces for distributed or component-based applications. It enables
interoperability and connectivity with heterogeneous objects. IDL works by enabling
distributed Web applications that transparently invoke operations on remote network
services.

19) List out the properties of component.

The characteristic properties of a component are:

It is a unit of independent deployment;


It is a unit of third-party composition;
It has no (externally) observable state.

20) Give any six facilities of Components.


Security
Licensing
Versioning
Life cycle management
Event notification
Support for open tool palettes

Department of Information Technology, SMVEC Page 33

S-ar putea să vă placă și