Sie sind auf Seite 1von 3

CARES: Common Audit, Reporting, Error Solution

This set of services provides a central module for Auditing the business events and error occurrences on SOA ESB implementation. Reports on audit and error information will also be generated by this module.

Functional & Technical Specifications:


All Enterprise Business services will generate Audit messages, type = INFO upon entry, intermediate (component-component flow) and exit from the service. In case of a fault, the local error handler (in the component) will retry n times after which it will generate Audit message type= ERROR and exit. In case of business exceptions (non-recoverable) retry is not required by local error handler. The EBS services are made up of OSB, BPEL & Adapter components. At each components Entry and Exit an audit message will be generated. These Audit messages will be published via SOAP/JMS to a common JMS channel.

Business-Event Message Structure:


Section: Functional Details [mandatory] This section is mandatory to fill and will be populated for each audit event generated by service components, for any type (INFO, ERROR) Event_ID Service_ID TimeStamp KeyB_ID Consumer Provider Flow Component Step Audit Type Correlation ID ActionFlag <Primary Key> will be generated once by first activity in OSB/BPEL. Should not be re-generated for 1 service flow, but re-used. Name of service Current time at generation of audit msg. Map key business identifier from incoming request. Eg: KNo# Used to correlate audit messages with consumer applications log.

REQUEST, RESPONSE,ASYNC Name of component that generates Entry , Intermediate, Exit INFO or ERROR Used for Async execution. Mark if & what action needs to be performed in response to this event.

Section: Error Details [optional] This section Error code Error msg Etc Etc Etc

Section: Payload [optional] ?textPayload ?binaryPayload

Services for CARES


The Inbound Service will o Receive audit message from the inbound Queue o Write the audit message to the Database o Confirm message. Action Processor service will perform the needed actions in response to the audit/error message. Will be scheduled service, the ActionFlag in Audit tables will be filter criterion for performing actions like support email, notify application. Reporting service will be a scheduled service to create file based / email reports. It will pull data from the audit, error tables for this.

It is recommended audit inbound service be implemented in BPEL, due to use of adapters.(JMS/DB) It is desirable to implement ON/OFF flag and AuditType flag be set externally using maybe configuration file, but without having to read config file at every execution of service. (Possibly read configurations once and store in Weblogic level variables which are shared among services) Data structure of Audit Message: Event_ID Service_ID TimeStamp KeyB_ID Consumer Provider Flow Component Step Audit Type Correlation ID <Primary Key> will be generated once by first activity in OSB/BPEL. Should not be re-generated for 1 service flow, but re-used. Name of service Current time at generation of audit msg. Map key business identifier from incoming request. Eg: KNo# Used to correlate audit messages with consumer applications log.

REQUEST, RESPONSE,ASYNC Name of component that generates Entry , Intermediate, Exit INFO or ERROR Used for Async execution.

Database Tables design:


table: audit_trail Log_id [PK] Event_ID Autogenerate unique PK <Primary Key> will be generated once by first activity in OSB/BPEL. Should not

Service_ID TimeStamp KeyB_ID Consumer Provider Flow Component Step Audit Type Correlation ID ActionFlag

be re-generated for 1 service flow, but re-used. Name of service Current time at generation of audit msg. Map key business identifier from incoming request. Eg: KNo# Used to correlate audit messages with consumer applications log.

REQUEST, RESPONSE,ASYNC Name of component that generates Entry , Intermediate, Exit INFO or ERROR Used for Async execution. Mark if & what action needs to be performed in response to this event.

table: Error event Error_id[PK] Error code Error msg Etc Etc Etc FK from audit_trail.Log_id

table: Business Payload event_id[PK] ?textPayload ?binaryPayload FK from audit_trail.Event_id BLOB BLOB

Das könnte Ihnen auch gefallen