Product Documentation

FairCom RTG V3 Update Guide

Previous Topic

Next Topic

Use Plug-ins and Run Anything Server-Side

FairCom's V12 Release introduces a brand new ability to extend their functionality with advanced modular capabilities. Using a new plug‑in architecture advanced features can be quickly dropped in and independently configured plug-ins are provided as a shared object and companion configuration file. Each plug-in is usually self-contained in its own unique folder for organization. All plug-in configurations are collected under a single configuration folder.

Several plug‑ins are provided by default. Provided plug-ins include:

  1. HTTP web services
  2. MQTT message services
  3. REST API services
  4. OPC communication protocols for Industrial IoT (IIoT) services
  5. UA communication interface for IIoT services
  6. PTC ThingsWorx® IIoT integration
  7. PTC ThingWorx® AlwaysOn IIoT protocols

Provided plug-ins are not enabled by default to maximize security. FairCom-provided Plug‑ins are securely implemented; however, they can increase the attack surface by possibly opening additional network ports and listening across alternative communication protocols.

Plug-ins are enabled as needed in your standard FairCom configuration file, ctsrvr.cfg. Each Plug-in is individually enabled with a configuration line that includes its configured name and shared object location.

Example

; Plugins

PLUGIN cthttpd;./web/cthttpd.dll

PLUGIN ctagent;./agent/ctagent.dll

The ctsrvr.cfg configuration file is now located in <faircom>\server\config (this location is optional and existing locations are supported for full backward compatibility).

More information on the Plug-In architecture is available in these locations:

In This Section

c-tree Server Can Load Plug-In On-Demand after Server Has Started

Web Plug-In - Default linked_ace_server

Previous Topic

Next Topic

c-tree Server Can Load Plug-In On-Demand after Server Has Started

To dynamically load a plug‑in on demand after c-tree Server has started up, use the ctadmn utility or use the same PLUGIN configuration option syntax that you would use in ctsrvr.cfg in a call to ctSETCFG().

Example 1 ‑ ctadmn utility:

  1. Select option

    10. Change Server Settings

  2. Select option 10 again. Change the specified configuration option

    Enter the configuration option and its value:

>> PLUGIN cthttpd;./web/cthttpd.dll

Successfully changed the configuration option.

Example 2 ‑ API function call:

ctSETCFG(setcfgCONFIG_OPTION, "PLUGIN cthttpd;./web/cthttpd.dll");

TOCIndex