Home  >  Blog  >   IBM BPM

IBM BPM Interview Question and Answers

Rating: 4.6
  
 
46185

If you're looking for IBM BPM Interview Questions & Answers for Experienced or Freshers, you are at the right place. There are a lot of opportunities from many reputed companies in the world. According to research IBM BPM has a market share of about 6.7%.

So, You still have the opportunity to move ahead in your career in IBM BPM Development. Mindmajix offers Advanced IBM BPM Interview Questions 2023 that help you in cracking your interview & acquire a dream career as IBM BPM Developer.

Top 10 BPM Interview Questions

  1. What is a Durable Subscription?
  2. How will you access processes in BPM?
  3. What is an Event Listener?
  4. What are the different types of Exceptions?
  5. What are Teamworks Components?
  6. What are different task types?
  7. How do you assign the activities to users?
  8. How do you access a Child Coach view?
  9. What are undercover agents (UCA)?
  10. What are different from the subprocess types?

IBM BPM Interview Questions and Answers For Freshers

1. What is a Durable Subscription?

When a message is sent to a user who is offline, the message waits in the queue and gets delivered when the user appears online again. This phenomenon is called “Durable Subscription”.

2. How a BPD can be divided into?

The BPD can be divided into Lanes and Milestones. The horizontal lines are called Lanes and vertical ones are called Milestones.

3. How will you access processes in BPM?

You can Start, Stop, Control, and Monitor Processes using Process Portal.

4. What are the key components of BPM?

  1. Process Server
  2. Process Designer
  3. Process Center
  4. Process Center Console
  5. Performance Data Warehouse
  6. Process Portal
  7. Process Admin Console

5. What is UCA? (Under Cover Agent)

UnderCover, Agents are used to sending and receiving a message within teamwork. The body of the message is defined by teamwork’s service that is attached to the UCA.

If you want to enrich your career and become a professional in IBM BPM Developer, then visit Mindmajix - a global online training platform: "IBM BPM Training" This course will help you to achieve excellence in this domain.

6. What is an Event Listener?

1. An event listener is a widget that is added to our BPD. It basically tells our process to do something if an event occurs.
2. An event is anything that may happen outside our processor in our process that affects how our process runs.
3. An event listener cannot be added to the service layer. Presently they are used in our business process layer.

7. What are the different types of Event Listener?

Two types of Event Listeners are available

  • Start message Event Listener.
  • Intermediate message Event Listener.

8. What is the Start message Event Listener?

  • When the UCA reaches its endpoint. It will cause a new Business process to start.
  • The output of the UCA should be used to set the starting values of variables within the business process.
  • There is no concept of co-relation in the start message event because it is creating a new BPD instance and such there is no data to compare it to.

9. What is an Intermediate message Event Listener?

    • An intermediate message Event takes place in running the business process.
    • They tell the Business process to move a token forward in the process.
    • An Intermediate listener moves forward only if event output data matches with the co-relation data in the business process.

 MindMajix YouTube Channel

10. What is A Coach?

Coach is a Human activity in BPM Lombardi. When we build human service We usually include Coaches.
Which provides the interface for the end-user interaction.

11. Explain Routing?

Routing is mainly used to assign the task to a particular Participant or Particular group. Same participant performing one or more tasks. (Or) Assigning the same participant to one or more activities.

12. Explain about Durable?

Even though the client is down message is with the event manager. Then When the client is up message is delivered.

13. What is Tracking?

  • To track a particular value throughout the process we will use the tracking group.
  • To track a particular value goes to the Authoring environment. Then go to the file option. Then select the option Send to performance data warehouse option.

14. What is serialization?

  • Serialization is mainly used to convert the XML to the Teamwork’s Object.
  • When we use web service integration service we will use serialization. The output of the web service is XML So, we need to convert it to Team work’s Object.

15. What are the different types of Exceptions?

We can build error handling capabilities both at the BPD level and Service level using available Exception components.

  • Exception’s In BPD Level

            a) Intermediate Exception event

            b) End Exception Event

  • Exception’s In-Service Level

            a) Catch Exception

            b) Throw Exception

IBM BPM Interview Questions and Answers For Experienced

16. Explain About Reports?

We need to report the data in different formats Ex: Bar graph, Pie graph, etc…
Reports were displayed using Scoreboards.
Ad-hoc Reports: To create reports at any time.

17. Explain About SLA?

SLA full form is Service Level Agreement. It mainly used to do work timely manner fashion

Simply SLA is an Agreement Between Two People

Explore Introduction To Web Services

