210 likes | 441 Vues
SOAP. Patrick Allison UTA: CSE 5306. Presentation Outline. Introduction SOAP History Technical Architecture SOAP in Industry Summary References. Introduction. World Wide Web Consortium (W3C) Definition
E N D
SOAP Patrick Allison UTA: CSE 5306
Presentation Outline Introduction SOAP History Technical Architecture SOAP in Industry Summary References
Introduction World Wide Web Consortium (W3C) Definition A Web service is a software application identified by a URI, whose interfaces and bindings are capable of being defined, described, and discovered as XML artifacts. A Web service supports direct interactions with other software agents using XML-based messages exchanged via Internet-based protocols Programmer’s Viewpoint Web Service – is a class that allows its methods to be called by methods on other machines via common data format such as Extensible Mark Up Language (XML) and common transport protocols such as Hyper Text Transport Protocol (HTTP)
Introduction Web Service Host – The machine on which the web service resides Network Method Call – The client application sends a method call over the network to the web service host Service Host Response – The web service host will process the call and return a response over the network to the client application Web Service Advantages An application without direct access to data on another system might be able to access the data via a web service An application without sufficient processing power resources necessary to perform specific computations could use a web service to take advantage of other system’s superior resources
Introduction Other terms in the literature Representational State Transfer (REST) An architectural style of implementing web services RESTful web services (eg. Amazon web services – aws.amazon.com) REST is not a standard Extensible Mark Up Language (XML) Data format JavaScript Object Notation (JSON) An alternative to XML for representing data
Simple Object Access Protocol Definition – World Wide Web Consortium (W3C) describes SOAP as a lightweight protocol intended for exchanging structured information in a decentralized environment Version is 1.2 SOAP is a standard SOAP is in the same family of protocols as: Distributed Component Object Model (DCOM) Common Object Request Broker Architecture (CORBA) SOAP is an improvement on these older protocols DCOM & CORBA binary protocols SOAP transferred data in plain text format Plain text allows data transfers through web servers firewall
Introduction Java Remote Method Invocation (Java RMI) Java specific and a binary protocol SOAP is language independent SOAP standard does not incorporate internal security into the protocol
Histroy Development began in 1998 Emphasis was on accessing DCOM and CORBA objects across distributed systems Development shifted away from objects towards a generalized XML messaging framework SOAP Version 1.2 became a W3C recommendation on June 24, 2003 Companies involved with its development Microsoft HP IBM SAP DevelopMentor
Technical Architecture Publishing and Consuming SOAP-Based Web Services MS .NET Windows Communication Foundation (WCF) Create WCF Service Visual Web Developer (VWD) VWD creates a WCF service class SOAP is the default protocol for WCF web services, so no special configuration is required to create them Methods to be made available as a service to other applications are defined in the service class Web service will normally contain a service description XML document that conforms to the Web Service Description Language (WSDL) LL
Technical Architecture Create Client to consume the service .NET Application Add a service reference to the client Service Description – Service functionality and how to use it ServiceReference Web Service Consumer (Client Code) Proxy Class WSDL Copy
Technical Architecture Proxy Class handles the mechanism required for service method calls Networking details Creating SOAP messages Web Service Transaction Web service will receive requests as a SOAP message Web service executes the method call Web service sends back the results of the request as another SOAP message Proxy class deserializes the SOAP message Proxy class returns the result to the client application
Technical Architecture Client Network Client Code Proxy Object SOAP Web Service
SOAP in Industry Microsoft SOAP Toolkit 3.0 Incorporated into the .NET Framework Google SOAP Search API Replaced with Google’s REST API as of August 31, 2009 PayPal SOAP API
SOAP in Industry National Weather Service
SOAP in Industry Amazon.com
Summary Terminology associated with SOAP Web Service REST History of SOAP W3C recommended standard June 2003 Technical Architecture .NET Framework Implementation Creating WCF Web Service Creating a client SOAP in Industry Microsoft Amazon National Weather Service
References C# 2008 for Programmers 3rd edition http://docs.amazonwebservices.com/AmazonEC2/dg/2006-10-01/using-soap-api.html http://en.wikipedia.org/wiki/SOAP http://msdn.microsoft.com/en-us/library/ms950803.aspx http://www.w3.org/TR/soap12-part1/ Martin Tsenov, Application of SOAP Protocol in E-Commerce Solution, 2002 First International IEEE Symposium "Intelligent Systems", September2002
References Francisco Curbera, Matthew Duftler, Rania Khalaf,William Nagy, Nirmal Mukhi, and Sanjiva Weerawarana, Unraveling the Web Services Web: An Introduction to SOAP, WSDL, and UDDI http://www.w3.org/TR/2003/REC-soap12-part0-20030624