0% found this document useful (0 votes)
17 views12 pages

CSA -M3 -Ktunotes.in

CSA Module 3

Uploaded by

Abhinav S
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views12 pages

CSA -M3 -Ktunotes.in

CSA Module 3

Uploaded by

Abhinav S
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

ktunotes.

in GET IT ON

Google Play

MODULE 3

CLIENT SERVICES
Client workstations request services from
the attached server. Whether this server is in fact the
same processor or a network processor, the application
format of the request is the same.
Network operating system translates or adds the
specifics required by the targeted requester to the
KTU
application request.
NOTES
Communication between all these running processes are
better described by Inter Process Communication (IPC),
these processes might be on the same computer, across
the LAN, or WAN.

Some of the main services that client performs (role


of client) are listed below:
• Responsible for managing the user interface.

• Provides presentation services.

• Accepts and checks the syntax of user inputs. User


input and final output, if any, are presented at the
KTU client workstation.

NOTES
• Acts as a consumer of services provided by one or
more server processors.
• Processes application logic.
The learning companion. • Generates database request and transmits to server.

KTU STUDY MATERIALS | SYLLABUS | LIVE • Passes response back to server.

NOTIFICATIONS | SOLVED QUESTION PAPERS

Website: www.ktunotes.in
Downloaded from Ktunotes.in
But in client server model one thing is very obvious through both:
that the services are provided by combination of
resources using both the client workstation processor • Shared Memory
and the server processor. • Message passing

Apart from these services discussed above some of


the other important services that are directly or
indirectly attached with the client services are given
below:
(a) Inter process communication.

(b) Remote services.

(c) Window services.

(d) Dynamic data exchange.


(e) Object linking and embedding.
(f) Common object request broker architecture
(CORBA).
(g) Print/Fax services.
(h) Database services.
While signals, pipes and names pipes are ways by
Inter Process Communication which processes can communicate. The more redefined
• The communication between two processes take method of inter process communication are message
place via buffer. The alternative way of queues, semaphores and shared memory.
communication is the process of the interprocess
communication. There are four types of mechanisms, involved for such
• The simple mechanism of this is synchronizing a communications:-
(i) Message passing.
their action and without sharing the same address
space. This play an important role in the distribute (ii) Direct communication.

processing environment. (iii) Indirect communication.

• The communication between these processes can (iv) Remote procedures call.

be seen as a method of co-operation between them.


Processes can communicate with each other
Downloaded from Ktunotes.in Downloaded from Ktunotes.in
(i) Message passing: This mechanism allows process of the processes.
to communicate without restoring the shared data. (iii) Indirect communication:
At least, there are two processes involved in an IPC. In indirect communication, messages are sending to the
Send (Q, msg)
mail box and then they are retrieved from mailbox.
P Q

Send (P, msg) Sending Sending


P Mail Box/ Q
Port
Receiving Receiving

Send (Q, msg) Fig. 5.6: Indirect Communication


P Q

Received (P, msg)

The role of the mailbox is quite similar to the role of


Fig.5.5: Message Passing the postman. The indirect communication can also
• Sending process for sending the message. communicate with other processes via one or more
• Receiving process for receiving the message. mailbox.
• Messages are directed and received from mailboxes
Messages sent by the processes are of two types, fixed (also referred to as ports)
and variable. For the communication to be taking place, • Each mailbox has a unique id
a link is to be set in between the two processes. • Processes can communicate only if they share a
(ii) Direct communication: In this mechanism of mailbox
communication processes have to specify the name Communication between the processes takes place by
of sender and recipient process name. executing calls to the send and receive primitive.These
This type of communication has the following features: primitives, can be “blocking” and “non-blocking”.
• A link is established in between the sender and
Properties of communication link
receiver along with full known information of
• Link established only if processes share a common
their names and addresses.
mailbox
• One link must be established in between the
• A link may be associated with many processes
processes.
• Each pair of processes may share several
• There is symmetry in between the communication
communication links
Downloaded from Ktunotes.in Downloaded from Ktunotes.in
Link may be unidirectional or bi-directional
• ➢ The essence of the technology is to allow programs on
The different possible combinations are: different machines to interact using simple procedure
• Blocking send: Sending the process is blocked call or return semantics, just as if the two programs were
until the message is received. on the same machine.
• Non-blocking send: In it process sends the ➢ In this the called procedure need not exist in the same
message and then it resumes the operation. address space as the calling procedure.
• Blocking receive: Receiver is blocked until the ➢ The two processes may be on the same system, or they
message is available. may be on different systems with a network connecting
• Non-blocking receive: The receiver receives them. That is, the procedure call is used for access to
either a valid message or a null. remote services.

