Introduction to mtProAudience:

As part of the ease-of-use philosophy of FairCom DB, mtPro brings an easy-to-use interface to the mtree build system. mtPro is a makefile utility for configuring and building your FairCom DB libraries from the FairCom DB Professional package.

 

FairCom mtPro

mtPro is a makefile utility for configuring and building your FairCom libraries from the FairCom DB Professional package. As part of FairCom's ease-of-use philosophy, mtPro brings an easy-to-use interface to the mtree build system.

mtPro Main Window

The mtPro Main Window provides configuration options for the FairCom DB supported library models. This support includes:

  • Client-side libraries
  • StandAlone libraries
  • The Server SDK
  • Server-side Plugins

In addition, compiler options for library types, debug options, and output directory are presented.

 

Core Features

These options are basic compiler options available to all models.

Change Platforms Button

Click the Change button to select your platform and compiler of choice. You will be presented with a set of tabbed windows with information on the supported platforms and compilers for each. Click OK when you have made your choices. Supported platform/compiler combinations are listed later in the Platforms Window section of this help file. Your selected operating system and compiler choice will be displayed at the top of the window above the tabs.

Project Directory

You can select the project directory where you would like your FairCom DB project files to go. .\myProject is the default location.

Build

FairCom DB Lets you choose a release build or a build including debugging information specific to your platform and compiler. The availability of the FairCom DB Professional source code allows for this capability.

Click the Build button to begin the mtree build process.

Build Output and Information Tabs

Output from the build process is sent to the mtPro utility where it is captured on the Build Output tab found on the lower portion of the window. Browse through this output should you encounter any errors and to determine how to resolve them.

The Information tab displays specific information about the combination of options you have chosen for your selected build. Check this information before you build and be sure it includes the options you desire.

 

Client Side

The FairCom DB Client/Server model is ideal for most applications. You can build the client side library to include in your application. Multiple options are available as shown below.

 Client Side Library Options

  • Multi Threaded Client (default) - Choose this for most uses. This is the default library included with all FairCom DB installations.
  • Single Threaded Client - Choose this client library model if you only require a single thread per user.
  • Single Threaded Client (LOCLIB) - Choose this unique client library model if you also require a local standalone database in addition to a remote server. The standalone library is a single user library supporting transaction processing. The command line mtmake utility has additional options should you need an alternative standalone library model.

Communications Protocols

Multiple client/server communications options are available. The default FairCom DB database engine supports TCP/IP and Shared Memory protocols as installed.

  • TCP/IP + Shared Memory (default) - This default option is the most reliable and universal communication standard available. Shared Memory will be used if your application runs on the same host machine as the FairCom DB database engine, otherwise TCP/IP will be used.
  • Shared Memory Only - Choose this option if your application runs on the same host machine as the FairCom DB database engine.
  • TCP/IPv6 - Select this option for TCP/IP using IPv6.

Client Side Library Type

  • Dynamic Link (DLL) - The dynamic link library offers the most flexibility for many applications and is the FairCom DB default. This makes it very easy to switch the FairCom DB client library should you wish to update, or change options in the future without recompiling your entire application code.
  • Static Link (default) - Choose the static option if you wish to link the FairCom DB client library directly to your application code.

 

StandAlone / Embedded Database

The FairCom DB Professional package allows the development of embedded, or standalone, database technology directly in your application. This offers advanced developers with unique engineering needs a fast, powerful and extremely adaptable database solution. Choose this technology when you have specific application needs such as embedded device control or remote devices requiring an embedded standalone database engine.

StandAlone Library Options

  • Single User Stand Alone (No TRANPROC) (default) - This option is the best choice for standalone performance and provides for the smallest library footprint.
  • Single User Stand Alone (TRANPROC) - Add transaction processing when you need database integrity and reliability for situations where the database can experience occasional interruption, such as power failures or otherwise.
  • MultiUser Stand Alone (FPUTFGET) - The FPUTFGET model allows multiple users interact with a common data source. This model does not offer transaction processing features such as atomicity and recoverability. Data is forced to and from disk with every PUT and GET operation, which does not scale well with large numbers of users. This legacy model remains for specialized engineering uses and is largely superseded by the powerful FairCom DB database engine, which can be leveraged into nearly any multiuser database handling solution.
  • MultiThread MultiUser Stand Alone (FPUTFGET) - Much like the above FPUTFGET model, the multithreaded model allows each user to interact with the database engine with multiple c-tree threads.

Unicode Support

Unicode support can be included in the FairCom DB database library. This support requires the IBM International Components for Unicode (ICU) library to be installed on your system. This support is free and available from the ICU web site. The ICU library was chosen as it provides the most robust and up-to-date support for Unicode. You will need to install this library into the /your directory of your FairCom DB installation. If mtPro does not detect your ICU installation, this option is disabled.

StandAlone Side Library Type

  • Dynamic Link (DLL) - The dynamic link library offers the most flexibility for many applications. This makes it very easy to switch the FairCom DB client library should you with to update, or change options in the future without recompiling your entire application code.
  • Static Link (default) - The default static option allows you to link the FairCom DB standalone library directly to your application code.

 

FairCom SDK

The FairCom Database Engine Server SDK is a powerful way to meld your performance-sensitive application code directly into the c-tree server. The Server SDK allows you to customize and tailor the FairCom Database Engine in ways unavailable with any other database technology.

  • Directly link the FairCom Database Engine to your application for outstanding performance.
  • Custom callback functions can be tailored to execute precisely when you need them.

Key source code modules are exposed allowing a developer to modify particular operational aspects of the server. For example, custom sort routines, I/O routines, and communication libraries are all available for expansion. You can even add custom server startup and shutdown functionality.

For more information, see Customize Core Server Functionality in the FairCom DB Developer's Guide.

Server SDK Options

  • FairCom DB ISAM Database Server - Build a customized navigational database engine as a standard executable process. This is the traditional ISAM client/server model of the FairCom Database Engine. You can include your own server customizations directly in the server executable process.
  • FairCom DB SQL Database Server - Build a customized relational database engine as a standard executable process. This is the client/server model of the SQL FairCom Database Engine. You can include your own server customizations directly in the server executable process.

 

Server Plugins

The CTUSER model allows the creation of a server side plugins extending FairCom DB Server functionality. This unique feature allows an application developer to place customized functions, much like stored procedures, on the server for enhanced performance. Multiple plugins can be placed under the server for different unique purposes. Some examples include report generators, specialized job engines, or server side directory maintenance.

Server Plugins Options

Optional CTUSER Library name - Create a customized name for the library your are building using the CTUSER server plugin system. You can create multiple plugins for various functionalities. If you specify an optional name for the library, the mtree build system will look for that name as a .c module to build.