OSE -- I EAT Penguins !!!!

General Information

Project Resources

User Documentation

Developer Resources

For a printable version of this page, go here.

Copyright © 2001-2002
Dumpleton Software Consulting.
http://www.dscpl.com.au
http://ose.sourceforge.net

SourceForge Logo

Basic Features


The general purpose components of the C++ class library include support for error handling, error message logging, error recovery, program debugging, memory management, resource management, generic collections, text processing, regular expression matching, date and time arithmetic, program configuration, operating system interfacing, multithreading and much more.

To support the construction of Internet enabled or distributed applications, the C++ class library provides an agent based system for construction of event driven systems. This is utilised to provide support for interprocess communication at the socket level, or using a message oriented request/reply and publish/subscribe paradigm. In order to be able to access this from the Internet, a HTTP servlet framework is provided along with RPC over HTTP interfaces supporting the NET-RPC and XML-RPC protocols.

For the Python programmer, modules are available which provide wrappers around parts of the event system, the request/reply and publish/subscribe agent capabilities, as well as access to the HTTP servlet framework and RPC over HTTP interfaces. In addition to the NET-RPC and XML-RPC protocols, when using the Python interface, support for the SOAP protocol is also available.

The relationship between the C++ class library and Python wrappers is such that it is possible to develop distributed applications which incorporate components written in either C++ or Python. The support of multiple RPC over HTTP protocols allows users to use whichever type of client they want, without the core of any web based service needing to be changed.

The build environment has been designed to simplify the task of writing makefiles, making the task of building applications, as well as the generation of both static and shared libraries much easier. The details of template instantiation for many of the C++ compilers is hidden, making it possible to write makefiles which are portable between different C++ compilers as well as different platforms.

The documentation extraction tools are able to take comments from C++ class header files and produce UNIX style manual pages, HTML, or MML files suitable for inclusion into Frame documents.