Title: Internet and Distributed Application Services
1Internet and Distributed Application Services
2Objectives
- Describe client-server and multi-tier application
architecture and discuss their advantages
compared to centralized applications - Explain how operating systems and network
protocol stacks cooperate so users and programs
can access remote resources - Describe low-level protocols for interprocess
communication across networks, including sockets,
named pipes, RPC, and DCE - List and describe standard Internet protocols
used to access distributed resources - Discuss component-based application development
and describe the protocols and standards that
support component-based applications - Explain the role and function of directory
services and the LDAP standard
3Chapter Topics
4Distributed Computing
- Client-server architecture is the current
dominate architecture for distributed computing.
5Distributed Computing
- Client-server architecture is the current
dominate architecture for distributed computing.
6Distributed Computing
- Client-Server Architecture
- A server manages one or more system resources and
provides access to those resources through a
well-defined communication interface. - A client uses the communication interface to
request resources from the server.
7Distributed Computing
- 3-Layer Client-Server Architecture
- Data layer manages stored data, usually in one
or more databases - Business logic layer implements the rules and
procedures of business processing - View layer accepts user input and formats and
displays processing results
8Distributed Computing
9Network Resource Access
- Protocol Stacks
- Software that implements the lowest five
levels of the OSI model.
10Network Resource Access
- Advantages of Protocol Stacks
- divide the task of network interaction into
several well-defined pieces that can be
separately implemented and installed - provide the flexibility needed to keep up with
rapid protocol standard evolution - insulate application programs and many portions
of the operating system from details of low-level
network communication protocols.
11Network Resource Access
12Network Resource Access
- Accessing Remote Resources
- A static connection is initialized by the user or
system administrator prior to accessing a remote
resource. - A dynamic connection is created by the
interaction between a resource locator and a
primary resource registration repository.
13Network Resource Access
14Network Resource Access
15Interprocess Communication
16Interprocess Communication
- Peer-to-peer protocol
- Socket
- Named Pipe
- Remote Procedure Call
17Interprocess Communication
- Socket
- A socket is a unique combination of an IP number
and a port number. - A port number is an unsigned 16-bit integer.
(65,536 possible port numbers)
18Interprocess Communication
19Interprocess Communication
- Named Pipe
- A named pipe has a name that is permanently
placed within a file system directory and the
ability to communicate among processes on
different computers.
20Interprocess Communication
21Interprocess Communication
- Remote Procedure Call
- With a remote procedure call protocol, a process
on one machine can call a process on another
machine. -
22Interprocess Communication
- Remote Procedure Call
- The calling process
- Passes parameters to the called process.
- Waits for the called process to complete its
task. - Accepts parameters back from the called process.
- Resumes execution with the instruction following
the call.
23Technology Focus
24The Internet
- Internet a global collection of networks that
are interconnected using TCP/IP. - World Wide Web a collection of resources that
can be accessed over the Internet. - Intranet a private network that uses Internet
protocols but is accessible only by a limited set
of internal users.
25The Internet
- Standard Web Protocols and Services
- All resources are identifies by a unique Uniform
Resource Locator (URL). - The URL has four parts protocol, host, port and
resource.
26The Internet
- Uniform Resource Locator
- Protocol an optional header specifying the
resource access protocol. - Host the IP number or registered name of an
Internet host computer or device. - Port an optional port number that specifies the
socket. - Resource the complete path name of a resource
on the host.
27The Internet
28Interprocess Communication
29Interprocess Communication
30Interprocess Communication
- In later versions of HTML, program code or
scripts can be embedded within HTML documents.
31Interprocess Communication
32Interprocess Communication
33Components and Distributed Objects
- Component-Based Software
- A component is a standardized and
interchangeable software module that - Is executable
- Has a unique identifier
- Has a well-known interface
- Similar to objects within an OO program
34Components and Distributed Objects
- CORBA - Industry-wide component specifies the
middleware used by objects to interact across the
network. - Two components
- Object Request Broker (ORB)
- Internet Inter-ORB Protocol (IIOP)
- COM - a Microsoft specification for component
interoperability. -
35Components and Distributed Objects
- Differences between CORBA and COM
- Components are not assigned a permanent
identifier. - Components are registered in the Windows Registry
of the client machine.
36Components and Distributed Objects
37Components and Distributed Objects
- Simple Object Access Protocol (SOAP)
- SOAP is a standard for distributed object
interaction that attempts the shortcomings of
both CORBA and COM.
38Components and Distributed Objects
39Directory Services
- Lightweight Directory Access Protocol (LDAP)
- An LDAP directory stores information about LDAP
objects. - Each object is an instance of an objectclass.
- An objectclass defines the attributes common to
all member objects. - LDAP objects are organized in a hierarchy.
40Directory Services
41Technology Focus
42Technology Focus
43Summary
- Modern information systems typically are
distributed across many computer systems and
geographic locations. - A network protocol enables user and applications
to interact with resources and applications on
remote computer systems. - Distributed processes must communicate with one
another to exchange data and synchronize their
activities.
44Summary
- The Internet is a global network based on TCP/IP
and many other protocols. - Component-based applications divide an
application into many different cooperating
processes or distributed objects. - With directory services, users, resources, and
components can find one another on the Internet.