<commit_before>---
title: Planning engine (Java™, Open Source)
layout: base
---

.jumbotron.pagination-centered(style="padding: 10px; margin-bottom: 20px;")
  .carousel.slide#whatIsCarousel(data-ride="carousel" data-interval="false" style="background-color: white;")
    -#.carousel-inner(style="align: center;")
    .carousel-inner
      .item.active
        %img(src="landingPage/useCaseOverview.png" alt="Use case overview")
      .item
        %img(src="landingPage/employeeShiftRosteringUseCase.png" alt="Employee shift rostering use case")
      .item
        %img(src="landingPage/examinationTimetablingUseCase.png" alt="Exam timetabling use case")
      .item
        %img(src="landingPage/inputOutputOverview.png" alt="Usage")
      .item
        %img(src="landingPage/integrationOverview.png" alt="Integration")
      .item
        %img(src="landingPage/compatibility.png" alt="Compatibility")
      .item
        %img(src="landingPage/scalable.png" alt="Scalability")
    %a.left.carousel-control(href="#whatIsCarousel" data-slide="prev")
      %span.glyphicon.glyphicon-chevron-left
    %a.right.carousel-control(href="#whatIsCarousel" data-slide="next")
      %span.glyphicon.glyphicon-chevron-right
  %ul.nav.nav-justified#whatIsCarouselButtons
    %li.active(data-target="#whatIsCarousel" data-slide-to="0")
      %a(href="#" data-toggle="tab") Use cases
    %li(data-target="#whatIsCarousel" data-slide-to="1")
      %a(href="#" data-toggle="tab") Employee rostering
    %li(data-target="#whatIsCarousel" data-slide-to="2")
      %a(href="#" data-toggle="tab") Exam timetabling
    %li(data-target="#whatIsCarousel" data-slide-to="3")
      %a(href="#" data-toggle="tab") Usage
    %li(data-target="#whatIsCarousel" data-slide-to="4")
      %a(href="#" data-toggle="tab") Integration
    %li(data-target="#whatIsCarousel" data-slide-to="5")
      %a(href="#" data-toggle="tab") Compatibility
    %li(data-target="#whatIsCarousel" data-slide-to="6")
      %a(href="#" data-toggle="tab") Scalability

%div(style="margin-bottom: 20px")
  :markdown
    ## What is jBPM?

    **jBPM** is a flexible Business Process Management (BPM) Suite. It makes the bridge between business analysts and developers. Traditional BPM engines have a focus that is limited to non-technical people only. jBPM has a dual focus: it offers process management features in a way that both business users and developers like it.

    ## What does jBPM do?

    A business process allows you to model your business goals by describing the steps that need to be executed to achieve that goal and the order, using a flow chart.  This greatly improves the visibility and agility of your business logic, results in higher-level and domain-specific representations that can be understood by business users and is easier to monitor.
  
    The core of jBPM is a light-weight, extensible workflow engine written in pure Java that allows you to execute business processes using the latest BPMN 2.0 specification.  It can run in any Java environment, embedded in your application or as a service.
    
    On top of the core engine, a lot of features and tools are offered to support business processes throughout their entire life cycle:
    
  %ul
    %li Eclipse-based and web-based editor to support the graphical creation of your business processes (drag & drop).
    %li Pluggable persistence and transactions based on JPA / JTA.
    %li Pluggable human task service based on WS-HumanTask for including tasks that need to be performed by human actors.
    %li Management console supporting process instance management, task lists and task form management, and reporting.
    %li Optional process repository to deploy your process (and other related knowledge).
    %li History logging (for querying / monitoring / analysis).
    %li Integration with Seam, Spring, OSGi, etc.
    
  %p BPM makes the bridge between business analysts, developers and end users, by offering process management features and tools in a way that both business users and developers like it. Domain-specific nodes can be plugged into the palette, making the processes more easily understood by business users.
  
  %p jBPM supports adaptive and dynamic processes that require flexibility to model complex, real-life situations that cannot easily be described using a rigid process. We bring control back to the end users by allowing them to control which parts of the process should be executed, to dynamically deviate from the process, etc.
    
  %p jBPM is also not just an isolated process engine. Complex business logic can be modeled as a combination of business processes with business rules and complex event processing. jBPM can be combined with the Drools project to support one unified environment that integrates these paradigms where you model your business logic as a combination of processes, rules and events.


  
