ACQ2XX Webservice Interface.
- Version:
- Revision
- 1.22
- Author:
- peter.milne@d-tacq.com
- Aim:
- Provide a SOAP format webservice as a universal remote control interface.
- Goals
- cross platform C++ RPC, with both low level and functional control, using supplied client-side library (tested Linux and Windows).
- cross platform Webservice, based on WSDL service definition, clients can be generated using WS tools
- Service provided on three levels
- Low Level Interface
- acq2sh - remote shell interface
- acqcmd - emulates traditional acqcmd interface
- getVersion - compare client, server interface versions
- Transactional Interface
- acq2script - allows multiple transactions Objects to be processed in a single request with full status checking. Stops on first error by default.
- Functional Interface
- high level system control transactions Classes available to complete most common setups, providing a client-side API.
- dedicated methods for the most commonly repeated functional controls.
- Implementation
- server side implementation is based on gsoap: http://www.cs.fsu.edu/~engelen/soap.html
- interface is defined in this file acq2xx.h
- RPC functions, and high Transaction objects.
- a client side gsoap implementation is provided as
- standalone low level client app
- function application to demonstrate use of the API
- Webservices based on generated WSDL - possibility to autogenerate applications in common webservice frameworks, eg .NET, Java, PERL.
- Operation
- webservice operates as a dedicated multi-threaded service running on:
- wsdl available at
- http://ACQ2XX_CARD/acq2xx.wsdl
- this wsdl is normalized to declare the service location to be at the ip address of eth0. It doesn't use hostname as not all systems use DNS for the "acq2xx" clients
- Client Side Libraries
- Linux:
- libstdsoap2.so
- object modules comprising api
- Windows:
- DLL to follow, use object modules at present.
- Client Side applications:
- Performance. SOAP is a human readable, XML protocol. So you would expect it to be slow. However, D-TACQ testing shows that this interface is capable of a respectable 25 transactions per second. This performance is adequate for the normal shot-based use case for ACQ196/ACQ216. The advantage of the WS/SOAP approach is portability and extensibility, coupled with an easy to user object oriented program model on the client.
- Extensions
- VB.NET client application - planned.
- Windows DLL - planned.
- access from Java JAX-WS (less urgent, dt100rc works).
- Use SSL for secure access - possible.
Generated on Mon Aug 21 12:39:57 2006 for ACQ2XXWebServices by
1.4.4