Main Page | Namespace List | Class Hierarchy | Data Structures | File List | Data Fields | Globals | Related Pages

acq2xx_simple.h

Go to the documentation of this file.
00001 /* ------------------------------------------------------------------------- */
00002 /* file acq2xx.h                                                             */
00003 /* ------------------------------------------------------------------------- */
00004 /*   Copyright (C) 2006 Peter Milne, D-TACQ Solutions Ltd
00005  *                      <Peter dot Milne at D hyphen TACQ dot com>
00006 
00007     This program is free software; you can redistribute it and/or modify
00008     it under the terms of Version 2 of the GNU General Public License
00009     as published by the Free Software Foundation;
00010 
00011     This program is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014     GNU General Public License for more details.
00015 
00016     You should have received a copy of the GNU General Public License
00017     along with this program; if not, write to the Free Software
00018     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.                */
00019 /* ------------------------------------------------------------------------- */
00020 
00021 /** @file acq2xx.h ACQ2xx web service definition. */
00022 
00023 /** @mainpage ACQ2XX Webservice Interface.
00024  *  @version $Revision: 1.20 $
00025  *  @author peter.milne@d-tacq.com
00026  
00027  *  - Aim:
00028  *   - Provide a SOAP format webservice as a universal remote 
00029  *       control interface.
00030  *  - Goals
00031  *   - cross platform C++ RPC, with both low level and functional control, 
00032  *        using supplied client-side library (tested Linux and Windows).
00033  *   - cross platform Webservice, based on WSDL service definition, clients 
00034  *        can be generated using WS tools
00035  *  - Service provided on three levels
00036  *   -  Low Level Interface
00037  *    - acq2sh - remote shell interface
00038  *    - acqcmd - emulates traditional acqcmd interface
00039  *   - Transactional Interface
00040  *    - acq2script - allows multiple transactions Objects to be processed in 
00041  *      a single request with full status checking. 
00042  *      Stops on first error by default.
00043  *   - Functional Interface
00044  *    - high level system control transactions Classes available to 
00045  *      complete most common setups, providing a client-side API.
00046  *    - dedicated methods for the most commonly repeated functional controls.
00047  *
00048  * - Implementation
00049  *  - server side implementation is based on gsoap:
00050  *     http://www.cs.fsu.edu/~engelen/soap.html
00051  *  - interface is defined in this file @ref acq2xx.h
00052  *  - RPC functions, and high Transaction objects.
00053  *  - a client side gsoap implementation is provided as
00054  *   - standalone low level client app
00055  *   - function application to demonstrate use of the API 
00056  *  - Webservices based on generated WSDL - possibility to autogenerate
00057  *    applications in common webservice frameworks, eg .NET, Java, PERL.
00058  * - Operation
00059  *  - webservice operates as a dedicated multi-threaded service running on:
00060  *   - http://ACQ200_CARD:66666
00061  *    - service is enabled by /ffs/dropbear/etc/auxd/auxd.3.conf
00062  *  - wsdl available at
00063  *   - http://ACQ200_CARD/cgi-bin/acq2xx.wsdl
00064  *
00065  * - Client Side Libraries
00066  *   - Linux:
00067  *    - libstdsoap2.so
00068  *    - object modules comprising api
00069  *   - Windows:
00070  *    - DLL to follow, use object modules at present.
00071  * - Client Side applications:
00072  *  - acq2xx_client - see acq2xx_client.cpp
00073  *
00074  * - Performance.
00075  *    SOAP is a human readable, XML protocol. So you would expect it to be slow.
00076  *    However, D-TACQ testing shows that this interface is capable of a respectable 25 transactions per second. 
00077  *    This performance is adequate for the normal shot-based use case for ACQ196/ACQ216.
00078  *    The advantage of the WS/SOAP approach is portability and extensibility, coupled with an easy to
00079  *    user object oriented program model on the client.
00080  * - Extensions
00081  *  - VB.NET client application - planned.
00082  *  - Windows DLL - planned.
00083  *  - access from Java (less urgent, dt100rc works).
00084  *  - Use SSL for secure access - possible.
00085  */
00086 
00087 //gsoap acq2s service name: acq2s
00088 //gsoap acq2s service encoding: literal
00089 //gsoap acq2s service namespace: http://www.d-tacq.com
00090 //gsoap acq2s service location: http://islay:5678
00091 //gsoap acq2s schema elementForm: qualified
00092 //gsoap acq2s schema attributeForm: qualified
00093 
00094 
00095 
00096 
00097 #define ACQ2XX_H_VERSION "$Revision: 1.20 $"
00098 
00099 /** Low Level functions */
00100 
00101 
00102 int acq2s__acq2sh(char* command, char*& response);
00103 /**< remote shell command. */

Generated on Mon Aug 21 12:39:57 2006 for ACQ2XXWebServices by  doxygen 1.4.4