- Understanding SOAP FAQs
- How do I invoke a method on a server when I'm using SOAP?
- Do M-POST calls have to occur before POST calls?
- When I'm using XML in SOAP, do I have to use namespaces?
- What happens when a method call has been requested?
- What are the values in a SOAP payload?
- What could cause the performance of a SOAP call to degrade or suffer?
- What kind of security does SOAP implement?
- When using SOAP, how do I implement a simple API for XML?
- How will SOAP impact .Net application development?
- How is ASP+ used when creating web services?
- How do I validate SOAP-based XML using a schema?
- When using SOAP, what is the most efficient way to access services from a client over the Internet?
How will SOAP impact .Net application development?
The architectural model that Microsoft proposes will enhance the traditional client/server relationship you're used to seeing with distributed applications by introducing Microsoft.Net. Normally, a client (such as a browser, but it could be a thick client of any variety) connects to an HTTP server and accesses information internal to the server. The server may implement all manner of n-tier code, access a variety of back office data stores, and apply a vast number of business rules to the client's request. Typically, though, the server presents data internal to that site (see Figure 1).
Figure 1 Traditional distributed client/server architecture.
The .Net platform allows you to create any number of web services that provide capabilities, via the Internet, designed to enhance such traditional servers. That is, the client can now connect to a given server, which is then free to easily access information remote from that server, process it in some fashion, and then present the sum of that information to the client. This is shown in Figure 2.
Figure 2 Distributed client/server architecture using Web Services.
A Web Service is a programmable URI that makes accessing a Web siteor exposing information to be returned from a Web siteas easy as creating and using an object. In a sense, you program your distributed application using resources accessible to you without concern (or with little concern) as to whether those resources are local to your system. Your application's view of the Internet is that the Internet provides a smorgasbord of objects you can interact with to get your job done.
Naturally, the way Web Services deal with each other and with remote clients is by using SOAP, or by employing other, simpler protocols, depending upon their individual natures. This allows you to seamlessly share information with business partners (much like BizTalk) while providing a powerful and easy programming model.
Web Services are created using ASP+ and SDL. They're accessed through the Microsoft .NET Framework, which introduces the C# language (pronounced "C-Sharp", as in the musical notation).
Source: This FAQ is excerpted from Understanding SOAP by Kennard Scribner and Mark C. Stiver (2000, Sams, ISBN 0672319225). Refer to this book for more detailed information on SOAP.