a Business Process Management (BPM) Suite

Overview

                    GitHub Stars GitHub Forks Pull Requests Contributors License Twitter Follow

Quick Links

Homepage: http://jbpm.org/

Business Applications: https://start.jbpm.org/

Documentation: https://docs.jboss.org/jbpm/release/latestFinal/jbpm-docs/html_single/

JIRA: https://issues.jboss.org/projects/JBPM/summary

About jBPM

jBPM is a toolkit for building business applications to help automate business processes and decisions.

jBPM can be used as standalone service or embedded in custom service. It does not mandate any of the frameworks to be used, it can be successfully used in

  • traditional JEE applications - war/ear deployments
  • SpringBoot or Thorntail (formerly known as WildFly Swarm) - uberjar deployments
  • standalone java programs

jBPM is open source software, released under the Apache Software License. It is written in 100% pure Java™, runs on any JVM and is available in the Maven Central repository too.

Building from source

  1. Check out the source:
git clone [email protected]:kiegroup/jbpm.git

If you don't have a GitHub account use this command instead:

git clone https://github.com/kiegroup/jbpm.git jbpm
  1. Build with Maven:
cd jbpm
mvn clean install -DskipTests

Contributing to jBPM

All contributions are welcome! Before you start please read the Developing Drools and jBPM guide.

Getting Help

Follow this link to with information on how to:

  • post questions on user groups
  • report and create issues
  • chat with jBPM devs and community
  • get customer support

Guides

There is alot of good information (and books) available on jBPM and it's hard to list them all. Here are some of the most notable ones for quick reference:

