1 / 34

CSE5306 Holiday

CSE5306 Holiday. No Quiz Due 25 June 2014. Distributed Web-Based Systems. The World Wide Web is a millions of clients (user interfaces) and servers (storage) sharing their linked documents via one huge location-transparent distributed system.

yvon
Download Presentation

CSE5306 Holiday

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSE5306 Holiday No Quiz Due 25 June 2014

  2. Distributed Web-Based Systems • The World Wide Web is a millions of clients (user interfaces) and servers (storage) sharing their linked documents via one huge location-transparent distributed system. • The graphical user interface, Mosaic, boosted the Web’s popularity. • The WWW Consortium standardizes protocols improves interoperability and enhances web capabilities; e.g., Web services.

  3. R U O K ? 1. How did the World Wide Web begin? • The U.S. Department of Defense created ARPANET, so that government researchers could readily exchange military secrets. • Thirty-five years ago, CSE faculty invented it in what is now the Science Building here at UTA. • It began as a project at CERN, the European Particle Physics Laboratory in Geneva. • Sort of a combination of all of the above. • None of the above.

  4. Architecture • Web architecture is like all distributed systems. • Web documents have changed from static/ passive to dynamic/active. • Web-based service industries are outpacing document deliveries.

  5. Traditional Web-Based Systems Fig.12-1, p.547 • A traditional Web site (above) consists of a client’s browser and a (Web) server with document storage. • We refer to documents with URLs (Uniform Reference Locators), which include the server’s DNS name plus a file name. • The browser application can display a variety of file formats and graphically interact with its user. • The client and server communicate via the HyperText Transfer Protocol (HTTP).

  6. R U O K ? Match the following terms with their definitions below. 2. WWW __ 3. Mosaic __ 4. WWW Consortium __ 5. Browser __ 6. URL __ 7. HTTP __ • Uniform Reference Locators, which include the server’s DNS name plus a file name, point at Web documents. • Standardizes protocols to improve interoperability and enhances Web servicecapabilities. • Displays a variety of file formats, graphically interacts with its user and fetches Web documents from servers. • Millions of user-interfaced clients and servers sharing their linked documents via one huge location-transparent distributed system. • The HyperText Transfer Protocol, by which Web servers and clients communicate. • The first graphical user interface, which boosted the Web’s popularity.

  7. Web Documents Fig.12-2, p.549 • Web documents can contain text, audio, video, etc. • Links inside documents can refer to other “embedded documents” or helper apps. • A document’s main part is written in HTML (HyperText Markup Language) or XML (extensible markup language, in which the user can define custom tags (item definitions). • Every embedded document has a MIME (Multipurpose Internet Mail Exchange) type (see table above): • Application—the only (server provided plug-in) application that can interpret this doc. • Multipart—a composite doc (recursively) consisting of many docs.

  8. R U O K ? 8. How does HTML differ from XML? • HTML has a relatively fixed field identifying tags, but XML defines its own tags, thus creating meta-languages. • Originally intended as an extension of HTML, XML is continually extending itself. • Clients and Web servers find HTML quite adequate, but Web services need XML’s flexibility. • All of the above. • None of the above.

  9. Multi-tiered Architectures Fig.12-3, p.550 • A CGI (Common Gateway Interface) program helps the Web server deliver/generate forms for users to fill out; e.g., merchandise orders. • It also processes user entries, passing them to the server as HTML-formatted application parameters; i.e., a “server-side script.” • The Web server may call upon Java program “servlets” to manage shopping carts, remember customers’ favorites, etc. • The server’s database and apps are performance bottlenecks, but caching and replication can help.

  10. R U O K ? Match the following terms with their definitions below. 9. Web document __ 10. Embedded documents __ 11. XML __ 12. HTML __ 13. MIME __ 14. CGI __ 15. Server-side script __ 16. Servlets __ • A Common Gateway Interface program that helps a Web server deliver/generate forms for users to fill out. • The HyperText Markup Language used to create the main parts of Web pages. • May contain text, audio, video, etc. • A markup language, in which users may attach custom tags to unknown items. • Multipurpose Internet Mail Exchange types define embedded documents. • Short Java programs that are called upon by Web servers to manage shopping carts, remember customers’ favorites, etc. • Processes user entries, passing them to the Web server as HTML-formatted application parameters. • Links inside Web documents that point at other documents or helper apps.

  11. Web Services • Web service organizations deliver apps to clients that do not need to interact with a server.

  12. Web Services Fundamentals Fig.12-4, p.552 • Web services offer naming, weather reports, merchandise for sale. • To help new users “discover” them on the Internet, the services adhere to standards, which form the core of Web services architecture similar to RPCs (see above). • The UDDI (Universal Description, Discovery and Integration) standard prescribes a database layout like AT&T’s Yellow Pages. • Services are described by procedure specifications, data types and logical service locations, written in Web Services Definition Language (WSDL), which looks and acts like RPC’s IDL (pp.134, 7). • The Simple Object Access Protocol (SOAP) standardizes a framework for communications between services and clients.

  13. R U O K ? 17. How does The UDDI standard help users discover needed Internet services? • It prescribes a database layout like AT&T’s Yellow Pages. • Services are described by procedure specifications, data types and logical service locations. • Entries are written in WSDL, which looks and acts like RPC’s IDL. • All of the above. • None of the above.

  14. Web Services Composition & Coordination • A service may be distributed among many servers on a LAN, which are coordinated by a deamon interacting with the client. • A “complex service” may consist of many basic services; e.g., product selection, payment and delivery. • The widely used “composite service” joins many coordinated services from different organizations (e.g., Amazon, PayPal, FedEx), whose coordination protocols must be strictly enforced. (The “Web Services Coordination” standard defines that composite service, and it provides a registry for peers.)

  15. Web Services Composition & Coordination (continued) • A composite service is a fault tolerant two-phase distributed commit protocol (pp.355-60): • Its coordinator sends a VOTE-REQUEST to all services. • Member services respond with VOTE_COMMIT, only if they are willing to serve. • If all respond affirmatively, the coordinator confirms by sending a GLOBAL_COMMIT. • Each service (e.g., PayPal, FedEx, Allied Electronics) does its respective part to complete the transaction. • Any servant’s VOTE_ABORT or GLOBAL_ABORT, at any point in the protocol, leads the coordinator to replace the uncooperative service and start over. • Distributed system security requires that the coordinators‘ trade secret work be done in private.

  16. R U O K ? Match the following terms with their definitions below. 18. Web services __ 19. UDDI __ 20. WSDL __ 21. SOAP __ 22. Complex service __ 23. Composite service __ 24. Web Services Coordination standard __ • Defines composite services and provides a registry for peers. • Many basic services; e.g., product selection, payment and delivery. • The Web Services Definition Language is used to describe procedures, data types and logical service locations. • These offer naming, weather reports, merchandise for sale, etc. on the Internet. • The Universal Description, Discovery and Integration standard prescribes a database layout for services that is like AT&T’s Yellow Pages. • The Simple Object Access Protocol standardizes a framework for communications among services and clients. • This widely used example of the 2-phase commit protocol joins services of different organizations (e.g., Amazon, PayPal, FedEx), whose coordination protocols must be strictly enforced.

  17. Processes • The most important processes in Web-based systems are (in order of importance): • Clients Web browsers, • (Apache) Web servers and • Sometimes immense Web server “farms” (clusters).

  18. Clients Figs.12-5, -6, pp.555, 6 • The client’s browser navigates through Web pages, responding to the user’s mouse click selections: • Graphical User Interface (GUI)—standard graphical libraries (see “Display back end” above) make browsers almost platform independent. • Browser engine • Rendering engine – scripts and code for displaying a wide variety of text, audio and video files. • Plug-ins can be downloaded to extend the browser to unusual document MIME types. • Web proxies can accept clients’ requests to handle special services; e.g., FTP a file as embedded HTTP, filter, log, compress, cache.

  19. R U O K ? 25. What is the difference in a plug-in and a Web proxy? • Plug-ins are downloaded to extend browsers to unusual document MIME types. • Web proxies can accept clients’ requests to handle special services; e.g., FTP a file as embedded HTTP, filter, log, compress, cache. • Increasingly useful plug-ins gradually become clients’ standard equipment; Web proxies don’t. • All of the above. • None of the above.

  20. The Apache Web Server Fig.12-7, pp.557 • Because they are highly configurable, extensible and platform independent, 70% of all Web sites host Apache Web servers. • The Apache Portable Runtime (APR) environment provides an extensible collection of services (e.g., file handling, networking, locking, threads) to all operating systems. • As a general server tailored to handling Web documents, Apache uses TCP-based HTTP. • Apache’s “hooks” (see Figure) are placeholders for specific function groups, a function for each request phase; e.g., translate URL into local file name, write to log, check client’s ID, verify access rights, check MIME.

  21. R U O K ? 26. Why are Apache servers so popular? • The Apache Portable Runtime environment provides an extensible collection of services to all operating systems. • As a general server tailored to handling Web documents, Apache uses TCP-based HTTP. • Apache’s handy “hooks” are placeholders for specific function groups, a customizable function for each request phase. • All of the above. • None of the above.

  22. Web Server Clusters Figs.12-8, -9, pp.558, 9 • A horizontal distribution of servers (Fig. 12-8) accepts round-robin HTTP requests from an application-level front-end server that handles client dialogs. • If a transport-layer switch did TCP handoffs to available back-end servers, it would be insensitive to the request contents. • Content-aware server distribution enables the back-end server to cache Web pages, for improved performance and response times. And special documents can be handled by specialty servers. • A front-end server, plus a switch (Fig. 12-9), can optimize TCP handoff efficiency and content-aware functionality: • Round-robin DNS can associate a single domain name with many IP addresses, enabling a browser choose back-end servers at random. • All servers could have the same IP address, so that they all receive every HTTP request and decide among themselves who services it.

  23. R U O K ? 27. Describe a highly optimized Web server cluster? • A horizontal distribution of servers, accepting round-robin HTTP requests from an application-level front-end server that handles client dialogs. • The front-end server’s content-aware distribution, enabling back-end servers to cache Web pages and specialty servers to handle streaming video, etc. • A cascaded front-end switch that also optimizes TCP handoff efficiency. • All of the above. • None of the above.

  24. Communication • The two most popular Web communication protocols are HTTP and SOAP….

  25. Hypertext Transfer Protocol • HTTP is stateless; it does not require a server to remember that it has an open connection with a client.

  26. HTTP Connections Fig.12-10, pp.561 • HTTP can be connectionless, because it relies on TCP to open a connection for each client, which persists throughout the entire dialog. • HTTP doesn’t care if clients break connections. • To speed communications, clients can “pipeline” many requests into each TCP packet. • Prior to version 1.1, HTTP inefficiently set up a TCP connection for every pair of requests and responses (above left).

  27. R U O K ? 28. Describe HTTP’s relationship with TCP. • HTTP is stateless, because it relies on TCP to open client connections, which persist for a session. • To speed communications, clients can “pipeline” many HTTP requests into each TCP packet. • HTTP and TCP’s marriage is improving—TCP used to make a connection upon every request and drop it after every response. (And HTTP didn’t care.) • All of the above. • None of the above.

  28. HTTP Methods Fig.12-11, pp.562 • Clients may ask HTTP for a (metadata) document’s heading (including its date) to confirm that its cached copy is current. • The client’s HTTP Get command actually fetches the document, if it matches associated character-string tags (see “tuples,” p.591). • Authorized clients also may tell servers to Put or Delete documents. • Clients use the Post command to add data to existing documents (e.g., newsgroups).

  29. R U O K ? Match the following terms with the usage examples below. 29. Head __ 30. Get __ 31. Put __ 32. Delete __ 33. Post __ • Authorized clients may tell servers to remove their published materials, if they were granted the right to do so. • Clients add data to an existing blog or newsgroups. • Authorized clients also may tell servers to publish original material on the Web. • Actually fetches the document, if it matches associated character-string tags. • Clients may ask HTTP for only a (metadata) document’s brief heading (it includes last change date) to confirm that its cached copy is current.

  30. HTTP Messages Fig.12-12, pp.564 • HTTP requests have mandatory request lines: • Desired operation. • Document of interest. • HTTP version number. • HTTP responses always start with a status line: • HTTP version number. • Status code; e.g., OK, bad, forbidden, not found, method not allowed. • Client may specify “Accept-encoding:gzip,” etc. • After using HTTP/1.1 to set up a connection, server and client may Upgrade to HTTPS for encrypted documents. • Separate transport layer protocols usually handle Web security.

  31. R U O K ? 34. What parts of every HTTP request are mandatory? • The client’s desired operation. • The document of interest. • The client’s HTTP version number. • All of the above. • None of the above.

  32. Simple Object Access Protocol Fig.12-14, pp.567 • Web services speak SOAP among themselves. • Since they have little common knowledge, they use the meta-language XML (see above), which defines the message’s syntax inside the message. • An underlying transfer protocol identifies the recipient… • by email address (SMTP) for conversational exchanges; e.g., airline billing. • by URL (HTTP) for RPC-style exchanges; e.g., traditional Web service request for weather report. • Parsing obscure XML is taxing, like parsing speech…!

  33. R U O K ? 35. Why do Web services talk SOAP? • Reading it is so difficult and time consuming that hackers leave it alone. • They must define a common language, before they can use it to communicate. • Its great many styles make it more expressive than pure HTML. • All of the above. • None of the above.

  34. ain() & led() • Please download your employees’ current software design documentation, which is RobotDsnDocs.docx in the CSE2312 folder on my blackboard website. • Please notice that their software architecture (a UML 2.0 Object Model Diagram and its verbal method and object specifications on pp.5-8) requires that they use two runtime library functions called ain() and led(). • Please go to www.mbed.org and search for “AnalogIn.” Study the Handbook’s sample program there, download it and run it to satisfy yourself that it works. • Thus, you will be prepared to help your employees, if they cannot make ain() and led() work in the Tourna-ment on Wednesday, April 23rd, at 4 PM in Ned 112 .

More Related