.alert.alert-info.alert-dismissable
  %button.close(type="button" data-dismiss="alert" aria-hidden="true") &times;
  #{site.pom.latest.releaseDate}:
  %a.alert-link(href="download/releaseNotes/releaseNotes#{site.pom.latest.releaseNotesVersion}.html") jBPM #{site.pom.latest.version} has been released.

.row
  .col-md-6
    .jumbotron(style="padding: 10px; margin-bottom: 20px;")
      .text-center<
        %a.btn.btn-lg.btn-success(href="#{site.pom.latestFinal.distributionZip}")<
          %img(src = "download/download.png")
          Download jBPM #{site.pom.latestFinal.version}
      %h3 Try the examples now
      %ol
        %li Download the zip and unzip it
        %li
          On Linux/Mac, run
          %code examples/runExamples.sh
          %br
          On Windows, run
          %code examples/runExamples.bat
      .small
        Requires
        %a(href="http://www.java.com")< Java™
        to run.

  .col-md-6
    .jumbotron(style="padding: 10px; margin-bottom: 20px;")
      .text-center<
        %a.btn.btn-lg.btn-primary(href="#{site.pom.latestFinal.documentationHtmlSingle}")<
          %img(src = "learn/documentation.png")
          Read documentation #{site.pom.latestFinal.version}
      %h3 Get started
      %ol
        %li Open the documentation
        %li
          Read the
          %strong Quick Start
          chapter
          
.panel.panel-default
  .panel-heading Latest blog posts
  .panel-body
    %ul.list-unstyled
      - for post in site.posts[0,7]
        %li(style = "margin-top: 10px;")
          .title
            %a{:href => relative(post.url)}
              = post.title
          .small
            = post.date.strftime('%-d %B %Y')
<commit_msg>Modification and new contents for home page<commit_after>---
title: Planning engine (Java™, Open Source)
layout: base
---

.jumbotron.pagination-centered(style="padding: 10px; margin-bottom: 20px;")
  .carousel.slide#whatIsCarousel(data-ride="carousel" data-interval="false" style="background-color: white;")
    -#.carousel-inner(style="align: center;")
    .carousel-inner
      .item.active
        %img(src="landingPage/useCaseOverview.png" alt="Use case overview")
      .item
        %img(src="landingPage/employeeShiftRosteringUseCase.png" alt="Employee shift rostering use case")
      .item
        %img(src="landingPage/examinationTimetablingUseCase.png" alt="Exam timetabling use case")
      .item
        %img(src="landingPage/inputOutputOverview.png" alt="Usage")
      .item
        %img(src="landingPage/integrationOverview.png" alt="Integration")
      .item
        %img(src="landingPage/compatibility.png" alt="Compatibility")
      .item
        %img(src="landingPage/scalable.png" alt="Scalability")
    %a.left.carousel-control(href="#whatIsCarousel" data-slide="prev")
      %span.glyphicon.glyphicon-chevron-left
    %a.right.carousel-control(href="#whatIsCarousel" data-slide="next")
      %span.glyphicon.glyphicon-chevron-right
  %ul.nav.nav-justified#whatIsCarouselButtons
    %li.active(data-target="#whatIsCarousel" data-slide-to="0")
      %a(href="#" data-toggle="tab") Use cases
    %li(data-target="#whatIsCarousel" data-slide-to="1")
      %a(href="#" data-toggle="tab") Employee rostering
    %li(data-target="#whatIsCarousel" data-slide-to="2")
      %a(href="#" data-toggle="tab") Exam timetabling
    %li(data-target="#whatIsCarousel" data-slide-to="3")
      %a(href="#" data-toggle="tab") Usage
    %li(data-target="#whatIsCarousel" data-slide-to="4")
      %a(href="#" data-toggle="tab") Integration
    %li(data-target="#whatIsCarousel" data-slide-to="5")
      %a(href="#" data-toggle="tab") Compatibility
    %li(data-target="#whatIsCarousel" data-slide-to="6")
      %a(href="#" data-toggle="tab") Scalability

