Friday, March 20, 2015

IBM BPM Coach View life cycle

This post will give you a brief description about the life cycle of IBM BPM coach view and helps understand what are the various event handlers available in coach view and high level description of each coach view.



                            

Click here to watch this video in you tube.

Hope this is helpful to understand coach view at high level. 

Wednesday, March 18, 2015

How to Add time lag in IBM BPM service

While developing an application in IBM BPM, when we think of time lag first thing that comes to our mind is "Intermediate Timer Event". Yes this is correct. This work well in BPD, but how do you implement a lag during a service execution. Don't have an answer for this? Well, in this post lets look at a simple solution on how to add a time lag during a service execution.

Many of us already know that we can use some of the java classes directly in BPM server script component, here we are going to use the same technique to achieve this. Below image shows how to implement the same.



Add the below line in the server script as shown in the image to introduce a delay time between two logic executions. The method sleep() takes time in milliseconds as input.

java.lang.Thread.sleep( <<time in millseconds>>)

That is all we are good now with the desired delay in our service.

Hope this helps !!! 
 
Thanks for stopping by. If you like this post leave a comment, share it and do a g +1.

Sunday, March 15, 2015

How to Access Coach View element in Custom HTML - Part 2


This blog is continuation of my other blog - How to Access Coach View element in Custom HTML .
In this blog, let us see how to access various Stock coach view (check box, integer, combo box, radio button, etc) element's values.

Check Box Coach View

Consider a Check box coach view with control-id "checkbox_1",below is the code that can be used to access the value of the coach view. Below code attaches onClick event to the checkbox and on click of the check box, it gives a popup with value of check box as shown in the figure below.

<script>
require(["dojo/ready", "dojo/query","dojo/on"],function(ready, query,on){
  ready(function(){
     // Check Box element
  var check=query("div[data-viewid='checkbox_1'] input[role='checkbox']")[0];
           on(check, "click", function(){
                      alert(check.checked)
                    
          });
    });
});
</script>

Friday, March 6, 2015

Best Practices while implementing BPD using IBM BPM

Hi Guys in this post I would post some of the industry best practices that can be followed for a good process Design while designing using IBM BPM.



Below are some of the best Practices for development of a high performance business process using Process Designer.

  •  Clear variables in exposed human services
Data from a task less human service is not garbage-collected until the service reaches the endpoint. If a human service is developed that is not intended to reach an endpoint, such as a single page or redirect, then memory is not garbage-collected until the Enterprise JavaBeans (EJB) timeout occurs (two hours by default). To reduce memory use for these human services, set variables in the coach to null in a custom HTML block.

  •  Do not use multi-instance loops in system lane or batch activities
Where possible, avoid using sub-BPDs as the activity of a multi-instance loop (MIL). This step is not an issue if the first activity is a user task instead of a system lane task. However, do not use MILs for batch or system lane activities.This pattern can generate an excessive number of tokens for the BPD to process. Also, activities in MILs in the system lane are run on a single thread, which is clearly not optimal on multiprocessor core servers.