chapter 13 internet and distributed application services

34
CHAPTER 13 Internet and Distributed Application Services

Upload: bernard-claude-wilkins

Post on 16-Dec-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

CHAPTER 13Internet and Distributed

Application Services

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

The Internet as an Application Platform

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

Components and objectsConnection Standards and Infrastructure

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

Lightweight Directory Lightweight Directory Access Protocol (LDAP)Access Protocol (LDAP)

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