In RSB the service consumers and providers communicate through RSB layer. The consumers call a proxy service in RSB and RSB calls the service providers using business service. This decoupling provides many benefits, once of which is the opportunity for instrumentation. The service calls are intercepted and useful information extracted and persisted without affecting the functionality. RSB uses instrumentation to get the meta data of services for reporting, analyzing and troubleshooting.
In RSB the instrumentation is done in the decorator module. The service invocation is intercepted and the data fields are captured and persisted to the database configured at the deployment. This process is done asynchronously so that performance of the main flow is not directly affected. The data fields are persisted to rsb_service_activity table.
Table 12-1
Column Name | Data Type | Nullable? | Description |
---|---|---|---|
ACTIVITY_NUM |
NUMBER(19,0) |
No |
Generated unique number. |
ACTIVITY_STATE |
VARCHAR2(8 BYTE) |
Yes |
Can have RESPONSE or ERROR as value. |
APPLICATION_NAME |
VARCHAR2(12 BYTE) |
Yes |
Name of the service provider application. |
BUSINESS_OPERATION_NAME |
VARCHAR2(256 BYTE) |
Yes |
The service operation name. |
BUSINESS_SERVICE_NAME |
VARCHAR2(256 BYTE) |
Yes |
The name of OSB business service. |
BUSINESS_SERVICE_URI |
VARCHAR2(256 BYTE) |
Yes |
Not populated by OSB. |
ERROR_CODE |
VARCHAR2(64 BYTE) |
Yes |
Error code returned by service provider. |
ERROR_DETAIL |
VARCHAR2(2048 BYTE) |
Yes |
Not populated by OSB. |
ERROR_REASON |
VARCHAR2(1024 BYTE) |
Yes |
Error message returned by service provider. |
MESSAGE_ECID |
VARCHAR2(64 BYTE) |
No |
Generated ID. |
MESSAGE_FAMILY |
VARCHAR2(25 BYTE) |
Yes |
Retail Message Family. |
PROXY_OPERATION_NAME |
VARCHAR2(64 BYTE) |
Yes |
Name of the OSB proxy service operation. |
PROXY_SERVICE_NAME |
VARCHAR2(256 BYTE) |
Yes |
Name of the OSB proxy service. |
PROXY_SERVICE_URI |
VARCHAR2(256 BYTE) |
Yes |
URI of the proxy service. |
REQUEST_TIMESTAMP |
TIMESTAMP(6) |
Yes |
The timestamp of the service request. |
REQUEST_XML |
CLOB |
Yes |
XML payload of the service request. |
RESPONSE_TIMESTAMP |
TIMESTAMP(6) |
Yes |
The timestamp of the service response. |
RESPONSE_XML |
CLOB |
Yes |
XML payload of the service response. |
Note: REQUEST_XML and RESPONSE_XML are populated only when the audit is enabled. See Appendix D for more details on the RSB Service Activity Table. |
In a clustered environment the RSB components may run in any of the managed servers depending on the load of the system. Thus the log messages are distributed across the managed server logs. This posts a huge hurdle in debugging issues, since there is no way to predict which component runs in which managed server. RIC solves this problem by broadcasting the logs from all the managed servers to the admin server and providing a single place to view the consolidated log. The consolidated log file is retrieved from the server using WebLogic Diagnostic Framework (WLDF). The consolidated log can be viewed using RIC or by directly viewing the <domain name>.log in the servers/AdminServer/logs folder in the domain home. The log file name and related attributes are set in the WebLogic server during the -prepare-wls step of the deployment.