Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

21
Web Services, SOAP, Web Services, SOAP, and WSDL and WSDL CSCI 4300 CSCI 4300

Transcript of Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

Page 1: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

Web Services, SOAP, and Web Services, SOAP, and WSDLWSDLCSCI 4300CSCI 4300

Page 2: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

Web Services for B2B Web Services for B2B communicationcommunication

Page 3: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

Technology involved for remote Technology involved for remote procedure callprocedure call

• Web Service Description Language is the API

• SOAP is the message envelope

• HTTP is the transport layer

Page 4: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

Remote Method InvocationRemote Method Invocation

• Low-level• Requires all parts

written in Java• CORBA is one

attempt to get around this issue

Page 5: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

JAX RPC layered over RMIJAX RPC layered over RMI

Page 6: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

Simple SOAP messageSimple SOAP message

Page 7: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

SOAP headers and bodySOAP headers and body

Headers:• Security credentials• Transaction IDS• Routing instructions• Payment tokens• Etc. etc. Body:• Actual message

content

Page 8: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

Application-specific header Application-specific header exampleexample

Page 9: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

A security headerA security header

Page 10: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

Processing SOAP messagesProcessing SOAP messages

• In particular, JAX-RPC implements remote procedure calls by exchanging SOAP messages

Page 11: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

Modular processingModular processing

Page 12: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

Message passing: multiple actorsMessage passing: multiple actors

Page 13: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

Who processes the headers?Who processes the headers?

• A node which has identified itself with this processing role will process this header.

Page 14: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

SOAP use caseSOAP use case

Page 15: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

Sequential processingSequential processing

• Processing nodes can add and remove headers• The Inventory node can add an authentication

header and force the next node to process it

Page 16: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

Web Services Description Web Services Description LanguageLanguage

Page 17: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

““portType”: a service access pointportType”: a service access point

Page 18: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

Operation typesOperation types

Page 19: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

WSDL – SOAP bindingWSDL – SOAP binding

• The binding determines the format of the SOAP message that will transport a service

Page 20: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

UDDI: the Yellow PagesUDDI: the Yellow Pages

Page 21: Web Services, SOAP, and WSDL CSCI 4300. Web Services for B2B communication.

AcknowledgementsAcknowledgements

• Auto parts example: http://www.info.gov.hk/digital21/eng/knowledge/webservice_appexample.html

• http://today.java.net/today/2003/11/05/ch4SOAP.pdf• http://java.sun.com/developer/technicalArticles/xml/webservices/• http://www.w3schools.com/wsdl/wsdl_documents.asp