Open Edition

Open Editions

Come for answers. Stay for best practices. All we’re missing is you.

 View Only
  • 1.  New to BAMOE from TIBCO BPM - Key Differences & Questions

    Posted 5 days ago

    Hi everyone,

    I'm new to IBM Business Automation Manager Open Editions (BAMOE) but have over 10 years of experience with TIBCO BPM. While both tools are BPMN 2.0 compliant, I'm experiencing significant differences in their approach to workflow design. I would greatly appreciate your guidance on the following observations:

    1. Calling a Subprocess: In BAMOE, we must provide the specific Called Subprocess ID at design time. The developer is also expected to know the exact input and output parameters of the called process. It doesn't seem possible to call a subprocess dynamically (i.e., deciding which sub-process to invoke at runtime based on data conditions). Is this correct?

    2. User Task Assignment: Assignments appear to be static, where we simply write the name of an actor or group directly in the properties at design time. How can we make these assignments dynamic, for example, based on data from a process variable or an external system call?

    3. Script Task: I've noticed there is no syntax or type validation for scripts (e.g., MVEL, FEEL) at design time. Are all validations for these tasks deferred to runtime?

    My Questions:

    • Are my observations correct?

    • If yes, does this mean that a significant portion of the validation happens only at runtime?

    • If my understanding is incorrect, could you please guide me to the right learning resources? The official IBM documentation, while useful, often lacks detailed explanations for the properties and usage of each activity/node.

    I am feeling quite blocked. I'm not sure if this is due to coming from a TIBCO BPM background, which felt more developer-friendly in these specific aspects, or if I'm simply unable to find the right learning resources for BAMOE.

    Thank you in advance for your help!

    Regards

    Kotresh Matt



    ------------------------------
    kotresh nm
    ------------------------------


  • 2.  RE: New to BAMOE from TIBCO BPM - Key Differences & Questions

    Posted 5 days ago

    Hi kotresh,

    1. Yes, your understanding about sub-process is correct. You need to provide details about subprocess and input/output paramters at the desgin time only.  If you want to dynamically execute specific set of nodes based on condition then you can check the ad-hoc subprocess node.
    2.  To assign values of actor or group  field using process variable, you can use #{processVariableName} for actor or group property. Runtime value of processVariable will be assigned for actor or group field. 
    3. Script Tasks supports java expressions for 9.3.0 release. Syntax validation will happen at compile/build time. 


    ------------------------------
    Abhijit Humbe
    ------------------------------



  • 3.  RE: New to BAMOE from TIBCO BPM - Key Differences & Questions

    Posted 4 days ago

    Thank you Abhijit for the answer



    ------------------------------
    kotresh nm
    ------------------------------



  • 4.  RE: New to BAMOE from TIBCO BPM - Key Differences & Questions

    Posted 4 days ago

    Thank you  Pere Fernandez



    ------------------------------
    kotresh nm
    ------------------------------



  • 5.  RE: New to BAMOE from TIBCO BPM - Key Differences & Questions

    Posted 5 days ago

    Hello kotresh,

    • that's right, you must specify the id of the subprocess in design time along with the inputs and outputs. 
    • You can set task assignments (actor, groups, excluded users...) as input of the task data mappings using some specific names in the input name. To set the values you can use map values stored on process variables or just string expressions in the input assignment source. Whatever option you use, the value should be a String with a comma separated list of users or groups. This are the possible input names:
      1. ActorId -> sets the potential owners of the task (actors)
      2. GroupId -> sets the potential groups of the tasks (groups)
      3. BusinessAdministratorId -> sets the admin users of that task
      4. BusinessAdministratorGroupId -> sets the administrator groups for the task
      5. ExcludedOwnerId -> sets the list of excluded users for that task

    Additionally you could define a custom assignment strategy that will allow you programatically calculate the actor of the task during the activation or reassign phases of the usertask lifecycle (https://www.ibm.com/docs/en/ibamoe/9.3.x?topic=projects-upgrading-usergroupscallback-assignmentstrategy).

    • No, there's no syntax highlight or validation on the editor at design time. This will be validated during the build phase of the project.

     



    ------------------------------
    Pere Fernandez
    ------------------------------



  • 6.  RE: New to BAMOE from TIBCO BPM - Key Differences & Questions

    Posted 4 days ago

    Hi everyone, I think all was answered. I just got one Idea about the point 1. If you have limited count of subprocesses you want to invoke, maybe you could workaround the situation by adding exclusive gateway before your sub processes. Then each connection from exclusive gateway to a subprocess node would have a condition dynamically evaluated.



    ------------------------------
    Jozef Marko
    Software Developer
    IBM
    ------------------------------