Web (JavaScript) remote call scheme list Web Remote Procedure Call (WebRPC) is a nearest hotspot, which is a nearest hotspot, which is the nearest hotspot. the way. WebRPC implementation experiences from ordinary URL read, hidden frames, iframe, XMLHTTP and even Flash, etc. This article will list the current WebRPC scheme (product) and make simple evaluation. Evaluation will be carried out in the following aspects: client implementation, server-side implementation, whether to support serialization / reverse sequence, sequential support is complete (atom type, object type), whether to support asynchronous / Synchronously. Note that due to the remote call of the web mode, it is not available. The author did not use WebRPC experience in enterprise applications, but in entertainment, online games have been considerable use. These applications have been discussed in detail in "WEB Application for Asynchronous Messages (AMOWA), interested in reading this article in the product guide section. 1 MSRS (Microsoft Remote Scripting) Address: http://msdn.microsoft.com/library/default.asp? URL = / library / en-us / rmscpt / html / rmscpt1.asp Description: Early, browsing on the web page The function is limited. The appearance of Applet provides a platform for MSRS. In this scenario, MSRS interacts with the server through an Applet class and the parameter configuration on the page, thereby implementing remote calls. This technology actually handed a page not refreshed to a non-visible applet called RSProxy.class. I have seen the early online web chess adopt this program. Advantages: It is easy to easily cross your browser; Disadvantages: The server side uses Microsoft ASP, and Applet is slowly loaded; the data type serialization / deserialization is not supported. 2 JSRS (JavaScript remote scripting) Address: http://www.blueshoes.org/en/javascript/jsrs/ Introduction: Support two data access methods: HTTP GET mode (dynamically loaded JS file), http post mode (with JS) Dynamically create an IFRAME where a form is submitted). Do not refresh the page, support serialization / deserialization of simple data. 3 XML-RPC address: http://www.xmlrpc.org/ Introduction: XML-RPC defines a protocol specification, because of its lightweight, conceptual integrity, there are currently most languages, including Java (Apache XML-RPC), PHP, JavaScript, Vbscript, Python, etc. The largest communication method BLOG protocol, the management method also follows the XML-RPC specification. Advantages: Most languages support, simple, specification. Disadvantages: Java implementation of data type serialization support limited 4 DWR (Direct Web Remoting) Address: https: //dwr.dev.java.net/ Introduction: A small thing that makes appropriate concepts at the appropriate time. With XMLHTTP delivery request, the server side returns the result after using the reflection to find the corresponding method. More creative is that he will dynamically convert the server-side code dynamically converted to the corresponding JS code, and the front end can explicitly call.
Simple, you can get started as a WebRPC study. Data serialization 5 JSON-RPC address: http://oss.metaparadigm.com/jsonrpc/ Introduction: A Data Exchange Protocol JSON (JavaScript Object Notation, http://www.crockford. COM / JSON /) As a protocol basis, the data call is performed, and the XMLHTTP sends / accept requests, supports the complete data serialization / reverse sequence. At present, the Jason Web framework uses JSON-RPC as the underlying mode. 6 BURLAP (http://caucho.com/burlap/index.xtp) Introduction: Maybe it will be strange, why Burlap can also calculate a remote protocol. In fact, Burlap is basically the same as the HESSIAN implementation (the former is binary, the latter is text), and any of the above products can be exceeded in the integrity of the protocol. Currently I have implemented the code of JS calling the Burlap service, which is the most elegant implementation in all remote call mode. 7 xins (XML Interface for Network Services) Address: http://xins.sourgeforge.net/index.html Introduction: According to the official website, SOA Java XML Code_Generation - Complexity => xins. This huge thing needs to define a package of description files before you can call in HTML. From the appearance, this is the most like solution. Not much to understand, do not evaluate. 8 WebService, SOAP Introduction: In addition to Microsoft has a WebService.htc control, Mozilla also has the corresponding webservice access method. Therefore, it is also possible to access WebService in HTML. Just this agreement is too bulky unless it is necessary, no one will be used in the web client. Client implementation server-side implementation Whether it is self-package protocol serialization / reverse sequence synchronization mode / asynchronous mode MSRSAppleTmicrosoft ASP does not support synchronization asynchronous JSRSIFRAME / Dynamic loading JS multi-kind, PHP, Java, etc. Most languages support XML-RPC support, Java implements limited support, does not support custom object synchronization asynchronous DWRXMLHTTPJAVA no weak synchronization asynchronous JSON-RPCXMLHTTPJAVAJSON support synchronization asynchronous burpxmlhttpjavaburlap fully support synchronization asynchronous xinsxmlhttpjava is support Synchronous Asynchronous WebServiceie adopts .htc, Mozilla built-in support, follow the WebService specification, SOAP support, different platforms have extended synchronization asynchronous
Author Blog:
http://blog.9cbs.net/mechiland/