Powered By Blogger

Saturday, July 24, 2010

BPEL dehydration data store tables and their significance.

Dehydration store is the database where BPEL engine stores all BPEL processes meta data and run time instance data.This data store is installed under db schema- ORABPEL
Meta data includes bpel process descriptor (bpel.xml), human task modelling data etc..
Run time instance data includes process instance records, process activities execution data, invoke and call back xml messages etc..

Table nameDescription
CUBE_INSTANCEContains one entry for each BPEL instance created. It stores instance meta data information like creation date,last modified date, current state, process id etc.
Following are processes state codes and their meaning
StateCode
Closed and Aborted8
Closed and Cancelled7
Closed and Completed 5
Closed and Faulted 6
Closed and (Pending or Cancel)4
Closed and Stale9
Initiated 0
Open and Faulted3
Open and Running1
Open and Suspended2
CUBE_SCOPEStores the scope data for an instance. It stores BPEL scope variable values
INVOKE_MESSAGEStores incoming (invocation) messages (messages that result in the creation of an instance). This table only stores the meta data for a message (for example, current state, process identifier, and receive date). Following are message states and their meanings
StateDescriptionCode
CANCELLEDMessage Processing Cancelled3
HANDLEDMessage is processed2
RESOLVEDMessage is given to BPEL PM but not yet processed1
UNRESOLVEDMessage is not yet given to BPEL PM0
DLV_MESSAGECall back messages are stored here
WORK_ITEMStores activities created by an instance. All activities in a BPEL flow have a work_item table. This table includes the meta data for the activity (current state, label, and expiration date (used by wait activities))
SCOPE_ACTIVATIONScopes that need to be routed/closed/compensated are inserted into this table. In case of system failure, we can pick up and re-perform any scopes that should have been done before the failure
DLV_SUBSCRIPTIONStores delivery subscriptions for an instance. Whenever an instance expects a message from a partner (for example, the receive or onMessage activity) a subscription is written out for that specific receive activity. Once a delivery message is received the delivery layer attempts to correlate the message with the intended subscription
AUDIT_TRAILStores record of actions taken on an instance. As an instance is processed, each activity writes events to the audit trail as XML
AUDIT_DETAILSStores details for audit trail events that are large in size. Audit details are separated from the audit_trail table due to their large size. The auditDetailThreshold property in Oracle BPEL Control under Manage BPEL Domain > Configuration is used by this table. If the size of a detail is larger than the value specified for this property, it is placed in this table. Otherwise, it is placed in the audit_trail table
XML_DOCUMENTStores process input and output xml documents. Separating the document storage from the meta data enables the meta data to change frequently without being impacted by the size of the documents
WI_EXCEPTIONStores exception messages generated by failed attempts to perform, manage or complete a work item. Each failed attempt is logged as an exception message
PROCESS_DESCRIPTORStores BPEL processes deployment descriptor(bpel.xml)
Record of events (informational, debug, error) encountered while interacting with a process.
INVOKE_MESSAGE_BINStores invoke payload of a process. This table has foreign key relationship with INVOKE_MESSAGE table
DLV_MESSAGE_BINStores received payload of a call-back process.This table has foreign key relationship with DLV_MESSAGE
WFTASKStores human workflow tasks run time meta data like taskid,title,state,user or group assigned, created and updated dates
WFTASKMETADATAStores task meta data. Content in this table comes from '.task' file of BPEL project
WFASSIGNEEStores task assignee information
WFMESSAGEATTRIBUTEStores task input payload parameters
WFATTACHMENTStores task attachments
WFCOMMENTSStores task comments

5 comments:

  1. Can u please explain how a bpel process reaches suspend or resume state in cube_instance.Meaning in which scenarios does it reach meaning in which activity like wait ?

    ReplyDelete
  2. Hey Praveen,
    was just searching for something on google and hit ur Blog ... nice to find it.

    -Ramesh Tirumala

    ReplyDelete
  3. Hi Praveen,
    I need to get the log value from audit_trail table. It is in Raw data type . Do you have any idea on how to get the payload for a bpel instance in 10g.

    My requirement is to check the payload for a particular instance ie . based on cikey i need to view the payload being read in that.instead of being opening bpel console i need to check it from backend. Could you please help me in this.

    Thanks in advance.
    and nice blog and useful info for the SOA developers.

    Thanks
    Gnanaprakasam

    ReplyDelete
  4. what is the equivalent table for process_log(10g) in SOA Suite 11g. this is used to store the deployment information of the process.

    ReplyDelete
  5. Hi All,
    Thanks for the details.

    I am facing one issue where "value too large for column "DEV_SOAINFRA"."WFMESSAGEATTRIBUTE"."STRINGVALUE" (actual: 2023, maximum: 2000) ".

    I understand that we can not increase the column size to accommodate the value. So, I was planning to reduce the payload value which is getting stored in that column.

    Will there be in impact. Also, if anyone can help explain, what exactly is the usage for the table wfmessageattribute.

    Thanks,
    Priyankar

    ReplyDelete