Powered By Blogger

Search This Blog

Monday, April 4, 2011

Importing libraries for using Java Exec

Problem: Want to use Java Exec, is it resulting in error?


Solution:Add following libraries to your .bpel code:

Resetting Console login Password

Resetting Console login Password Problem:How do you change the password for BPEL Console user 'oc4jadmin'?


Solution:Follow the below mentioned steps to accomplish this:1)


Connect to SOA Suite EM Console (Application Server Control)


2) Click on appropriate container name. (Home or oc4j_soa, depending upon where your BPEL is available)


3) Click on Administration tab


4) Then click and Goto Task icon for Security Providers task


5) Click Instance Level Security


6) Click Realms


7) Click number under Users


8) Now search for 'oc4jadmin' in list


9) Now click it to change the password for BPEL Console and you are done

Saturday, March 26, 2011

Data base operation on BPEL task

some times we need to perform some operation on bpel task from dataabase,

below are some useful queries for same

I want to delete BPEL process instances along with any related Human Workflow data from the dehydration store.

I took the first part from the collaxa package in the ORABPEL schema, then added the rest for human workflow cleanup.

procedure delete_ci_wf( p_cikey in integer )
as
cursor c_wftask (v_cikey in cube_scope.CIKEY%TYPE)is
select taskid
from wftask
where instanceid = v_cikey;

v_taskid wftask.TASKID%TYPE;

begin
-- Delete the cube instance first
--
delete from cube_instance where cikey = p_cikey;

-- Then cascade the delete to other tables with references
--
delete from cube_scope where cikey = p_cikey;
delete from work_item where cikey = p_cikey;
delete from wi_exception where cikey = p_cikey;
delete from scope_activation where cikey = p_cikey;
delete from dlv_subscription where cikey = p_cikey;
delete from audit_trail where cikey = p_cikey;
delete from audit_details where cikey = p_cikey;
delete from sync_trail where cikey = p_cikey;
delete from sync_store where cikey = p_cikey;
delete from test_details where cikey = p_cikey;
delete from document_ci_ref where cikey = p_cikey;

-- Then cascade the delete to the human workflow tables
-- with references to this instance
--
-- cube_instance cikey = wftask.instanceid

OPEN c_wftask (p_cikey);
LOOP
FETCH c_wftask into v_taskid;
EXIT WHEN c_wftask%NOTFOUND;
delete from wftaskhistory where taskid = v_taskid;
delete from wfassignee where taskid = v_taskid;
delete from wfattachment where taskid = v_taskid;
delete from wfcomments where taskid = v_taskid;
delete from wfmessageattribute where taskid = v_taskid;
delete from wfnotification where taskid = v_taskid;
delete from wfnotificationmessages where taskid = v_taskid;
delete from wfroutingslip where taskid = v_taskid;
delete from wftasktimer where taskid = v_taskid;
END LOOP;

delete from wftask where instanceid = p_cikey;
commit;
end delete_ci_wf;

Naturally for a comprehensive purge I will have to delete the stale instances from invoke_message, dlv_message , xml_document etc.

How to work with DB Adapter in BPEL

Monday, August 18, 2008

Schedule BPEL process

BPEL: Scheduling reoccuring processes

  • Implement a master process, that has a and a that is configured for the time to make the process sleepling
    • Advantage: It's BPEL
    • Disadvantage: As it contains a wait and some other activities that might lead to (de)hydration, you fill you database
  • Use the Oracle RDBMS Job Scheduler (dbms_job package) that will start your process periodically
    • Advantage: One time implemented, backed up with the DB, and pattform independend
    • Disadvantage: It's bound to an Oracle DB, and you need to know at least some pl\sql, the rest is java
  • Use a Timer EJB (provided with a j2ee compliant java container)
    • Advantage: it's a statefull bean, so it will get saved, and revovered when the container goes down, use java to implement
    • Disadvantage: Dependend on the container you are using
  • Use QUARTZ, the open source scheduler
    • Advantage: It's opensource and Oracle BPELPM uses it for scheduling

Quartz can handle clustering, however it requires the JDBC-Jobstore for that case. We haven’t tested it with an Weblogic cluster. Within a few weeks we’ll have a Weblogic cluster available, and we will test this asap.

I am working on this as I get some documents will share on same page