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. HierarchyThis 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
  OnlyIn / 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)














Comments

  1. If there is any Mistake Please let me know. and post your comments also

    ReplyDelete

Post a Comment