18. What is Teamworks?

  • Teamworks is a BPM tool developed by Lombardi Software.
  • Teamworks architecture enables all groups within your enterprise to collaborate to design and deploy efficient processes.
  • Teamworks also allows you to manage and analyze process performance.
  • Teamworks is having an Eclipse-based Authoring Environment that integrates with your other development tools.

19. What are Teamworks Components?

Shared Model: Stores all Process, Services, Performance Data, Business Events, and Conditions.

Process Server: Executes the Process and Services that authors build using Teamworks Authoring Environment.

Performance Server: Manages and aggregates Process Performance data and monitors business events and conditions.

Server Consoles: provide interfaces that enable the administrator to configure and maintain the Process Server and performance Server other users may have limited access to change the password and perform other basic tasks.

Authoring Environment: Eclipse-based development Environment consists of several interfaces that enable authors to Model, Simulate, and Inspect processes. Available interfaces include Service Modeler, Process Inspector, Process Molder.

Process portal: Enables process participants to perform the assigned task, view the history of the task, launch any processes or services that are attached to the task, and view the performance of their processes and teams. Tools available from the process portal include Scoreboards.

20. What is a Process in IBM BPM?

A process is like a Program that does works inside Teamworks. It has a starting point and at least one exit point.

21. What is an Activity in IBM BPM?

An Activity represents a logical unit of work that can be executed at run time by a Human or  System.

22. What are Variables(Business Objects) in IBM BPM?

Business objects are called variables in Teamworks represent data that provides the data that provides the business context to a running process. There are two types of variables:

  • Simple And Complex variables have different scopes
  • Private Input and Output.

23. What is BPD?

  • To model a process, you must create a business process definition (BPD). A BPD is a reusable model of a process, defining what is common to all runtime instances of that process model.
  • A Business Process Definition (BPD) can include a lane for each system or group of users who participate in a process. A lane is a container for all the activities to be carried out by a specific group of users or by a system.

24. What is the gateway? or How do you converge or diverge the process flows? What are different gateways available and when do you use each?

Ans: Gateways control the divergence and convergence of a sequence flow, determining branching and merging of the paths that a runtime process can take.
You can model the following types of gateways in your process diagram:

Parallel (AND): Use a parallel, diverging gateway when you want the process to follow all available paths.
Use a parallel, converging gateway when you want to converge all available paths.

Inclusive (OR): Use an inclusive, diverging gateway when you want to follow one or more available paths based on conditions that you specify.
Use downstream of an inclusive diverging gateway to converge multiple paths into a single path after all the active paths completed their runtime execution. The inclusive join looks upstream at each path to determine whether the path is active, in which case it waits. Otherwise, it passes the token through without waiting.

Note: Inclusive gateways can follow a maximum of n–1 path. So, if you model a conditional split with three paths, the process can follow two of those paths

Exclusive (XOR): Use to model a point in the process execution where only one of several paths can be followed, depending on a condition, or to model a point in process execution when the token for one of several incoming paths is passed through the gateway.

Event: Use to model a point in the process execution where only one of several paths can be followed, depending on events that occur. A specific event, such as the receipt of a message or timer event, determines the path to be taken. An event gateway must be modeled a certain way as described in Modeling event gateways.

Be aware of the following when using gateways:

  • After you drag a gateway from the palette to your process diagram, you can choose any of the available gateway types.
  • When you model inclusive and exclusive gateways, if all conditions evaluate to false, the process follows the default sequence flow. The default sequence flow is the first sequence flow that you create from the gateway to the following activity, but you can change the default sequence flow at any time.
Explore Latest Article: Monitoring SLAs using TIBCO Hawk

25. What are different task types?

User Task:

  • User tasks must be completed by process participants and are associated with Human services by default.
  • For cases where you want a user to start the service but no additional user involvement is required, you can also choose a user task type and associate a service with it, such as an Integration or Advanced Integration service.
  • Process Designer automatically creates the required user implementation that you need when you drag process components onto a diagram. You can also choose the User Task and associated service for activity implementation, as described in Implementing activities.

System Task:

  • System tasks must be completed by an automated system or service and are automatically run without a need for user initiation regardless of the type of lane in which they are defined in a BPD diagram.
  • When you drag an Ajax service, General System service, Integration service, or Advanced Integration service from the library to a BPD diagram, Process Designer automatically creates an activity with a System task type, regardless of whether the service is dragged to a system lane or a participant lane.
  • Dragging an activity from the palette to a system lane in a BPD diagram automatically creates an activity with a System task with the Default System service selected. System tasks that you place in a non-system lane are also run by the system.

