Monday 10 October 2011

BPEL tasklist in OBIEE and APEX

We have seen the process of creating a BPEL process with human work flows in my previous article. We have also seen the process of shifting a task from the work list of one user to the other.
Now let’s put this now info to use. 

Worklist (Tasklist) and OBIEE

We know that worklist is essentially a jsp page so it can be easily embedded in any environment. Since worklist is a report of the tasks which need a user’s attention, so it makes sense to integrate it with the rest of the reports of a user. 
Taking action on the task might be a bit tricky from OBIEE because it will entail sending webservice requests to the Task service. A typical scenario requires the updation of a few custom tables when an action is taken by the user. So I prefer to have a different application for processing the tasks and use OBIEE to display them. But if needed, we know OBIEE can handle just about everything
Importing the worklist in OBIEE will let the users see the tasks which need their attention. Worklist can have a link to an application which helps the user to take some action. We only have to add an iFrame to integrate OBIEE and BPEL tasklist. This only works if SSO is enabled and if the BPEL server and the OBIEE server protected by the same LDAP server. If this is not the case then you will have to go through the gyration of passing the necessary values to the jsp of the worklist and you will have to write explicit authentication code in the tasklist’s jsp so that smooth navigation happens.
Below screenshot shows worklist in an OBIEE server


Worklist (Tasklist) and APEX

Worklist can also be integrated with APEX in the same way as it was done with OBIEE.
The difference is that APEX can easily be used to do the processing of the tasks. We can have an APEX application to initiateTask, delegate it and complete it using the functions discussed in my previous article. I have put the following iFrame in my region source.


Here G_WORKLIST_URL is an application item which has the following value
http://<webserver>:<webserverPort>/integration/worklistapp/TaskList?
SwitchUser is another item which holds the value of the currently logged in user.
My apex page looks like the following

No comments: