JBPM Presentación

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 16

JBPM5

BPM Business Process management Te permiten modelar procesos, instanciarlos, etc administrarlos

BPMN2
BPMN 2 standardizes the visual representation of business processes as well as their underlying XML representation. In jBPM5, you can actually model more using BPMN 2 than you ever could with jPDL for example, and at a higher level. (Diferencia con JBPM3) Migration from jPDL to BPMN 2

Human Task
The third innovative feature is the new Human Task Servers. jBPM 5 uses a pluggable component to handle the lifecycle of human tasks. This component is based on the Web Services Human Task specification. It defines the data structure to store information about the Human Tasks which are contained in the processes without knowing about the process itself.

Por qu la definicin de procesos?


At runtime the jBPM 5 engine loads the XML process definition to an Object Model that contains the process structure. Based on this project structure, we can create new Process Instances that represent living process executions.

Definiciones Bsicas en JBPM5


The Knowlege Base is a repository of all the application's knowledge definitions. It may contain rules, processes, functions, and type models. The Knowledge Base itself does not contain instance data, known as facts; To create a knowledge base, use a KnowledgeBuilder to load processes from various resources (for example from the classpath or from file system), and then create a new knowledge base from that builder. Once you've loaded your knowledge base, you should create a session to interact with the engine. This session can then be used to start new processes, signal events, etc.

Installers includes
Including
the core libraries, the JBoss AS, the Eclipse plugins and the Web application consoles

Instalacin
1. You need to have Jakarta ant installed in order to continue
ant install.demo

2. build.properties
eclipse.home=C:\eclipse

jBPM Eclipse plugin


ant install.droolsjbpm-eclipse.into.eclipse O ant install.drools-eclipse.into.eclipse ant install.jBPMeclipse.into.eclipse install.jBPM.runtime,install.droolsjbpm-eclipse.into.eclipse

jBPM runtime
ant install.jBPM.runtime

A sample.bpmn resource which is our first process written in BPMN 2.0 A ProcessMain class which creates and starts a process bound to the sample.bpmn file

unit testing for the ProcessMain class

Script Task
A Script Task represents a script that should be executed in this process. The associated action specifies what should be executed, the dialect used for coding the action (i.e., Java or MVEL), and the actual action code. This code can access any variables and globals. When a Script Task is reached in the process, it will execute the action and then continue with the next node.

Action which is associated to the process. redefine your action The predefined variable kcontext references the ProcessContext object (which can, for example, be used to access the current ProcessInstance or NodeInstance, and to get and set variables, or get access to the ksession using kcontext.getKnowledgeRuntime() process variables initial value

Gateways
A Diverging Gateway which allows you to create branches much like you did with jBPM 3 Fork Node
AND or parallel means that the control flow will continue in all outgoing connections simultaneously. XOR or exclusive means that exactly one of the outgoing connections will be chosen. The decision is made by evaluating the constraints that are linked to each of the outgoing connections. OR or inclusive means that all outgoing connections whose condition evaluates to true are selected.

A Converging Gateway which allows you to synchronize multiple branches. (You can think about it like a jBPM 3 Join Node).
AND or parallel means that is will wait until all incoming branches are completed before continuing. XOR or exclusive means that it continues as soon as one of its incoming branches has been completed.

the process execution can take two differents paths depending on a condition Constraints property

Variables
define at process level the variable money

In order to use human tasks inside your processes you need three components:
1) A Human task node 2) A Human Task Server (to be precise a task management component) 3) A Human Task Client

As you can see, two persistence units are defined: one JTA-enabled named org.jbpm.persistence.jpa which is used by the jBPM5 engine and one non-JTA named org.jbpm.task which is used by the HumanTaskServer. (The latter persistence unit is defined as non-JTA is due to the fact that the Task Server Api needs to demarcate transactions using UserTransaction API, such as begin(), commit() and thus JTA resources seem incompatible with this persistence unit)

Extend the palette with domain-specific declarative service nodes Define input / output parameters

http://www.mastertheboss.com/jbpm

http://people.redhat.com/kverlaen/twitterrepository.swf http://kverlaen.blogspot.com/2011/10/introd ucing-service-repository.html http://people.redhat.com/kverlaen/repository

You might also like