Comments
  • [JBPM-9452] ClassCastException fix

    [JBPM-9452] ClassCastException fix

    ClassCastException occurs when mapping DMN output to a Java Object in a BPMN

    Thank you for submitting this pull request

    JIRA:

    JBPM-9452

    I created a minimal, reproducible example here and verified this fixes the issue. I didn't see any unit tests for the RuleSetNodeInstance class so I wasn't sure what would be the best way to get an automated test in place for this. If you think we need one, I'd be happy to work on that and I'd appreciate some guidance to point me in the right direction.

    referenced Pull Requests:

    How to retest this PR or trigger a specific build:
    • a pull request please add comment: Jenkins retest this

    • a full downstream build please add comment: Jenkins run fdb

    • a compile downstream build please add comment: Jenkins run cdb

    • a full production downstream build please add comment: Jenkins execute product fdb

    • an upstream build please add comment: Jenkins run upstream

    opened by hmatt1 50
  • [JBPM-8380]

    [JBPM-8380]

    Started with #1449 and did additional work to remove JBPMHelper.java and JBPMUnitTestCase. Moved static routines from JBPMHelper to ProcessMain where they were exclusively used. Moved a couple static fields from JBPMHelper to JbpmJunitBaseTestBase.java.

    opened by karlnicholas 29
  • [JBPM-10103] Fix order in Servicesorm.xml to pass validation

    [JBPM-10103] Fix order in Servicesorm.xml to pass validation

    JIRA: JBPM-10103

    Using springboot application from start.jbpm.org orm xml is validated. It needs the tags in order:

    • named-query
    • named-native-query
    • sql-resultset-mapping
    opened by albfan 28
  • ProcessInstanceInfo set start date when constructed

    ProcessInstanceInfo set start date when constructed

    This is my first PR against jbpm :smile: Please let me know if I should open a Jira ticket here for this fix.


    In the PrometheusProcessEventListener, the field startDate from a processInstance is used to time the process instance duration metric. https://github.com/kiegroup/droolsjbpm-integration/blob/4fb9e4c239dfc21ea99ea5b701877cafeafcbe1d/kie-server-parent/kie-server-services/kie-server-services-prometheus/src/main/java/org/kie/server/services/prometheus/PrometheusProcessEventListener.java#L96

    However, the start date was always null because it is being set when getProcessInstance is first called. Since getProcessInstance is not called before we trigger the event listener, the start date was never set. The ProcessInstance start date should be set when the ProcessInstanceInfo object is first created.

    opened by hmatt1 20
  • JBPM-7266 Configure jBPM unit tests to use connection pooling

    JBPM-7266 Configure jBPM unit tests to use connection pooling

    Provides integration between jBPM engine, Narayana and Tomcat DBCP. Changes introduced by this PR have been already tested with various DBs and JEE containers.

    Depends on https://github.com/kiegroup/drools/pull/1939

    [DO NOT MERGE] - waiting for tomcat-dbcp stable release

    opened by rsynek 20
  • [JBPM-9195] Case traceability from a Task Instance

    [JBPM-9195] Case traceability from a Task Instance

    CorrelationKey and ProcessType added to UserTaskDescription.

    Depends on droolsjbpm-knowledge:447 and merge together with https://github.com/kiegroup/droolsjbpm-integration/pull/2136

    Existing APIs(getTaskById, getTaskByWorkItem and getTaskByProcess) are reused, since I believe is preferable to assume the performance cost of an extra join rather than having to maintain a new API for every attribute combination (specially when there is already a join because of the introduction of subject attribute)

    opened by fjtirado 19
  • JBPM-10150: Updated the log statement

    JBPM-10150: Updated the log statement

    Thank you for submitting this pull request

    JIRA: (JBPM-10150)

    link

    referenced Pull Requests: (please edit the URLs of referenced pullrequests if they exist)

    Updated the log statement
    How to retest this PR or trigger a specific build:
    • a pull request please add comment: Jenkins retest this

    • a full downstream build please add comment: Jenkins run fdb

    • a compile downstream build please add comment: Jenkins run cdb

    • a full production downstream build please add comment: Jenkins execute product fdb

    • an upstream build please add comment: Jenkins run upstream

    How to backport a pull request to a different branch?
    opened by sudhishmk 14
  • Update Looping.bpmn

    Update Looping.bpmn

    Thank you for submitting this pull request

    JIRA: (please edit the JIRA link if it exists)

    link

    referenced Pull Requests: (please edit the URLs of referenced pullrequests if they exist)

    • paste the link(s) from GitHub here
    • link 2
    • link 3 etc.
    How to retest this PR or trigger a specific build:
    • a pull request please add comment: Jenkins retest this

    • a full downstream build please add comment: Jenkins run fdb

    • a compile downstream build please add comment: Jenkins run cdb

    • a full production downstream build please add comment: Jenkins execute product fdb

    • an upstream build please add comment: Jenkins run upstream

    Rearranges in the modelling for better visualization.
    opened by pamenon 8
Owner
KIE (Drools, OptaPlanner and jBPM)
Code of the Drools rule engine, OptaPlanner constraint solver and jBPM workflow engine.
KIE (Drools, OptaPlanner and jBPM)
A compact and highly efficient workflow and Business Process Management (BPM) platform for developers, system admins and business users.

Flowable (V6) Maven Central: Docker Images: License: Homepage: https://www.flowable.org/ flowable / flowəb(ə)l / a compact and highly efficient workfl

Flowable 6k Jan 7, 2023
a Business Process Management (BPM) Suite

Quick Links Homepage: http://jbpm.org/ Business Applications: https://start.jbpm.org/ Documentation: https://docs.jboss.org/jbpm/release/latestFinal/j

KIE (Drools, OptaPlanner and jBPM) 1.4k Jan 2, 2023
Business Application Platform - no-code/low-code platform to build business applications

Orienteer What is Orienteer Orienteer is Business Application Platform: Easy creation of business applications Extendable to fit your needs Dynamic da

Orienteer 189 Dec 6, 2022
Lattice is a powerful, lightweight business extension invoke framework. By using the Lattice framework, complex business customization can be efficiently organized and managed.

Lattice Framework Introduction Lattice is a powerful, lightweight business extension invoke framework. By using the Lattice framework, complex busines

null 41 Dec 30, 2022
HopLa Burp Suite Extender plugin - Adds autocompletion support and useful payloads in Burp Suite

HopLa ?? All the power of PayloadsAllTheThings, without the overhead. This extension adds autocompletion support and useful payloads in Burp Suite to

