Expecco RPC Interface: Unterschied zwischen den Versionen

Aus expecco Wiki (Version 2.x)
Zur Navigation springen Zur Suche springen
(Weiterleitung nach Expecco RPC Interface/en erstellt)
 
(9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
#redirect [[ Expecco RPC Interface/en ]]
== Introduction ==
[[Category: Incomplete]]
Many of the operations of expecco can be remote-controlled via RPC interfaces.
[[Category: Empty]]
These interfaces allow for external programs to invoke functions of an expecco running in "slave-mode",
thereby allowing for expecco to be integrated into an existing QM infrastructure.

Currently, interfaces are available for:

== XML-RPC ==
XML-RPC is a lightweight xml-based RPC mechanism, as documented in http://www.xmlrpc.com/spec.
XML-RPC uses HTTP as a transport mechanism.
Implementations for XML-RPC are very lightweight and available for many programming languages and systems.
The protocol is simple enough, to be even used by humans; for example, to invoke the '''system.versionInfo''' call as described below, send the following HTTP-POST-request to the service:

<CODE><PRE>
<?xml version="1.0"?>
<methodCall>
<methodName>system.listMethods</methodName>
<params></params>
</methodCall>
</PRE></CODE>
and get the response:
<CODE><PRE>
<?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value>
<array>
<data>
<value>system.getCapabilities</value>
<value>system.listMethods</value>
<value>system.methodHelp</value>
...
</data>
</array>
</value>
</param>
</params>
</methodResponse>
</PRE></CODE>

==== Introspection ====
The XML-RPC implementation supports the introspection interface:


*'''struct''' ''system.getCapabilities''( )<br>returns a structure containing info about supported RPC-interfaces and protocols


*'''struct''' ''system.versionInfo''( )<br>returns a structure containing version info about the RPC-service itself


*'''array''' ''system.listMethods''()<br>returns a vector of strings, comprising the names of supported RPC-entries.


*'''array''' ''system.methodSignature''( '''string''' )<br>returns a vector of strings, comprising the return-type and argument types names of the given RPC-entry.


*'''string''' ''system.methodHelp''( '''string''' )<br>returns an informative string, describing the functionality of the given RPC-entry.


use ''system.getCapabilities'' to get up-to-date information on the supported interfaces.

&nbsp;

== JSON-RPC ==
JSON-RPC a lightweight JSON-based RPC mechanism, documented in http://json-rpc.org/wiki/specification
and http://groups.google.com/group/json-rpc/web/json-rpc-2-0. JSON is a very simple encoding, which is common among
JavaScript based browser applications. JSON can therefore be used to control a running expecco from an interactive web-page.

== SOAP ==
SOAP is a not so lightweight xml-based RPC mechanism, which is well-documented and well-supported, especially in java enterprise and SOA environments. Specs are found in http://www.w3.org/TR/soap. Operations are described by a standard notation (WSDL), which can be parsed and used for automatic generation of service call interfaces. See http://www.w3.org/TR/wsdl for details.

The SOAP interface is also used by expeccoNET to control the execution of its remote testHosts.

== Telnet ==
The Telnet protocol is a very simple, line-oriented ascii-command interface, which can even be entered by a human operator. Its simplicity enables even simple batch-files or shell scripts to communicate with expecco slaves. The telnet protocol is specified in RFC854 (http://www.ietf.org/rfc/rfc854.txt).

== HTTP ==
It is also possible to talk to expecco directly via HTTP.
Thus, any webBrowser can be used to control an expecco slave.


<hr>
Back to [[Online_Documentation#Remote_Control_.28RPC.29_Interface_Reference | Online Documentation]]

Aktuelle Version vom 8. Dezember 2015, 17:23 Uhr

Weiterleitung nach:



Copyright © 2014-2024 eXept Software AG