860 likes | 1.21k Views
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
E N D
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 • Distributed computing in a heterogeneous environment – how do you make this happen? • Web services, SOAP, Java, and networks • Computing in the early 21st century
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
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”
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”
Service Oriented Architecture Service Provider Publish Bind Service Broker Service Requestor Find
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
Web Services - Protocols • WSDL - description • UDDI - discovery • SOAP - messaging • BPEL – execution • ebXML - orchestration • HTTP – transport • XML – the lingua franca for data
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
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
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
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.
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
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
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)
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
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)
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>
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>
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
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
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
WSDL Grammar • Message • Operation • portType • Binding • Port • Service
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
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
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
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)
Security • There are several key areas to security: • Identification • Authentication • Authorization • Integrity • Privacy • Auditing • Non-repudiation
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
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
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
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.