Synacktiv 522 Dec 24, 2022
OpenL Tablets Business Rules Management System

Easy Business Rules OpenL Tablets targets the infamous gap between business requirements (rules and policies) and software implementation. Designed to

OpenL Tablets 114 Dec 17, 2022
Kyrestia, named after Kyrestia the Firstborne, is a process engine supporting mainstream process definition standards.

Kyrestia Kyrestia, named after Kyrestia the Firstborne, is a process engine supporting mainstream process definition standards. It is not only lightwe

Weiran Wu 32 Feb 22, 2022
FizzBuzz Enterprise Edition is a no-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes.

FizzBuzzEnterpriseEdition Enterprise software marks a special high-grade class of software that makes careful use of relevant software architecture de

null 18.4k Dec 31, 2022
JAP is an open source authentication middleware, it is highly decoupled from business code and has good modularity and flexiblity. Developers could integrate JAP into web applications effortlessly.

?? JAP 是什么? JAP 是一款开源的登录中间件,基于模块化设计,并且与业务高度解耦,使用起来非常灵活,开发者可以毫不费力地将 JAP 集

Fujie 140 Dec 1, 2022
Tuya 37 Dec 26, 2022
Cadence is a distributed, scalable, durable, and highly available orchestration engine to execute asynchronous long-running business logic in a scalable and resilient way.

Cadence This repo contains the source code of the Cadence server and other tooling including CLI, schema tools, bench and canary. You can implement yo

Uber Open Source 6.5k Jan 4, 2023
Critter Chronologer a Software as a Service application that provides a scheduling interface for a small business that takes care of animals

Critter Chronologer a Software as a Service application that provides a scheduling interface for a small business that takes care of animals. This Spring Boot project will allow users to create pets, owners, and employees, and then schedule events for employees to provide services for pets.

Rasha Omran 1 Jan 28, 2022
Highly customized business metrics monitoring with TDengine & Spring Boot

Horus —— Highly customized business metrics monitoring with TDengine & Spring Boot 给予业务指标监控的高度定制自由 设计文档:https://akhnhwmr9k.feishu.cn/wiki/wikcnJJFmDHj

ArchLiu 6 Jun 17, 2022
Apollo is a reliable configuration management system suitable for microservice configuration management scenarios.

English | 中文 Apollo - A reliable configuration management system Apollo is a reliable configuration management system. It can centrally manage the con

Apollo 27.6k Jan 5, 2023
Backend for Saunah Management App provides a REST-API for the Saunah management app

?? ?? Saunah Backend Backend for Saunah Management App. This application provides a REST-API for the Saunah management app. ????‍?? Technology Stack T

null 2 Jun 13, 2022
A Java 8+ Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More)

Bytecode Viewer Bytecode Viewer - a lightweight user friendly Java Bytecode Viewer. New Features WAR & JSP Loading JADX-Core Decompiler Fixed APK & de

Kalen (Konloch) Kinloch 13.5k Jan 7, 2023
uniVocity-parsers is a suite of extremely fast and reliable parsers for Java. It provides a consistent interface for handling different file formats, and a solid framework for the development of new parsers.

Welcome to univocity-parsers univocity-parsers is a collection of extremely fast and reliable parsers for Java. It provides a consistent interface for

univocity 874 Dec 15, 2022
A complete 3D game development suite written purely in Java.

jMonkeyEngine jMonkeyEngine is a 3-D game engine for adventurous Java developers. It’s open-source, cross-platform, and cutting-edge. 3.2.4 is the lat

jMonkeyEngine 3.3k Dec 31, 2022
Ultimate Component Suite for JavaServer Faces

PrimeFaces This is an overview page, please visit PrimeFaces.org for more information. Overview PrimeFaces is one of the most popular UI libraries in

PrimeFaces 1.5k Jan 3, 2023
The JTS Topology Suite is a Java library for creating and manipulating vector geometry.

JTS Topology Suite The JTS Topology Suite is a Java library for creating and manipulating vector geometry. It also provides a comprehensive set of geo

LocationTech 1.5k Jan 6, 2023