XMLHTTP and SOAP:
XML is the core basictechnology of web services and the key to SOAP implementation; XMLHTTP is designed based on XML. In terms of implementation: XMLHTTP is based on the browser. As long as you have IE, you can transfer XML strings to the server, which is highly versatile. However, the browser is not used for XMLHTTP. It is for public users to browse. If XML can be used to complete various operations, it will inevitably affect users. For example, the browser corresponding to the previous version of msxml can access client XML documents (initially designed for XMLHTTP), which means that the local file system can be accessed through XMLHTTP technology. Later, Microsoft defined it as a vulnerability, but now it is no longer possible. Of course, you can also write client programs, but they are limited to Visual series programs. They can call the API in msxml. But the server can be asp, jsp/servlet, all of which convert xml strings into xml documentobjects .
SOAP is a communication protocol in XML format, including: SOAP envelope defines a convention for describing message content, implying the message processing method; protocol binding provides a set of general mechanisms for transmitting SOAP envelopes through lower-level protocols; encoding rules are to combine various A convention for mapping application data types to tag-based XMLrepresentation ; the RPC mechanism provides a way to represent remote procedure calls and their return values. There is no clear relationship between it and other agreements. His province is an agreement. It can be bound to http.stmp, tcp and other protocols. SOAP messages are XML documents and can also have attachments. It can generate SOAP messages based on the API defined by W3C. Of course, Microsoft's .net platform also supports SOAP. SOAP+HTTP is similar to XMLHTTP in that it provides better and more powerful implementation capabilities, scalability and versatility in distributed collaborative communications. More importantly, it has become a key technology for Web Services and line communications.
SOAP and RMI, CORBA, COM
RMI and COM are all implementations of distributed applications, and they define communication between components. Since they are just communication conventions between programs under a system (such as a series of programs written in Java ), and communication requires specific platform support, except that the communication within this system is efficient, it cannot be used with other systems. program.
In order to solve this communication problem, CORBA designed a proxy request model (using IDL language) so that they can communicate with each other. However, this seems to be a patch and cannot solve the fundamental problem. The system becomes more and more complex, and the use of CORBA is only effective in restoring the value of old systems. None of them can pass through the firewall. SOAP+HTTP is a firewall-friendly protocol and can pass through the firewall.
SOAP is a protocol that has nothing to do with specific implementation. It is based on XML format and transmits data in XML format, making the system loose. In this way, the readability of XML is used in the application to parse the XML document to implement the application, which greatly improves the interoperability of the system (communication with different systems). Moreover, the business logic of each unit in the system is clear, which makes it highly portable and reusable.
UDDI and JNDI
UDDI is the registration management protocol for services. The UDDI registration center is used to register services. Users can register services through WSDL. Customers obtain WSDL documents by searching for services in the UDDI registration center, and obtain access based on the WSDL documents. Methods of a service to communicate with the service using SOAP. It can be implemented through a database , or it can be expressed usingopen source or corporate ( IBM, etc.) XML. When users query, their details can be returned by XML formatted information. The access procedure is nothing more than a hierarchical search process. The services it registers are universal and platform-independent, and the registration method is in a universal XML format. It can be Internet- oriented or Interanet to provide various services to various users.
JNDI is the Java service naming directory. It records the access directory of EJB and DataSource in the form of a tree. Programs can locate services through JDNI and RMI. Specifically, through their deployment files, when the server starts, it automatically establishes JNDI based on the deployment files and supports RMI and naming service queries (implemented by the server itself). RNI can then access these components. Its idea is basically similar to UDDI, but it is bound to a specific system platform, and is completely bound by services (related to programs, strictly not called services, but components), and its implementation is simple. Therefore, UDDI is more dynamic and easier to operate than JNDI.
The configuration files of WSDD and EJB
are similar to CMP entity beans. WSDD has similarities with its configuration files, but it describes the mapping between data and database, and does not involve methods. There is a server system The underlying implementation access methods. WSDD defines the access interface of the service, and the underlying system that supports web services identifies the interface, transmits data, etc.