Presentation is loading. Please wait.

Presentation is loading. Please wait.

Web Services. ASP.NET Web Services  Goals of ASP.NET Web services:  To enable cross-platform, cross- business computing  Great for “service” based.

Similar presentations


Presentation on theme: "Web Services. ASP.NET Web Services  Goals of ASP.NET Web services:  To enable cross-platform, cross- business computing  Great for “service” based."— Presentation transcript:

1 Web Services

2 ASP.NET Web Services  Goals of ASP.NET Web services:  To enable cross-platform, cross- business computing  Great for “service” based operations that have few methods: Google searches, Amazon integration, etc.  ASP.NET Web services are “method-oriented”, not object- oriented  Everything is passed by value: no references to server objects

3 ASP.NET Web Services  Usually uses SOAP over HTTP POST – platform independent messages  Hosted in IIS  Can use built-in authentication and encryption via IIS  Technically stateless, but can use regular ASP.NET Session variables  Very easy to use, with good support in Visual Studio.NET  Doesn’t support:  Events / callbacks  Object references

4 Standards-Based  SOAP (Simple Object Access Protocol)  XML-based protocol for messaging  WSDL (Web Service Description Language)  Document describing the message exchange contract  DISCO (Discovery)  Simple protocol for publishing available services  UDDI (Universal Description Discovery and Integration)  Yellow pages directory for services

5 SOAP Simple Object Access Protocol  XML based protocol to exchange structured and typed information  Remote Procedure Calls (RPC)  Serialization Rules (XSD)  Extensible

6 WSDL Web Service Definition Language  An XML-based grammar for describing the capabilities of Web Services  Extensible  Jointly developed by Microsoft and IBM  Similar in concept to IDL, but it’s not IDL  To parse WSDL you need XML parser

7 UDDI Universal Description, Discovery and Integration  A project to speed interoperability and adoption for 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  Open process with clear roadmap to a standards body

8 Publish Find Bind Internet Overview of XML Web Service Architectures XML Web Service Provider XML Web Service Consumer UDDI (XML Web Service Broker)

9 Web Services As an Implementation of a Service-Oriented Architecture UDDI Any Client SOAP.NET Web Service SOAP IIS

10 Discovery Let me talk to you (SOAP) Web Services (In Practice) Design-Time or Dynamic Runtime http://yourservice.com HTML or XML with link to WSDL How do we talk? (WSDL) http://yourservice.com/?WSDL XML with service descriptions http://yourservice.com/svc1 XML/SOAP BODY WebService WebServiceConsumer UDDI Find a Service http://www.uddi.org Link to DISCO or WSDL document

11 XML Web Services Mapping Data Schema Services InvocationWebXML XSD WSDL SOAP ApplicationConceptsFrameworkObjects Classes Methods Calls The.NET Framework provides a bi-directional mapping

12 Simple Example using System; using System.Web.Services; public class HelloWorld : WebService { [WebMethod] public String SayHelloWorld() { return "Hello World"; }

13 SOAP  Simple Object Access Protocol  XML-based standard that defines how method calls can be made over HTTP, and how the server’s response should be formatted  You need to know it because  in certain circumstances where you might want to use SOAP to exchange special “meta” information along with each method call

14 SOAP Elements  Envelope (mandatory)  Top element of the XML document representing the message  Header (optional)  Determines how a recipient of a SOAP message should process the message  Adds features to the SOAP message such as authentication, transaction management, message routes, etc…  Body (mandatory)  Exchanges information intended for the recipient of the message.  Typical use is for RPC calls and error reporting.

15 <soap:Header> <Username>avi</Username><Password>xM76w@</Password></AuthHeader></soap:Header><soap:Body> <a>23</a><b>44</b></Add></soap:Body></soap:Envelope> POST /HelloWorld/Hello.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://tempuri.org/Add"

16 SOAP Fault  Used to carry error and/or status information within a SOAP message  Appears within the SOAP body  Defines the following:  faultcode (mandatory)  Faultstring (mandatory)  faultactor (optional)  Detail

17 SOAP Fault Example SOAP:Server Internal Application Error 794634 Divide by zero

18 Soap Extensions Creating  Create a class derived from SoapExtension  Create a class derived from SoapExtensionAttribute  Overload the constructor if necessary  Define any custom properties  Overload the ‘ExtensionType’ property to return the type of your derived SoapExtension class  Apply the attribute to a web method or web service class

19 Soap Extensions Uses  Used for More Advanced Functionality  Intercept Calls to a Web Service  Intercept Calls to a Web Method  Pre and Post Processing  Tracing  Encryption  Compression


Download ppt "Web Services. ASP.NET Web Services  Goals of ASP.NET Web services:  To enable cross-platform, cross- business computing  Great for “service” based."

Similar presentations


Ads by Google