QCG-Core

QCG-Core is an utility and interoperability layer for some QCG services (QCG-Computing and QCG-Notification). The library offers a set of standard functions that simplify the development of any Web Service in C language. In particular, QCG-Core provides stable mechanisms for handling Web Services configuration, loadable modules, transport protocols, as well as authentication and authorization. Moreover, it imposes some standard and best practices for developing new Web Services. Key features provided by QCG-Core are presented below:

  • configuration - it delivers XML Schema for the main configuration file together with a set of functions for parsing the file during Web Service runtime;
  • serialization and deserialization - it utilizes advanced gSoap routines for serialization and deserialization of XML data;
  • reconfiguration - loadable modules are supported, so various modules can be specified in the configuration file and loaded automatically;
  • transport modules - QCG-Core wraps gSoap and libpurple libraries for networked applications, thus HTTP, HTTPS and XMPP are supported;
  • authentication modules - it is easy to use various security modules for services and clients;
  • database modules - a set of functions supporting highly efficient access to external database over the ODBC interface.

Basic Installation

The QCG-Core library may be installed from RPMs or Deb packages as well as from source packages available  here.

Dependencies

Before compilation of the QCG-Core sources ensure that the following packages are available on your system (otherwise install them):

  1. libxml2 >= 2.6.27
  2. openssl >= 0.9.7
  3. unixODBC >= 2.2.0
  4. Python >= 2.4

Note: If you installed the libraries from binary packages check if those libraries were installed in devel versions (i.e. with headers files).

Configuration, Compilation & Installation

tar xzf qcg-core-*.*.*.tar.gz 
cd qcg-core-*.*.*
./configure --prefix=/opt/qcg
make
sudo make install

Note: You may need to pass some additional options to ./configure script if you have specific requirements or dependencies installed in non-standard locations (type ./configure --help for more info).

License

QCG-Core is released under the GPL license with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

For QosCosGrid licensing details see:  QosCosGrid license