Custom Servers

If you have the either the Multi Platform or Enterprise editions of Data Abstract you are not tied to using the supplied comprehensive Relativity server. Instead you can create your own Custom Server which can be deployed to any1 platforms supported by Data Abstract.

Creating your own has a number of benefits and a couple of downsides compared to running Relativity. You have full control over what is in your server, you can implement your business logic or any other other code you need in your favorite .NET language or Delphi. You can quickly add & customize additional Remoting SDK services that provide other functionality than data access.

Another benefit is that you can create a monolithic server binary which has all of the schemas, business rules scripts and connection definitions linked to it. This makes it easy for you to deploy the custom server to your customers so they can run it.

Your custom server can be deployed directly as an Amazon Web Service or as a cloud service on the Windows Azure platform.

One of the biggest benefits of a custom server is that you will never incur deployment fees, regardless of home many instances you need. Therefore should you need to deploy more when you service / apps are successful, you won't need to ever think about fees.

Data Abstract provides a comprehensive Project Template Wizard for both Visual Studio and Delphi which in just a few steps will create a custom server that:

  • Is a fully functional Data Abstract server tailored to your Database.
  • Can be run different modes depending on the environment in which its built.
    • The version created in Visual Studio can be run with a GUI (using either WinForms or WPF), you can run it from the command-line or as a Windows Service.
    • On Delphi it can be launched as a standalone application using either FMX or VCL. It can also be run as a Windows service (VCL only).
  • Can handle the installation / deinstallation of itself as a Windows Service. (For Delphi this is only available in VCL)
  • Checks that there is only a Single instance of the server running. (Visual Studio only at this time)
  • Can parse arguments passed to it during startup.
  • Can optionally support OData access and provide Business Rules Scripting API support.
  • In .NET it provides a Single exception intercept point which is useful for logging etc. In Delphi you can catch exceptions via Application.OnException event.

Step by step guides to creating a Custom Server, as well as deploying a custom service as a cloud service, are available in the .NET & Delphi Advanced Topics sections.

Notes


  1. Custom Servers built in a .NET language can be deployed to Windows, Mac and Linux. However Servers built in Delphi can only be deployed to Windows.