Download Chapter 11

Document related concepts

Concurrency control wikipedia , lookup

Database wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Database model wikipedia , lookup

Clusterpoint wikipedia , lookup

Transcript
Networked Applications
Chapter 11
Copyright 2001 Prentice Hall
Revision 2: July 2001
2
The Primacy of Applications


Users only care about applications
The other layers (transport, internet, data
link, physical) exist only to support
applications
Web-Enabled Database Access
4
Web-Enabled Database Access

Problem: Database is on a “database
server”



Mainframe or client/server server
These need proprietary client software or a
terminal
Problem: Most users only have browsers
User with Browser
Database Server
5
Web-Enabled Database Access

Solution: an application server (webserver
with intermediary software) mediates
between the two
User with Browser
Application Server
Database Server
6
Web-Enabled Database Access

Step 1: User types URL of data entry form

Step 2: Webserver application sends form
URL
Form
User with Browser
Application Server
Database Server
7
Web-Enabled Database Access

Step 3: User types information in form, hits
Send



Browser puts data in a request line
GET keyword
/cgi-bin is the absolute path to a directory
holding an intermediary program, bogo.exe
GET /cgi-bin/bogo.exe?last=Lee&first=Pat
8
Web-Enabled Database Access

Step 3: User types information in form, hits
Send



Data separated from absolute path by ?
last field contains the value Lee
first field contains the value Pat
GET /cgi-bin/bogo.exe?last=Lee&first=Pat
9
Web-Enabled Database Access

Step 3: Application server webserver
software passes data form to the
intermediary program, Bogo.exe, on the
webserver
Webserver
Application
Software
Intermediary
Program
(Bogo.exe)
Application Server
10
Web-Enabled Database Access

Step 4: Bogo.exe puts the data into a query
in the database server’s standard format

Sends the query to the server
(Bogo.exe)
Standard
Query
User with Browser
Application Server
Database Server
11
Web-Enabled Database Access

Step 5: Database server sends response in
its standard format to the intermediary
program, Bogo.exe
(Bogo.exe)
Standard
Response
User with Browser
Application Server
Database Server
12
Web-Enabled Database Access

Step 6: Application server intermediary
software (Bogo.exe) creates a new HTML
webpage containing the response
Webpage
Application Server
Intermediary
Program
(Bogo.exe)
13
Web-Enabled Database Access

Step 7: Application server intermediary
software passes this webpage to the
webserver application program
Webpage
Webserver
Application
Software
Application Server
Intermediary
Program
(Bogo.exe)
14
Web-Enabled Database Access

Step 8: Webserver application program
passes the webpage to the browser
Webpage
User with Browser
Application Server
Database Server
15
Web-Enabled Database Access

CGI and Intermediary Program

Intermediary program (Bogo.exe) does the
actual translation work
Webserver
Application
Program
Intermediary
Program
(Bogo.exe)
Database
Application
Program
16
Web-Enabled Database Access

CGI and Other Programs

Two standards for communication

Common Gateway Interface (CGI) standard


Highly standardized
Slow
Webserver
Application
Program
CGI
Intermediary
Program
(Bogo.exe)
Database
Application
Program
17
Web-Enabled Database Access

Application Program Interfaces (APIs)

Database servers have proprietary Application
Program Interfaces (APIs) for communication
with other application programs

Proprietary (not standardized)

Faster than CGI
Webserver
Application
Program
API
Database
Application
Program
18
Web-Enabled Database Access

Client-Side Processing


Webserver can download webpage with Java or
Active-X program
Client can then communicate directly with the
database server
Webpage with
Java applet
User with Browser
Subsequent Interactions
Database Server
19
New
Web Services

Another way to deal with back-end systems

Messages are sent via HTTP


Gets through most firewalls
Simple standard for easy implementation
Web service
HTTP Request Message
Application Server
HTTP Response Method
Database Server
20
New
Web Services

Web services are objects


Web services are objects; expose methods
(commands) on one or more interfaces
Messages govern exchanges; programming
language of Web service is irrelevant
Web service
Request (Method, Parameters)
Application Server
Database Server
21
Web Services

New
Message Body Follows the SOAP Standard


Syntax governed by XML
WebService request message
HTTP Headers
<?xml version=“1.0”?>
<BODY>
Simplified
<QuotePrice xmlns=“QuoteInterface”
<PartNum>QA78d<PartNum>
<Quantity>47</Quantity>
<ShippingType>Rush</ShippingType>
</QuotePrice>
</BODY>
22
Web Services

New
Message Body Follows the SOAP Standard


