1 / 84

Web Services

Web Services . XML and eBusiness Technology. Introduction. Web services - the next big thing? HTTP has become the network standard XML defines business transactions Business applications execute over the Web

maren
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 XML and eBusiness Technology

  2. Introduction • Web services - the next big thing? • HTTP has become the network standard • XML defines business transactions • Business applications execute over the Web • Distributed computing in a heterogeneous environment – how do you make this happen? • Web services, SOAP, Java, and networks • Computing in the early 21st century

  3. Four Paradigms of Computing • Mainframe • The era of “big iron” • Client – Server (C/S) • Networks and cheap desktop computing • Internet Computing (n-tier architecture) • Web moves to a computing platform • Web services • Web moves to a business platform

  4. Web Services • XML, Java, SOAP, and networks • Critical for B2Bi • Used in “light EAI” • Creates a “network application platform” • Sun ONE (Open Network Environment) • Facilitates “any to any” and “many to many” computing • Lets applications and process talk to each other • Creates a peer-to-peer computing environment • UDDI - directory of services for “client discovery”

  5. Service Oriented Architecture • Service provider • Creates services and publishes to registry • Service broker • Holds information on how to find and “bind” to a (web) service • Service requester • Searches the registry, finds services, and “invokes” them after “binding”

  6. Service Oriented Architecture Service Provider Publish Bind Service Broker Service Requestor Find

  7. Web Services Paradigm • Web services are the building block of a Service Oriented Architecture (SOA) • Publish application services • Find published services • Bind to the service found • Invoke the bound service • Passing required parameters for proper execution of the selected service

  8. Web Services - Protocols • WSDL - description • UDDI - discovery • SOAP - messaging • BPEL – execution • ebXML - orchestration • HTTP – transport • XML – the lingua franca for data

  9. Web Services Protocol Stack

  10. WS - Process Architecture • Services directory • WSDL and UDDI • Business transaction • SOAP request / response • SOAP envelope • Message and protocol • Transaction details • ebXML, BPEL • Network layer • HTTP, HTTPr, HTTPs, SMTP

  11. WS - Process Architecture

  12. Web Services Architecture Overview • Service creation and assembly • A visual design environment, possibly UML • Service delivery and service integration • Messaging interfaces to Internet and network APIs • Applications and Web services • Web services containers • Other legacy applications • Application platform • Identity and Policy • Security and Workflow • Collaboration services

  13. Web Services – Architecture

  14. Standards Services Architecture • Standards Services Architecture: • Leverages key XML technologies • XSLT, SOAP, WSDL • Smart process • ebXML, BPML • UDDI • Smart Policy • LDAP • Smart management • SNMP and XML routing technologies

  15. Web Services – Standards Architecture

  16. Network Layer • Lowest level in the Web services architecture is the conduit for transmission of XML messages • HTTP is most common protocol in use • HTTPR (R stands for reliable) • HTTP carries traffic through firewalls • So it is the best “business conduit” • HTTPR provides “VAN like” services (re: EDI) • “exactly once” delivery of messages, notification, etc.

  17. Network Layer – Logical Stack • WSIL, WSFL, WSHT • Application services and service flow • UDDI – Service discovery • UDDI – Service publication • WSDL – Service description • WSIL / SOAP – XML messaging • HTTP, HTTPR, SMTP, MQ, IIOP • Network layer for messaging

  18. Layer Example Service Negotiation Trading Partner Agreement Workflow, Discovery, Registries UDDI, ebXML registries, IBM WSFL, MS XLANG, BPEL4WS Service Description Language WSDL/WSCL Messaging SOAP/XML Protocol Transport Protocols HTTP, HTTPS, FTP, SMTP Business Issues Management, Quality of Service, Security, Open Standards Web Services Stack from WebServices.org

  19. SOAP • Simple Object Access Protocol (SOAP) • Internet protocol for requesting a service • Lets loosely coupled entities cooperate • Relies on HTTP/HTTPS for transport • Picks up where IIOP and CORBA left off • Conduit for Remote Method Invocation (RMI)

  20. SOAP Message – 3 Parts • The message, envelope, and “channel” • SOAP envelope • The SOAP packet structure • XML body of the message • The XML grammar of SOAP request • Specification of transport binding • The “SOAP” messaging protocol

  21. Anatomy of a SOAP Transaction • Client SOAP • Request packet (marshal and unmarshal) • Transport • SOAP running over HTTP (HTTPr / HTTPs) • Supplier SOAP • Response packet (marshal and unmarshal)

  22. SOAP Transaction

  23. SOAP Request Code POST /path/foo.pl HTTP/1.1 Content-Type: text/xml SOAPActor: interfaceURI#Add Content-Length: nnnn <soap:Envelope> <soap:Body> <Add> <arg1>24</arg1> <arg2>53.2</arg2> </Add> </soap:Body> </soap:Envelope>

  24. SOAP Response Code 200 OK Content-Type: text/xml Content-Length: nnnn <soap:Envelope> <soap:Body> <Response> <sum>77.2</sum> </Response> </soap:Body> </soap:Envelope>

  25. UDDI • Universal Description, Discovery, and Integration (UDDI) http://www.uddi.org/ • SOAP creates a request for a service • But how do you know that the service exists? • UDDI is a distributed registry (like DNS system) • Service providers post in the UDDI registry • UDDI defines a set of SOAP messages that provide the client API for accessing a UDDI registry

  26. UDDI Registry Record

  27. UDDI.org

  28. Publisher API save_business save_service save_binding save_tModel delete_business delete_service delete_binding delete_tModel get_authToken discard_authToken Inquiry API find_business find_service find_binding find_tModel get_businessDetail get_serviceDetail get_bindingDetail get_tModelDetail UDDI Services

  29. WSDL • Web Service Description Language (WSDL) • WSDL is XML based language that describes the attributes of a Web service • Register the service in the UDDI directory • Interface is the format of the SOAP request • Request / response to execute and receive results of Web service on SOAP envelope

  30. WSDL Document Structure

  31. WSDL Grammar • Message • Operation • portType • Binding • Port • Service

  32. WSFL • Web Services Flow Language (WSFL) • XML based language for defining the composition of web services • A flow composition defines how a sequenced execution of web services perform a higher level business process • Defines the interaction between a set of business partners executing Web services

  33. Preparing a Web Service • Develop the functionality you want in a service • Create the WSDL to describe the service • Generate server-side SOAP deployment • Publish deployment descriptor in UDDI registry • IBM WebSphere Studio Application Developer: • WSDL for entry in UDDI registry • XML-Java mapping for complex Java objects • Deployment descriptor for installing (WS) on a server

  34. IBM Web Services Zone

  35. Using A Web Service • Create a Java client to find and call the service • Search the UDDI registry for the desired service • From WSDL description create SOAP message • SOAP message will contain input parameters • Send SOAP request message and wait for reply • Receive SOAP response with service execution • Extract the results of service from the message and process them through a (Java etc.) client

  36. Web Services Process

  37. Java • Java is ideal development environment • Object oriented with APIs for XML: • Java API for XML Messaging (JAXM) • Java API for XML Processing (JAXP) • Java API for XML Registries (JAXR) • Java API for XML - based RPC (JAX-RPC)

  38. Security • There are several key areas to security: • Identification • Authentication • Authorization • Integrity • Privacy • Auditing • Non-repudiation

  39. B2Bi, Web services, and ebXML • What is B2Bi? • Web services for B2Bi • What is ebXML? • ebXML initiative • ebXML architecture • ebXML implementation • ebXML partner discovery • ebXML transaction messaging

  40. The Challenge of B2Bi • 100,000 companies • Middleware doesn’t do it • 99,999 factorial connections • eMarketplaces didn’t fulfill it • Integrating network business process

  41. What is B2B Integration (B2Bi)?

  42. Web Services for B2Bi

  43. ebXML Initiative • ebXML – XML, UDDI, and B2Bi • Integrate discovery, binding, and flow • UDDI – for discovery and binding • ebXML - the eBusiness lexicon of B2Bi • Creates a “pattern” for Web service flow

  44. ebXML Architecture

  45. ebXML Implementation

  46. ebXML Partner Discovery

  47. ebXML Transaction Message

  48. Advantages to Web Services • Flexibility for loose-coupling / late-binding • Flexibility in scope: Internet / intranet • Limit to enterprise or extend to trading partner • Based on HTTP, XML, and SOAP standards • Self-describing in WSDL / UDDI registries • Aggregate Web services for complex and threaded business process / B2Bi etc.

  49. Microsoft.Net

More Related