Building Distributed
Applications
Using the Progress AppServer


Generating Audit Trails

Certain classes of applications require audit trails to be generated to trace events such as:

AppServer Application Audit Trails

In an AppServer session, you can access the current connection ID using the SERVER-CONNECTION-ID attribute on the SESSION handle.

Ideal locations to generate an audit trail on an AppServer include the AppServer Connect and Disconnect procedures. For example, your Connect procedure can use the user-id parameter and the SERVER-CONNECTION-ID attribute to write an audit trail record when a client application connects to the AppServer. Also, any code to create an audit trail record in the Disconnect procedure is always executed, since this procedure is guaranteed to run whether the connection is explicitly disconnected or forcibly disconnected in response to the QUIT condition.

On an AppServer operating in stateless operating mode, you can also use the AppServer Activate and Deactivate procedures to generate audit trails for each request. However, this use can reduce performance, depending on the load on your AppServer and the amount of information in the audit trail.

For more information on programming these procedures and on accessing the SERVER-CONNECTION-ID attribute, see Programming the AppServer."

NOTE: Audit information created in an Application Server process using the MESSAGE statement or other external output syntax such as the DISPLAY statement, is sent to the AppServer log file unless otherwise directed.

Client Application Audit Trails

In a 4GL client session, you can access the current connection ID using the CLIENT-CONNECTION-ID attribute on the server object handle used to connect the AppServer. For an open client (Java or ActiveX Controller) application, Progress provides appropriate methods for you to access the connection ID.

Typically, you might generate audit trail information on the client in code associated with AppServer connection and disconnection requests, or even with each remote procedure request, depending on how much information you need to capture.

For more information on accessing the CLIENT-CONNECTION-ID attribute from a 4GL client application, see Programming the Client Application." For information on the methods for accessing the connection ID from an open client, see the Progress Open Client Developer’s Guide.


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095