components of client server application

60
COMPONENTS OF CLIENT/SERVER APPLICATION II ME CSE 2015-16 ODD SEMESTER (III SEMESTER)

Upload: ashwin-ananthapadmanabhan

Post on 12-Apr-2017

2.246 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Components of client server application

COMPONENTS OF CLIENT/SERVER APPLICATIONII ME CSE

2015-16 ODD SEMESTER (III SEMESTER)

Page 2: Components of client server application

TOPICS Client services

Request for servicesRPCWindows servicesFax /Print servicesOther remote servicesUtility services & other servicesDynamic Data Exchange(DDE)Object Linking and Embedding(OLE)Common Object Request Broker Architecture(CORBA)

Page 3: Components of client server application

TOPICS (CONT) Server Services

Detailed server functionalityThe network operating systemAvailable platformsThe server operating system

Page 4: Components of client server application

CLIENT SERVICES• Responsible for managing the user interface• Provides presentation services• Accepts and checks the syntax of user inputs• Acts as a consumer of services• Processes application logic• Extended at the client by adding logic that is not implemented in the host server application Like

Local editing, automatic data entry, help capabilities, and other logic processes

• Generates database request and transmits to server• Passes response back to the server

Page 5: Components of client server application

REQUEST FOR SERVICESA client workstation requests services form the

attached server. whatever may be the type of processor the format

of request is the same. It is the job if the NOS software to translate or add

the necessary details as required by the targeted requester to the application request.

Page 6: Components of client server application

MESSAGE PASSING Allows process to communicate without restoring the shared data

Two processes involved in an IPCSending process for sending the messageReceiving process for receiving the message

Messages sent by the processes are classified into:Fixed Variable

Page 7: Components of client server application

DIRECT COMMUNICATIONProcesses have to specify the name of sender and recipient

process name.A link is established in between the sender and receiver along

with full known information of their names and addresses.Link must be established in between the processes.There is symmetry in between the communication of the

processes.

Page 8: Components of client server application

INDIRECT COMMUNICATION

• Messages are sent to the mail box and then they are retrieved from mailbox.

• Communicate with other processes via one or more mailbox.

Page 9: Components of client server application

INDIRECT COMMUNICATION(CONT)

• Role of Mail Box is similar to

Page 10: Components of client server application

INDIRECT COMMUNICATION(CONT)

Features•A link is established between a pair of processes, if they share a mailbox.•A link is established between more then one processes.•Different number of links can be established in between the two communicating process.

Page 11: Components of client server application

INDIRECT COMMUNICATION(CONT)

Possible combinations of send and receive can be•Blocking Send – Returns control to the user only after the message has been sent or until ACK has been received.•Non-blocking Send – Returns control as soon as the message queued or copied.•Blocking Receive – Returns only after message has been received.•Non-blocking Receive – Receiver receives either a valid message or a NULL.

Page 12: Components of client server application

REMOTE PROCEDURES CALL (RPC)RPC allow programs on different machines to interact using

simple procedure call or return semantics.It appears as if the two programs were on the same machine.It is based on extending the notion of conventional or local

procedure calling.So that the called procedure need not exist in the same address

space as the calling procedure.The two processes may be on the same system, or they may be

on different systems with a network connecting them.Marshalling transferring data structure used in remote

procedure call from one address space to another.

Page 13: Components of client server application

RPC (CONT)General Architecture

Page 14: Components of client server application

RPC MECHANISM1. Client calls a local procedure on the

client stub2. The client stub acts as a proxy and

marshalls the call and the args.3. The client stub send this to the remote

system (via TCP/UDP)4. The server stub unmarshalls the call

and args from the client5. The server stub calls the actual

procedure on the server6. The server stub marshalls the reply

and sends it back to the client

Page 15: Components of client server application

WINDOW SERVICESA client workstation may have several windows open

on-screen at any timeCapability to provide activate, view, move, resize or

hide a particular window->Essential Services.They interact with message services provided to notify

the user of events that occur on a server. Each application is written with the assumption that it

has a virtual screen. This virtual screen can be an arbitrary size and can

even be larger than the physical screenCLIENT SERVER COMPUTING / UNIT I 15

Page 16: Components of client server application

WINDOW SERVICES(CONT’D)The application using GUI software places data into the virtual

screen.Then the windowing services handle placement and manipulation

of the application window. There is no need for the developer to build or manage the

windowing services. The client user is totally in control of his or her desktop and can

give priority to the most important tasks.The NOS(Network Operating System) provides software on the

client workstation to manage the creation of pop-up windows that display alerts generated from remote servers.

CLIENT SERVER COMPUTING / UNIT I 16

Page 17: Components of client server application

