components of client server application
TRANSCRIPT
COMPONENTS OF CLIENT/SERVER APPLICATIONII ME CSE
2015-16 ODD SEMESTER (III SEMESTER)
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)
TOPICS (CONT) Server Services
Detailed server functionalityThe network operating systemAvailable platformsThe server operating system
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
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.
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
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.
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.
INDIRECT COMMUNICATION(CONT)
• Role of Mail Box is similar to
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.
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.
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.
RPC (CONT)General Architecture
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
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
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
WINDOW SERVICES(CONT’D)
SAFE TO DISABLE SERVICESTablet PC Input ServiceWindows TimeSecondary logonFaxMicrosoft iSCSI Initiator ServiceEncrypting File SystemCertificate Propagation
CLIENT SERVER COMPUTING / UNIT I 18
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.
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.
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.
OTHER REMOTE SERVICES(CONT’D)
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.
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.
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.
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
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.
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.
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.
STEPS INVOLVED IN OLE
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)
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.
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).
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
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.
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.
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).
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).
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.
COMPONENT ACTING AS CLIENT/SERVER
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.
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
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
THE NETWORK OPERATING SYSTEM Novell NetWare LAN Manager IBM LAN Server Banyan VINESPC Network File Services (NFS)
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
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.
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)
WHAT ARE THE AVAILABLE PLATFORMS? Workstations in LAN ConfigurationLAN-to-LAN/WAN ConfigurationOLTP on a LANOLTP with UNIX
WORKSTATIONS IN LAN CONFIGURATIONThis model is the most
basic implementation providing the standard LAN services for file and printer sharing.
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.
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..
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
THE SERVER OPERATING SYSTEMNetWareOS/2Windows NT UNIX
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.
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..
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.
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.
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.
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"
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