WebService response message
Messages have well-defined fields
HTTP Headers
<?xml version=“1.0”?>
Simplified
<BODY>
<QuoteResponse xmlns=“QuoteInterface”
<Price>$750.33</Price>
</QuoteResponse>
</BODY>
23
New
Web Services

Microsoft .NET Initiative

Uses SOAP Web services
SOAP
Body
Application Server
Web service
Database Server
24
Mainframes



Contain about 70% of corporate data from
operations (accounting, payroll, billing, etc.)
Often the “database server” in web-enabled
database applications
Mainframe market
dominated by IBM
Box
25
Terminal-Host Communication

Traditionally, Just a Terminal, Host, and
Transmission Line (Chapter 1)



Poor response time
Poor user interface: sending graphics over a
distance is expensive (and lines usually are slow)
Inadequate for production workers who use their
terminals hours per day
26
Mainframe Communication

User site has multiple terminal users

Called “3270” Terminals Generically

High speeds, some color, some graphics
User
Site
3270 Terminal
Box
27
Mainframe Communication

Box
Cluster Controller at User Site


Supports a cluster of terminals and printers
Provides limited on-screen text editing power to
terminals
 This elimination of text editing work allows
the mainframe to focus on high-value
database chores
Limited
Text Editing
Cluster
Controller
28
Mainframe Communication

Box
Cluster Controller at User Site

Multiplexes transmissions of multiple terminals
and printers to the central site
 This reduces transmission costs, which are
expensive for higher-speed long-distance
links
A A
A
B
AAA B B
B
LongDistance
Line
A
Central
Site
29
Mainframe Communication

Box
Transmission Line

Long-distance lines are expensive per bit sent

But 3270 terminals need high speeds

Multiplexes terminal communication onto 56
kbps, 1.544 Mbps or faster line to give high
speed but keep cost reasonable
LongDistance
Line
Central
Site
30
Mainframe Communication


Box
Central Site
Communications Controller


Handles multiplexing to reduce transmission
cost
Handles detailed interactions with cluster
controllers, freeing mainframe to deal with
database processing
Communications
Controller
31
Mainframe Communication

Reducing Response Time



Box
Text editing work is done locally
Still delay for heavy database work on
mainframe
Reducing Transmission Costs


Multiplexing, and
Cluster controller provides limited local screen
editing, so fewer bits need to be transmitted to
and from the mainframe
32
Mainframe Communication

Box
Reducing Work the Mainframe Needs to Do,
so that it can Focus on High-Value
Database Processing


Cluster controller handles most text-editing
chores freeing mainframe from having to
support this work, and
Communications controller handles details of
communication with cluster controllers, freeing
mainframe from having to support this work
33
Mainframes

Box
Use SNA Standards Architecture Instead of
TCP/IP


Not peer-to-peer control; Master-slave control
under a System Services Control Point program
on a mainframe
SSCP program governs all sessions among
devices
SSCP
34
Mainframes

Box
SNA Standards Architecture

Uses OSI standards at the physical and data link
layers

Path Control layer is like TCP/IP internet layer

Transmission Control layer is like the transport
layer

However, not peer to peer operation; master-slave
operation under the control of the SSCP
35
Mainframes

Box
SNA Standards Architecture

Highest layers are like OSI layers

Network Addressable Unit (NAU) Services layer
is like OSI session layer

Data Flow Control layer is like OSI presentation
layer

There is no SNA application layer
36
Mainframes

Box
SNA NAUs



Communication takes place between network
addressable units (NAUs)
Unit is a general name for a communicating
entity
In networks, communicating entities must have
addresses; So they are network addressable
units
37
Mainframes

Box
Logical Units

Deal directly with end users

Terminals are logical units!

Connection points on mainframe (not
mainframe itself) deal with application
programs,which are considered to be end users
Application
Human
User
LU6
Connection
38
Mainframes

Box
Physical Units



Do not deal directly with end users
Mainframe, communications controller, cluster
controller
Path control network connects cluster controller
and communication controller
Path
Control
Network
39
Mainframes

Box
SSCP

Third type of NAU

Program located on the mainframe

In classic SNA, two other NAUs can only be
connected under the control of the SSCP
40
Mainframes

Versions of SNA

Classic SNA


All communication under the control of SSCP
Advanced Peer-to-Peer Networking (APPN)


Box
Newer; NAUs can connect directly
High-Performance Routing


Classic SNA and APPN are difficult to route
Newer still; HPR improves routing
41
Mainframes

Box
SNA and Router Networks


To link cluster controllers to communications
controller over routed networks
Data Link Switching (DLSw) standard supports
SNA transmission through routers

High-Performance Routing (HPR) is better
42
Mainframes

