Introduction to the RPC Server for C

The EntireX RPC Server for C allows standard RPC clients to communicate with servers written in C. It works together with the C Wrapper and calls standard libraries (Windows DLLs or UNIX shared objects/libraries). This document covers the following topics:


Administration using Command Central

Software AG Command Central is a tool that enables you to manage your Software AG products remotely from one location. Command Central offers a browser-based user interface, but you can also automate tasks by using commands to remotely execute actions from a terminal or custom script (for example CI servers such as Jenkins, or generic configuration management tools such as Puppet or Chef).

graphics/intro_cc.png

Command Central can assist with the following configuration, management, and monitoring tasks:

  • Infrastructure engineers can see at a glance which products and fixes are installed, where they are installed, and compare installations to find discrepancies.

  • System administrators can configure environments by using a single web user interface or command-line tool. Maintenance involves minimum effort and risk.

  • Release managers can prepare and deploy changes to multiple servers using command-line scripting for simpler, safer lifecycle management.

  • Operators can monitor server status and health, as well as start and stop servers from a single location. They can also configure alerts to be sent to them in case of unplanned outages.

The Command Central graphical user interface is described under Administering the RPC Server for C using the Command Central GUI. For the command-line interface, see Administering the RPC Server for C using the Command Central Command Line.

The core Command Central documentation is provided separately and is also available under Guides for Tools Shared by Software AG Products on the Software AG documentation website.

Server Interface Objects and C Server

The RPC Server for C uses server interface objects to call the customer-written C server. The server interface objects contain, for example, version information, parameter descriptions and logic to call the C server. Both the server interface objects and C server skeletons are generated with the C Wrapper. All server interface objects are linked together to the library named Dlibrary-name(1).extension(2). Similarly all C Server are linked together to the library with name library-name(1).extension(2).

See also Locating and Calling the Target Server.

Notes:

  1. library-name is formally the library-name of the library-definition of the Software AG IDL.
  2. The extension is .so or .sl under UNIX; .dll under Windows. Example for IDL library name EXAMPLE:
    • For Windows, the server interface object file name is DEXAMPLE.dll and the C Server file name is EXAMPLE.dll.

    • For UNIX, the server interface object file name is DEXAMPLE.so or DEXAMPLE.sl and the C Server file name is EXAMPLE.so or EXAMPLE.sl.

graphics/intro_sio.png

Worker Models

graphics/intro_workerModels-ccc.png

RPC requests are worked off inside the RPC server in worker threads, which are controlled by a main thread. Every RPC request occupies during its processing a worker thread. If you are using RPC conversations, each RPC conversation requires its own thread during the lifetime of the conversation. The RPC Server for C provides two worker models:

  • FIXED
    The fixed model creates a fixed number of worker threads. The number of worker threads does not increase or decrease during the lifetime of an RPC server instance.

  • DYNAMIC
    The dynamic model creates worker threads depending on the incoming load of RPC requests.

For configuration with the Command Central GUI, see Worker Scalability under Configuration > Server.

For technical details, see parameter endworkers under Administering the RPC Server for C with Local Scripts.