WINDOW SERVICES(CONT’D)

Page 18: Components of client server application

SAFE TO DISABLE SERVICESTablet PC Input ServiceWindows TimeSecondary logonFaxMicrosoft iSCSI Initiator ServiceEncrypting File SystemCertificate Propagation

CLIENT SERVER COMPUTING / UNIT I 18

Page 19: Components of client server application

PRINT/FAX SERVICESThe NOS enables the client to generate print requests

even when the printer is busy. The NOS redirector software redirects it and the print

server queue manage further manage it.The client has facility to view the status of the print

queue at any time and client is also notified when the print is completed.

The fax server also works like print server.

Page 20: Components of client server application

OTHER REMOTE SERVICESApps can be invoked from the client to execute

remotely on a server . E.g Backup Services.Business functions such as downloading data from

a host or checking a list of stock prices might also be invoked locally to run remotely.

Software is provided by the NOS to run on the client workstation to initiate these remote applications.

Page 21: Components of client server application

OTHER REMOTE SERVICES(CONT’D)Mobile computing is increasingly being used to

remain functional while out of the office. With appropriate architectural forethought,

applications can be built to operate effectively from the office LAN or the remote laptop.

The IPC protocol of choice for mobile access is TCP/IP based. 

Page 22: Components of client server application

OTHER REMOTE SERVICES(CONT’D)

Page 23: Components of client server application

UTILTY AND OTHER SERVICESUtility Services The operating system facilitates some local functions which are very often used to perform actions like edit, copy, move, compare and help which works on the client end. Message Services

Messages can be sent and received to or from the network synchronously. The message services provide the buffering, scheduling and arbitration services to support this function.

Network Services  The client workstation communicates with the network through protocol, some set of service and API’s that creates, send and receive and format network messages.

Application Services In addition to the remote execution services that the NOS provide, custom applications will use their own API’s embedded in an RPC to invoke specialized services form a remote server.

Page 24: Components of client server application

DYNAMIC DATA EXCHANGE(DDE)• DDE -A conversation between two applications(a client

application and a server application)• It is a feature of some operating systems (like Windows 98,

OS/2) presentation manager that enable users to pass data between applications to application.

• Eg1: If an application wants to connect a Microsoft Excel spreadsheet with Microsoft Word for windows report in such a way that changes to the spreadsheet are reflected automatically in the report

• In the above case, Microsoft Word for windows is the client and Microsoft Excel is the server.

• Primary function of DDE is to allow Windows applications to share data.

Page 25: Components of client server application

DDE(CONT)Eg2: A charting package can be linked to a database to provide

the latest chart data whenever the chart is referenceConcerned about a particular topic and a particular item. The topic and item is the nature of the information that the

client wants.

Page 26: Components of client server application

HOW TO SET UP A DDE LINK?• Eg: If the Word for Windows document is to receive

data automatically from a range named IBM in a Microsoft Excel worksheet, named STOCKS.XLS

• Then STOCKS.XLS is the topic and IBM is the item.• Simplest way to set up a DDE link is Copy a block of data from the server application to the

clipboardActivate the client applicationMove the insertion point to the location in the receiving

document where you want the information to go

Page 27: Components of client server application

DDE(CONT) Then use a Paste Link command (With most

server programs, some times it requires to save data in a disk file before pasting).

A DDE link may be automatic or manual. An automatic link is refreshed whenever the

source data changes, provided both the client and server applications are running.

A manual link is refreshed only when you issue a command in the client application.

Page 28: Components of client server application

OBJECT LINKING AND EMBEDDING(OLE)OLE is an extension to DDE that enables objects to be created with

the object components software aware. Aware -a reference to the object or one of its components

automatically launches the appropriate software that manipulate the data.

Page 29: Components of client server application

OLE(CONT)For example, a document created with a word processor may

include an image created by a graphics package. The image can be converted to the internal graphics form of the

word processor, such as WPG form for WordPerfect.

Page 30: Components of client server application

STEPS INVOLVED IN OLE

Page 31: Components of client server application

OLE(CONT)With OLE, the image can be included in its original form within the document

object; whenever the image is selected or highlighted, the graphics package will take control to manipulate the image.

Viewer or launcher is the one by which software package accesses data created from another one.

It is custom builtViewer-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.Advantage: any DDE- or OLE-enabled application can use any software that

supports these data interchange APIs. Eg: Microsoft has released its OLE 2.0 software development kit (SDK)

Page 32: Components of client server application

