1 / 35

Web Services

Web Services Larry Kerschberg,Co-Director E-Center for E-Business George Mason University Outline Web Services Definition Web Services versus Web Sites Web Services Protocols and Standards Conclusions Web Services

bernad
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 Larry Kerschberg,Co-Director E-Center for E-Business George Mason University

  2. Outline • Web Services Definition • Web Services versus Web Sites • Web Services Protocols and Standards • Conclusions

  3. Web Services • Web services are Internet-based applications that fulfill a specific task or set of tasks, which can be combined with other Web services to maintain workflow or perform business transactions. • Airline, hotel and rental car reservation process, • Loan approval process • Users access Web services online & offline via PCs, cell phones, Personal Digital Assistants. • Programs can also access Web services directly.

  4. Web Services (continued) • Web services communicate with each other: • Share information about their functions & roles in an application’s workflow, • Publish the inputs they require & outputs they generate, • The result is just-in-time integration of business applications. • Each self-contained business service becomes an application that will easily integrate with other services (from the same or different companies) to create a complete business process.

  5. Business Logic Business Logic Database Database Web Service Web Sites and Web Services Web Site HTTP Web Access User Interface Internet HTTP Computer Program SOAP Internet SOAP HTTP: Hypertext Transfer Protocol SOAP: Simple Object Access Protocol

  6. Business Logic Business Logic Business Logic Database Database Database Car Rental Service Airline Service Hotel Service Travel Web Service Portal Travel Portal Web Site HTTP Web Access User Interface Internet HTTP SOAP SOAP SOAP SOAP

  7. Web Services, XML and Metadata GetaLoan.com Internet Loan Insurance Company Delivery of Service = Approval Or Denial Delivery of Service = Credit Verification Online Loan Applicant Credit Reporting Service XML Server XML Server Delivery of Service = Loan approval & procurement Meta Data Universal Business Registry Delivery of Service = Loan insurance approval XML Documents XML Server XML Server Web Services Meta Repository (WSMR) Financial Institutions

  8. Web Service Standards • Simple Object Access Protocol (SOAP)  • http://www.w3.org/TR/SOAP/ • Web Services Description Language (WSDL) • http://msdn.microsoft.com/xml/general/wsdl.asp • Universal Description, Discovery and Integration (UDDI) • http://www.uddi.org

  9. Simple Object Access Protocol (SOAP) • SOAP is an XML-based messaging framework • Designed to exchange data over the Internet • Can send request, reply messages or entire documents. • Neutral with respect to Operating System. • SOAP and XML provide a means for two or more portals, marketplaces or trading partners to agree on common data exchange services for “exposing” services to the Web for creating distributed the “virtual enterprise.”

  10. Discovering SOAP Services • Enterprise A uses URL provided by Enterprise B to get list of published services. • Enterprise A downloads the XML schemas (using WSDL) describing services message formats. • Enterprise A formats and sends XML message via SOAP to Enterprise B • Enterprise B responds via SOAP, which A interprets using XML Schema.

  11. SOAP Message Format • SOAP supports two basic XML message formats • Self-describing EAI (Enterprise Application Integration) and EDI (Electronic Data Interchange). • Remote procedure call (RPC) style interactions that model object method invocation and parameter passing.

  12. Envelope Marks the start and end of a SOAP message. Header (optional) Used to include RPC style interaction. Can contain no header or several headers. Body Contains the actual message or document being sent. SOAP message elements are defined using schemas and qualified using namespaces. Envelope Header Body SOAP Message Format

  13. SOAP Envelope • SOAP Envelope defines a framework for describing message contents and how to process it. • Rules for encoding the data transfer • Agree by downloading the same XML schema. • http://schemas.xmlsoap.org/soap/envelope/ • http://schemas.xmlsoap.org/soap/encoding/

  14. SOAP Header • Each header must be defined within an associated XML schema, • Allow features such as security, transactions, and quality of service attributes to be specified. • Must be understood by both parties, • Allows consumers and publishers to negotiate agreement on support of a given header or a set of headers.

  15. SOAP Body • Contains application-defined XML data being exchanged in message. • Either a single, self-describing structure, or • Remote Procedure Call (RPC) interface with method name and typed parameters. • Next slide shows an example of a stock quote request and response.

  16. Request: <SOAP-ENV: Envelope> … <SOAP-ENV: Body> <m:GetLastTradePrice xmlns:m-”Some-URI”> <symbol>MSFT</symbol> </m: GetLastTradePrice> </SOAP-ENV:Body> </SOAP-ENV: Envelope> Response: <SOAP-ENV: Envelope> … <SOAP-ENV: Body> <m:GetLastTradePriceResponse xmlns:m-”Some-URI”> <Price>63.00</Price> </m: GetLastTradePriceResponse> </SOAP-ENV:Body> </SOAP-ENV: Envelope> SOAP Example

  17. Web Services Description Language (WSDL) • WSDL is a form of XML Schema to define the XML message, operation and protocol mapping of a web service accessed using SOAP or another XML protocol. • WSDL defines Web services as “end points” that operate on XML messages. • Both the messages and the operations on the messages are defined abstractly and then mapped to multiple physical implementations. • Current mappings include SOAP 1.1, HTTP GET/POST and MIME.

  18. WSDL Specification Definition List • Proxy Code • A definition of message types and operations in the abstract, • Binding Information • A definition that maps the abstract definitions onto concrete transports and network end points. • Service Definition • A definition that maps bindings to ports and includes extensibility, e.g., attributes or properties for quality of service agreements. • Proxy code: • Message type • Abstract interface (port type) • Binding information: • Transport • Port • Service definition: • Binding/port • Extensibility

  19. IONA’s XML Bus Web Services • Dynamic WSDL Test Facility (several web services) • http://www.xmlbus.com:9010/WSDLClient/WSDLDynamicTestClient.html • WSDL Service Description • http://www.xmlbus.com:9010/xmlbus/container/Converter/ConverterService/ConverterPort

  20. Convert Inches to Millimeters • XML Query <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <m1:inchToMM xmlns:m1="urn:target-converter-service"> <param0 xsi:type="xsd:float">1.0</param0> </m1:inchToMM> </SOAP-ENV:Body> </SOAP-ENV:Envelope> • XML Response <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <m1:inchToMMResponse xmlns:m1="urn:target-converter-service"> <return xsi:type="xsd:float">25.4</return> </m1:inchToMMResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

  21. UDDI and the Protocol Stack

  22. UDDI - Universal Description, Discovery and Integration • Goal is to enable the interoperability of web services • Standards-based specifications for service description and discovery • Shared operation of a business registry on the web • Partnership among industry and business leaders

  23. 4. Marketplaces, search engines, and business apps query the registry to discover services at other companies 2. 5. BusinessRegistrations Businesses populate the registry with descriptions of the services they support Business uses this data to facilitate easier integration with each other over the Web 3. UBR assigns a programmatically unique identifier to each service and business registration How UDDI v1 Works 1. SW companies, standards bodies, and programmers populate the registry with descriptions of different types of services UDDI BusinessRegistry Segrvice Type Reistrations

  24. Business Name Text Description list of multi-language text strings Contact info names, phone numbers, fax numbers, web sites… Known Identifiers list of identifiers that a business may be known by - DUNS, Thomas, other Business categories 3 standard taxonomies in V1 Industry: NAICS (Industry codes - US Govt.) Product/Services: UN/SPSC (ECMA) Location: Geographical taxonomy White Pages Yellow Pages

  25. Green Pages • Businesses describe how other businesses will “do e-commerce”: • Nested model • Business processes • Service descriptions • Binding information • Programming/platform/implementation agnostic • Services can also be categorized

  26. Service Type Registration • Pointer to the namespace where service type is described • What programmers use to understand how to use the service • Identifier for who published the service • Identifier for the service type registration • called a tModelKey • Used as a signature by web sites that implement those services

  27. XML document Created by end-user company Can have multiple service listings Can have multiple taxonomy listings Contact Contact Phone Address Email Phone Address Email keyedReference keyedReference keyedReference keyedReference tModelKey keyName keyValue tModelKey keyName keyValue tModelKey keyName keyValue tModelKey keyName keyValue Business Registration businessEntity businessKey name URL description contacts businessServices identifierBag categoryBag businessService businessService serviceKey tModelKey Name Description BindingTemplates Key Name Description BindingTemplates From www.uddi.org

  28. Peter Smythe businessEntity 872-6891 4281 King’s Blvd, Sydney, NSW Peter@harbourmetals.co.au TB993… Harbour Metals www.harbourmetals.co.au “Serving Inner Sydney Harbour for … contacts businessServices identifierBag categoryBag businessService businessService 23T701e54683nf… Online catalog “Website where you can … BindingTemplates Key Name Description BindingTemplates BindingTemplate keyedReference keyedReference 5E2D412E5-44EE-… http://www.sydneynet/harbour… tModelInstanceDetails DFE-2B… DUNS 45231 EE123… NAICS 02417 tModelInstanceInfo 4453D6FC-223C-3ED0… http://www.rosetta.net/catalogPIP tModelKeys Example of a Registration From www.uddi.org

  29. UDDI and SOAP UDDI RegistryNode User UDDISOAP Request HTTPServer SOAPProcessor UDDISOAP Response UDDIRegistry Service B2B Directory Create, View, Update, and Deleteregistrations Implementation-neutral From www.uddi.org

  30. Inquiry API Find things find_business find_service find_binding find_tModel Get Details about things get_businessDetail get_serviceDetail get_bindingDetail get_tModelDetail Publishers API Save things save_business save_service save_binding save_tModel Delete things delete_business delete_service delete_binding delete_tModel security… get_authToken discard_authToken Registry APIs (SOAP Messages) From www.uddi.org

  31. UDDI Information Model

  32. Web Service Discovery and Interaction

  33. E-Business Standards • Electronic Business XML (ebXML) • http://www.ebxml.org/ • Local Web Site • RosettaNet • http://www.rosettanet.org/ • Local Partner Interface Processes

  34. Electronic Business XML (ebXML) • International initiative established by the United nations and OASIS to promote global standards to exchange business data. • Wants to promote a global e-business marketplace, regardless of geographic or political boundaries. • ebXML has several models and mappings: • Business Process and Information Model, • Model maps to XML documents, • Defines requirements for applications that process the documents and exchange them among trading partners.

  35. ebXML (continued) • The ebXML architecture defines: • Business processes and their associated messages and content, • A registry and discovery mechanism for publishing business process sequences and related message exchanges, • Company profiles, • Trading partner agreements, • A uniform message transport layer which is mapped to SOAP with multipart MIME attachments.

More Related