DOC PREVIEW
Toronto ECE 1770 - Web Services Middleware

This preview shows page 1-2-3-24-25-26 out of 26 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

university-logoWeb Services MiddlewareIvan HernándezUniversity of TorontoECE1770, Spring 2007Ivan Hernández (UofT) Web Services January 22, 2007 1 / 33university-logoWeb ServicesDefinitionA Web service is a software system designed to support interoperablemachine-to-machine interaction over a network.Interoperate using XML-based standarsSelf-contained and self-describingXML + HTTPPlatform, object model, and programming language independentBasic standards SOAP, WSDL, and UDDIIvan Hernández (UofT) Web Services January 22, 2007 2 / 33university-logoSOAPSOAP 1.2 is a W3C standard for exchanging XML-basedmessages over a computer network.It defines a message structureMessage exchange using a variety of underlying protocolsIt defines the rules for processing a SOAP messageSOAP defines message exchange patternsWhy SOAP anyway? Simple Object Access Protocol SimpleObject Access Protocol Simple Object Access Protocol SimpleObject Access ProtocolIvan Hernández (UofT) Web Services January 22, 2007 3 / 33university-logoSkeleton SOAP Message<?xml version="1.0"?><soap:Envelopexmlns:soap="http://www.w3.org/2001/12/soap-envelope"soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"><soap:Header>...</soap:Header><soap:Body>...<soap:Fault>...</soap:Fault></soap:Body></soap:Envelope>Ivan Hernández (UofT) Web Services January 22, 2007 5 / 33university-logoSOAP ExamplesSOAP Request<?xml version="1.0"?><soap:Envelopexmlns:soap="http://www.w3.org/2001/12/soap-envelope"soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"><soap:Body><m:GetPrice xmlns:m="http://www.foo.org/prices"><m:Item>Apples</m:Item></m:GetPrice></soap:Body></soap:Envelope>SOAP Reply<soap:Body><m:GetPriceResponse xmlns:m="http://www.foo.com/prices"><m:Price> 2 </m:Price></m:GetPriceResponse></soap:Body>Ivan Hernández (UofT) Web Services January 22, 2007 7 / 33university-logoWSDLWeb Service Description Language using an XML documentIt specifies the location of the serviceIt specifies the methods that the service exposesWSDL 2.0 about to become a W3C recomendationIvan Hernández (UofT) Web Services January 22, 2007 8 / 33university-logoWSDL basic structure<definitions><types>Definition of types used, XMLSchema</types><message>Definition of parts of each message and the data elements used</message><portType>Definition the operations performed and involved messages</portType><binding>Communication protocol used</binding></definitions>Ivan Hernández (UofT) Web Services January 22, 2007 10 / 33university-logoWSDL Example<message name="getTermRequest"><part name="term" type="xs:string"/></message><message name="getTermResponse"><part name="value" type="xs:string"/></message><portType name="glossaryTerms"><operation name="getTerm"><input message="getTermRequest"/><output message="getTermResponse"/></operation></portType>Ivan Hernández (UofT) Web Services January 22, 2007 12 / 33university-logoWSDL Example (cont.)<binding type="glossaryTerms" name="b1"><soap:binding style="document"transport="http://schemas.xmlsoap.org/soap/http" /><operation><soap:operationsoapAction="http://example.com/getTerm"/><input><soap:body use="literal"/></input><output><soap:body use="literal"/></output></operation></binding>Ivan Hernández (UofT) Web Services January 22, 2007 14 / 33university-logoUDDIUniversal Discovery, Description, and IntegrationService providers use UDDI to advertise the services they offer.Service Requesters use UDDI to discover services that suit theirrequirementsIvan Hernández (UofT) Web Services January 22, 2007 15 / 33university-logoPutting It All TogetherUDDI advertise the servicesby providing WSDLsWSDL specifies location andmethods of the serviceSOAP defines the messagesformat and processingExtensible standards todefine, publish and use WebServices.Ivan Hernández (UofT) Web Services January 22, 2007 16 / 33university-logoHow are WS related to middleware?DefinitionMiddleware systems are comprised of abstractions and services tofacilitate the design, development, integration and deployment ofdistributed applications in heterogeneous networking environments.This is exactly what Web Service are about!XML + HTTP provide a uniform and widely accessible interface!Ivan Hernández (UofT) Web Services January 22, 2007 17 / 33university-logoAxis2Apache’s core engine for Web servicesFast, low memory footprint, flexibility, stability, ..., and extensibleCore engineIvan Hernández (UofT) Web Services January 22, 2007 18 / 33university-logoThis is nice, but . . .What about reliability, transactions, security, policies ... ?SOAP does not define any of these :(But it is extensible! :)Ivan Hernández (UofT) Web Services January 22, 2007 19 / 33university-logoAnd more Web Service Plataform!WS-Notification Standardise the way WS interact usingNotifications or Events. Event DrivenArchitectures using WSPubscribeWS-Coordination Coordinate the actions of distributedapps. It enables transaction process-ing, workflow, and other systems forcoordinationKandulaWS-BPEL Business Process Execution Lan-guage. Compose WS functionality inthe right orderTwisterWS-Security Message integrity, confidentiality, andsingle message authenticationWSS4JWS-Policy To express a set of requirements thathave to be met in order to consume aweb serviceWS-CommonsUsing all these together we can do anything that an EnterpriseMidleware does!Ivan Hernández (UofT) Web Services January 22, 2007 20 / 33university-logoWS-ReliableMessagingMany errors may interrupt a conversation.Messages may be lost, duplicated or reordered and lost of volatilestate.WS-RM is a protocol to deliver messages reliably in the presenceof software component, system, or network failuresThe protocol allows to identify, track, and manage the reliabledelivery of messagesTransport-independent and extensibleDelivery assurances: AtMostOnce, AtLeastOnce, ExactlyOnce,and InOrder.Ivan Hernández (UofT) Web Services January 22, 2007 21 / 33university-logoWS-RM: Model and exampleIvan Hernández (UofT) Web Services January 22, 2007 22 / 33university-logoWS-RM: Model and exampleIvan Hernández (UofT) Web Services January 22, 2007 23 / 33university-logoWS-RM: Sandesha2Sandesha2 is an implementation for the server and client sideTo use on the server side, just add the module to the Axis2handler stackIn the client side . . .Ivan Hernández (UofT) Web Services January 22, 2007 25 / 33university-logoWS-RM: Sandesha2, client sideServiceClient client =new ServiceClient(configContext,null);// set client options


View Full Document

Toronto ECE 1770 - Web Services Middleware

Download Web Services Middleware
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Web Services Middleware and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Web Services Middleware 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?