Box
SNA and Router Networks

Mainframe can even connect directly to a router
instead of to a communications controller
43
Mainframes
Box

Mainframes and TCP/IP Networks

TN3270E


PC with
TN3270E
Client
TN3270E servers communicate with mainframe
Users have PCs with TN3270E client software
that emulates 3270 terminals
TCP/IP
Network
TN3270E Server
Electronic Mail
45
E-Mail

Client Software and Mail Hosts


Client PC has E-Mail client software that
communicates with user’s mail host
Mail hosts deliver outgoing mail to other mail
hosts
PC with
E-Mail Client
Mail Host
Mail Host
PC with
E-Mail Client
46
SMTP

Simple Mail Transfer Protocol (SMTP)


Standard for mail host-mail host exchanges
E-Mail Client often sends messages to mail host
via SMTP, but not always
SMTP
PC with
E-Mail Client
SMTP
Mail Host
Mail Host
47
SMTP Operation

For Each Message, the Sending Process

Makes a connection

Gives name of sender (From) and gets OK

Gives names of receivers individually and gets
OK for each separately

Asks to send message, gets OK

Sends message, gets confirmation

Closes connection
48
Receiving and Sending E-Mail

User’s Mail Host Stores Incoming Files in
the User’s Mailbox

User later retrieves them

User also sends outgoing mail
Receive Mail
Send Mail
Client PC
Mail Host
With User’s Mailbox
49
POP Clients

POP (Post Office Protocol) is the most
popular standard for mail downloading



Download messages all or selectively
Still send outgoing messages via SMTP
Works via Internet
SMTP
SMTP
POP
PC with
Internet E-Mail Client
Mail Host
Mail Host
50
POP Operation

Several client-mail host interactions needed
to download new mail




Log into mail host
Can ask how many new messages there are
and how long they are
Can download all or download one at a time
If download one at a time, can decide based on
length

Can delete messages on host after downloading

Close the session
51
IMAP Clients

IMAP (Internet Message Access Protocol)

More sophisticated than POP for downloading


Can manage messages stored on the mail
host
But not widely adopted
IMAP
PC with
Internet E-Mail Client
Mail Host
Mail Host
52
Browser Clients (Web-Based E-Mail)


Client is Browser
Mail Host is a Webserver



Mail host sends HTML pages to client
User types messages and retrieval data in
forms, sends back
All communication is via HTTP
HTTP
PC with
Browser
SMTP
Webserver
Mail Host
Mail Host
53
Telnet Clients

Some mail hosts support Telnet

Telnet client on PC emulates a simple
terminal



No color or graphics
Monospaced Text
Sometimes only way to interact with a mail host
Telnet
PC with
Telnet Client
SMTP
Mail Host
Supporting Telnet
Mail Host
54
Recap on Internet E-Mail Transmission

Communication Between Mail Hosts


SMTP
Communication From Client to its Mail Host

SMTP
Proprietary file server program access on LANs
HTTP

Telnet


55
Recap on Internet E-Mail Transmission

Communication to Client from its Mail Host
to deliver messages




POP or IMAP
Proprietary file server program access on LANs
HTTP
Telnet
Implied in text but
not directly stated
Note on Internet E-Mail Transmission

Client and Server can Communicate Over
the Internet

Except for File Server Program Access

You can access your e-mail from anywhere

Must have the right client program
Client PC
Mail Host
With User Mail Box
56
57
Message Structure Standards

RFC 822


MIME



Text-only message bodies
Multimedia message bodies and headers
Not widely used for bodies or headers
HTML Bodies


Becoming common
Not well standardized; Limited interoperability
between mail clients
58
Attachments

Send a message



Attach a file (word processing document,
spreadsheet, graphic, etc.)
E-mail can be a file delivery mechanism
Viruses

Attachments may contain viruses

Virus scanning before opening is critical
59
Attachments

Problem


Attached files use all 8 bits of each byte
 Called binary data
On Internet, can only use the first seven bits
 Called 7-bit ASCII
th bit may be
 In Internet transmission, 7
truncated if send binary file
10101010
x1010101
Binary
Internet
60
Attachments

Internet Encoding


Files must be Internet encoded before
transmission to travel over the Internet using
only the first 7 bits in each byte
At the receiving end, files must be Internet
decoded so that applications can read them
Internet
Encoding
Internet
Transmission
Internet
Decoding
10101010
x1010101
x1010101
10101010
Binary
Internet
Internet
Binary
61
Attachments

Internet Encoding Example (There are
Other Internet Encoding Standards)


Break file into groups of three data bytes (24
bits)
Create group of four encoded bytes (32 bits)
Data Bytes
Encoded Bytes
11111111
00000000
11111111
62
Attachments

