class9

class9 - CSCI 233 Class to Click 9 edit Master subtitle...

Info iconThis preview shows pages 1–10. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: CSCI 233 Class to Click 9 edit Master subtitle style Agenda • World Wide Web • WebDAV • Web Services World Wide Web • Early Internet data transfers largely used FTP • By 1995, Web traffic overtook FTP, has been the leader ever since • Web and Internet are identical for many users Web Components • Web pages—hypermedia documents accessible over the Web • Web browser—application program that contacts Web server to get a copy of a specified Web page, displays it • Web server—delivers files to browsers in response to specific requests • HTML—used to represent documents that have text and images • HTML tags in < > brackets, as <B> and </B> URL • Uniform Resource Locator (URL)—each Web page has a URL • HTTP scheme: http: // hostname [:port] / path [; parameters] [? query] • Hostname is domain name or server IP address • Port is port number if 80 is not used An Example <HTML> This course is Internet Protocols, at <A HREF=“http://www.gwu.edu”> George Washington University.</A> </HTML> Is displayed as This course is Internet Protocols at George Washington University. Hypertext Transfer Protocol (HTTP) • Application level—assumes reliable, connection-oriented transport service • Request/Response—once session is established, one side must send HTTP request to which the other side responds • Stateless—each HTTP request is self-contained • Bi-Directional Transfer—browser, server can transfer in both directions • Capability negotiation—browser, server negotiate • Caching—browser caches each page it receives; if requested again, browser can ask server if there have been changes • Intermediaries—allows machines along the path to act as proxy server that caches Web pages HTTP Message A complete HTTP message consists of a client request and a sever response: HTTP-message = Request | Response HTTP GET Request • Browser starts with URL • Browser extracts hostname, uses DNS to map name into IP address • Browser uses IP address to form TCP connection to server • Browser and Web server use HTTP to communicate • Browser sends GET for page • Server sends copy of requested page Errors • Server presents error messages to browser in valid HTML • Browsers render error message for user • User can read the error message HTTP Commands • Other commands – OPTIONS: identify options desired – HEAD: return only heading of referenced information – GET: retrieve referenced information – POST: store enclosed entity as a new subordinate of the reference URI – PUT: store enclosed entity under referenced URI, replacing entry of the same name – DELETE: delete the identified resource – TRACE: sends message back to requestor with 200 (OK) – CONNECT: uses proxy that can turn into a tunnel Persistent Connections • Early versions of HTTP used a separate session for each transfer • HTTP 1.1 introduced a persistent connection, that stays open until the client and server close it • HTTP sends a length, followed by data, to mark ends of objects during connection • If server doesn’t know length, then it informs the browser that it will close the connection after the transfer What are the benefits of a persistent connection? Length Encoding, Headers HTTP borrows 822 format and MIME extensions from email Each line has keyword, colon, value Example of Transfer Content-length: 34 Content-language: en Content-encoding: ascii <HTML> A Trivial example. </HTML> Connection: close Negotiation • Server-driven – Begins with browser request – Specifies list of preferences, and URL – Server selects a representation that meets browser preferences • Agent-driven – Browser asks server what is available – Sends second request to obtain the item – Requires extra interaction, but keeps the browser in complete control Conditional Requests • Browser can make a request conditional • Request is honored only if the condition can be met • Example: the header If-Modified-Since: Sun, 10 Nov 2002 08:00:01 GMT can be used along with a GET request for a page Date Formats Supported date formats: Sun, 06 Nov 2002 08:49:37 GMT RFC 822, updated by RFC 1123 Sunday, 06-Nov-02 08:49:37 GMT RFC 850, obsoleted by RFC 1036 Sun Nov 6 08:49:37 2002 ANSI C's asctime() format Recognition of all three is required; the first must be used if dates are generated All Internet times are required to be in GMT Content Coding Content coding is used to enable compression. Some types: – Gzip—produced by GNU Zip – Compress—produced by UNIX compress – Deflate—combines deflate program results with rlib compression – Identity—default, no compression Proxy Servers • Browser can be configured to contact proxy server instead of original source • Proxy must be configured to cache Web pages • Proxies can reduce traffic to the Internet • HTTP includes explicit support for proxies, variety of control commands Caching • Caching reduces Internet traffic by saving a page when retrieved • Subsequent requests for a page can be fulfilled by delivering a file from the cache • How long should a page be kept? – Too long: it gets stale – Too short: inefficiency • Server can specify caching details • Browser can specify zero age for retrieved page • Caching should be semantically transparent WebDAV WebDAV stands for "Web-based Distributed Authoring and Versioning". It is a set of extensions to the HTTP protocol which allows users to collaboratively edit and manage files on remote web servers. WebDAV is • The HTTP extensions necessary to enable distributed web authoring tools to be broadly interoperable • A network file system that works on entire files at a time, with good performance in high-latency environments • A protocol for manipulating the contents of a document management system via the Web WebDAV Goals • To support virtual enterprises, being the primary protocol supporting a wide range of collaborative applications. • The support of remote software development teams. • To leverage the success of HTTP as a standard access layer for a wide range of storage repositories -- HTTP gave them read access, while DAV gives them write access. WebDAV Features • Locking: long-duration exclusive and shared write locks prevent the overwrite problem. The duration of DAV locks is independent of any individual network connection. • Properties: XML properties provide storage for arbitrary metadata, such as a list of authors on Web resources. These properties can be efficiently set, deleted, and retrieved using the DAV protocol. DASL, the DAV Searching and Locating protocol, provides searches based on property values. • Namespace manipulation: Since resources may need to be copied or moved as a Web site evolves, DAV supports copy and move operations. Collections, similar to file system directories, may be created and listed. Summary • WWW consists of hypermedia documents stored on Web servers, accessed by browsers • HTML allows a document to contain text, formatting commands, graphics and links to other documents • HTTP is an application-level protocol that supports negotiation, proxy servers, caching and persistent connections • WebDAV adds support for writing to HTTP, along with distributed versioning control Web Services • A new vision for using Internet protocols in the development, engineering and use of software • Web Services are self-describing applications that use XML to exchange data with other applications on other computers by using Internet protocols. • Requests can be sent and responses received between two different applications on separate computers belonging to different businesses. • Several standards are emerging; XML is central to Web Services standards. • XML is a language for describing data and creating additional markup languages. Generic Web Services Architecture XML Request B u si n es s F a c a d e Business Logic XML Response Listener Core Web Services Standards • SOAP—Simple Object Access Protocol • WSDL—Web Services Description Language • UDDI—Universal Description, Discovery and Integration SOAP • An XML vocabulary standard to enable programs on separate computers to interact across any network • Describes messages between computers • Defines a mechanism to pass commands and parameters between clients and servers • DIME (Direct Internet Message Encapsulation) used to move data into SOAP message packets WSDL • Describes Web Services and their capabilities in a standard manner • Helps expose Web Services of various companies for public access • Defines how service providers and requesters communicate with each other about Web Services UDDI • Framework of XML-based registries used by companies to upload information about themselves and services they offer • Registries based on UDDI provide common registries that companies can use to advertise themselves and their Web Services • UDDI has been the least accepted part of Web Services Benefits of Web Services • Interoperability—Applications that use Web Services can interoperate over computer system and network boundaries and be written using various technologies • Ease of use—business logic is exposed over the Web; using developers don’t need to deal with details • Reusability—Web Services can be used by many applications • Ubiquitous—Accessible from anywhere over the Internet Before Web Services With Web Services Plans for Use of Web Services Plans of early adopters: • 60% to integrate applications behind the corporate firewall • 53% to integrate with external applications of known suppliers, customers or partners outside the firewall • 23% will not employ in the next year • 20% will become a provider of Web services When Not to Use Web Services • To integrate two applications from the same vendor • If the applications already have been integrated and all that’s needed is additional integration • When very high performance is required Why Web Services Matters • Interoperability between applications can be technology-independent • The Internet can provide universal availability Summary • Web services uses Internet protocols to allow programs to invoke each other without respect to machines, operating systems and programming languages. • Three protocols are central to Web Services: UDDI, WSDL and SOAP • Web services offer interoperability, ease of use, reusability and ubiquity. • This is likely the future of application development and how applications will interact, not only over the Internet but also within an organization. Importance of the Web • “Metcalfe’s Law”—value of a network is proportional to the square of the number of connections • Computers are valuable, but they add that value only when they can access the needed information • What if every computer in the world had access to all relevant information? What happens to the value of computing? Changes Due to the Web • In business—disintermediation – Businesses that sell information from other businesses are disappearing – Examples: travel agents, bookstores, CD stores, real estate agencies • In politics—democracy – Rising importance of small campaign donors – Inability of governments to control information flow In Technology • The Web has enabled the Open Source software movement – Complex software products developed by dispersed volunteers who can work together on the Web – Economics of packaged software business, built on large margins, are collapsing Stages of Open Source Maturity • Stage One—volunteers writing products in their spare time, as a hobby • Stage Two—companies assigned some programming professionals to work on open source projects as their work assignment • Stage Three—companies formed to support and add value to an open source product Impact of Open Source • Costs to users decrease significantly • “Closed” software companies must compete with zero cost • “Closed” software companies will offer larger and larger integrated suites • Eventually open source will offer suites as well • In the long run, the highly profitable run of closed software companies will end Open Source Examples Product Red Hat Open Office Lucid Eclipse jBoss Flex Stage 3 2 3 2 2 2 Product EnterpriseDB Joomla Sendmail.com Apachee Java PDF Creator Stage 3 2 3 2 2 2 Choices • Career choices: large software product companies will not provide long-term careers • Large product companies can provide good experience for early career development • Stage Three companies will provide steady employment but not huge riches The Future of Commerce • Commerce will increasingly be dominated by the Internet because of low “friction” of Internet business • Creative use of the Internet has produced the greatest business successes ever— already • Every business will have its level of success greatly affected by its use of the Internet What It Means to You • Your career will be about use of the Internet • Learn how Internet protocols work • Learn how to write Web applications that present HTML screens and use a database • Learn how to develop good HTML interfaces • Learn simple Web site design Even Better • The future belongs to those who have a deep understanding of the Internet and its impact, who can apply that knowledge to business • These people are authors of a business’s Internet strategies—and its success • They understand the technology—deeply— and also understand business How to Be A Huge Success 1. Learn how the Internet actually works, such as by taking CSCI 233 2. Learn how to build Internet applications (such as by taking CSCI 242) and the basics of Web site design 3. Learn about business, marketing and sales especially, by taking courses and through experience 4. Spend time in a service organization and pay attention to what works and what doesn’t work ...
View Full Document

This note was uploaded on 09/03/2010 for the course CS 233 taught by Professor Davidc.roberts during the Fall '10 term at GWU.

Page1 / 49

class9 - CSCI 233 Class to Click 9 edit Master subtitle...

This preview shows document pages 1 - 10. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online