WebGIS development practice manual 1.1.4 object technology of distributed computing

Source: Internet
Author: User

Applications on the InternetProgramCommunication is based on the TCP/IP protocol, but it only establishes an interconnected "channel" for software objects on different computers ", they also need a unified "communication language" to communicate with each other.

Cross-computer distributed applications comply with a specific software standard at the software component level [1], which guarantees interoperability between heterogeneous platforms and programs. This protocol allows programs running on one computer to call subroutines on another computer is called RPC (Remote Procedure Call ).

The starting point of a distributed application is that the software objects of the same or different operating systems on different computers can be called each other, and such software components can be compiled, currently, we have three main standards to comply with. They are:

Ø Microsoft's DCOM (Distributed COM, Distributed Component Object Model );

Ø Common Object Request Broker Architecture and Common Object Request proxy architecture of OMG [2] (Object Management Group, Object Management Organization );

Ø soap [3] (Simple Object Access Protocol, Simple Object Access Protocol );

Microsoft's DCOM standardizes the interaction process between COM objects and another COM object on the remote computer. It specifies the creation and communication mechanism of COM objects, although this specification does not rely on any specific language or platform, like most Microsoft products, it is currently only implemented on Windows platforms and is a private standard of Microsoft.

CORBA consists of several parts, including the Object Request proxy orb, object service, public facilities, domain interfaces, and application interfaces. The core part is the object request proxy orb, which provides a mechanism for the object to transparently send requests and receive responses.

Although CORBA is designed to run [4] on different platforms, DCOM can run on Microsoft's platform, however, the solution based on CORBA and DCOM must depend on homogeneous applications, and the two parties cannot communicate with each other. Even worse, both standards are binary standards based on the RPC protocol (in which, CORBA is based on IIOP and DCOM is based on the orpc Protocol). In the Internet programming environment, they cannot be "killed" through firewalls and proxy servers, and can only be applied to stable computer networks.

Because DCOM and CORBA cannot be stably implemented in the Internet environment, the emergence of the SOAP protocol has prompted the widespread use of HTTP and XML protocols: HTTP is used to implement RPC-style transmission of soap, while XML is its encoding format.

Although HTTP of soap is not the most effective transmission method, XML parsing must be performed on the client and server, which takes more time than other protocols, however, HTTP stability and XML plain text features enable it to be widely used in the Internet environment without the fear of firewall blocking, as shown in figure 1-8:

Figure 1 Listen 8 PRC in two different architectures encounters a firewall

The term "Soap" seems to be closely linked to Web Services, but soap appeared earlier than Web Services. Because soap is only a combination of existing technologies and has not invented any new technology, HTTP and text-based XML data are received by all platforms, therefore, soap is inherently interoperable and cross-platform.

Currently, the SOAP protocol has been widely used. In ArcGIS server9.2, ESRI provides a set of soap APIs for operating GIS server objects to facilitate interaction between users and server objects. Because all ArcGIS Server objects implement the irequesthandler interface, which can respond to SOAP requests, the ability to interact with soap is inherent, developers can directly interact with server objects through soap without using Web Services [5].

Small knowledge: XML-RPC

If we regard Web as a huge distributed programming environment, it is clear that remote rpc calls in a distributed environment should generally be transmitted Based on HTTP. In addition to soap, another common HTTP-based RPC method is XML-RPC.

XML-RPC is a remote process call that uses HTTP as the transport protocol and uses XML as the encoding method. Its design is simple and allows transmission, processing, and return of complex data structures. Although like soap, it is also an HTTP-based post-type request, but the difference is that it does not have a complex XML structure, the following is a typical request of a XML-RPC [6]:

Post/rpc2 http/ 1.0

User-Agent: Frontier/5.1.2 (winnt)

HOST: betty.userland.com

Content-Type: text/XML

Content-Length: 181

<? XML version = "1.0"?>

<Methodcall>

<Methodname> examples. getstatename </methodname>

<Params>

<Param>

<Value> <I4> 41 </I4> </value>

</Param>

</Params>

</Methodcall>

Currently, many blog program local writing software, such as Windows Live writer can use the XML-RPC API provided by the blog to exchange data with the blog.

[1] These are based on HTTP, orpc, and other protocols.

[2] http://www.omg.org/

[3] http://www.w3.org/TR/soap/

[4] However, it turns out that the implementation of the CORBA Protocol also depends on the specific products of different vendors.

[5] ArcGIS Server SOAP protocol visibility: http://edndoc.esri.com/arcobjects/9.2/NET_Server_Doc/developer/ArcGIS/SOAP/overview.htm

[6] standard visibility of XML-RPC: http://www.xmlrpc.com/spec

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.