Internet Encoding Example (There are
Other Internet Encoding Standards)

Put six bits of each data byte in each outgoing
byte
 Leaves two bits free in each outgoing byte
6,2
Data Bytes
11111111
00000000
Encoded Bytes
xx111111
xx11
11111111
63
Attachments

Internet Encoding Example (There are
Other Internet Encoding Standards)

Put six bits of each data byte in each outgoing
byte
 Leaves two bits free in each outgoing byte
4,4
Data Bytes
11111111
00000000
Encoded Bytes
xx111111
xx110000
xx0000
64
Attachments

Internet Encoding Example (There are
Other Internet Encoding Standards)

Put six bits of each data byte in each outgoing
byte
 Leaves two bits free in each outgoing byte
2,6
Data Bytes
11111111
00000000
11111111
Encoded Bytes
xx111111
xx110000
xx000011
xx111111
65
Attachments

Internet Encoding Example (There are
Other Internet Encoding Standards)



Lowest 31 ASCII codes are control codes
Add 32 (100000) to each outgoing byte so that
it will not become a control code
8th bit is still fee, as required
Encoded Bytes
xx111111
xx110000
xx000011
xx111111
x1011111
x1010000
xx100011
x1011111
Add 100000
Encoded Bytes
66
Attachments

Internet Encoding Standards


Communicating mail clients must use the same
Internet encoding standard to encode and
decode
MIME
 Several versions of MIME exist
 Basic MIME is almost universally supported
by e-mail clients today

Binhex is commonly used on Macintoshes

UUENCODE is common in UNIX
67
Attachments

E-Mail users should negotiate before
sending an attachment

Internet encoding standard they will use

Application file format they will use



If same application program and version,
fine
If same application program and different
versions, send in format of older version
If different application programs, send in a
format and version the other can import
IP Telephony
Voice-Data Convergence
69
What is IP Telephony?

Transmit telephone conversations in IP
packets sent over the Internet or another
network, such as Ethernet, Frame Relay, or
ATM carrying IP packets
IP Packet
70
IP Telephony



Digitize the outgoing voice signal
Packetize (place in packets) and send over
IP packet-switched networks
Reverse at other end
Digitize
Packetize
71
Why IP Telephony?
Digitize

Save Money

Digitizing Voice More Efficiently



64 kbps
Current telephone system also digitizes voice
for at 64 kbps
IP telephony can digitize voice with speeds as
low as 12 kbps
Sending less data per call saves transmission
costs
Digitize
12 kbps16 kbps
Why IP Telephony?

Packet-Switched Network Delivery


72
Multiplexes trunk lines for reduced transmission
line costs
Reduced Management Costs

Only have to manage one network instead of
two
Packetize
73
Problem of Latency


Packet-Switched Networks Often Have
Latency (Delay)
Latency is Bad for Voice Conversations



At latency of 200 milliseconds (ms),
conversation is difficult because of turn-taking
awkwardness
At latency of 500 ms, conversation is impossible
Variable latency from one packet to the next
makes voice sound jittery (jitter)
74
Reducing Latency

Solution


Site
Connect all corporate sites to a single ISP
Possible because some ISPs have access points
in many places around the country or even
around the world
Single ISP
SLA for
Low Latency
Site
75
Reducing Latency

Solution


Site
Connect all corporate sites to a single packet-
switched PSDN
Packet-switched PSDNs also have low latency,
SLAs
PSDN
SLA for
Low Latency
Site
76
Evolution of IP Telephony

Initially, Only Use Between Sites

Add IP telephony modules to PBXs
Communicate over the Internet in IP
Use traditional telephony within sites

Saves on long-distance, which is expensive


Site
Site
77
Evolution of IP Telephony

Eventually, Service to the Desktop

Combine with data service to the desktop

Computer-Telephony Integration (CTI)
applications
 When caller calls in, automatically linked
with relevant data
 To improve applications, not necessarily to
save money

Problem: technology is not readily available or
standardized
78
IP Telephony Standards

Based on H.323 Videoconferencing
Standard from ITU-T


For videoconferencing over the Internet or
other IP networks
IETF, ITU-T have agreed to work together
on IP telephony standards
79
Questions about IP Telephony

Will it be Sufficiently Reliable?

Ordinary telephony is super reliable

Available 99.999% of the time

Can IP telephony offer sufficient reliability?
80
Questions about IP Telephony

Will it Really Save Money?



Was very promising when long-distance and
international costs were very high
But these costs are falling rapidly and will
continue to do so
Will it save enough money to be worthwhile?