GROUP 3 Larry Gillis Eric Lam Cindy Lee Calvin Nguyen Evgeni Zlatanov The Problem Interoperability between Internet applications • • Today there are countless different operating systems, different firewalls, different methods of making remote procedure calls, and different platforms. In order to interoperate across the Internet both the client and server need to understand each others security types and trusts, service deployment schemas, and implementation details. Remote objects can give a program lots of power over the Internet, but most firewalls block non-HTTP requests. The Goal • The goal is a world where you can access objects and services on remote (or local) servers in a platform-independent manner. The Solution • • SOAP bridges the gap between competing object RPC (Remote Procedure Calls) technologies and provides a light-weight messaging format that works with any operating system, any programming language, and any platform. SOAP is able to provide intraprocess communication across machines. It gets around the limitations of firewalls remote objects face when sending non-HTTP requests. Overview • • • • • • • • Introduction Brief History 3 Main Components SOAP Skeleton Demonstration (SOAP Request/Response) SOAP & MC365 Final Projects Conclusion Q&A | Additional Resources Introduction What is SOAP? • • SOAP defines the use of XML and HTTP to access services, objects, and servers in a platform-independent manner. SOAP offers a mechanism for bridging competing technologies in a standard way. The main goal of SOAP is to facilitate interoperability. Brief History • A group of industry leaders including Compaq, HP, IBM, IONA, Lotus, Microsoft, and SAP proposed to W3C, in May 2000, the SOAP Internet protocol that they hope will revolutionize application development by connecting GUI desktop applications to powerful Internet servers using the standards of the Internet, HTTP and XML. 3 Main Components • The SOAP envelope construct defines an overall framework for expressing what is in a message; who should deal with it, and whether it is optional or mandatory. • The SOAP encoding rules defines a serialization mechanism that can be used to exchange instances of application-defined data types. The SOAP RPC representation defines a convention that can be used to represent remote procedure calls and responses. • SOAP Skeleton <?xml version="1.0"?> <soap:Envelope xmlns: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> SOAP Skeleton Simple Example MESSAGE RESPONSE <?xml version="1.0"?> <soap:Envelope xmlns:soap=http://www.w3.org/2001/12/so ap-envelope soap:encodingStyle="http://www.w3.org/20 01/12/soap-encoding"> <soap:Header> <?xml version="1.0"?> <soap:Envelope xmlns:soap=http://www.w3.org/2001/12/ soap-envelope soap:encodingStyle="http://www.w3.org/2 001/12/soap-encoding"> <soap:Header> </soap:Header> </soap:Header> <soap:Body> <soap:Body> <n:movie>Star Wars</n:movie> <p:day>Wednesday</p:day> <p:times>7 p.m-12 a.m.</p:times> </soap:Body> </soap:Envelope> <n:movie>Star Wars</n:movie> <p:day>Wednesday</p:day> <p:times>12 a.m.</p:times> </soap:Body> </soap:Envelope> Demonstration Fire-and-forget SOAP message Stock Quotes Simple SOAP messaging model • Used by businesses to send automated messages and updates increase productivity, reduce costs, improve services <?xml version="1.0" ?> <env:Envelope xmlns:env="http://www.w3.org/2001 /09/soap-envelope"> <env:Body> <r:StockPriceUpdate xmlns:r="http://example.org/2001/06 /quotes"> <r:Symbol>BigCo</r:Symbol> <r:Price>34.5</r:Price> </r:StockPriceUpdate> </env:Body> </env:Envelope> Demonstration GoogleSearch http://www.perfectxml.com/SOAPTestClient.asp http://www.perfectxml.com/articles/XML/TheXMLWe b.asp License key = bCpSxv1QFHLwtI0PLyIO4+2gPqkLO2z8 Demonstration Message Exchange Patterns • • • • • One-way message Request/Response Solicit/Response (the reverse of request/response) Notifications Long running P2P conversations Simple Response/Response Sophisticated SOAP messaging SOAP & MC365 Final Projects BC Books – Eliminating the Middleman Group #4: “BC-Bay” Group #1: http://www.perfectxml.com/SOAPTestClient.asp SOAP & MC365 Final Projects Group #2: Information repository – encryption/decryption A sender wishes to exchange data with a receiver and has agreed to encrypt the payload. The sending and receiving applications agree on the encryption methodology. Data is encrypted by the originating application and sent to the receiver via SOAP. The data reaches the receiving application untouched, and may then be decrypted in the agreed-upon manner. SOAP & MC365 Final Projects Group #5: Secure file transfer and messaging Two partners are engaged in a long-running process, which involves multiple message exchanges. http://www.w3.org/TR/xmlp-scenarios/ Conclusion Summary • • • • • • • • • • • Simple Object Access Protocol Communication Protocol Communication between applications Format for sending messages Designed to communicate via Internet Platform independent Language independent Based on XML Simple and Extensible Get around Firewalls W3C standard Conclusion Benefits of SOAP • • Important for application development to allow Internet communication between programs Provides a way to communicate between applications running on different operating systems, with different technologies and programming languages Q&A Additional Resources • • Any questions? Additional Resources • • • • • • http://www.xmlfiles.com/articles/adam/soapsoup/default.asp http://www.microsoft.com/mind/0100/soap/soap.asp http://developer.java.sun.com/developer/technicalArticles/xml/webservices/ http://java.sun.com/webservices/docs/1.1/api/javax/xml/soap/packagesummary.html http://www.w3schools.com/soap/default.asp http://www.w3.org/TR/SOAP/
© Copyright 2024