Title: Internet Applications and Distributed Data Processing
1Internet Applications and Distributed Data
Processing
2Outline
- Internet Applications
- The Internet
- Internet applications
- Network Models
- Distributed Data Processing
- Network Architectures
- Network Configurations
3Internet Applications
4Internet Applications
- There are four important Internet application
software tools - the Web
- electronic mail (e-mail)
- FTP
- Telnet
Less important applications WAIS, gopher
5World Wide Web
- One of the fastest growing Internet software
applications is the World Wide Web. - The Web was first conceived in 1989 by Tim
Berners-Lee at the European Laboratory for
Particle Physical (CERN) in Geneva. - CERNs first Web browser was written in 1990, but
it was 1991 before it was available on the
Internet for other organizations to use.
6World Wide Web
- In 1993, Marc Andeessen, a student at the
University of Illinois, led a team of students
that wrote Mosaic, the first graphical Web
browser, as part of a project for the
universitys National Center for Supercomputing
Applications (NCSA) - In 1994, Andreessen and some colleagues left NCSA
to form Netscape.
7WWW Sites Growth
8How the Web Works
Server computer with Web Server software
HTTP Request
Client computer with Web Browser software
HTTP Response
9How the Web Works
- Each client computer needs a Web browser.
- Each server needs a Web Server.
- Web address Internet Uniform Resource Locator
(URL) - The protocol for communication between a Web
browser and a Web server Hypertext Transfer
Protocol (HTTP). - Web page design language Hypertext Markup
Language (HTML)
10How the Web Works
Command URL HTTP version
GET http//tcbworks.cba.uga.edu/adennis/res.htm
HTTP/1.1 Date Mon 03 Aug 1998 173546
GMT User-Agent Mozilla/3.0 From
adennis_at_uga.cc.uga.edu Referer
http//tcbworks.cba.uga.edu/adennis/home.htm
- Request Line
- Date
- Web browser (this is Netscape)
Request Header
- Users e-mail address
URL that contained the link to the requested
URL (Request body is optional here)
A Request from a Web browser to a Web server
using the HTTP standard
11A response from a Web server to a Web browser
using the HTTP standard
HTTP version Status code Reason phrase
HTTP/1.1 200 OK Date Mon 03 Aug
1998 173546 GMT Server NCSA/1.3 Location
http// tcbworks.cba.uga.edu/adennis/res.htm Cont
ent-type text/html lthtmlgt ltheadgt lttitlegtBusiness
Data Communications and Networking Web Resources
lt/titlegt lt/headgt ltbodygt ltH2gtResources on the Web
lt/H2gt ltPgtThis section contains links to other
resources on the WEB that pertain to the field
of data communications and networking
lt/Pgt lt/bodygt lt/htmlgt
- Date
- Web server
Response Header
- URL
- Type of file
Response Body
12Internet Search Engines
- Search engines are Web sites that routinely use
software spiders to explore the Web. There are
literally dozens of search engines and
directories on the Web. Three of the best are - Yahoo (http//www.yahoo.com)
- Altavista
- Google
- (More netscape, GoTo.com, HotBot, Snap,
About.com, Lycos, LookSmart) - A metasearch engine (like MetaCrawler
http//www.metacrawler.com) simultaneously sends
requests to many search engines and then
integrates the responses.
13E-mail Clients Servers
14E-mail Standards
- Mail Transfer Agents
- Three most commonly used standards are
- SMTP (Simple Mail Transfer Protocol)
- X.400 (developed by CCITT in 1984).
- CMC (Common Messaging Calls, a simpler version of
the X.400 standard, developed by CCITT with IBM,
Lotus and Microsoft in 1994.) - All three e-mail standards work in the same basic
fashion.
15E-mail Standards
- User agents
- Post Office Protocol 3 (POP3), which defines how
operate and how messages to and from mail
transfer agents are formatted. - Internet Mail Access Protocol (IMAP).
- Non-text message transmission
- Multipurpose Internet Mail Extension (MIME),
uuencode and binhex.
16How the SMTP e-mail works
Server computer with e-mail server
software (message transfer agent)
SMTP packet
Client computer with e-mail client
software (user agent)
LAN
SMTP packet
Internet
SMTP packet
Server computer with e-mail server
software (message transfer agent)
IMAP or SMTP packet
Client computer with e-mail client
software (user agent)
LAN
SMTP packet
17How web-based e-mail works
Server computer with Web server software
HTTP request
Client computer with Web browser
SMTP packet
Server computer with mail server software
LAN
SMTP packet
HTTP response
Internet
Server computer with mail server software
SMTP packet
HTTP request
Client computer with Web browser
LAN
IMAP or SMTP packet
HTTP response
IMAP packet
Server computer with Web server software
18How the Instant Messaging works
IM packet
Client computer with e-mail client
software (user agent)
LAN
IM packet
Server computer with IM server software
LAN
IM packet
Internet
Client computer with IM client software
IM packet
LAN
19E-mail Directories
- Before you can send an e-mail message, you must
know the receivers e-mail address. Currently
there are no universal e-mail directories. - X.500 is the directory service for X.400 mail
users, but at present there are few standard
application software packages that conform to
X.500. - Lightweight Directory Access Protocol (LDAP) is a
subset of X.500.
20Other Network Applications
- Groupware
- Discussion groups (e.g. listserv)
- Document-based groupware
- Group support systems
- Videoconferencing. Provides real-time
transmission of video and audio signals to enable
people in two or more locations to have a
meeting.
21Listserv
- Listserv group is similar in concept to the
usenet newsgroups but is generally less formal. - One part, the listserv processor, processes
commands such as requests to subscribe,
unsubscribe, or to provide more information about
the listserv. - The second part is the listserv mailer. Any
message sent to the listserv mailer is re-sent to
everyone on the mailing list.
22More Groupware
ICQ (web site) ICQ Newsgroups Web Search
ICQ Web-Pager ICQ Friendship Pages
E-greeting
Gaming E-mail Internet Telephony External
Applications
- Multicast Backbone (MBONE)
23Network Models
24Network Model
- A method of describing and analyzing data
communications networks, by breaking the entire
set of communications functions into a series of
layers, each of which can be defined separately. - This allows vendors to develop software and
hardware to provide the functions separately.
25Open Systems Interconnection (OSI)
- Developed by the International Organization for
Standardization (ISO) in 1984 - The primary architectural model for intercomputer
communications. - A conceptual model composed of seven layers, each
specifying particular network functions. - Describes how information from a software
application in one computer moves through a
network medium to a software application in
another computer.
26Why Study OSI?
- Still an excellent model for conceptualizing and
understanding protocol architectures - Key points
- Modular
- Hierarchical
- Boundaries between layersinterfaces
27ISOs OSI Model
- OSI has 7 layers
- Application layer
- Presentation layer
- Session layer
- Transport layer
- Network layer
- Data link layer
- Physical layer
28(No Transcript)
29OSI Lower Layers
- Physical Layer 1
- Responsible for transmission of bits
- Always implemented through hardware
- Encompasses mechanical, electrical, and
functional interfaces - e.g. RS-232
- Data Link Layer 2
- Responsible for error-free, reliable transmission
of data - Flow control, error correction
- e.g. Ethernet
- Network Layer 3
- Responsible for routing of messages through
network - Concerned with type of switching used (circuit v.
packet) - Handles routing between networks, as well as
through packet-switching networks
30OSI Upper Layers
- Transport
- Isolates messages from lower and upper layers
- Breaks down message size
- Monitors quality of communications channel
- Selects most efficient communication service
necessary for a given transmission - Session
- Establishes logical connections between systems
- Manages log-ons, password exchange, log-offs
- Terminates connection at end of session
- Presentation
- Provides format and code conversion services
- Example File conversion from ASCII to EBDIC
- Application
- Provides access to network for end-user
- Users capabilities are determined by what items
are available on this layer - Logic needed to support various applications
- Each type of application requires different
software on this layer
31Application Viewpoint of a Network
- Distributed data communications involves three
primary components - Networks
- Computers
- Applications
- Three corresponding layers
- Network access layer
- Transport layer
- Application layer
32TCP/IP
- Transmission control Protocol/Internet Protocol
- Developed by DARPA
- No official protocol standard
- Can identify five layers
- Application
- Host-to-Host (transport)
- Internet
- Network Access
- Physical
33OSI Model
Internet Model
OSI Model
Application layer http, telnet, snmp, smtp,
nfs, ftp
TCP, UDP
Internet layer IP layer
IPv4, IPv6
Layer 3
Data Link Layer
(HDLC)
Network access layer
Layer 2
Physical layer
Layer 1
34Sender
Receiver
Application Layer
Application Layer
HTTP
Request
HTTP
Request
Transport Layer
Transport Layer
HTTP
TCP
Request
HTTP
TCP
Request
Network Layer
Network Layer
HTTP
TCP
IP
Request
HTTP
TCP
IP
Request
Data Link Layer
Data Link Layer
HTTP
TCP
IP
Ethernet
Request
HTTP
TCP
IP
Ethernet
Request
Physical Layer
Physical Layer
35Distributed Data Processing
36Data Processing
- Centralized data processing
- Computer, data, control, staff and processing are
centralized - Distributed data processing (DDP)
- May include centralized center plus satellite
facilities - Involves distributed computer, data, and
processing - Greater flexibility in meeting individual needs
- More redundancy and more autonomy
37Reasons for DDP
- Need for new applications
- On large centralized systems, development can
take years - On small distributed systems, development can be
component-based and very fast - Need for short response time
- Centralized systems result in contention among
users and processes - Distributed systems provide dedicated resources
38Networking Implications
- Connectivity requirements
- What links between components are necessary?
- Availability requirements
- Percentage of time application or data is
available to users - Performance requirements
- Response time requirements
39Functions of Data Processing System
- The work done by any application program can be
divided into four general functions - data storage
- data access logic
- application logic
- presentation logic
40Network Architecture
- Students list link in course homepage
Student records
Web browser
Web Server
students.pl
Data Storage
Presentation Logic
Application Logic Data Access Logic
Geek (129.118.49.111)
41Servers
- A computers suitability to serve as the server
or host for an online, real-time data
communication network depends on both its own
capabilities and the capabilities of other
attached hardware. - There are three typical types of hosts
- Mainframe computers
- Minicomputers
- Microcomputers
42Clients
- The client is the input/output hardware device at
the users end of the communications circuit. - There are four major categories of clients
- Terminals
- Microcomputers / workstations
- Network computers
- Special purpose terminals
43Network Architectures
- From a viewpoint of distributed application
system, there are three fundamental network
architectures - Host-based networks the host computer performs
virtually all of the work - Client-based networks the client computer
performs virtually all of the work - Client-server networks the work is shared
between the hosts and clients
44Host-Based Architectures
Host-Based Architectures
45Client-Based Architectures
Example Novell NetWare 3.12
46Client-Server Architectures
- More organizations today are moving to
client-server architectures. - Client-Server attempts to balance the processing
between the client and the server by having both
do some of the processing.
47(No Transcript)
48 Costs and Benefits of Client-Server
Architectures
- Client-server architectures are scaleable
- Client-server architectures can support many
different types of clients and servers. - Because no single host computer supports all the
applications, the network is generally more
reliable.
49Client-Server Architectures
- Client-server architectures also have some
critical limitations, the most important of which
is their complexity. - Even updating the network with a new version of
the software is more complicated too. - Much of the debate between host- and
client-server networks has centered on cost.
Microcomputer hardware is more than 1000 times
cheaper than mainframe hardware for the same
amount of computing power.
50Middleware
- Client-server networks enable software and
hardware from different vendors to be used
together. Unfortunately, they have few
standards. One solution is middleware, software
that sits between the application software on
both the client and the server. - Middleware does two things
- It provides a standard way of communicating that
can translate between software from different
vendors. - It manages the message transfer from clients to
servers so that the clients need not know the
specific server that contains the applications
data.
51Middleware
- Examples of middleware
- OMG's CORBA (Common Object Request Broker
Architecture) - Open Groups DCE (Distributed Computing
Environment) - DCOM (Distributed Component Object Model)
- ODBC (Open Database Connectivity) and OLEDB
- JDBC (Java Database Connectivity)
52Two-tier, Three-tier, and N-tier Architectures
Two-tiered client-server architecture
53Web Architecture
54Two-tier, Three-tier, and N-tier Architectures
Three-tiered client-server architecture
55N-tier Architectures
N-tiered client-server architecture
565-Tier Example
- IMWs Forum User Database Updating
SQL Server 7.0
NT/IIS
NT/IIS
BSD/Apache
NT Web Server
NT Web Server
Web Browser
FTP Server
Database Server
Member
Member
Forum
Chicago
Austin
57Thin Clients versus Fat Clients
- Another way of classifying client-server
architectures is by examining how much of the
application logic is placed on the client. - A thin client places little or no logic on the
client, and are easier to manage. - A fat client places all or almost all of the
application logic on the client. - There is no direct relationship between thin/fat
clients and 2-/3-/n-tiered architectures.
58Network Architecture
Thin client/server
Presentation Logic
Application Logic
Client/server
Middleware
Application Logic
Data Access Logic
Client-based
Data Storage
59Web Services
60Introduction
- Web
- Application to user communication across the
internet. - Web Services
- Application to application communication across
the internet. - Self-contained and modular applications.
- Can be described, published, located, and invoked
over a network. - Applications can be built by discovering and
orchestrating network-available services. - A Web Service is described using a formal XML
notation called service description.
61Web Services Description and Standards
- Service Description
- Message Format
- Transport Protocol
- Location
- Encapsulates implementation details
- Key standards used to reach this new horizon
- Hyper Text Transport Protocol (HTTP)
- Extensible Markup Language (XML)
- Simple Object Access Protocol (SOAP)
- Web Services Description Language (WSDL)
- Universal Description, Discovery and Integration
(UDDI) - Business Process Execution Language for Web
Services (BPEL4WS)
62Architecture Overview(Conceptual Web Services
Stack)
Service Flow
BPEL4WS
Service Discovery
Static? UDDI
Service Publication
Direct ? UDDI
Service Description
WSDL
XML-Based Messaging
SOAP
Network
HTTP, FTP, e-mail, MQ, IIOP, etc.
63Main players and standards
- Microsoft .NET
- SUN Open Net Environment (ONE)
- IBM Web Service Conceptual Architecture (WSCA)
- W3C Web Service Workshop
- Oracle Web Service Broker
- Hewlett-Packard Web Service Platform
64Web Services standards
- WSDL Web Services Description Language
http//www.w3.org/TR/wsdl - descriptions of Web Services
- UDDI Universal Discovery, Description
Integration http//www.uddi.org/spec
ification.html - registries containing service descriptions
- SOAP Simple Object Access Protocol
http//www.w3.org/TR/SOAP/ - transport protocol for communication between Web
Services - BPEL4WS
- http//xml.coverpages.org/bpel4ws.html
- Emerging standards WSRP, WSIA, WSXL.
65Simple Object Access Protocol (SOAP)
- A way for a program running in one kind of OS to
communicate with a program in the same or another
kind of OS by using HTTP and XML as the
mechanisms for information exchange. - SOAP specifies exactly how to encode an HTTP
header and an XML file so that a program in one
computer can call a program in another computer
and pass it information. It also specifies how
the called program can return a response.
66IBM Web Services model
Service provider
WSDL SOAP
WSDL UDDI
Publish
Bind
Service requestor
Service registry
Find
WSDL UDDI
67Service Registries
- UDDI Web Service standard
- Global public registry
- Private registries
- JISC Information Environment registry
- Grid Service registry
- Service type
- Service instance
- Functionality
- Registries are dynamic services
- Implement searching across multiple registries
- New Web Services compliant products ?
68 Web Service Model
- The Web Services architecture describes three
roles - Service provider
- Service requester
- Service registry
- It describes three basic operations
- Publish
- Find
- Bind.
- It also has two artifacts
- Service
- Service description
69Web Service Model
Service Description
Service
Web Services roles, operations and artifacts
70Web Services Model
- The web services development lifecycle
- Build
- Deploy
- Run
- Manage
- To perform three operations (publish, find, and
bind) in an interoperable manner, there must be a
Web services stack that embraces standards at
each level. - The IBM Web Services Stack is examined.