Talking about SOAP (2)
SOAP is not like DCOM, trying to define all elements of the distributed system. SOAP does not provide distributed class libraries, type security checks, version control, etc., SOAP is in a lower level than it, is a bit similar to IIOP's role in CORBA. DCOM provides some additional protocol functions, which is not available in IIOP or SOAP. However, many. The additional features of the DCOM are only available when communicating between servers - servers. It is redundant for communication between the client-server.
SOAP = RPC HTTP XML
SOAP simple understanding, this is an open protocol SOAP = RPC HTTP XML: HTTP as the underlying communication protocol; RPC as a consistent call approach, XML as a format of data transfer, allows service providers and service customers through firewall Communication interaction in the Internet. The description of the RPC may not be greatly accurate, because SOAP initial concept is to implement the independence and independence of the platform and the environment, each can be encapsulated by the remote call through the network, including DCE (Distributed Computing Environment) RPC Calls , COM / DCOM CALLS, CORBA Calls, Java Calls, etc. SOAP uses HTTP to transmit XML, although HTTP is not an efficient communication protocol, and XML requires additional file resolution (PARSE), which makes the transaction are much lower than other solutions. But XML is an open, sound, and semantic message mechanism, and HTTP is a wide range of problems with many firewalls, making SOAP a wide range of applications. But if efficiency is important to you, then you should consider other ways, not to use SOAP. In order to better understand how SOAP, HTTP, XML work, you may wish to consider the operational mechanism of COM / DCOM, the low-level details of the DCOM processing network protocol, such as the communication between Proxy / Stub, the management, objects of life cycle, object Identification. When the client is interacting with the server side, the DCOM uses NDR (Network Data Repesentation as a data representation, which is a low-level and platform-independent data representation. DCOM is effective, flexible, but it is also very complicated. One of SOAP is that its simplicity, SOAP uses HTTP as a network communication protocol, accepts and transmitting data parameters as a data format, replacing NDR format in DCOM, SOAP, and DCOM execution processes are similar As shown in the figure below, the NDR is replaced with XML as a coding performance form, providing a higher level, and has nothing to do with the platform and the environment.
When the client sends a request, regardless of the platform of the client, first convert the request into the XML format, the SOAP gateway can automatically perform this conversion. In order to ensure the uniqueness of the transmission, the method name, the return value, the SOAP protocol uses a private tag table, so that the server's SOAP gateway can be parsed correctly, which is a bit similar to the pile in the COM / DCOM. After converting into an XML format, SOAP terminal name (remote call method name) and some other protocol identification information is packaged into an HTTP request, and then sent to the server. If the application requires, the server returns an HTTP response message to the client. Unlike the HTTP GET requests that usually on the HTML page, this request sets some HTTP Header, identifies a SOAP service excitation, and the HTTP package is transmitted. For example: For an application in questioning stock price, the server side has components to provide a current price of a stock, and the component is COM or CORBA is built on the server. The client sends a SOAP request to the server asks the stock price. The server relies on the SOAP gateway on the server to call the appropriate method using the embedded HTML object, and then the resulting price will be transmitted to the client through SOAP. SOAP foreground
W3C issued Simple Object Access Protocol (SOAP) version 1.1 on May 8, 2000, which is published in the following sites (http://www.w3.org/tr/SOAP/). The draft recommendation of the SOAP Version 1.2 version was launched on July 9, 2001, which is published in the following sites (http://www.w3.org/tr/SOAP12/). Members of the Working Group written by SOAP Version 1.1 include: Developmentor, International Business Machines Corporation, Lotus Development Corporation, Microsoft, Userland Software. The launch of SOAP is exciting. It can believe that with the continuous development of network services, it will greatly change our thinking mode and development mode. Now, many big companies have started supporting SOAP development. In 2000 IBM and Microsoft have issued the first batch of SOAP. IBM has launched the Apache SOAP project plan. Microsoft has recently launched the official version of SOAPToolkit 2.0, including some of the features: SOAP high-level interface and low-level interface, message object interface, fully supports WSDL 1.1 standard, support user customization Type mapping, and provide rich and complete development documents and application instances. Moreover, the two companies are working hard to study in interoperability. Optimistic estimates, not long, SOAP interoperability is coming. Some standards related to SOAP: http 1.0 or greater (http://www.w3.org/protocols/http/ietf-http-ext) The Core W3C XML Recommendation (http://www.w3.org/tr/ 1998 / REC-XML-19980210) W3C XML Namespace Recommendation (http://www.w3.org/tr/rec-xml-names). Xml Schema (http://www.w3.org/tr/xmlschema-1 /) SOAP support some of the company's products: Organization product Rogue Wave Nouveau ORB Iona Orbix 2000 ObjectSpace Voyager Digital Creations Zope, the Python Application Server UserLand Frontier groupware product Microsoft Windows DNA 2000 SOAP is a protocol-independent programming language.