Video: Day 2 – JBPM and KIE Projects
- Human Resources Example
- Customer Relationships Example (work in progress)
- KIE Workbenchs Configurations
- Uberfire and Guvnor are both frameworks, not distributions.
- We are keeping the name Guvnor for what it was originally intended. Guvnor is a framework to define all the internal project automation and organization. Guvnor is the internal framework that we will use to provide a smart layer to define how projects and all the knowledge assets will be managed and maintained.
- KIE-WB-Common is not a distribution by itself but it could, because it contains all the shared bits between all the distributions.
- Drools Workbench only contains authoring tools related with Rules, notice that in the same way as Guvnor it doesn’t provide a runtime for your rules. This could be added in the future but in 6.0 is not.
- The jBPM Console NG replaced the old jBPM GWT console
- The difference between names (Drools Workbench and jBPM Console NG) is due the fact that the jBPM Console NG does provide all the runtime mechanisms to actually run your Business Processes and all the assets associated with them.
- Notice that the jBPM Console NG uses some of the Drools-WB modules and also integrates with the jBPM Designer and the Form Modeller.
- KIE Workbench contains all the components inside the platform and also add the Remote Services to interact with processes.
- Notice that the Remote Service in 6.x are only for the BPM side, that means that we can also provide the jBPM Console NG distribution with those services, it is not a priority right now but it can be done if someone thinks that it’s a good idea.
- You can find all these projects under the droolsjbpm organization in github: http://github.com/droolsjbpm
- All the configurations and blogs related to the jBPM Console NG also applies for the KIE Workbench
- The jBPM 6.0 installer will come with KIE Workbench bundled and because of this most of my posts will be showing screenshots of KIE-WB instead of the jBPM Console NG.
Configurations & Deployment
- Domain Specific (Custom) Connectors
- JBoss AS 7 Profile
Domain Specific (Custom) Tasks / Connectors
- Provide an implementation of the WorkItemHandler interface, which is the one that will be executed in runtime.
- Bind the implementation to a Service Task name
- Create the WorkItem Descriptor inside the tool
Note about the JBoss AS 7 Profile
The Example – Hiring Process V1
- The Human Resources Team perform the initial interview to the candidate to see if he/she fits the profile that the company is looking for.
- The IT Department perform a technical interview to evaluate the candidate skills and experience
- Based on output of the Human Resources and IT teams, the accounting team create a Job Proposal which includes the yearly salary for the candidate. The proposal is created based on the output of both of the interviews (Human Resources and Technical).
- As soon as the proposal has being created it is automatically sent to the candidate via email
- If the candidate accept the proposal, a new meeting is created with someone from the Human Resource team to sign the contract
- If everything goes well, as soon as the process is notified that the candidate was hired, the system will automatically post a tweet about the new Hire using the twitter service connector
- Users and Roles Configuration: you will usually do this at the beginning, because it’s how you set up all persons that will be able to interact with your business processes.
- Specific Domain Service Connectors (WorkItemHandlers in the class path): this could be done on demand, when you need a new system connector you will add it
- A Business Process Model to run
- A set of Forms for the Human Tasks (If you don’t provide this the application will generate dynamic forms for them): this needs to be done for each User Task that you include in your process. This is extremely important because it represent the screen that the end user will see to perform the task. The better the form the better the user can perform its job.
The Example inside the jBPM Console NG
- Global Process properties: Click in the back of the canvas and then access to the properties menu. Notice the process id, the process name and the process version, and the process variables defined.
- User Task assignments: click into one of the User Tasks and look a the ActorId and GroupId properties (see previous screenshot)
- Tasks Data Mappings: take a look at the DataInputs, DataOutputs and Assignments properties. When we see each activity execution in the following section we will be making reference to the data mappings to see what information is expected to be used and to be generated by each task. (see previous screenshot)
Hire a new Developer Process Instance
Human Resources Interview
- The candidate age
- The candidate email
- The score for the interview
- The list of validated skills of the candidate
- The twitter account
- The score for the interview
Process Instance Details
General Overview about the tools
Distributions and Modules
How to setup your working environment
How to extend/customize the tooling
Program Overview ( detailed agenda for Monday and Tuesday below ):
Monday – Healthcare focus for Rules, Workflow, Ontologies and Events (Free)
Tuesday – General Drools&jBPM session (Free)
Tuesday – Rule Design Patterns in Production Rule Systems
Wed – Fri – General IntelliFest Sessions
There are limited spaces, so register soon here.
Monday – Healthcare focus for Rules, Workflow, Ontologies and Events (free)
0830-0920 Captain Emory Fry, MD
Socratic Grid : Open Source Distributed Decision Support for Healthcare
0930-1020 Dr Robert Greenes, Department of Biomedical Informatics, Arizona State University
Key Note : Embedding Decision Support in Clinical Systems
1030-1120 Dr Aziz Boxwala, Division of Biomedical Informatics, University of California
Clinical Decision Support Consortium
1130-1200 Dr Seong Ki Mun, President and CEO of OSEHRA
Open Source Electronic Health Record Agent
1300-1350 Dr Davide Sottara, Department of Biomedical Informatics, Arizona State University
Knowledge Representation Standards For Building Executable Clinical Processes Models
1400-1450 David Shields, Health ITS, University of Utah
OpenCDS: a Clinical Decision Support Infrastructure Based on Drools
1500-1520 Harold Solbring, Division of Biomedical Informatics, Mayo Clinic
1530-1655 Conor Dowling, Caregraf
Semantic Terminology Services
1600-1620 Dr Xiao Hu, Department of Neurosurgery, University of California
Clinical Decision Support Driven Alarms
Panel Discussion – Collaboration Opportunities
Tuesday – General Drools&jBPM Workshop (free)
-Key will be provided to setup your laptop, so you can view and run the examples used during the talks.
How we turn the Drools and jBPM communtiy parts into a world class product. Supporting and harvesting all the innovation done in the open community, Red Hat delivers reliable, dependable and integrated solutions for enterprise customers.
Drools Expert covers the business rule engine. A gentle, example driven, dive into the Drools technical rule language and engine features.
Learn how Drools does CEP differently. Our unified approach extends Drools Expert with a series of language and sub-engine extensions to provide temporal reasoning and event correlation.
jBPM is a BPM engine designed for flexible processes, implementing and extending the BPMN2 spec. Built form the ground up to be part of a unified strategy for business automation and decision management. jBPM fully integrates with Drools Expert and Fusion.
Drools Expert provides sophisticated web based tooling, around decision tables, guided editors and templates. Our decision modelling approach draws from the very best research found at Dr Jan Vanthienien school of Decision Modelling.
Human tasks are a central component of BPM. This example driven talk will build an example live, demonstrating what jBPM’s Human Task technology can do for you.
Time for some hard play, learn how to build classic computer games with Drools. These also provide interesting exercises in BA requirements gathering.
Whether it’s employee rostering, task scheduling, vehicle routing, bin packing or another planning problem: all organizations try to optimize their limited resources under constraints. Drools Planner optimizes business resources for normal Java programmers.
Sometimes data quality is not perfect, so facts may not be known with precision and certainty. Likewise, crisp constraints such as hard thresholds might not be able to capture the complexity of a business policy. Drools Chance allows to apply gradual and/or probabilistic constraints to uncertain or vague data.
UberFire is a new project that forms the foundation of our 6.0 web tooling. It’s standalone framework that provides a sophisticated workbench framework for the web; where everything is a plugin. Come learn about the Uberfire, and how you can use the workbench to build your own web applications.
An open presentation and discussion about the design ideas, principles and goals that are driving the development of Drools & jBPM version 6.0. This will be an optional and informal session where attendees will have the opportunity to learn about what is coming, contribute ideas and provide feedback that will be taken in consideration by the development team.
Run at the same time as “Drools&jBPM and Beyond” and Beyond. Solution Architects are on hand to help you with your coding problems, and running examples.
Tuesday – Rule Design Patterns in Production Systems
Thanks again for all those that made this possible. We’ll upload slides soon.
On Friday the 29th of June we’ll have an all day drop in centre for Drools & jBPM. We’ll be having an all day team meeting and codeathon which will be open to the public. Anyone can attend, you DO NOT need Red HaT Summit tickets to attend. You can come along and hang out with us for the whole day and code, or just drop in for a bit and we’ll help you with your questions.