Saturday, 17 March 2018

IBM BPM Interview Question and Answers


1. What is a Coach?

Ans: Coach is a human activity in BPM Lombardi. When we build human service we usually include Coaches which provide the interface for the end-user interaction.

2. What is a Coach View?

Ans: Coach view provides 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.

3. What is the Architecture of IBM BPM?

Ans: 


4.  What are the key components of BPM?

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

5. Explain about Error Handling capabilities in IBM BPM?

Ans: Error handling is of BPD level and Service level.


  • Error end events in processes and services that throw errors. You can assign error codes and error data to errors that are thrown by the error end events.
  • Error intermediate events in processes and services that catch errors.
  • Error start events in processes event sub-processes that catch errors.
To capture errors we need to use 'tw.system.step.error' in BPD level and 'tw.system.error' in Service level.

6. What is BPD?

Ans: 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 run time instances of that process model.
A BPD can include a lane for each system or group of users who participate in a process. A lane is the container for all the activities to be carried out by a specific group of users or by a system.

7. In how many ways BPD can be divided?

Ans: BPD can be divided into lanes and milestones. The horizontal lines are called Lanes and vertical ones are called Milestones.
Milestone is deprecated  in V8.5. Now, It support phase instead of milestone.

8. Different types of exposing of a BPD?

Ans: Three diferent types, they are as follows
  • Exposed to Start
  • Expose Business Data
  • Expose Performance Metrics
9. What are the different ways you can start a BPD?

Ans: FOUR
  • From Process Portal.
  • From Web Service.
  • UCA( JMS ).
  • Java API (startPeocessByName).
10.  What is a Process in IBM BPM ?

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

11. What is an Activity in IBM BPM?

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

12. What is an IBM BPM?

Ans: IBM Business Process Manager (IBPM) provides a platform on which Business Processes can be described, implemented, executed and monitored.

13. What is the difference between process app and toolkit?

Ans: Process App is deployable but toolkit is not deployable it should be integrate.

14. How will you maintain version in bpm?

Ans: By creating a snapshot. Snapshot is as simple as version management.

15. How will you access processes in BPM?

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

16. What is the current version available in market for IBM BPM?

Ans: Version 8.6 (as of May'18).

17. What is UCA?

Ans: Under Cover Agents are used to send and receive message with in teamwork’s. The body of the message is defined by teamwork’s service that is attached to the UCA.

18. What are the different types of UCA's?

Ans: Message event and Timer event.
Message event is used to receive or send messages.
Timer event is mostly used as process scheduler's.

19. What is Durable Subscription?

Ans: When a message is sent to an user who is offline, the message waits in the queue and gets delivered when the user appears online again.

20.  What is Event Listener?

Ans:
1. An event listener is a widget that is adds 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 process or in our process that effects how our process runs.
3. Event listener cannot be added to service layer. Presently they are used in our business process layer.

21. What are the different types of Event Listener’s?

Ans: Two types of Event Listeners are available
1. Start message Event Listener.
2. Intermediate message Event Listener.

22. What is Start message Event Listener?

Ans: When the UCA reaches its end point. 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 start message event because it is creating a new BPD instance and such there is no data to compare it to.

23. What is Intermediate message Event Listener?

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

24. What are the different types of Intermediate Event Listeners?

Ans:
  1. Message.
  2. Content.
  3. Timer.
  4. Tracking.
25. What is Tracking?

Ans:To track a particular value throughout the process we will use the tracking group.
If we want to track a particular value goes to Authoring environment then go to file option and select the option 'send to performance data warehouse' option.

26. What are the different ways of tracking?

Ans: To track data in a business process definition (BPD), use autotracking, tracking groups, or both.
  • Auto-tracking: 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 autotracking, 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 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.
  • Both:You can take advantage of both tracking methods in a single BPD. If you use both autotracking 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.

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

Ans: 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 end points. 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 autotracking.
  • 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).
28. What are tracks? 

Ans: 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 production snapshot for maintenance purposes.
Tracks or snapshots cannot be merged in later point of time. So, It will be challenging for parallel development.

29. Explain about Routing?

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

30. What is serialization?

Ans: 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 web service is XML So, we need to convert it to Team work’s Object.

31. Explain About SLA?

Ans: SLA full form is Service Level Agreement. It mainly used to do work timely manner fashion
Simply SLA is an Agreement Between Two People.

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

Ans: Business objects are called variables in Teamworks represent the 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.

33. Different types of visibilities in  IBM BPM?

Ans: Default, Readonly, None, Hidden, Required.

34. In production one instance has been failed due to some business object has bad data or null values, How will you inject data on runtime in production?

Ans: IBPM provide rest api which operation name is setData through that we can inject values.

35. What are different types of Human Tasks?

Ans: 

  • To-do task – a service schedules a piece of work for a person to perform.
  • Invocation task – a person uses a service.
  • Collaboration task – one person assigns work to another person.
  • Administration task – a person is granted administrative powers over an activity or process.
36. How do you perform validation on Coach Views?


Ans: 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();
tw.system.addCoachValidationError(tw.local.validate, “tw.local.name”,
“Name cannot be empty.”);

37.Explain about Gate Ways?

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:
1. 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.

2. Inclusive (OR): Use 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 paths. So, if you model a conditional split with three paths, the process can follow two of those paths.

3. 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.

4. Event Gateway: This gateway contains a timer and an UCA. We need to set time for the timer and attach a UCA. Whichever is completed first, we will move a head of the flow specified and kill the other token on gateway.

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 a following activity, but you can change the default sequence flow at any time.

38. What is sub-process?

Ans: 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.

39. What is a linked process?

Ans: A call to another reusable process.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 data is local to each process, therefore data mapping is required to pass data into and out of the linked process.

40. What is an Event Sub-process?

Ans: A specialized type of non-reusable sub-process 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.
Must contain a single start event, which can be one of:
  • Timer
  • Message
  • Error
Event sub-process execution can interrupt parent process or can run in parallel.
Activity names must be unique with respect to 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 sub-process.
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 sub-process cannot be the same as variable names declared in any of its parent processes. If there are multiple layers of embedding, with event sub-processes contained within other sub-processes, variable names must be unique throughout the entire sub-process hierarchy.

41. Explain about Web Services?

Ans: Web services are two types. Inbound and Outbound web services.
Inbound web services are used if external system wants to call into IBPM.
Outbound web services are used if IBPM want to use external system/Application.
In two ways it can be configurable

  1. Provide Inline Configuration.
  2. From Process App Settings.
42. What are the different types of exposing a Human Service?

Ans: Below are the different ways of exposing a human service,
  • Not Exposed
  • Administration service.
  • Startable service.
  • Dashboard.
  • URL.
43. Explain about files in IBPM?

Ans: Three types of files we can use in IBM BPM. They are as follows,
  1. Web File: Mostly we add image, .css files into this and these can be accessible in coach views.
  2. Server File: We add jar, js files into this category.
  3. Design File: We add .xsl files (text/xml, application/xml) to overide transform xsl in one or more heritage coaches.
44. Differences between Soap UI and Rest usage?
45. How will you identify a variable got changed in coach view?

Ans: event.propery == "varaible_name".

46. How will you identify a complex variable got changes in coach view?

Ans: Check below link for easier understanding.

https://www.ibm.com/support/knowledgecenter/en/SSFTBX_8.0.1/com.ibm.wbpm.wle.editor.doc/develop/topics/rbindingdata.html

IBM BPM Interview Question and Answers

1. What is a Coach? Ans: Coach is a human activity in BPM Lombardi. When we build human service we usually include Coaches which provid...