%div(style="margin-bottom: 20px")
  :markdown
    ## What is jBPM?

    **jBPM** is a flexible Business Process Management (BPM) Suite. It makes the bridge between business analysts and developers. Traditional BPM engines have a focus that is limited to non-technical people only. jBPM has a dual focus: it offers process management features in a way that both business users and developers like it.

    ## What does jBPM do?

    A business process allows you to model your business goals by describing the steps that need to be executed to achieve that goal and the order, using a flow chart.  This greatly improves the visibility and agility of your business logic, results in higher-level and domain-specific representations that can be understood by business users and is easier to monitor.
  
    The core of jBPM is a light-weight, extensible workflow engine written in pure Java that allows you to execute business processes using the latest BPMN 2.0 specification.  It can run in any Java environment, embedded in your application or as a service.
    
    On top of the core engine, a lot of features and tools are offered to support business processes throughout their entire life cycle:
    
  %ul
    %li Eclipse-based and web-based editor to support the graphical creation of your business processes (drag & drop).
    %li Pluggable persistence and transactions based on JPA / JTA.
    %li Pluggable human task service based on WS-HumanTask for including tasks that need to be performed by human actors.
    %li Management console supporting process instance management, task lists and task form management, and reporting.
    %li Optional process repository to deploy your process (and other related knowledge).
    %li History logging (for querying / monitoring / analysis).
    %li Integration with Seam, Spring, OSGi, etc.
    
  %p BPM makes the bridge between business analysts, developers and end users, by offering process management features and tools in a way that both business users and developers like it. Domain-specific nodes can be plugged into the palette, making the processes more easily understood by business users.
  
  %p jBPM supports adaptive and dynamic processes that require flexibility to model complex, real-life situations that cannot easily be described using a rigid process. We bring control back to the end users by allowing them to control which parts of the process should be executed, to dynamically deviate from the process, etc.
    
  %p jBPM is also not just an isolated process engine. Complex business logic can be modeled as a combination of business processes with business rules and complex event processing. jBPM can be combined with the Drools project to support one unified environment that integrates these paradigms where you model your business logic as a combination of processes, rules and events.


.alert.alert-info.alert-dismissable
  %button.close(type="button" data-dismiss="alert" aria-hidden="true") &times;
  #{site.pom.latest.releaseDate}:
  %a.alert-link(href="download/releaseNotes/releaseNotes#{site.pom.latest.releaseNotesVersion}.html") jBPM #{site.pom.latest.version} has been released.

.row
  .col-md-6
    .jumbotron(style="padding: 10px; margin-bottom: 20px;")
      .text-center<
        %a.btn.btn-lg.btn-success(href="#{site.pom.latestFinal.distributionZip}")<
          %img(src = "download/download.png")
          Download jBPM #{site.pom.latestFinal.version}
      %h3 Try the examples now
      %ol
        %li Download the zip and unzip it
        %li
          On Linux/Mac, run
          %code examples/runExamples.sh
          %br
          On Windows, run
          %code examples/runExamples.bat
      .small
        Requires
        %a(href="http://www.java.com")< Java™
        to run.

  .col-md-6
    .jumbotron(style="padding: 10px; margin-bottom: 20px;")
      .text-center<
        %a.btn.btn-lg.btn-primary(href="#{site.pom.latestFinal.documentationHtmlSingle}")<
          %img(src = "learn/documentation.png")
          Read documentation #{site.pom.latestFinal.version}
      %h3 Get started
      %ol
        %li Open the documentation
        %li
          Read the
          %strong Quick Start
          chapter
          
.panel.panel-default
  .panel-heading Latest blog posts
  .panel-body
    %ul.list-unstyled
      - for post in site.posts[0,7]
        %li(style = "margin-top: 10px;")
          .title
            %a{:href => relative(post.url)}
              = post.title
          .small
            = post.date.strftime('%-d %B %Y')

{'fraction_non_alphanumeric': 0.10356575062457415, 'fraction_numerical': 0.004693769399651752, 'mean_word_length': 3.3683862433862433, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 10, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3254791', 'n_tokens_mistral': 3850, 'n_tokens_neox': 3704, 'n_words': 1270}