In client-server based applications a binding is


formed when two applications have made a logical
connection and are prepared to exchange commands
and data. This client server binding specifies how
the relationship between a remote procedure and
the calling program will be established.
How RPC Works:
• An RPC mechanism is analogous to a function
call. Like a function call, when an RPC is made, the
calling arguments are passed to the remote
procedure and the caller waits for a response to
be returned from the remote procedure.
• Figure 5.7 illustrates the general architecture of
remote procedure call mechanism that takes

place during an RPC call between two
(iv)Remote procedures call: networked systems.
➢ RPC is a powerful technique for constructing distributed,
client-server based applications.
Downloaded from Ktunotes.in Downloaded from Ktunotes.in
RPC
Local RPC RPC
Application Module Module
RPC
Stub Stub
Local
Local Procedure
Response Calls Local
Response

Remote Server Application

Client Application
ClientApplication

Fig. 5.7: RPC Mechanism


A remote procedure is uniquely identified by the
triple: (program number, version number, procedure
number), the program number identifies a group of
related remote procedures, each of which has a unique
procedure number.
A program may consist of one or more versions.
Version numbers enable multiple versions of an RPC
protocol to be available simultaneously. Each version
contains a number of procedures that can be called
remotely. Each procedure has a procedure number.

During an RPC, the following steps take place:

1. The client calls the client stub. The call is a local


procedure call with parameters pushed onto the stack in
the normal way.
2. The client stub packs the procedure parameters into a
message and makes a system call to send the message.
Downloaded from Ktunotes.in Downloaded from Ktunotes.in
The packing of the procedure parameters is Pros and cons of RPC
called marshalling.
3. The client's local OS sends the message from the client Here are some of the advantages RPC provides for
machine to the remote server machine. developers and application managers:
4. The server OS passes the incoming packets to the server • Helps clients communicate with servers via the
stub. traditional use of procedure calls in high-level
5. The server stub unpacks the parameters -- languages.
called unmarshalling -- from the message. • Can be used in a distributed environment, as well as the
6. When the server procedure is finished, it returns to the local environment.
server stub, which marshals the return values into a • Supports process-oriented and thread-oriented models.
message. The server stub then hands the message to the
• Hides the internal message-passing mechanism from the
transport layer.
user.
7. The transport layer sends the resulting message back to
• Requires only minimal effort to rewrite and redevelop
the client transport layer, which hands the message back
the code.
to the client stub.
• Provides abstraction, i.e., the message-passing nature of
8. The client stub unmarshalls the return parameters, and
network communication is hidden from the user.
execution returns to the caller.
• Omits many of the protocol layers to improve
performance.

On the other hand, some of the disadvantages of RPC


include the following:

• The client and server use different execution


environments for their respective routines, and the use
of resources (e.g., files) is also more complex.
Consequently, RPC systems aren't always suited for
transferring large amounts of data.
• RPC is highly vulnerable to failure because it involves a
communication system, another machine and another
process.

Downloaded from Ktunotes.in Downloaded from Ktunotes.in