OLE 2.0•OLE 2.0 extends OLE capabilities to enable a group of data to be defined as an object and saved into a database. •This object can then be dragged and dropped into other applications and edited without the need to switch back to the application which created it.• This provides a more seamless interface for the user. ADVANTAGE OF OLE2.0 OVER OLE1.x:•In OLE 1.x, double-clicking a Lotus 1-2-3 for Windows spreadsheet embedded in a Microsoft Word for Windows document launches 1-2-3 and opens the document in a 1-2-3 window.• Under OLE 2.0, the active window (Word's) menu and toolbar change to that of 1-2-3.• The user deals only with the object.

Page 33: Components of client server application

COMMON OBJECT REQUEST BROKER ARCHITECTURE (CORBA)

• CORBA is an object oriented architecture.• It has the mechanism that allows various clients to share/call the

objects over mixed networks.• The objects are the applications.• In specific CORBA is a process of moving objects over networks

with cross platform data transfer.• For the process to take place the client sends the request to an object

request broker(ORB).

Page 34: Components of client server application

CORBA(CONT)• The client that needs the service sends the request to ORB acting as a

directory of all the remote services available on the network.• The representation of ORB is given as

Page 35: Components of client server application

CORBA(CONT)The broker calls the relevant object and passes the relevant data.The remote object services the request and replies to the broker

which in turn responses the client.The object communication may rely on an RPC structure.CORBA architecture is similar to the client server architecture.In this a component can act as client and a server.

Page 36: Components of client server application

CORBA(CONT)• How the component is considered as sever/client is given as,• A component is considered as server if it contains CORBA objects

whose services are accessible from other CORBA objects.• A component is considered a client if it accesses services from other

CORBA objects.

Page 37: Components of client server application

CORBA(CONT)In case of single remote method invocation the role of client server

can be temporarily reversed.This is possible because a single CORBA object can participate in

multiple interactions simultaneously.Furthermore, any component that provides an implementation for an

object is considered as a server. If a component creates an object and provides other components

with visibility to that object (i.e., allows other components to obtain references to that object).

Page 38: Components of client server application

CORBA(CONT)• Then that components acts as server for that object.• Any requests made on that object by other components will be

processed by the components that creates the object. • Thus, a CORBA server means the components execute methods for

a particular object on behalf of other components (Clients).

Page 39: Components of client server application

CORBA(CONT)• An application component can provide services to other application

components while accessing services from other components.• In that scenario, the components is acting as a client of one

component and as a server to the other components i.e., two components can simultaneously act as client and server to each other.

Page 40: Components of client server application

COMPONENT ACTING AS CLIENT/SERVER

Page 41: Components of client server application

REQUEST PROCESSING Requests are issued by a client to the NOS services

software resident on the client machine. These services format the request into an

appropriate RPC and issue the request to the application layer of the client protocol stack.

This request is received by the application layer of the protocol stack on the server.

Page 42: Components of client server application

FILE SERVICESFile services handle access to the virtual directories and

files located on the client workstation and to the server's permanent storage.

 All requests are mapped into the virtual pool of resources and redirected as necessary to the appropriate local or remote server

Page 43: Components of client server application

FAX/PRINT/IMAGE SERVICES High-quality printers, workstation-generated faxes, and

plotters are natural candidates for support from a shared server.

The server can accept input from many clients, queue it according to the priority of the request and handle it when the device is available.

Incoming faxes can be queued at the server and transmitted to the appropriate client either on receipt or on request.

In concert with workflow management techniques, images can be captured and distributed to the appropriate client workstation from the image server

Page 44: Components of client server application

THE NETWORK OPERATING SYSTEM Novell NetWare LAN Manager IBM LAN Server Banyan VINESPC Network File Services (NFS) 

Page 45: Components of client server application

NOVELL NETWARENetWare is a family of LAN products with support for

IBM PC-compatible and Apple Macintosh clients, and IBM PC-compatible servers.

NetWare is a proprietary NOS in the strict sense that it does not require another OS, such as DOS, Windows

Page 46: Components of client server application

NETWARE ARCHITECTURE NetWare to an open architectureNetWare evolved from a very

simple concept: file sharing instead of disk sharing.

In 1983 when the first versions of NetWare originated, all other competing products were based on the concept of providing shared direct disk access.

Novell's alternative approach was validated by IBM in 1984, which helped promote the NetWare product.

Page 47: Components of client server application

LAN MANAGERLAN Manager was a Network

Operating System (NOS) available from multiple vendors and developed by Microsoft in cooperation with 3Com Corporation.

IBM LAN Server Banyan VINESPC Network File Services

(NFS)

Page 48: Components of client server application

WHAT ARE THE AVAILABLE PLATFORMS? Workstations in LAN ConfigurationLAN-to-LAN/WAN ConfigurationOLTP on a LANOLTP with UNIX 

Page 49: Components of client server application

WORKSTATIONS IN LAN CONFIGURATIONThis model is the most

basic implementation providing the standard LAN services for file and printer sharing. 

Page 50: Components of client server application

LAN-TO-LAN/WAN CONFIGURATION• Routers and communication servers will be used to provide

communication services between LANs and into the WAN• In the client/server model, these connections will be provided

transparently by the SDE tools. • There are significant performance implications if the traffic

volumes are large. IBM's LU6.2 implementation in APPC and TCP/IP provides the best support for high-volume, LAN-to-LAN/WAN communications.

• DEC's implementation of DECnet always has provided excellent LAN-to-WAN connectivity.

• Integrated support for TCP/IP, LU6.2, and IPX provides a solid platform for client/server LAN-to-WAN implementation within DECnet. Novell 4.x provides support for TCP/IP as both the LAN and WAN protocol. Internetworking also is supported between IPX and TCP/IP.

Page 51: Components of client server application

OLTP ON A LANOnline Transaction Processing applications are found in

such industries as insurance, finance, government, and sales—all of which process large numbers of transactions.

OLTP has traditionally been the domain of the large mainframe vendors—such as IBM and DEC—and of special-purpose, fault-tolerant processors from vendors such as Tandem and Stratus. The client/server model has the capability to provide all the services required for OLTP at much lower cost than the traditional platforms.. 

Page 52: Components of client server application

OLTP WITH UNIXAs UNIX has matured, it has added many of the features

found in other commercial operating systems such as VMS and MVS.

There are now several offerings for OLTP with UNIX. IBM is promoting CICS 6000 as a downsizing strategy for CICS MVS.

Database services will be provided by a combination of AIX and MVS servers.

Novell purchased the Tuxedo product from AT&T with its acquisition of USL. OSF selected the Transarc Ensina product as the basis for OLTP with DCE

Page 53: Components of client server application

THE SERVER OPERATING SYSTEMNetWareOS/2Windows NT UNIX 

Page 54: Components of client server application

NETWARE • NetWare is used by many organizations, large and small, for the

provision of file, printer, and network services. • NetWare is a self-contained operating system. It does not require

a separate OS (as do Windows NT, OS/2, and UNIX) to run.• Novell is taking steps to allow NetWare to run on servers with

UNIX.• Novell purchased USL and will develop shrink-wrapped products

to run under both NetWare and UNIX System V, Release 4.2. • The products will enable UNIX to simultaneously access

information from both a NetWare and a UNIX server. 

Page 55: Components of client server application

OS/2 OS/2 is the server platform for Intel products provided

by IBM in the System Application Architecture (SAA) model.

OS/2 provides the storage protection and preemptive multitasking services needed for the server platform.

Several database and many application products have been ported to OS/2. T

he only network operating systems directly supported with OS/2 are LAN Manager and LAN Server.. 

Page 56: Components of client server application

Windows NTWindows NT is a family

of operating systems produced by Microsoft, the first version of which was released in July 1993.

It is a processor- independent, multiprocessing, multi-user operating system.

Page 57: Components of client server application

UNIXUnix (all-caps UNIX for the trademark) is a family

of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, developed in the 1970s at the Bell Labs research centre by Ken Thompson, Dennis Ritchie, and others.

Page 58: Components of client server application

UNIX ARCHITECTUREA Unix architecture is a

computer operating system system architecture that embodies the Unix philosophy.

It may adhere to standards such as the Single UNIX Specification (SUS) or similar POSIX IEEE standard.

No single published standard describes all Unix architecture computer operating systems - this is in part a legacy of the Unix wars.

Page 59: Components of client server application

UNIX ARCHITECTURE(CONT)• Unix systems use a centralized operating system kernel which manages

system and process activities.• All non-kernel software is organized into separate, kernel-managed

processes.• Unix systems are pre-emptively multitasking: multiple processes can

run at the same time, or within small time slices and nearly at the same time, and any process can be interrupted and moved out of execution by the kernel. This is known as thread management.

• Files are stored on disk in a hierarchical file system, with a single top location throughout the system (root, or "/"), with both files and directories, subdirectories, sub-subdirectories, and so on below it.

• With few exceptions, devices and some types of communications between processes are managed and visible as files or pseudo-files within the file system hierarchy. This is known as everything is a file. However, Linus Torvalds states that this is inaccurate and may be better rephrased as "everything is a stream of bytes"

Page 60: Components of client server application

UNIX FeaturesMultitasking and multiuserProgramming interfaceUse of files as abstractions of devices and other

objectsBuilt-in networking (TCP/IP is standard)Persistent system service processes called

"daemons" and managed by init or inet