1 / 28

Web Services

Web Services. Kevin McManus Adapted from material by Mark Sapossnek, Boston University. WWW Architecture. Platform: PC, Mac, Unix, etc. Browser: IE, Mozilla, Opera, etc. Client. Request: http://www.gre.ac.uk/about. Network. HTTP over TCP/IP. Response: <html>…</html>. Server.

sheri
Download Presentation

Web Services

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. Web Services Kevin McManus Adapted from material by Mark Sapossnek, Boston University the University of Greenwich

  2. WWW Architecture Platform: PC, Mac, Unix, etc. Browser: IE, Mozilla, Opera, etc. Client Request: http://www.gre.ac.uk/about Network HTTP over TCP/IP Response: <html>…</html> Server Platform: PC, Mac, Unix, etc. Web Server: Apache, IIS, Xitami, etc. the University of Greenwich

  3. WWW Architecture • Client/Server, Request/Response architecture • You request a web page • e.g. http://www.gre.ac.uk/about/index.html • HTTP request • The web server responds with data • HTTP response • usually in the form of a web page (HTML document) • could be any file format • web page is written using HyperText Markup Language (HTML) • Web pages are identified by a Uniform Resource Locator (URL) • protocol: e.g. http • web server: e.g. fred.foo.co.uk • [machine name].[domain name] • web page: e.g. bar/zeb/default.php • can also provide parameters: e.g. ?name=Leon the University of Greenwich

  4. Hypertext Transport ProtocolHTTP • HTTP is the principle top-level TCP/IP protocol used to request and return data over the Web • data may be a static file on the web server • HTML pages, GIFs, JPEGs, Microsoft Word documents, Adobe PDF documents, etc., etc. • data may be the result of running some program on the web server • ASP, PHP, CGI, JSP, etc., etc. • Request-Response protocol • Methods: GET, POST, … • Stateless • HTTP 1.0: simple – why? • HTTP 1.1: slightly more complex – why? the University of Greenwich

  5. HTTP Request Method File HTTP version Headers GET /default.php HTTP/1.0 Accept: image/gif, image/x-bitmap, image/jpeg, */* Accept-Language: en User-Agent: Mozilla/1.22 (compatible; MSIE 2.0; Windows 95) Connection: Keep-Alive If-Modified-Since: Sunday, 17-Apr-96 04:32:58 GMT Blank line Data – none for GET the University of Greenwich

  6. HTTP Response HTTP version Status code Reason phrase Headers HTTP/1.0 200 OK Date: Sun, 21 Apr 1996 02:20:42 GMT Server: Microsoft-Internet-Information-Server/5.0 Connection: keep-alive Content-Type: text/html Last-Modified: Thu, 18 Apr 1996 17:39:05 GMT Content-Length: 2543 <html> Some data... blah, blah, blah </html> Data the University of Greenwich

  7. Extensible Markup LanguageXML • Simplified subset of SGML • A meta-language - extensible • a language for defining other languages e.g. XHTML, RDF , RSS , MathML, SVG, WML, SMIL • Represents hierarchical data • tree structure • Easy for humans and machines to work with • Useful for data exchange and transformation • Separates of content from presentation • Enabling technology for web services and the semantic web the University of Greenwich

  8. HTML, XML HTML, XML HTML HTML Generation 1Static HTML Generation 2Web Applications Web ServicesEvolution of the Web Generation 3Web Services the University of Greenwich

  9. the web (HTTP) web page LAN or WAN client object server object the web HTTP + XML client object server object Web Services plus distributed object systems - DCOM, RMI, CORBA resulting in XML based web services the University of Greenwich

  10. XML HTTP share price service Brokering application HTML HTTP XML HTTP currency conversion service XML HTTP authentication service Web Services the University of Greenwich

  11. What is a Web Service? • A URI that returns XML • A Web Service combines the best features of distributed computing and portals and eliminates the worst • Provides a mechanism for invoking methods remotely • Uses Web standards i.e. HTTP, XML • considered scalable and safe • allowed through corporate firewall • unlike previous distribution technologies the University of Greenwich

  12. What is a Web Service? • The solution? • A Web Service exposes functionality to a consumer • Over the Internet or intranet • A programmable URL • Functions you can call over the Internet • Based on Web standards • HTTP, XML, SOAP, WSDL, UDDI, with more to come • Can be implemented in any language on any platform • Black boxes • Component-like, reusable the University of Greenwich

  13. What is a Web Service? • Web Services allow you to interconnect: • different companies • many / any devices • applications • different clients • Not just browsers • Distribution and integration of application logic • Enable the programmable Web • not just the purely interactive Web • Web Services are loosely coupled the University of Greenwich

  14. XML Basics • XML is designed to represent and transfer structured data • In HTML: <p>Jan 15, 2000 </p> • In XML: <OrderDate>Jan 15, 2000</OrderDate> • XML does not display or transform data • XML separates data from formatting and transforming • HTML and XML are both derived from SGML • In different ways the University of Greenwich

  15. XML Syntax • XML is composed of tags and attributes • Tags can be nested • Representing entities, entity properties, and entity hierarchy <root> <Orders OrderID="10643" CustomerID="ALFKI" EmployeeID="6" OrderDate="1997-08-25T00:00:00" RequiredDate="1997-09-22T00:00:00" ShippedDate="1997-09-02T00:00:00" /></root> the University of Greenwich

  16. XML Schemas • XML schemas describe the structure of an XML document • XML schemas describe the tag and attribute specifications • Simple and compound data types • XML schemas also describe constraints on the contained text • XML schemas and the DTD are mutually exclusive the University of Greenwich

  17. SOAP • Developed by Microsoft as a Simple Object Access Protocol circa 1998 • Adopted by W3C • A lightweight protocol for exchanging information in a distributed, heterogeneous environment • It enables cross-platform interoperability • Interoperable • OS, object model & programming language neutral • Hardware independent • Protocol independent • Works over existing Internet infrastructure the University of Greenwich

  18. SOAP • Guiding principle: “Invent no new technology” • Builds on key Internet standards • SOAP ≈ HTTP + XML • Submitted to W3C • The SOAP specification defines: • The SOAP message format • How to send messages • How to receive responses • Data encoding the University of Greenwich

  19. REST • Representational State Transfer • Originally referred to a collection of architectural principles: • A stateless client/server protocol • HTTP • A set of well-defined operations • GET, POST, DELETE • A universal syntax for resource-identification • URL • The use of hypermedia • HTML, XML • Simply a URL that returns XML the University of Greenwich

  20. SOAP is not… • Objects-by-reference • Distributed garbage collection • Bi-directional HTTP • Activation • Complicated • Doesn’t try to solve every problem in distributed computing • Can be easily implemented the University of Greenwich

  21. SOAP • SOAP requests are HTTP POST requests POST /WebCalculator/Calculator.asmx HTTP/1.1 Content-Type: text/xml SOAPAction: “http://tempuri.org/Add” Content-Length: 386 <?xml version=“1.0”?> <soap:Envelope ...> ... </soap:Envelope> the University of Greenwich

  22. SOAP The complete SOAP message SOAP Message Protocol binding headers Headers <Envelope> encloses payload SOAP Envelope <Header> encloses headers SOAP Header Individual headers Headers <Body> contains SOAP message name SOAP Body Message Name & Data XML-encoded SOAP message name & data the University of Greenwich

  23. SOAPMessage Format • XML document using the SOAP schema <?xml version=“1.0”?> <soap:Envelope ...> <soap:Header ...> ... </soap:Header> <soap:Body> <Add xmlns=“http://tempuri.org/”> <n1>12</n1> <n2>10</n2> </Add> </soap:Body> </soap:Envelope> the University of Greenwich

  24. SOAPServer Response • Server responds with a result message HTTP/1.1 200 OK ... Content-Type:text/xml Content-Length: 391 <?xml version=“1.0”?> <soap:Envelope ...> <soap:Body> <AddResult xmlns=“http://tempuri.org/”> <result>28.6</result> </AddResult> </soap:Body> </soap:Envelope> the University of Greenwich

  25. SOAPEncoding Complex Data • Data structures are serialized as XML <soap:Envelope ...> <soap:Body> <GetStockDataResult xmlns=“http://tempuri.org/”> <result> <Description>Plastic Novelties Ltd</Description> <Price>129</Price> <Ticker>PLAS</Ticker> </result> </GetStockDataRseult> </soap:Body> </soap:Envelope> the University of Greenwich

  26. WSDL • Web Services Description Language • XML schema for describing Web Services • Service interface definition abstract semantics for Web Service • Service implementation definition concrete end points and network addresses where Web Service can be invoked • Clear delineation between abstract and concrete messages the University of Greenwich

  27. UDDI • Universal Description, Discovery, and Integration • Industry Initiative to address discovery • A registration database for Web Services • Specifications • Schema for service providers and descriptions • API for publishing and searching • Developed on industry standards (XML, HTTP, TCP/IP, SOAP) • Applies to both XML and non-XML services • Implementation • Public and private instances of specification the University of Greenwich

  28. Summary • Web Services • A new(ish) paradigm for Internet development • Deliver applications as services • using existing web technologies • Third-generation Internet • n-tier systems • Enabling technology for the semantic web • Provide rich customer-driven experience • More than just hype the University of Greenwich

More Related