• There is no uniform standard for RPC; it can be that are burned into E-PROM (Erasable Programmable
implemented in a variety of ways. Read-Only Memory) to start the initial program load
• RPC is only interaction-based, and as such, it doesn't (IPL)that is known as Boot Process.
offer any flexibility when it comes to hardware
architecture. • Then partial operating system will be able to load the
Remote Services remote software’s that provides the remaining services
• In client server model applications can be invoked and applications functions to the client workstation.
directly from the client to execute remotely on a server. This is known as remote boot service provided by client
The workstation is responsible to provide various workstation .
remote services.
• Some important services are remote login, remote • Remote data access is one of the ISO multi-site
command execution, remote backup services, remote transaction processing and communication protocol
tape drive access and remote boot services, and remote used for heterogeneous data access.
data access .
• Software available with Network Operating System is • Using RDA technology, any client running an application
responsible to run on the client workstation to initiate will be able to access more than one database residing at
all these remote services. the different servers.
• Client server technology supports full-powered Window Services
workstations consistent GUI applications.
• In client server application, operating system at the
• Remote command execution is when a process on a host client workstation provides some windows services,
create a program to be executed on another host, usually these services are capable of to move, view, activate,
the invoking process wants to pass data to the remote hide, or size a particular window.
program, and capture its output also.
• From a client workstation backup services may be
• This is very helpful in the case of client workstation may
invoked remotely. Some of the business functions such
have several windows open on-screen at a time.
as downloading data from a host or checking a list of
stock prices might also be invoked locally to run
remotely. • It helps to provide notification messages of events that
• In certain cases to run some application, some of the
happened in server.
workstation clients do not have the local storage facility. • Application programs running on workstations have
In such scenario, client provides appropriate software’s been written with no windowing sensitivity.These
Downloaded from Ktunotes.in Downloaded from Ktunotes.in
application programs are written under virtual screen • For an example, if the Word for Windows document is to
assumptions, that virtual screens are generally receive data automatically from a range named IBM in a
dissimilar to the actual available physical screens. Microsoft Excel worksheet, named STOCKS.XLS then
• The NOS provides some software’s on the client STOCKS.XLS is the topic and IBM is the item.
workstation which is able to manage the creation of • With most of the programs, a simplest way to set up a
pop-up windows that display alerts generated from DDE link is to copy a block of data from the server
remote servers. application to the clipboard, activate the client
• Print complete, E-mail receipt, Fax available, and application, move the insertion point to the location in
application termination are examples of alerts that the receiving document where you want the information
might generate a pop-up window to notify the client to go, and then use a Paste Link command.
user. • With most server programs, some times it requires to
Dynamic Data Exchange (DDE) save data in a disk file before to paste it into a client
programs. Using Paste Link is the easiest way to
• DDE is usually described as a conversation between two
establish a DDE link, but it’s not the only way.
applications, a client application and a server
application. • Some programs that act as DDE clients have commands
that allow you to set up a DDE connection without first
• As we know that the client program is requests
putting the source data on the clipboard.
(receives) the information, and the server is the one that
response (supplies) it. DDE is a feature of some • Many DDE supporting applications also have macro
operating systems (like Windows 98, OS/2) language that user can use to establish DDE links. This is
presentation manager that enable users to pass data true with MS Excel, Word, Powerpoint, and many other
between applications to application. advanced windows applications.
• For an example, if an application wants to connect a • A DDE link may be automatic or manual. An automatic
Microsoft Excel spreadsheet with Microsoft Word for link is refreshed whenever the source data changes,
windows report in such a way that changes to the provided both the client and server applications are
spreadsheet are reflected automatically in the report, in running. A manual link is refreshed only when user issue
that case Microsoft Word for windows is the client and a command in the client application.
Microsoft Excel is the server.
• A DDE conversation always concerns a particular topic
and a particular item. The topic and item spell out the
nature of the information that the client is requesting
from the server.
Downloaded from Ktunotes.in Downloaded from Ktunotes.in
• Object Linking and Embedding (OLE) • Embedding, on the other hand, adds one document
• Object Linking and Embedding two services collectively
directly to the other. Embedded objects are stored
called as a single one, carried out with simple edit menu with the document that contains them.
procedures. •

Object linking and embedding (OLE) is a Microsoft • To link with OLE, copy data from OLE supporting
technology that facilitates the sharing of application data program to the Clipboard. Then use the paste link
and objects written in different formats from multiple command in another OLE supporting program.
sources. • To embed, follow the same procedure but use Paste
Linking establishes a connection between two objects, instead of Paste Link. Both programs must support OLE,
and embedding facilitates application data insertion. the program that supplies the data must support OLE as
OLE object meaning is graphic,spreadsheet,msword, etc. a server application, and the one that receives the data
that can be embedded into a document called the must support as a client application.
“container application.” • Generally, the OLE is known as an extension to DDE that
If the object allowed to be edited, the application enables objects to be created with the object
associated with it is called “server application“. components software aware (a reference to the object
or one of its components automatically launches the
• OLE is a software package that accesses data created

from another application through the use of a viewer or appropriate software to manipulate the data).
launcher.
• These viewers and launchers must be custom built for

