Home
- Home
- Blog
Author :
Global TechHub
Introduction
If you're looking for IBM BPM
Interview Questions, you are at right place. There are lot of opportunities
from many reputed companies in the world.
What is an IBM BPM?
IBM Business Process Manager (IBPM)
provides a platform on which Business Processes
can be described, implemented, executed and monitored.
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 aggregate Process
Performance data and monitors business events and conditions.
Server Consoles: provide interfaces that enables
administrator to configure and maintain the Process
Server and performance Server other
users may have limited access to change 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 assigned task, view the history of task,launch any processes or
services that are attached to task and view the performance of their processes
and teams.Tools available from the process portal include Scoreboards.
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.
What is an Activity in IBM BPM?
An Activity represents a logical unit
of work that can be execute at run time by a Human or System.
What are Variables(Business
Objects) in IBM BPM?
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.
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?
IBPM provide some rest api which
operation name is setData through that we can inject values.
I have one BPD, which has multiple tasks. How will you
identify user in run-time and assign the task based on his role?
Its related to routing.
How will you start BPM
from out side?
There are 4 ways:
Ø Expose as a webservice like WSDL and
call it from outside and inside the BPM call in javascript ‘startBPMByProcessName()’.
Ø BPM API expose as rest service to
start the BPM process.
Ø Through JMS, we can start bpm
process.
Ø Through Java api
we can start the bpm process.
What is the difference between process app and toolkit?
Process App is deployable but toolkit
is not deployable it should be integrate with Process App. Toolkot is a kind of
library we can use in Multiple Process App.
How will you maintain
version in bpm?
We can create snapshot and use as
versions.
What are coaches and coach views? What is the primary
function of coaches?
Coaches are the name for the web
pages (user interface) that IBM Process Designers allows to work on to build
the human interaction. Coach views are new in BPM v8, where they are basically
re-usable templates. We can create coach views for business objects, and re-use
them in multiple coaches.
What has changed in
coaches in IBM BPM V8?
Coach views are a major addition.
Improved error handline, and termination handling. Content Management
integration, and other of bug fixes.
What are the different “Visibility” options you have in IBM
BPM V8?
Default(inherited), required,
editable, read-only, none (hide or disabled).
What is Teamworks?
ü Teamworks is a BPM tool developed by
Lombardi Software.
ü Teamworks architecture enables all
groups with with in your enterprise to collaborate to design and deploy
efficient processes.
ü Teamworks also allows you to manage
and analyze process performance.
ü Teamworks is having Eclipse based
Authoring Environment integrates with your other development tools.
What is the Components of
IBM BPM?
At a high level, IBPM is comprised of
a number of coarse grained components. Taken together, these are the
IBPM product. Each component serves a unique and distinct purpose and
are employed at different stages in the development or operation of an
IBPM solution. Breaking IBPM down into these constituent components both
aids in the understanding of the product as well as providing a practical
differentiation between phases and pieces of operation.
Ø Process Server
Ø Process Designer
Ø Process Center
Ø Performance Data Warehouse
Ø Process Center Console
Ø Process Portal
Ø Process Admin Console
What is Durable
Subscription?
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. This phenomenon is called as “Durable Subscription”.
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.
How will you access
processes in BPM?
You can Start, Stop, Control and
Monitor Processes using Process Portal.
How do you get an element by id in dojo?
dojo.byId(‘someId’);
How will you inject
data on runtime in production?
IBPM provide some rest api which
operation name is setData through that we can inject values.
What must be done to change business object type value?
For achieving the task, bpd must be
altered and a snapshot is created and redeployed.
What is the current
version available in market for IBM BPM?
Version 8.6
What is the snapshot in
BPM?
Snapshot is as simple as Version
management.
Does IBM BPM v.85
support Milestone?
No. Milestone is deprecated in
V8.5. Now, It support phase instead of milestone.
What is Rule Set or rule group?
A rule set is a group of if/then
statements or rules where the if is the condition and the then is the action of
the rule. Rule sets are best suited for those business
rules that have very few condition clauses.
What is Business State
Machine?
Business state machines are service
components that allow you to represent business processes based on states and
events instead of a sequential business process model.
Business state machines specify the
sequences of states, responses, and actions that an object or an interaction
goes through in response to events.
What is BPC and how can it will be useful?
BPC is a Business Process
Choreography. It used for monitor Process Instance, Process Template and human
task Instance, Human task Template.
What is CGI and how it
will be used?
CEI enhances compact
event-management services, like consolidating raw events via multiple,
heterogeneous sources and distributing them to event consumers. It enables
functionality for generation, propagation, persistence, and consumption of
events representing service component processes.
What are different types of Human Tasks?
Ø 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.
What is UCA? (Under Cover Agent)
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.
What is Event Listener?
v An event listener is a widget that is
adds to our BPD. It basically tells our process to do something if an event
occurs.
v An event is anything that may happen
outside our process or in our process that effects how our process runs.
v Event listener cannot be added to
service layer. Presently they are used in our business process layer.
What are the different types of Event Listener’s?
Two types of Event Listeners are
available
1.
Start
message Event Listener.
2.
Intermediate
message Event Listener.
What is Start message Event Listener?
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.
What is Intermediate message Event Listener?
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.
What is A Coach?
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.
Explain about Routing?
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.
Explain about Durable?
Even though the client is down message is with event
manager. Then When the client is up message is delivered.
What is Tracking?
Ø
To track a
particular value throughout the process we will use the tracking group.
Ø
To track a
particular value goes to Authoring environment. Then go to file option. Then
select the option Send to performance data warehouse option.
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 web service is XML So, we need to convert it
to Team work’s Object.
What are the different types of Exceptions?
We can build error handling capabilities both in BPD
level and Service level using available Exception components.
v
Exception’s In
BPD Level
ü
Intermediate
Exception event
ü
End Exception
Event
v
Exception’s In
Service Level
ü
Catch Exception
ü
Throw Exception
Explain About Reports?
We need to report the data in different formats Ex:
Bar graph, Pie graph, etc…
Reports were displayed using Score boards.
Adhoc Reports: To create reports at any time.
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
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 aggregate Process
Performance data and monitors business events and conditions.
Server
Consoles: provide interfaces that
enables administrator to configure and maintain the Process Server and
performance Server other users may have limited access to change 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 assigned task,view the history of task,launch any processes or
services that are attached to task and view the performance of their processes
and teams.Tools available from the process portal include Scoreboards.
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 the
container for all the activities to be carried out by a specific group of users
or by a system.
What is gateway? or How do you converge or diverge the
process flows? What are different gateways available and when do you use each?
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 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
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 a following activity, but you can change the default sequence
flow at any time.
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 User Task
and an associated service for an 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 to 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.
What is 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.
What are different the subprocess types?
There are
three types of subprocesses that you can model in a BPD. Their characteristics
are described in the following table.
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 with respect to 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.
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.
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:
Timer
Message
Error
Event subprocess
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 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.
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 an 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 to 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.
What are Coaches?
Coaches are
the user interfaces for human services.
There are
two types of user interfaces for human services:
Ø Dashboards
Ø 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 exit flows with each one associated with a
different boundary event.
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.
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.
What are differences
between Coaches and Heritage Coaches?
Ø Coaches can contain multiple
Coach Views. Coach Views are 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.
Ø 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.
Ø 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
Ø 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
Ø 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-viewid attribute of a tag. By using the
data-viewid attribute, View developers can locate the nested View because
data-viewid is unique within its parent or enclosing view.
Ø 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.
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.”);
}
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.
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.
How do you fire a boundary event
pro-grammatically?
this.context.trigger(callback);
How do you access a Child Coach view?
context.getSubview(viewId,
requiredOrder)
Accesses a
subview instance given the subview ID. This method is similar
tocontext.subview[viewid] except that the return value is an array of subview
instances.
viewId(String)
– the view ID or control ID of the subview
requiredOrder
(boolean) – (optional) indicates whether the array returned needs to maintain
the same order as in the DOM tree. The default value is false.
The call
this.context.getSubview(“viewid”) returns an unsorted array of subview objects.
The call this.context.getSubview(“viewid”, false) returns exactly same array.
The only
difference between the two calls and the function
callthis.context.getSubview(“viewid”, true) is
thatthis.context.getSubview(“viewid”, true) returns an array of subview objects
whose order matches the order of the DOM nodes in the DOM tree.
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.
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 autotracking, 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
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.
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.
How do you analyze the time elapsed between the
activities in 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 atiming
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)
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 production snapshot for maintenance purposes.
Download
S.
No
|
File
Name
|
Size
|
Download
|
1
|
IBM BPM Interview Questions and Answers.pdf
|
800 KB
|
Comments
Post a Comment