chapter 13 internet and distributed application services
TRANSCRIPT
I. Distributed Computing Client-Server Architecture
Network printing services implemented with client-server architecture
Service request
ResponseDocument
Fig.13-2
Three-layer Architecture
User request View
layer
Information request Business
Logic layer
Unformatted response
Data layer
Database query
Query response
Fig. 13-3
N-Layer Client-Server Architecture
The data layer manages stored data, usually in one or more databasesThe business logic layer implements the rules and procedures of business processingThe view layer accepts user input and formats and displays processing results
II. Network Resource Access
Protocol stacksThey divide the task of network interaction
into several well-defined pieces that can be
separately implemented and installedThey provide the flexibility needed to keep
up with rapid protocol standard evolution
They insulate application programs and
many portions of the operating system from
details of low-level network communication
protocols and physical network
implementation, which ensures software
portability across a wide range of network
protocols and transmission media
Two upper-level stacks sharing a single NIU and driver
OSI Session layer Transport Layer
Interface
Sockets
OSI Transport layer Sequenced Packet
Exchange
Transmission Control Protocol
OSI Network layer Internet Packet
Exchange
Internet Protocol
Logical network interface driver Open Data Interface
OSI Data Link layer
(Physical Network Interface Driver)
10-Mbps Ethernet
OSI Physical layer Twisted-pair copper wire
Layer description Stack 1 Stack 2
Fig. 13-4
Accessing Remote ResourcesOperating systems, application programs, and user interfaces are simpler if there is no distinction between local and remote resource accessAll resources potentially are shared across a networkAny computer system potentially is both a client and a serverResources can be moved among computer systems
Software layers to access local and remote resources
Application program
Local service layer
Fig. 13-6
Resource locator
Service provider
Local device driver
Local hardware device
Service call
Service request
Service requestService request
Low-level protocol
stack
Network messages
Resource Locator has two important tasks:
•The locator resources referred to in service requests from local or remote users and programs•Route service requests to the appropriate service provider
III. Interprocess Communication
OSI Application layer
DCE
RPC
Named Pipes
OSI Session layer Sockets
OSI Transport layer Transmission Control Protocol
OSI Network layer Internet Protocol
Fig.13-7Peer-to-peer protocols layered over TCP/IP
TCP/IP layer
SocketsFig. 13-8 Multiple Processes communicating through sockets
Client
processClient
processClient
processClient
process
0|1|2|3|4|5|6•••Sockets
(129.24.8.212)
Physical layer
0|1|2|3|4|5|6•••Sockets
TCP/IP layer(207.46.230.219)
Physical layer
Network
Computer A Computer B
Named Pipes
A name that is permanently placed within a file system directoryThe ability to communicate among processes on different computers
Fig. 13-9Two processes communicating through a named pipe
Sending process Sending process
I/O bufferNamed pipe
ServiceI/O buffer Named pipe
Service
0|1|2|3|4|5|6•••Sockets
0|1|2|3|4|5|6•••Sockets
TCP/IP layer TCP/IP layer
Physical layer Physical layer
Computer A Computer B
File I/OService calls
File I/OService calls
Network
Remote Procedure CallsPasses parameters to the called processWaits for the called process to complete its taskAccepts parameters back from the called processResumes execution with the instruction following the call
IV. The Internet
•The Internet is a global collection of networks that are interconnected using TCP/IP•The World Wide Web(www), also called the Web, is a collection of resources(programs, files, and services) that can be accessed over the Internet by standard protocols such as the File Transfer Protocol(FTP) and Hypertext Transfer Protocol(HTTP)•An Intranet is a private network that uses Internet protocols but is accessible only by a limited set of internal users(usually members of the same organization or workgroup). It also describes a set of privately accessible resources that are organized and delivered via one or more Web protocols over a TCP/IP network
Standard Web Protocols and ServicesProtocol- an optional header specifying the resource access protocol (http:// is the default value)Host- the P number or registered name of an Internet host computer or devicePort- an optional port number that, together with the IP address, specifies a socket as described in Chapter 9 (if omitted, a standard port number for the protocol is assumed)Resource- the complete path name of a resource on the host (if omitted, the host can be configured to supply a default value)
http://
averia.unm.edu
:80/
default.htm
Fig. 13-11URL components
Optional protocol header and separator
Optional port number and separator
IP address or host name
Optional resource name on IP host
Fig. 13-1 Web protocols
Category Sample ProtocolsFormatted and linked documents Hypertext Markup Language
(HTML) and Extensible Markup Language (XML)
File and document transfer File Transfer Protocol (FTP) and Hypertext Transfer Protocol (HTTP)
Remote login and process execution
Telnet, tn3270, and Remote Procedure Call (RPC)
Mail and Messaging Simple Mail Transfer Protocol (SMTP), Post Office Protocol (POP), and Internet Message Access Protocol (IMAP)
Executable programs Java, JavaScript, and Visual Basic Script (VBScript)
Fig. 13-12 Telnet Connection
Telnet client
Network protocol
stack
O/S command
layer
Telnet server
Network protocol
stack
Local host
Remote stack
Fig. 13-15 A distributed Web-based application
Database server
Web server
Payroll database
Payroll update
application
Database server
software
Web server
software
Web browser software
Home or office microcomputer
User
Although sockets, named pipes, HTTP, and HTML are adequate to implement distributed applications, they’re not optimal for the following reasons:
•With lower-level protocols, server addresses are stored in client configuration files or source code. I server resources are moved, the clients must be reconfigured or recompiled.•Breaking up server-side processes into small manageable pieces is difficult. Each new distributed piece requires a new set of hard-coded connections.•Developers usually create large complex server processes to avoid the complexity of large numbers of connections between many smaller server processes. But doing so reduces the chances that server processes can be incorporated into multiple distributed applications.
V. Components and Distributed Objects
Component-•Is executable•Has a unique identifier•Has a well-known interface
Component-Based SoftwareThe developers of another word processing program want to incorporate the existing grammar-checking function into their productThe developers of the grammar-checking function modify it to improve speed and accuracy
Fig. 13-16Standard connectors and infrastructure enable communication between telephones
Telephone infrastructure
Two important issues protocols don’t address:
•Format and content of valid messages and responses•Means of uniquely identifying each component on the internet and routing messages to and from that component
CORBAObject Request Broker(ORB), a service that maintains a component directory and routes messages among componentsInternet Inter-ORB Protocol(IIOP), a component message-passing protocol
COM+Components are not assigned a permanent identifier and their internal states cannot be stored permanently. COM+ components can’t remember information from one invocation to the next. COM+ components are similar to functions or subroutines. CORBA components are objectsCOM+ Components are registered in the Windows Registry of the client machine on which they’re installed. The Windows Registry stores information other than component registrations, including hardware configuration, software configuration, and user profile information. A CORBA ORB is dedicated to component services
VI. Directory Services
•Stores the name and network address of distributed resources•Responds to directory queries•Accepts directory updates•Synchronizes replicated or distributed directory copies
Network operating system directories store information about:•Registered users and their permissions to access directory objects•Shared hardware resources such as printers•Shared files, databases, and programs•Computer systems and specialized hardware devices such as network storage appliances
Fig. 13-17An LDAP hierarchy of objects and container objects
O = School of Management O = School of Law
O = Faculty O = Workstations O = Servers
DN = AGUILA
DN = ASM
DN = AVERIADN = Ranjit Bose DN = Stephen Burd
Directory root
C = Mexico C = USA C = Canada
OU = University of New Mexico OU = New Mexico State University
O = School of Arts and Sciences