Serviceability is primarily a mechanism intended to be used by servers. Like other server functionality, it should be remotely controllable by properly authorized entities. This allows such things as message routing and debug levels to be adjusted without having to restart the server.
The standard remote serviceability interface is defined in the file /usr/include/dce/service.idl.
An application server using serviceability is responsible for providing routines that implement the operations defined in service.idl. However, "implementing" the operations themselves is a simple matter of calling library routines that actually perform them. The job of the application implementation is mainly to check the authorization of the remote caller and then either reject the request (if authorization is found to be insufficient) or call the appropriate library routine to perform the operation.
The following table lists such remote operations.
Remote Operations by Application Servers
Server "Implementation" | Library Routine | Purpose |
com_svc_set_route( ) | dce_svc_routing( ) | Remotely sets serviceability message routing. |
com_svc_set_dbg_route( ) | dce_svc_debug_routing( ) | Remotely sets serviceability debug message routing. |
com_svc_set_dbg_levels( ) | dce_svc_debug_set_levels( ) | Remotely sets serviceability debug message levels. |
com_svc_inq_components( ) | dce_svc_components( ) | Returns a listing of all components that have been registered with the dce_svc_register( ) routine. |
com_svc_inq_table( ) | dce_svc_table( ) | Returns the message table registered with a given component. |
com_svc_inq_routings( ) | dce_svc_routings( ) | Returns a list of routings in effect for a component. |
com_svc_filter_control( ) | dce_svc_filter( ) | Remotely controls the behavior of the serviceability message filtering routine (if one exists). |
com_svc_inq_stats( ) | dce_svc_inq_stats( ) | Returns operating statistics. |
Basic Steps in Setting Up the Remote Interface
Implementing the Remote Routines
Registering and Exporting the Remote Interface
Importing and Accessing the Remote Interface