Saturday, September 25, 2010

Long running synchronous composite

Some times you need to start a process that runs for a long time. Let say hours. Normally you would choose to create a asynchronous process. So far so good. But when you call this process from a Web application, the web application can not wait for the result for the callback response.

A simple solution is to create s synchronous composite and reply to the caller immediately. This can be achieved in the next example. This solution is based on a BPEL implementation.



Note that a after the reply an checkpoint is created. This will force the process to save the state to the database AND it force the send the reply back to the caller. Otherwise, with no checkpoint, the reply is send after the transaction is committed (XA) and case of an error, the reply is not send.

Sunday, September 19, 2010

Human Worklist group authentication

As I have written an article that is using database authentication within the SOA suite for human tasks, this soultion is not complete. Apart of the pointing reference to the example "workflow-120-SQLIdentityProvider", this example is not available for download (yet).
The solution is wokring, but it does not work for groups. If you assign an task to:
  • a user, you can use the task in the worklist application.
  • a user AND group, you can use/claim the task in the worklist application.
  • a group, an error occurs in the assignement. 
 The issue is not the SQLAuthenticator or the configuration of weblogic. But it is the custom java code that is used in the custom identity provider.

Follow the instruction in my previous article, but now use the new Java code, summary:
  1. Apply the SQL Authenticator in your SOA WLS environment.
  2. Test if users and groups can be viewed and edited.
  3. Shutdown the admin server and managed servers.
  4. Copy the dbprovider.jar to the SOA_DOMAIN/lib directory
  5. make changes in the SOA FMW  JPS config file:
  6. Start admin and managed servers
  7. Test the worklist application with database users.
  8. Configure SQL Authenticator in WebLogic Server
  9. Add a new Identity Store.
  10. Add a new Service Instance.
  11. Change JpsContext to the new Identity store.