Tibco BPM Tutorial
Tibco BPM
========================================================================
A standard Business
Process Modeling Notation(BPMN) will provide business with the capability of
understanding their internal procedures in a graphical notation and will give organization the ability
to communicate their procedures in a standard manner.
BPMN is a graphical notation that depicts the steps in a
business process. It depicts the end to end flow of a business process.
The notation has been specifically designed to co-ordinate the sequence of processes and
the message that flow between
different process participant in a related set of activities.
Processes can be co-ordinated from
behind, within and over organizations natural boundaries.
TIBCO Business Studio supports the industry standards – BPMN and XPDL(XML Process Definition
Language)
XPDL :
XPDL is a format standardized by the Workflow
Management Coalition(WfMC) to interchange business process definitions between different
workflow products. i.e.) between
different modeling tools and management suites.
XPDL is designed to exchange the process definition both the graphics
and semantics of a workflow business
process.
XPDL is currently the best file format for exchange of BPMN
diagrams, it has been specially to store all aspects of a BPMN diagram.
XPDL is the serialization format of BPMN.
BPEL :
The completed process
is deployed and executed using BPEL(Business Process Execution Language).
BPM :
Business Process
Management is a means to study, identify, change and monitor business
processes.
It means by which
businesses can focus on and improve their processes.
BPM focuses on aligning all aspects of
an organization.
It promotes effectiveness
and efficiency whilst aiming
for flexibility and
integration with technology.
As part of a BPM
project, the overall process
is established and
monitored enabling improvement
and optimization.
BPM helps
organizations improve
1. Customer
satisfaction
2.
Product quality
3. Achieve
greater deliver-to-market speed.
Organization Model:
Modeling Elements in
an Organization
Organization :
Represents both
the Organization you are modeling and
any other enterprise
that your organization have
relationship with.
E.g. WIPRO, DBS
Organization Unit :
Represents sub divisions of an Organization. They are collection of positions which are associated together because they fulfill a business
need within the Organization.
E.g. Department,
Project or Location.
Position :
Represents a set of responsibilities for a job of work to
be performed in an
Organization Unit.
E.g. Sales Head, Sales
Executive
Defining Relationships
In the Organization
Editor, the relationship between Organization Units are denoted by two similar
types of Organization Unit Relationship:
1. Hierarchy: This indicates a hierarchical relationship. E.g. Relationship between a
department and its sub-departments.
2. Association: This can be used to indicate any sort of non-hierarchical relationship,
depending on your requirements. E.g. Relationships between Organization Units may be
based on factors such as resource or work allocation.
The Relationship type
is set by checking the “Is
Hierarchy” checkbox property: if checked
the relationship is hierarchy, if un-checked the relationship is association.
for Your Reference.
Adding Groups and
Assigning Privileges.
Groups :
Represents a job type within your Organization. It allows resources to be grouped by their job
characteristics.
This is useful if you
want to allocate work to a group
of people. E.g.
IMG Team, TIBCO Team, Java Team.
You do not
assign Positions within the organization
model, nor names users
to Groups when you are
working with
Organization Modeler. Users
are assigned
to groups at runtime using the Organization Browser
in ActiveMatrix
Workspace or ActiveMatrix Openspace.
Privileges :
Privileges are authorization that represent what a user is allowed to do.
You can add a qualifier to a privilege to provide
additional
information. E.g. if you have a privilege
that represents
authorization to approve expenditure,
you may want to
further qualify that privilege by
stipulating a maximum amount that can be approved.
Capabilities and
Locations
Capabilities :
Represent abilities,
skill sets or qualifications within
our Organization. E.g.
language spoken,
certifications,
licenses etc.(AMX BPM, French, GWT)
It can be applied to
Positions and to Groups.
You can add a qualifier to a capability to provide
additional information.
E.g. if you have a capability
that represents an exam
qualification, you may
want to further qualify that capability by providing a grade.
You add a qualifier by
selecting the
“Has qualifier”
checkbox on the General tab in
Properties view. A new Qualifier tab becomes available.
Locations :
Represent the physical locations that are used by the
Organization. Like Organization
place, building, room in an office.
E.g. USA, Bangalore.
Resources and
Organization Queries
Resources :
Represent user-explicitly
named individuals to whom
work item can be
distributed. Information on users is held
in LDAP and users are added to TIBCO ActiveMatrix
BPM at runtime from the
LDAP directories.
Organization Queries :
It is a way of identifying an entity within the
organization
model to use a suitable
participant for a task
in a business process.
You can specify
queries either as strings of text
or as Resource Query
Language(RQL).
You use RQL to create
queries that return a
list of
resources(users) based on a set of criteria. You
can then allocate
work(tasks) to one or more resources
on the list. E.g. group(name = “Support”),
position(name =
“Manager”), privilege
(name =
“ExpenseSignOff” qualifier>5000)
Creating Schemas
Organization Modeler
enables you to create an
embedded Schema for use in the definition of
your organization
model.
Using a
Schema, you can specify types that you intend
to use for certain
elements within the Organization.
By setting these types, you can create a generic model or template for your organization
model.
Template for creating
model instance
More representative of
your organization’s
structure.
Apply default or create
your own
Can extend
default schema
Deploying Organization
Model
BPM Models are packed into Distributed Application
Archives(DAA).
These DAA files
are uploaded to AMX Administrator
using the deployment
server configuration option in
TIBCO Business
Studio.(First add Deployment Server
and then
amx_bpm_server à Deploy Module).
The DAA files
are then deployed by AMX Administrator
to the AMX Runtime
environment.
All of these
behind-the-scenes actions are automatic
and done with a single-click
through TIBCO
Business Studio and alternatively can be
deployed using command-line utilities,
which involves
multiple steps.
ActiveMatrix Runtime
Components
. Node :
The Node is the instance of a JVM that runs all
applications. There are two types
of nodes,
i. System
Node:
It is responsible
for running the AMX
Administrator service.
It also provides
a centralized dashboard for all nodes,
centralized logging and the ability to create users and roles
with various levels of
privileges.
ii. BPM
Node:
The BPM Node is like
any other node, in the sense of being a JVM instance.
It can run both SOA and BPM applications.
ActiveMatrix BPM is
the main BPM application which runs
all the BPM models created with TIBCO Business Studio.
The AMX-BPM
runtime can start multiple instances of
process models and
provides the user interface for users to
interact with the
process.
ActiveMatrix Runtime
Components
SOA applications
include Java, spring and Web Applications
also built using TIBCO Business Studio and
also deployed as DAAs.
Having SOA and BPM
applications in a single JVM allows for a seamless interaction between the two types of applications.
The amx.bpm.app
application is run by the BPM node.
The BPM application
itself has a series of components that are
responsible for all
aspects of BPM.
This includes the
ability to start and stop different process
models, and the
ability to manage multiple versions of a process.
The BPM application
also starts up the two browser based clients,
Openspace and
Workspace.
Node Configuration
Details
2. TIBCO Host:
This is the light
weight application that manages
and monitors the other
components
(System Node, BPM
Node).
It starts up and
shuts down the Nodes and
communicates with them
using JMX
(Java Management
EXtensions) technology.
Usually there is one TIBCO Host per machine.
Node Configuration
Details :
A minimum of two nodes is recommended for running
the AMX-BPM runtime
environment. Technically,
the System Node and
BPM Node can run as a single
Node, but this is not
recommended for performance reasons.
The System
Node runs the web application for
AMX Administrator and
provide access through its
HTTP port (default
8120, which can be changed).
The BPM
Node runs the Workspace and Openspace
clients
using its own web application and has a separate HTTP port (default 8080).
Organization Browser
and LDAP
The Organization Browser
is a function available
from ActiveMatrix
Workspace and Openspace that
allows you to map
resources(users) to groups, positions
in an Organization
model so that users can log
into ActiveMatrix
Workspace/Openspace, as well as
receive works in their
work lists.
Linking Organization
Model to LDAP Users :
LDAP containers are a
collection of one or more
LDAP sources. An LDAP
source represents an
LDAP server, which holds information about
potential resource(that
is, users) who may need
to use or participate in
TIBCO BPM applications.
You must create a LDAP container so that you
can select the users
you want to map to the
organization model.
Those users will then be
able to log into
ActiveMatrix Workspace
and participate in
TIBCO BPM applications.
Assigning Resources
LDAP : Actual users that are associated
with an organization model, to do work.
Database : Stores stateful BPM data. It can be
either Oracle 11g or MS SQL Server.
Please note that TIBCO
EMS is responsible for logging and other infrastructure activities.
Assign Resources to
Positions and Groups :
You must assign
users to groups or positions in the Organization Model so that they can receive and process work items
sent to organization model entities.
Assign capabilities
with users.
Business Object
Modeler
The Business Object
Modeler allows you to define
a vocabulary of core business objects and the relationships between the different objects.
A Business Object
Model is defined using the Business Object Model Editor, which is a
class diagram editor in Unified Modeling Language(UML).
Business Object Models
are used for analysis, documentation and to create Data Fields in a
Process that have the attributes of a class.
To create an object,
simply choose it from the palette and drop it into the model.
Defining Packages and
Classes
Package :
A package is a way of
grouping related model elements. It also contain other packages.
It used as containers
to organize classes in your model..
It contains Classes,
Packages, Primitive Types, Enumerations.
E.g. com.example.tt
Class :
A class is a
description of set of properties that,
when grouped together, create a meaningful
unit.
Can be organizes in a
hierarchical structure
E.g. Employee,
Manager, Department, ExpenseItem, ExpenseReport
Primitive Types and
Enumerations
Primitive Types :
It is a data type.
Defining a Primitive type enables
you to define you own
data types and then specify how
data of that type is
interpreted.
You can specify what
values the data can have or
any constraints on the
data.
You can use this
across your business model.
Enumerations :
Define enumeration in
object model.
Enumeration must
contain at least one literal.
Assign enumeration as
attribute type.
Enumeration choices
displayed in option list on form(radio group).
Defining Attributes
Class Attribute Type :
Standard data type
String, Integer, etc.
Primitive data type
US Phone
Enumeration
Card Type
Other class
Address class
Multiplicity
Occurrences of an
attribute. It can be 1, 0..1, * , 1..*
Relationships
1.Generalization :
I.Super-class, sub-class definition
II.Inherit attributes of super class
III.Represented by a hollow triangle connected to
general form.
IV.E.g. Customer class
inherits all the attributes of the Person. One can say a “Customer is a type of
Person”
●
2.Associations :
I.An association shows a relationship between
two Classes.
II.The relationship indicates that the Classes
need to share data and how one class can assess other.
III.E.g. If you have property (Address, state, zip
code) then you can locate the customer who owns it.
IV.
●
3. Aggregation
:
I.Contained class remains, if container class is destroyed
II.Aggregation are not supported in BPM
4. Composition
:
I.Contained class destroyed, if container class is destroyed
●
à An error will
be generated if you try to deploy a business object model containing an
Association or an Aggregation to BPM.
●
Data Fields and
Parameters
Data Fields :
Represent data that is used internally by the process.
Right click the
appropriate process or package
and select
New à Data Field and it will open
“New Data Field”
dialog box.
Option for select Type
and Initial Values(optional).
Type can be Basic Type – Text, Int, decimal, Boolean, or External Reference – link to BOM type.
Performer data type is
used to dynamically assign a participant value to a task. Any field of
type Performer will appear in the “Select Participant(s)” dialog when assigning
a participant to a task.
Parameters:
Use parameters to pass
data into / out of process
Mode (In, Out, In /
Out)determines direction of data.
Configure User Task
Interface
To configure the user
task interface, select the User Task in the design window and open the interface tab in the properties window.
Click on “+” icon to
add data fields and parameters to the user task. Once the data has added, select
the mode for each data field.
The mode will
determine the way in which the
field is defined on
the default form – In = Read
Only, In / Out or Out = Optional or Mandatory(depending
on Mandatory field).
Check the Mandatory check
box to create
mandatory field on the form.
The order of the form
can be arranged using up/down
arrow buttons.
Form Preview
A form is a model of a
user interface designed
for a task. When deployed, the form drives the user
interaction while the
human who has been assigned the
step in the business
process.When you right click
on a user task, and select
the
Form Preview option, the default form is generated
using the data fields
and parameters that are configured
for the task. It is
a GWT Form.
Read-only controls are
created for inbound fields
and editable controls
are created for outbound fields.
Form generated with
default layout
-- In/Out
, Out parameters à Enabled control
-- In parameter à Read
– only control
-- Cancel,
Close, Submit buttons
-- By default,
Boolean parameters are converted into check boxes.
-- Data type is
integer or decimal à text control.
PASS
Exposes BPMN process as a
(web) service.
Core feature of
ActiveMatrix BPM.
Benefit : True convergence of SOA and BPM.
Process can call a
Service.
Service can call a
process.
A business process can
expose service operations
that can be invoked by
other processes or applications.
A process as a
service(PAAS) is simply a
process with a SOAP wrapper around it, i.e.) it is like any other web service.
A PAAS has to use SOAP
as the communication
protocol and HTTP or
JMS as the transport. That
means, any SOAP client
can invoke the service.
Have a SOAP wrapper
around the business
process promotes the seamless integration
between SOA(SOAP bases)
and BPM.
Business Service to
call a PAAS
Define a Message
Trigger Start event (Select Start
Event and Right
click Trigger
Type à Message
Trigger) ,WSDL is automatically generated and will
place in “Generated Services” folder.
ActiveMatrix BPM
provides an out-of-the-box function to create a Business Service (Right
Click Message Trigger Start event and Right Click Business
Service à Generate..)which is automatically configured to invoke your
business process.
By default, a Business
Service will use virtualization to invoke the business process.
Types of Business
Service
1.Simple Process starter
i.No data (Start Event à Send Task)
●
2.Process starter with data
i. Gather data in Pageflow (Start
Event à User Task à Send Task)
ii.E.g. Start à Enter
Employee Id à End
3. Simple Business function
i.Execute all tasks
in Pageflow(Start Event à User Task à Service
Task àSend Task)
ii.E.g. Start à Get Employee Details à Update
Employee Details in Database à End
Deploying Project
When you deploy a
project which expose a web service,
you must bind the system
participant to the
httpConnector resource
instance.
The system participant
defines the web service
endpoint. The httpConnector
resource instance is
used by BPM to provide
the runtime connection to
all web services that
it provides.
The Property
Configuration dialog is displayed when
you deploy your
project using the deploy modules
wizard. There is an
httpConnector resource instance
pre-configured in ActiveMatrix BPM.
Since the Business
Service is also hosted in BPM, the web service is accessed using Virtualization.
Starting Business
Service
Once the business
process project is deployed, the business service can be started using the ActiveMatrix client
Applications – Workspace and
Openspace.
By default, Workspace
users see the “Business Service” folder.
In Openspace, you need
to open the Business Service tab which contains the Business Services gadgets.
BPMN Gateways
Control Mechanism for
the sequence flow in the process
Parallel
Gateway(Unconditionally split/ joins flow).
Exclusive Data Based
Gateway(Conjunction
with a conditional
sequence flow and a default
sequence flow)
Exclusive Event Based
Gateway
Represented by Diamond
Used for Merging,
Forking, Joining and Branching.
Forking – Perform 2 or
more activities in parallel.
Joining – Synchronize
parallel path in the process.
Events
Different Events are
Start, Intermediate, End Events.
Start Event
Represented with a
circle
1.No Specific Trigger
2.Message Start Event(Start triggered by
message)
3.Timer Start Event(Start triggered at specified
times)
4.Conditional Start Event(Start triggered when
conditions are met)
5.Multiple Start Event(Start triggered by one of
a number of methods)
6.Signal Start Event(Start triggered by signal)
End Event
Represented with a
thick circle
Intermediate Event
Can alter business
flow, cannot start the process and
directly terminates
the process.
Used for exception
handling and activity deadline.
2 types.
1.Catch Intermediate Event(Represented with
double circle)
2.Throw Intermediate Event(Represented with
double circle with inner part shaded)
If there is any Mistake Please let me know. and post your comments also
ReplyDelete