The client library is C based but works in C++ development because of the extern "C" usage in the headers (see Table Components). There a number of reasons for using this C-based approach. The primary reason being to reach the widest possible audience.
The Sapphire/Web API is also extensible since it is written in C. Therefore, you can add functionality, as well as using existing code (see Table Component). In fact, a lot of your existing code can be added and used. This extensibility is a very powerful feature of Sapphire/Web and is a result of Bluestone's design philosophy. Therefore the tool is customizable.
The following areas describe the functionality and designs of using the Sapphire/Web API.