Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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?