Decision Task:

  • Decision tasks are useful when you want a decision or condition in a business rule to determine which process implementation is started.
  • When you drag a Decision service from the library to a BPD diagram, Process Designer automatically creates an activity with a Decision task.

26. What is a sub-process?

  • A subprocess represents a collection of logically related steps contained within a parent process. You can view a subprocess as a single activity, providing a simplified, high-level view of the parent process, or you can drill into the subprocess for a more detailed view of its contents.
  • Subprocesses can contain swimlanes that are distinct from the parent process. For example, activities in your subprocess can be carried out by a set of participants that is different from the set of participants that carry out the activities in the parent process.
  • Like other activities, subprocesses can be configured to run multiple times within the execution of the parent process by configuring looping behavior on the subprocess activity element in the parent process.

27. What is different from the subprocess types?

Ans: There are three types of subprocesses that you can model in a BPD. Their characteristics are described in the following table.

1. Subprocess: A non-reusable subprocess that exists only within the parent process

Characteristics

  • Each subprocess must contain at least one start event with an implementation type of None.
  • Activity names must be unique for the top-level process activities, and all other subprocesses and event subprocesses under the same top-level process.

Variable Scope

  • Inherits variables from the parent process and can contain local private variables visible only within the subprocess.
  • Variable names declared in a subprocess cannot be the same as variable names declared in any of its parent processes. If there are multiple layers of embedding, with subprocesses contained within other subprocesses, variable names must be unique throughout the entire subprocess hierarchy.

2. Linked process: A call to another reusable process.

Characteristics

The process called by the linked process activity can contain multiple start events but must contain at least one start event with an implementation type of None.

Variable Scope

Variable data is local to each process, therefore data mapping is required to pass data into and out of the linked process.

3. Event subprocess: A specialized type of non-reusable subprocess that is not part of the normal sequence flow of its parent process, and which might occur zero or many times during the execution of the parent process.

Characteristics

  • Must contain a single start event, which can be one of:

           a) Timer

           b) Message

           c) Error

  • Event subprocess execution can interrupt the parent processor can run in parallel.
  • Activity names must be unique for the top-level process activities, and all other subprocesses and event subprocesses under the same top-level process.
  • Boundary events are not supported on an event subprocess.

Variable Scope

  • Inherits variables from the parent process and can contain local private variables visible only within the subprocess.
  • Variable names declared in an event subprocess cannot be the same as variable names declared in any of its parent processes. If there are multiple layers of embedding, with event subprocesses contained within other subprocesses, variable names must be unique throughout the entire subprocess hierarchy.

28. How do you assign the activities to users?

For any activity with a BPM service implementation, you can designate the users who receive the runtime task by using the Assignments page in the properties for that activity.
In the Designer view, click activity in a BPD diagram to display its properties.
Go to the Assignments page in the properties view.
From the Assign To list, choose one of the following options:
Last User in Lane
Assigns the runtime task to the user who completed the activity that immediately precedes the selected activity in the swimlane.
Do not select this option for the first activity in a lane unless the activity is a service in a top-level BPD and a Start Event is in the lane. In this case, the runtime task is routed to the user who started the BPD.
Lane Participant
Assigns the runtime task to the participant group associated with the swimlane in which the selected activity is located (the default selection).
Routing Policy
Assigns the runtime task according to the policy that you establish.
List of Users
Assigns the runtime task to an ad hoc list of users.
Custom
Assigns the runtime task according to the JavaScript expression that you provide in the corresponding field. To select one or more variables for your expression, click the variable selection icon next to the field.
The JavaScript expression produces results such as USER, ROLE, or PG, where user_name is the name of an IBM® BPM user (such as tw_author), group_name is the name of an IBM BPM security group (such as tw_authors), and participant_group is the name of a group of users in your enterprise.

29. What are Coaches?

Coaches are the user interfaces for human services.

There are two types of user interfaces for human services: dashboards and task completion. To build either type of user interface for human services, you use Coaches.

  • When a Coach is a dashboard user interface, users can run it as a stand-alone user interface at any time. The users access it through the Process Portal.
  • When a Coach is a task completion user interface, it is part of the human service flow. At run time, when the flow enters the Coach, the user sees the user interface that is defined for that Coach. The user interface consists of HTML code that is displayed in a web browser. The flow leaves the Coach when a boundary event occurs. A Coach can have multiple exits flows with each one associated with a different boundary event.

30. Explain the difference between the Coaches and Coach Views.

