Title: Internet and Distributed Application Systems
1Internet and Distributed Application Systems
2Summary
- 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.
3Summary
- Distributed processes must communicate with one
another to exchange data and synchronize their
activities. - The Internet is a global network based on TCP/IP
and many other protocols.
4Summary
- 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.
5Chapter Topics
- Distributed computing
- Network resource access
- Interprocess communication
- Internet components
- Distributed objects
- Directory services
6Distributed Computing
- Client-Server Architecture
- Distributed parts of an information system across
many computer systems and locations is called
distributed computing. - Client-server architecture is the current
architecture for distributed computing.
7Distributed Computing
- Client-Server architecture divides the software
into two classes - Clients
- Servers
8Distributed 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.
9Distributed Computing
10N-Layer Client-Server Architecture
- The software is divided into client and server
processes called layers or tiers. - Data layer
- Business logic layer
- View layer
11N-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.
12N-Layer Client-Server Architecture
13Network Resources
- Protocol Stacks
- Accessing Remote Resources
14Network Resources
- Protocol Stacks software that implements the
lowest five levels of the OSI model. - Advantages of Protocol Stacks
- They divide the task of network interaction into
several well-defined pieces that can be
separately implemented and installed.
15Network Resources
- Advantages of Protocol Stacks
- They 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.
16Network Resources
Not OSI
17The Internet
- Internet terms
- Standard Web Protocols and Services
- The Internet as an Application Platform
18The 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 by a limited set of
internal users.
19The Internet URLs
- 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.
20The Internet URLs
- 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. Not required when?
21The Internet URLs
22The Internet - Protocols
23The Internet - Protocols
- Hypertext Markup Language (HTML) a
device-independent document-formatting language
in which links to other documents can be
formatted. - Extensible Markup Language (XML) extends HTML
to describe the structure, format and content of
documents.
24The Internet - Protocols
- Hypertext Transport Protocol (HTTP) a companion
protocol to HTML and XML that specifies the
language by which clients request documents and
how servers respond to those requests. Related to
FTP. - Telnet Protocol users on one Internet host can
interact with the operating system command layer
of another host.
25The Internet - Protocols
26The Internet - Protocols
- Simple Mail Transport Protocol (SMTP) defines
how text messages are forwarded and routed among
Internet hosts. - Multipurpose Internet Mail Extensions (MIME)
allow non-text files to be included in mail
messages.
27The Internet - Protocols
- Post Office Protocol version 3 standardizes the
interaction between e-mail clients and servers so
the client and server can execute on different
Internet hosts.
28The Internet
- Internet scripting languages are slimmed-down
programming languages. - The perform many functions of programs without
the need for compilation or link editing. - JavaScript and VBScript are two widely used
scripting languages.
29Network Resources
- Accessing Remote Resources
- Connections to resources can be either static or
dynamic. - A static connection is initialized by the user or
system administrator prior to accessing a remote
resource.
30Network Resources
31Remote Resources
- Operating systems, application programs, and user
interfaces are simpler if there is no distinction
between local and remote resource access. - All resources potentially are shared across a
network. - Any computer system potentially is both a client
and a server. - Resources can be moved among computer systems.
-
32Network Resources
- Remote resource access in modern operating
systems is based on the following premise
(cont.)
33Network Resources
34Network Resources
- The resource locator has two important tasks
- Locate resources referred to in service requests
form local or remote users and programs. - Route service requests to the appropriate service
provider.
35Network Resources
- Dynamic Connections the interaction between a
resource locator and a primary resource
registration repository is inherently dynamic.
36Interprocess Communication
- Sockets
- Named Pipes
- Remote Procedure Calls
- DCE
- MOM
37Interprocess Communication
- Peer-to-Peer Communication Protocols allow
processes to use communication synchronously
across a network. - These protocols are used by system software such
as operating systems and database management
systems to exchange data and coordinate
activities.
38Interprocess Communication
39Interprocess Communication
- Sockets
- 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)
40Interprocess Communication
41Interprocess Communication
- Named Pipes
- 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.
42Interprocess Communication
43Interprocess Communication
- Remote Procedure Calls
- With a remote procedure call protocol, a process
on one machine can call a process on another
machine.
44Interprocess Communication
- Remote Procedure Calls
- 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.
45Remote Procedure Call Approach
Client/Server
Single Machine
Server
Client
Find students enrolled
Print roll
Find students enrolled
Print roll
Client stub
Server stub
46RPC Sessions
- Distributes standard code modules
- Program functions distributed between client and
server - Stubs manage communication
- Client waits for response
- Session connected by
- service port ids addresss
47DCE Tickets and RPC
- Distributed Computing Environment
48Message Oriented Sessions
- More complex than RPC
- Each message header contains enough data to route
and process - Messages are queued at client
- Client may process other actions
- MOM Message Oriented Middleware
49Components and Distributed Objects
- Component-Based Software
- Components and Objects
- Connection Standards and Infrastructure
- CORBA
- Usually MOM
50Components and Distributed Objects
- Component-Based Software
- Components are ready-to-use software.
- Every component has a unique identifier, which is
a number or symbolic name. - A components interface is the set of services or
tasks it performs.
51Components and Distributed Objects
- Components and Objects
- Components are similar to objects within an OO
program because they send and respond to
messages, encapsulate internal data, and interact
with other components through a well-defined
interface.
52Components and Distributed Objects
- Components and Objects
- Components are usually developed with OO software
development tools and programming languages.
53Components and Distributed Objects
- Connection Standards and Infrastructure
- Interoperability among hardware or software
components requires well-defined and widely
adopted standards. - Software components require similar standards for
connections and services.
54Components and Distributed Objects
- Connection Standards and Infrastructure
- Connecting components located on different
machines running different operating systems
requires a standard network protocol. - Internet services and protocols such as TCP/IP
and sockets provide part of a component
connection solution.
55Components and Distributed Objects
- CORBA - Industry-wide component specifies the
middleware used by objects to interact across the
network. - Two components
- Object Request Broker (ORB) a service that
maintains a component directory and routes
messages among components. - Internet Inter-ORB Protocol (IIOP) a component
message-passing protocol.
56Components and Distributed Objects
- COM - a Microsoft specification for component
interoperability. - Differences between CORBA and COM
- COM components are not assigned a permanent
identifier. - COM components are registered in the Windows
Registry of the client machine.
57The Internet
- The Internet as an Application Platform
- The Internet can be used to allow employees
access to application programs. - Implementing the application via the Internet
expands its accessibility and eliminates the need
to install custom client software on the
employees laptop computers. - The disadvantage to placing applications on the
Internet security, performance and reliability.
58Directory Services
- Middleware that
- Stores the name and network address of
distributed resources. - Responds to directory queries.
- Accepts directory updates.
- Synchronizes replicated or distributed directory
copies.
59Directory Services
- Typically, 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.
60Directory 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.
61Directory Services fig 13-17
62Directory Services MS AD
- Partitioned, replicated, synchronized