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