Coaches contain one or more Coach Views. The Coach Views provide the user interface elements and layout for the Coach.
Each Coach View can contain one or more other Coach Views, which creates a parent-child relationship between these Coach Views.

At run time, the parent Coach View is rendered as a

<div></div>

tag that contains a nested

<div></div>

tag for each child Coach View.
Each Coach View can also have a binding to a business object, CSS code to control its visual layout, and JavaScript to define its behavior
Coach Views are reusable so you can create a library of common user interfaces and behavior. You can combine these common user interfaces to rapidly develop new Coaches.
The Coaches toolkit that is included with IBM BPM contains a set of common user interfaces that are called stock controls. You can include these stock controls when you are creating your own Coach Views.

Explore Latest Business Process Management (BPM) Tools

31. What are the differences between Coaches and Heritage Coaches?

1. Coaches can contain multiple Coach Views. Coach Views are a reusable collection of user interfaces and can be bound to a data type. They can be shared between the Coaches. But in Heritage Coaches, all UI elements need to be recreated.

2. Coaches have web 2.0 appearance and behavior and have client-side data model i.e. data can be refreshed without the full page refresh. They use Dojo 1.7.3.

3. Instead of the one-button mechanism of Heritage Coaches, Coach Views use named boundary events. Programmers use boundary events for actions such as data updates with the server and transitions to other Coaches or services.

4. Coaches support collaboration while Heritage Coaches do not. More than one person can work on the same Coach instance at the same time in their own browsers.

5. The control ID of a view-based Coach is different from the control ID of a Heritage Coach. The control ID of a Heritage Coach is the div node ID. This is not the case in view-based Coaches because Coach Views are reusable and you can have multiple views in a Coach.

In view-based Coaches, the control ID is the value of the data-viewed attribute of a

<div></div>

tag. By using the data-viewed attribute, View developers can locate the nested View because data-viewed is unique within its parent or enclosing view.
The coach cannot contain Heritage Coach elements and Heritage Coaches cannot contain Coach Views. That is, a user interface must be a Coach or Heritage Coach and not a mix of the two.

IBM BPM FAQs

32. How do you perform validation on Coach Views?

To validate the data that is in the Coach before the flow proceeds to the next step in the service flow, add a validation node to the flow. The validation node can be a nested service or a server script. The server script is the simpler implementation although the nested service provides greater flexibility.

Example server script,
tw.local.validate = new tw.object.CoachValidation();
if (tw.local.application.name == “”){
tw.system.addCoachValidationError(tw.local.validate, “tw.local.application.name”,
“The name cannot be empty.”);
}

33. How do you enable JavaScript debugging for the Coaches?

For debugging purposes, you can set your Coaches and Coach Views to use the readable versions of Dojo and the Coach framework JavaScript.
Open the administrative console and click Resources > Resource Environment > Resource Environment Provider
On the Resource environment providers page, click Mashups_ConfigService.
Under Additional Properties, click Custom Properties. The list of custom properties opens.
Click isDebug, change the Value field to true, and then click OK.
Save your changes to the master configuration.
Restart the application server instance.

34. How do you generate a unique ID for a Coach View at runtime?

In some situations, you might want to use the ID attribute for your DOM elements within a coach view. However, all DOM IDs must be globally unique. For example, during collaboration, the default highlighting behavior is implemented based on a unique DOM ID.

To ensure a unique ID, you can use the $$viewDOMID$$ placeholder keyword. At run time, this keyword will be replaced by the Coach View DOM ID.

35. How do you fire a boundary event pro-grammatically?

this.context.trigger(callback);

36. How do you access a Child Coach view?

context.getSubview(viewed, required order)
Accesses a subview instance given the subview ID. This method is similar to tocontext.subview[viewid] except that the return value is an array of subview instances.
viewed(String) – the view ID or control ID of the subview
required order (boolean) – (optional) indicates whether the array returned needs to maintain the same order as in the DOM tree. The default value is false.
They call this.context.getSubview(“viewid”) returns an unsorted array of subview objects. They call this.context.getSubview(“viewid”, false) returns the exact same array.
The only difference between the two calls and the function callthis.context.getSubview(“viewid”, true) is that this.context.getSubview(“viewid”, true) returns an array of subview objects whose order matches the order of the DOM nodes in the DOM tree.

37. How do you associate the Coach view with data and configuration options programmatically?

Please refer:

Https://www01.ibm.com/support/knowledgecenter/SSNJFY_8.0.1/com.ibm.wbpm.wle.editor.doc/develop/topics/rbindingdata.html?lang=en

38. What are undercover agents (UCA)?