every application.
• With the viewer, users can see data from one software
package while they are running another package.
• Launchers invoke the software package that created the

data and thus provide the full functionality of the


launched software.
• Linking adds a link in a document that points to

source data stored somewhere else. Linked objects


are stored in the document as a path to the original
linked data, usually a separate file from the container
document.
Downloaded from Ktunotes.in Downloaded from Ktunotes.in
CORBA=COMMON OBJECT REQUEST BROKER It can be termed as a software bus.
ARCHITECTURE
Data communication from client to server is accomplished
through a well defined obeject oriented interface.
CORBA an object oriented architecture that provides a
mechanism that allows various clients to share/call the Through this object oriented technology developers can
object (applications) over a mixed networks. use various OOP features.
Objects separates client with server
CORBA is a standard developed by object management Objects are described with interfaces – operations
group(OMG) to provide interconnectivity among (methods) – attributes (properties)
distributed objects.
CORBA is based on the distributed object computing
CORBA is one of the important middleware solution model, which combines the concepts of distributed
which enables the exchange of information, independent computing (client and server) and object-oriented
of hardware platforms, programming languages and computing (based on objects and operations).
operating systems.
In object-oriented computing, objects are the entities
It is a design specification for ORB (object Request that make up the application, and operations are the
Broker) model, where an ORB provides a mechanism tasks that a server can perform on those objects.
required for distributed objects to communicate with one For example, a banking application could have objects
another whether locally or on remote devices written in for customer accounts, and operations for depositing,
different languages. withdrawing, and viewing the balance in the accounts.

The CORBA Interface Definition language allows the


development of language and interface to distributed CORBA is a process of moving objects over network
objects. proving cross platform for data transfer.

Using CORBA, application components can communicate A client that needs a service sends a request to an object
with one another no matter where they are located or request broker.
who has designed them. The broker calls the appropriate object and passes along
any relevant data. Then the remote object ,services the
It provides location transparency. request and replies to the broker, which returns the
response to the client.
Downloaded from Ktunotes.in Downloaded from Ktunotes.in
The users at the client workstation can view the status of
the print/fax queues at any time.
And also some of the print/fax servers acknowledge the
client workstation when the print/fax request is
completed.
Database Services
• Client/Server model provides integration of data and

services allow clients to be isolated from inherent


complexities such as communication protocols.
In CORBA, a component can act as both a client and a • The simplicity of client server architecture allows clients
server. A component is considered as a server if it to make request that are routed to the database server
contains CORBA objects whose services are accessible (These requests are made in the form of transactions).
from some other CORBA object. Likewise, a component is
• In other words, client application submit database
considered as a client if it access services from some other
request to the server using SQL statements. Once
CORBA objects.
received the server processes the SQL statement and the
request are returned to the client application.

Client Server
Query

Query Result

Print/Fax Services
Client generates print/fax requests to the printer/fax Execution of SQL
machine without knowing whether they are free or busy.
Network operating system helps the client to generate the • Hence, most of the database requests are made using the
requests. These requests are redirected by the NOS SQL syntax. Because the language uses a standard form,
redirector software and managed by the print/fax server the same application may be run on multiple platforms.
queue manager.
Downloaded from Ktunotes.in Downloaded from Ktunotes.in
• Client application can concentrate on requesting input
from users, requesting desired data from server, and
then analyzing and presenting this data using the
display capabilities of the client workstation.
• Furthermore, client applications can be designed with
no dependence on the physical location of the data.
Client applications can be optimized for the processing
and storage of data.
• Application development tools are used to construct the
user interfaces (interface of clients with server and also
interface of front-end user to the back-end server); they
provide graphical tools that can be used to construct
interfaces without any programming. Some application
programs (spreadsheet and statistical–analysis
packages) uses the client server interface directly to
access data from back-end server.
SERVER SERVICES

Refer the notes in the group

Downloaded from Ktunotes.in

You might also like