Chapter 1. Introduction
Red Hat JBoss BPM Suite is an open source business process management suite that combines Business Process Management and Business Rules Management and enables business and IT users to create, manage, validate, and deploy Business Processes and Rules.
To accommodate Business Rules component, JBoss BPM Suite includes integrated Red Hat JBoss BRMS.
Red Hat JBoss BRMS and Red Hat JBoss BPM Suite use a centralized repository where all resources are stored. This ensures consistency, transparency, and the ability to audit across the business. Business users can modify business logic and business processes without requiring assistance from IT personnel.
Business Resource Planner is also included with this release.
1.1. Use Case: Process-based solutions in the loan industry
This section describes a use case of deploying JBoss BPM Suite to automate business processes (such as loan approval process) at a retail bank. This use case is a typical process-based specific deployment that might be the first step in a wider adoption of JBoss BPM Suite throughout an enterprise. It leverages features of both business rules and processes of JBoss BPM Suite.
A retail bank offers several types of loan products each with varying terms and eligibility requirements. Customers requiring a loan must file a loan application with the bank. The bank then processes the application in several steps, such as verifying eligibility, determining terms, checking for fraudulent activity, and determining the most appropriate loan product. Once approved, the bank creates and funds a loan account for the applicant, who can then access funds. The bank must be sure to comply with all relevant banking regulations at each step of the process, and has to manage its loan portfolio to maximize profitability. Policies are in place to aid in decision making at each step, and those policies are actively managed to optimize outcomes for the bank.
Business analysts at the bank model the loan application processes using the BPMN2 authoring tools (Process Designer) in JBoss BPM Suite. Here is the process flow:
Figure 1.1. High-level loan application process flow
Business rules are developed with the rule authoring tools in JBoss BPM Suite to enforce policies and make decisions. Rules are linked with the process models to enforce the correct policies at each process step.
The bank’s IT organization deploys the JBoss BPM Suite so that the entire loan application process can be automated.
Figure 1.2. Loan Application Process Automation
The entire loan process and rules can be modified at any time by the bank’s business analysts. The bank is able to maintain constant compliance with changing regulations, and is able to quickly introduce new loan products and improve loan policies in order to compete effectively and drive profitability.
1.2. Components
Red Hat JBoss BPM Suite has the following components:
-
Business Central, which is a web-based application (
business-central.war
anddashbuilder.war
) and provides tools for creating, editing, building, managing, and monitoring of business assets as well as a Task client - Artifact repository (Knowledge Store), which is the set of data the application operates over and is accessed by the Execution Server
- Execution Server, which provides the runtime environment for business assets
A more detailed description of components is available in the Red Hat JBoss BPM Suite Administration and Configuration Guide .
1.3. Red Hat JBoss BPM Suite and BRMS
Red Hat JBoss BPM Suite comes with integrated Red Hat JBoss BRMS, a rule engine and rule tooling, so you can define rules governing Processes or Tasks. Based on a Business Rule Task call, the Process Engine calls the Rule Engine to evaluate the rule based on specific data from the Process instance. If the defined rule condition is met, the action defined by the rule is taken (see Section 27.3.6, “Business Rule Task” and the Red Hat JBoss BRMS documentation for further information).
1.4. Business Central
Business Central is a web console that allows you to operate over individual components in a unified web-based environment: to create, manage, and edit your Processes, to run, manage, and monitor Process instances, generate reports, and manage the Tasks produced, as well as create new Tasks and notifications.
- Process management capabilities allow you to start new process instances, acquire the list of running process instances, inspect the state of a specific process instances, etc.
- User Task management capabilities allow you to work with User Tasks; claim User Tasks, complete Tasks through Task forms, etc.
Business Central integrates multiple tools:
- Process Designer and other editors for modeling Processes and their resources (form item editor, work item editor, data model editor, etc.), as well as process model simulation tools (see Chapter 4, Process Designer).
- Rules Modeler for designing Business Rules models and their resources (see the Red Hat JBoss BRMS documentation).
- Task client for managing and creating User Tasks (see Section 13.4, “Task Management”).
- Process Manager for managing process instances (see Section 13.2.2, “Process Instances”).
- Dashboard Builder, the BAM component, for monitoring and reporting (see Chapter 16, Red Hat JBoss Dashboard Builder).
Business Asset Manager for accessing the Knowledge Repository resources, building and deploying business assets (see Chapter 3, Project).
Artifact repository (Knowledge Store) is the set of data over which Business Central operates. It provides a centralized store for your business knowledge, which can consist of multiple repositories with business assets and resources.
Apart from the project assets, you can also manage your pom artifacts (such as parent
pom.xml
files for kjars) from Business Central’s Artifact repository, in case you do not have a separate repository to manage your artifacts. You can further create a child project to extend the uploaded pom artifact by adding the <parent>PARENT_GAV</parent> tag topom.xml
of the given child project. Here,PARENT_GAV
denotes group, artifact and version of the previously uploaded pom artifact.
Business Central can be accessed from your web browser on https://$HOSTNAME/business-central
(for instances running on localhost https://localhost:8080/business-central
).
The tools are accessible from the Views and BPM menus on the main menu:
- Process Definitions displays the Process Definition List with the Process definitions available in the connected repository.
- Process Instances displays the Process Instance List with the Process instances currently running on the Process Engine.
- Tasks displays a view of the Tasks list for the currently logged-in user. You can call a Task List in the grid view or in the calendar view from the menu: BPM menu.
1.4.1. Business Central Environment
Figure 1.3. Home page
- The main menu contains the links to the
Home
page and all available perspectives. - The perspective menu contains menus for the selected perspective.
- The perspective area contains the perspective tools (here the home page with links to individual perspectives and their views), such as views and editors.
1.4.2. Perspectives
Business Central provides the following groups of perspectives accessible from the main menu:
Authoring group:
Project Authoring perspective contains:
- The Project Explorer view with the overview of available repository structure, and information on available resources, such as, business process definitions, form definitions, and others.
- The editor area on the right of the Project Explorer view, where the respective editor appears when a resource is opened.
- The Messages view with validation messages.
- Contributors perspective enables you to view the number of commits sorted by the organizational unit, repository, author, and other criteria.
Artifact Repository perspective contains a list of jars which can be added as dependencies. The available operations in this perspective are upload/download artifact and open (view) the
pom.xml
file.The view is available for users with the
admin
role only.Administration perspective contains:
- The File Explorer view with available asset repositories
The editor area on the right of the File Explorer view, where the respective editor appears when a resource is opened.
The Administration perspective allows an administrator to connect a Knowledge Store to a repository with assets and to create a new repository. For more information, see the Red Hat JBoss BPM Suite Administration and Configuration Guide.
The view is available for users with the
admin
role only.
Deploy group:
- Process Deployments perspective contains a list of the deployed resources and allows you to build, deploy, and undeploy new units.
- Execution Servers perspective contains a list of the deployed Intelligent Process Server templates and containers associated with the templates.
- Jobs perspective allows you to monitor and trigger asynchronous jobs scheduled for the Executor Service.
Process Management group:
- Process Definitions perspective contains a list of the deployed Process definitions. It allows you to instantiate and manage the deployed Processes.
- Process Instances perspective contains a list of the instantiated Processes. It allows you to view their execution workflow and its history.
Tasks group:
- Task List perspective contains a list of Tasks produced by Human Task of the Process instances or produced manually. Only Tasks assigned to the logged-in user are visible. It allows you to claim Tasks assigned to a group you are a member of.
Dashboards group (the BAM component):
- Process & Task Dashboard perspective contains a prepared dashboard with statistics on runtime data of the Execution Server
-
Business Dashboards perspective contains the full BAM component, the Dashbuilder, including administration features available for users with the
ADMIN
role.
Extensions group:
- PlugIn Management perspective enables you to customize and create new Business Central perspectives and plugins.
- Apps perspective enables you to browse, categorize and open custom perspective plugins.
- Data Sets perspective enables you to define and connect to external data sets.
1.4.3. Embedding Business Central
Business Central provides a set of editors to author assets in different formats. A specialized editor is used according to the asset format.
Business Central provides the ability to embed it in your own (Web) Applications using standalone mode. This allows you to edit rules, processes, decision tables, et cetera, in your own applications without switching to Business Central.
In order to embed Business Central in your application, you will need the Business Central application deployed and running in a web/application server and, from within your own web applications, an iframe with proper HTTP query parameters as described in the following table.
Parameter Name | Explanation | Allow Multiple Values | Example |
---|---|---|---|
standalone | This parameter switches Business Central to standalone mode. | no | (none) |
path | Path to the asset to be edited. Note that asset should already exists. | no | git://master@uf-playground/todo.md |
perspective | Reference to an existing perspective name. | no | org.guvnor.m2repo.client.perspectives.GuvnorM2RepoPerspective |
header | Defines the name of the header that should be displayed (useful for context menu headers). | yes | ComplementNavArea |
The following example demonstrates how to set up an embedded Author Perspective for Business Central.
===test.html=== <html> <head> <title>Test</title> </head> <body> <iframe id="ifrm" width="1920" height="1080" src='http://localhost:8080/business-central?standalone=&perspective=AuthoringPerspective&header=AppNavBar'></iframe> </body> </html>
X-frame options can be set in web.xml
of business-central. The default value for x-frame-options
is as follows:
<param-name>x-frame-options</param-name> <param-value>SAMEORIGIN</param-value>