An undercover agent is started by an event. The event can be a message event, a content event, or a timer event that is the result of a specific schedule

Message events can originate from a Business Process Diagram (BPD), from a web service that you create, or from a message that you post to the JMS listener.

When an undercover agent executes, it invokes an IBM Business Process Manager service or a BPD in response to the event.

When you include a message event or content event in a BPD, you must attach an undercover agent to the event. For example, when a message event is received from an external system, an undercover agent is needed to trigger the message event in the BPD in response to the message.

39. How do you enable UCA to start a BPD?

If you want to run the startBpdWithName application programming interface (API) to start a BPD instance inside an undercover agent, set the property to true in the 100Custom.xml file or another override file.

Restart the product, and check the TeamworksConfiguration.running.xml file to ensure that the setting has the appropriate value. The property is set to false by default, and if you don’t change it, you might have errors that prevent the BPD from starting.

40. What is tracking? How do you enable it? What are the different ways of tracking? What happens when you enable tracking

To create customized and third-party reports in IBM® BPM, you need to identify the data to track and send that data to the Performance Data Warehouse.
To track data in a business process definition (BPD), use auto-tracking, tracking groups, or both.
Autotracking
automatically captures data from tracking points at the entry and exit of each item in a BPD (for example, services, activities, and gateways).
To enable auto-tracking, make sure that Enable Auto Tracking is selected under the Tracking tab of the Business Process Diagram. (This is the default.)
Tracking groups
provide more control over tracked data. For example, use tracking groups to track a selected group of process variables across multiple BPDs or process applications and to store tracking points for a timing interval.
To enable tracking groups, make sure that Enable tracking is selected under the Overview tab of the Business Process Diagram. (By default, the checkbox is not checked.)
Note that the Enable tracking setting does not apply to services with tracking points. Tracking data is always enabled when services contain tracking points.
You can take advantage of both tracking methods in a single BPD. If you use both auto-tracking and tracking groups, you can create a timing interval.
After you configure data tracking for your BPD, and each time you subsequently update your data tracking requirements, you must send the tracking definitions to the Business Performance Data Warehouse.
When you send tracking definitions, either directly or as part of a snapshot deployment, the Business Performance Data Warehouse establishes the structure in its database to hold the data that is generated by the Process Server when you run instances of your processes.
In IBM BPM, these tracking requirements are called definitions because they establish the database schema in the Business Performance Data Warehouse to accommodate the tracked data generated by the Process Server.

41. How do you analyze the time elapsed between the activities in the process?

If you want to analyze the amount of time that elapses between certain steps in your process, you can add tracking points to your BPD and then create a timing interval to capture the duration between defined start and endpoints. When you create a timing interval, you can create custom reports that enable you to calculate the duration of a process or compare the duration of several processes.

Do the following tasks before creating a timing interval:

  • Enable auto-tracking
  • Add tracking points to the business process definition
  • Create a tracking group to hold the timing interval data (make sure to add each tracking point to the tracking group you created)

42. What are tracks? How is it different from a versioning system like CVS?

Process Center tracks the changes in the process applications using Snapshots.

Snapshots:

  • Record the state of the items within a process application or track at a specific point in time.
  • From the Process Center console, you can create snapshots of your process applications.
  • You can also deploy particular snapshots of your process applications on the Process Servers in staging, test, and production environments.

Tracks:

  • Optional subdivisions in a process application based on team tasks or process application versions.
  • You can determine if additional tracks are necessary for each process application and if so, enable them at any time
  • Typically Tracks will be created from the production snapshot for maintenance purposes.
  • The difference from versioning systems like CVS.
  • Unlike typical versioning systems, tracks or snapshots cannot be merged at a later point in time. So, It will be challenging for parallel development.

 

Join our newsletter
inbox

Stay updated with our newsletter, packed with Tutorials, Interview Questions, How-to's, Tips & Tricks, Latest Trends & Updates, and more ➤ Straight to your inbox!

Course Schedule
NameDates
IBM BPM TrainingMar 23 to Apr 07View Details
IBM BPM TrainingMar 26 to Apr 10View Details
IBM BPM TrainingMar 30 to Apr 14View Details
IBM BPM TrainingApr 02 to Apr 17View Details
Last updated: 13 May 2023
About Author

Ravindra Savaram is a Technical Lead at Mindmajix.com. His passion lies in writing articles on the most popular IT platforms including Machine learning, DevOps, Data Science, Artificial Intelligence, RPA, Deep Learning, and so on. You can stay up to date on all these technologies by following him on LinkedIn and Twitter.

read more