Savarese Software Research Corporation
Wisp C++ API 1.3.1 Documentation

Licensing

Ssrc Wisp is Copyright 2006-2012 by Savarese Software Research Corporation and licensed under the Apache License 2.0 as described in the files accompanying the source distribution:

  • LICENSE
  • NOTICE

This product uses software developed by Spread Concepts LLC for use in the Spread toolkit. For more information about Spread, see http://www.spread.org/.

Contact

For inquiries about the software see http://www.savarese.com/contact.html

Nota Bene

The use of templates and generative macros in Wisp makes source-derived API documentation of limited use. The framework is quite simple to use, requiring familiarity with only a few usage patterns. However, the implementation details revealed by the API documentation serve only to confuse newcomers. A Wisp programming tutorial with example programs will be made available at a future date. In the meantime, the example in examples/echo provides a starting point for building Wisp services.

Overview

Ssrc Wisp is a C++ framework for rapidly building services that interact with each other via events over local area or wide area networks. Leveraging libssrcspread, services can join groups and send/receive events to/from groups of services. Group messaging simplifies the implementation of fault-tolerant services, load-balancing, and parallel algorithms. Ssrc Wisp is suitable for constructing custom enterprise services and back-end services for Web applications.

The software has been tested with gcc 4.7.1 on Linux (3.x.x series kernel), FreeBSD 9.0, Solaris 10, and Mac OS X 10.6.6.

Compiling and Installation Instructions

Dependencies

Ssrc Wisp requires libssrcspread and the Boost C++ Libraries (www.boost.org) to build. The Spread Toolkit (www.spread.org) is needed also to implement Extended Virtual Synchrony for the ordering of distributed message exchanges.

Ssrc Wisp depends on the GNU development tool chain (g++, gmake, autoconf, automake, and libtool)—specifically GCC 4.5.0 or greater is required for compilation.

Generation of test code coverage data requires lcov (ltp.sourceforge.net/coverage/lcov.php). Generation of documentation requires doxygen (www.doxygen.org). None of these packages is required to compile the library.

Compiling

Run the configure script to generate the Makefiles.

  configure --help

will list the configuration options.

If the libssrcspread API headers and libraries are not installed in a default system location, you will have to tell configure how to find them with:

  configure --with-ssrcspread=PATHNAME

If the Boost API headers and libraries are not installed in a default system location, you will have to tell configure how to find them with:

  configure --with-boost=PATHNAME

If the Spread C API headers and libraries are not installed in a default system location, you will have to tell configure how to find them with:

  configure --with-spread=PATHNAME

Also, you may decide to use the –disable-namespace-versioning option to avoid having to recompile dynamically linked programs after upgrading the library.

Installation

To install:

  make install

To run compile and run unit tests:

  make check

If Doxygen is available on your system, you can generate API documentation with:

  make apidocs

If lcov is available on your system, then you can generate the code coverage data with:

  make coverage

Savarese Software Research Corporation
Copyright © 2006-2012 Savarese Software Research Corporation. All rights reserved.