Usage Governance

Once a service is deployed and operational, it may be necessary to govern its usage. This section describes this functionality and how it works in SOA Gateway.


Introduction

When a service has been created and is deployed, there are a number of things that may need to be understood about the usage of service.

  • For audit purposes, it may be necessary to know who has used a specific service and when.

  • It may be necessary to log the data provided to the service and the data returned by the service to record what the user did.

  • It may be necessary to understand who is using a service on specific dates or even within a time range.

  • When a service has been deprecated (i.e. replaced by a newer version of the service), it is necessary to understand who is still using the service so that they may be upgraded to the newer level of the service and the older version retired.

  • For capacity planning purposes, it is necessary to understand how often a service is being called.

  • In order to comply with Service Level Agreements (SLAs), the behaviour of the service under normal circumstances must be understood so that a commitment can be made to a SLA and it can be detected when a service is performing outside its normal band.

Governance Data

The following describes the information that is available to enable an organization to properly govern their various services based on their core software assets.

Version

The web service version.

Status

The web service status i.e. Test, Frozen, Deprecated or Historical.

Identity

The user calling the web service.

Time

Time is recorded at various stages of the service invocation e.g. the time the server received the request, the time the input was processed, the time the output was processed and the time the request was returned.

Location

This records the IP address from where the request originated and the IP address of the server.

Operation

This records the HTTP SOAP method and the request operation.

Data

This records the request input data and the request output data.

Service collection

SOA Gateway can be configured to collect data or not at the service name level. This represents the logical name of the service which may have different versions of the service active at any one time in a given SOA Gateway server instance. The following information may be collected about each service.

  • No governance information about the service at all.

  • Detailed access information about the service. This will record the access data (e.g. date and time of access, identity of caller, location of caller etc.) for each request made to the service.

  • Request information provided to the service by the caller. This will record the message data provided to the service for each request made to the service.

  • Response information returned by the service to the caller. This will record the message data returned by the service to the caller for each request made to the service.

Controlling Collection

Collection will be controlled by higher level defaults for the entire SOA Gateway server instance. These may then be overridden at the service level.

Global Collection

This is set on/off via the SOA Gateway Control Centre. Selecting the server displays its properties. Click on the Governance tab. Shown below are the items which can be set :

graphics/ccusgov01sag.png

Important:
To activate/deactivate usage governance, these settings must be saved, the server stopped and restarted

Basic

Here is where Governance collection is set on/off. Selecting Information turns collection on. Selecting Input Data and/or Output Data adds this information to the collection. If writing to a local file then a maximum file size can be set. When this value is reached the file will be written and collection continues with a new file.

Governance Server

The option to send collection data to another SOA Gateway is achieved by setting the Host and Port details. Prior to this a governance web service must be created and the server up and running. See here for details on how to do this.

Messaging

A third option is to send data to an existing Messaging system. Currently this can be IBM WebSphere MQ or Software AG EntireX Broker. See bla bla bla for details on SOA Gateway Messaging.

Collection at Web Service Level

Select the web service (under Services) in the Control Centre. Here the collection can be set as required for a specific service (Use service overrides). Otherwise the value of the global setting is used (Use global settings).

The fourth option shown here, Service Statistics, is used to collect various metrics at the web service level. See here for details on this.

See here for tutorials on Usage Governance.