1. What is SOA?
SOA is the acronym(缩略语) for Service Oriented Architecture.
Basically, SOA states that every component of a system should be a service, and the system should be composed of several loosely-coupled services.
A service here means a unit of a program that serves a business process.
Loosely-coupled here means that these services should be independent of each other so that changing one of them should not affect any other services.
2. What is a web service?
A web service is a software system designed to support interoperable machine-tomachine
interaction over a network.
A web service is typically hosted on a remote
machine (provider) and called by a client application (consumer) over a network.
After the provider of a web service publishes the service, the client can discover it
and invoke it.
The communications between a web service and a client application
use XML messages.
A web service is hosted within a web server and HTTP is used
as the transport protocol between the server and the client applications.
3. Web service WSDL
In order to be called by other applications, each web service has to supply a
description of itself so that other applications will know how to call it. This
description is provided in a language called WSDL.
WSDL stands for Web Services Description Language. It is an XML format that
defines and describes the functionalities of the web service, including the method
names, parameter names and types, and returning data types of the web service.
For a Microsoft ASMX web service, you can see the WSDL by adding
?WSDL to the end of the web service URL, say http://localhost/MyService/
MyService.asmx?WSDL.
4. Web service proxy
A client application calls a web service through a proxy. A web service proxy is
a stub class between a web service and a client. It is normally autogenerated by
a tool such as Visual Studio IDE, according to the WSDL of the web service. It can
be reused by any client application.
The proxy contains stub methods mimicking(模仿)
all the methods of the web service so that a client application can call each method
of the web service through these stub methods. It also contains other necessary
information required by the client to call the web service such as custom exceptions,
custom data and class types, and so on.
The address of the web service can be embedded within the proxy class, or it can
be placed inside a configuration file.
5. SOAP
There are many standards for web services—SOAP is one of them. SOAP was
originally an acronym for Simple Object Access Protocol and was designed by
Microsoft.