Welcome to UnityBase server-side API documentation

Here are described all Application server object, which are supplied in the standard edition distribution. Objects are grouped into the sections (navigation bar on the left).

Modules section contains a build-in modules, you can import a module using require.

Classes section contains a globally accessible classes.

Namespaces

Namespaces is a groups of functions and members in the global object. Think of it as about a objects, defined in the global. To access a namespace member, for example name of the current application, just write App.name

You can create your own namespace using UB.ns function. But we strongly recommend to use a modules instead of namespaces and load it using require.

Globals

This section contains all functions and properties, defined directly in the global object.

We know - this is a bad practice to put something directly into the global object, and we try to move as match as possible to modules.

From the historical reason:

For a NodeJS compatibility process, require, module, __filename and __dirname must be defined in the global object.

Try not to use the other global members - we remove it from global in the next versions (2.0 probably)

Useful links

Extending server

UnityBase have a several extending points:

  • Many of NodeJS modules can be used. We are working hard to improve compatibility with NodeJS.
  • Any function from ant thread-safe dll can be used with help of ffi module
  • can use a COM objects with help of UBComBridge module
  • Developer can write his own plugins using C/C++/ObjectPascal and load it via require

"Enterprise" edition

UnityBase Enterprise edition come with several additional build-in objects such as:

  • generation of a PDF (on both client or server side) with full Unicode support
  • PDF signing using visual and non-visual signature types
  • authorization using Negotiate (single sign on)
  • authorization using public-private key pairs (RSA or DSTU)
  • chanel encryption using very strong elliptic-curves based encryption

ORM in Enterprise edition support a Oracle and MS SQL databases.