190 likes | 405 Views
GROUP 3. Larry Gillis Eric Lam Cindy Lee Calvin Nguyen Evgeni Zlatanov. The Problem. Interoperability between Internet applications
E N D
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
IntroductionWhat 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 SkeletonSimple Example MESSAGE <?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> <n:movie>Star Wars</n:movie> </soap:Header> <soap:Body> <p:day>Wednesday</p:day> <p:times>7 p.m-12 a.m.</p:times> </soap:Body> </soap:Envelope> RESPONSE <?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> <n:movie>Star Wars</n:movie> </soap:Header> <soap:Body> <p:day>Wednesday</p:day> <p:times>12 a.m.</p:times> </soap:Body> </soap:Envelope>
DemonstrationFire-and-forget SOAP message Stock Quotes <?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> Simple SOAP messaging model • Used by businesses to send automated messages and updates increase productivity, reduce costs, improve services
DemonstrationGoogleSearch http://www.perfectxml.com/SOAPTestClient.asp http://www.perfectxml.com/articles/XML/TheXMLWeb.asp License key = bCpSxv1QFHLwtI0PLyIO4+2gPqkLO2z8
DemonstrationMessage 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 Group #1: BC Books – Eliminating the Middleman Group #4: “BC-Bay” 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/
ConclusionSummary • 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
ConclusionBenefits 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/package-summary.html • http://www.w3schools.com/soap/default.asp • http://www.w3.org/TR/SOAP/