<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Bonita BPM: an open‐source BPM‐based ap‐ plication development platf orm to build adapt‐ able business applications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nicolas Chabanoles</string-name>
          <email>nicolas.chabanoles@bonitasoft.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Philippe Ozil</string-name>
          <email>philippe.ozil@bonitasoft.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>R&amp;D Team Lead</institution>
          ,
          <addr-line>Bonitasoft</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Technical Evangelist</institution>
          ,
          <addr-line>Bonitasoft</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Companies today need business applications that can support continuous change in business environments and in technical/IS environments. The innovative technology of the recently released, open source Bonita BPM version 7 offers developers a new way to develop process-based applications that permits adaptability after deployment. By decoupling the user interface, business logic, and business data, this BPM-based application platform enables application developers to modify live applications “on the fly.” This demo shows application development using Bonita BPM 7 Studio to model business logic in BPMN 2.0, and the UI Designer based on AngularJS to independently create the end user interfaces. The demo will cover how user interface can be changed in a live, deployed application. This demo is of particular interest to developers who are responsible for business application development, to business analysts who want flexible, userfriendly business applications, and to researchers who need flexible redeployment cycles allowing changes to be made and tested over time.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>SIGNIFICANCE TO THE BPM FIELD</title>
      <p>Where business agility provides competitive advantage, adaptable business
process-based applications support business agility.</p>
      <p>Copyright ©2015 for this paper by its authors. Copying permitted for private and academic
purposes.</p>
      <p>Adaptability for BPM-based applications BPM starts with developers having the
right tooling, the ability to extend that tooling and the means to write code when it is
needed for specific purpose such as customization.</p>
      <p>The innovative technology of the open source, Bonita BPM 7 BPM-based
application development platform was developed to create business applications that are built
for change. Developers and process managers in business and in R&amp;D environments
can apply changes, updates and improvement after deployment. As a result the BPM
lifecycle is more flexible; redeployment cycles are possible so changes can be made
and tested over time.</p>
      <p>What enables this agility is the decoupled architecture of Bonita BPM 7, which
offers a clear separation between the business logic, data and user interfaces. The
specific concept applied is a contract that acts as an interface. This brings in greater
flexibility and agility: the front-end team and the workflow team can collaborate and
develop in parallel, and can both make changes when the application is in production.
Once the UI designer and the process developers agree on a contract definition, they
can each work independently.</p>
      <p>The role of the contract is to define what data are expected by the process to
execute a step, or to start a new instance. The web interface designer ensures that all
required data are taken as input and then sent to the Bonita BPM Engine as it executes
the process.</p>
      <p>The Bonita BPM Engine checks the data received from the user interface against
the contract. If the contract is not met, the execution engine ignores the request and
can keep the process in a stable and coherent state. If the contract is met, the process
flow proceeds.
1.1</p>
      <sec id="sec-1-1">
        <title>Update applications continuously</title>
        <p>Often, the focus in business is on how fast a system can be put into production. But
just as important is how fast can that system in production can evolve and change.
Bonita BPM 7 permits changes in real time to both business logic and user interfaces,
without interrupting running instances or re-deploying the application.</p>
        <p>Via the contract, Bonita BPM 7 permits integration of BPM functionality with
adaptable, reconfigurable user interfaces. With this capability redeployment cycles are
possible so changes can be made and tested. Applications can go to production
sooner, deployed quickly even if not ideal, and changed even after it is in production.
R&amp;D testing, maintenance, and adaptation to changing business and IS environments
becomes easier.</p>
        <p>As the resulting user interface is decoupled from the business logic that runs the
process via the contract, the form can be updated while live instances of the process
are running. In addition to modification such as CSS change, the content of a form
can also be changed.</p>
        <p>For example, in a process in which there is a requestor user field, in a first
iteration, the data input required is a simple user login. In a second iteration, more
information on the requestor can be taken (eg first name, last name, email). With the live
update of forms, the process application can be switched to the second form iteration
with no downtime.</p>
        <p>Other elements that can be changed in live processes include parameters, connector
implementation, and Groovy scripts.
1.2</p>
      </sec>
      <sec id="sec-1-2">
        <title>Extensible, adaptable end user interfaces</title>
        <p>Bonita BPM 7 provides a web based UI Designer, based on Angular JS, which is
extensible. As it is now separate from the Bonita BPM Studio, it provides developers
the ability to extend the tooling beyond the features available in the product, for
example custom widget creation.</p>
        <p>The integration of Bootstrap enables user interfaces that are responsive for display
on multiple devices.
1.3</p>
      </sec>
      <sec id="sec-1-3">
        <title>Integration with external IS</title>
        <p>Bonita BPM provides a rich set of connectors to connect processes to nearly any
enterprise system – such as CRMs, ECMs, ERPs, databases, social platforms, web
services, and more – with minimal custom coding. As the platform is open source,
connectors source code is public and sharable.</p>
        <p>But as extensibility is key for development flexibility, Bonita BPM 7 also provides
open &amp; extensible REST and Java APIs.</p>
        <p>The stable extension points of Bonita BPM Engine include custom connectors,
actor filters, engine and REST APIs. Extension points or user interfaces include custom
widgets, custom data types, and custom pages. Full explanation of extension points
are given in the documentation for Bonita BPM 7 (see
http://documentation.bonitasoft.com/software-extensibility1).
1.4</p>
      </sec>
      <sec id="sec-1-4">
        <title>Demo of Bonita BPM 7</title>
        <p>Our demonstration will highlight the decoupling between business logic
(processes), business data and user interfaces (forms and applications) introduced by Bonita
BPM 7.</p>
        <p>It will be based on a simple but realistic use case, a business application serving
procurement request processes.</p>
        <p>Several concepts and tools involved in the implementation of the process and
application will be shown, with emphasis on one the main impacts of the decoupled
architecture: live update of a web form on a running process.</p>
        <p>The demo will also feature a look at the contract, its relationship to the process
logic and to the user interface, and how custom user interface for an application can be
built.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2 MATURITY OF THE TOOL</title>
      <p>Bonita BPM was first released in 2001 when the open source Bonita Project was
established. Bonitasoft was founded in 2009 to continue its development and has
released three major versions of the platform. It comprises:
 Bonita BPM Studio – a graphic modeling tool based on the BMPN 2.0 standard.</p>
      <p>Inside the studio, developers the define business data model, add connectors to
external systems, and create the contracts that permit independent UI design.
 Bonita BPM Engine – handles large, high-demand processes with a large
transaction volume in a complex environment.
 Bonita BPM Portal – a standard, customizable end-user interface for mobile and
desktop, for applications that don’t need or want customized user interfaces, for
health monitoring and error management.</p>
      <p>Bonita BPM Community edition is fully open source and is freely available for
download. The Bonita Community counts more than 120,000 members and many
contributions (e.g. connectors).</p>
      <p>Bonita BPM is employed by more than 1000 customers in more than 70 countries.
Industries using Bonita BPM for process-based applications include aeronautics,
construction, banking and financial services, chemical, education, energy, finance,
agribusiness, food and beverage, government, Insurance, manufacturing, retail,
transportation and logistics, and more.</p>
    </sec>
    <sec id="sec-3">
      <title>3 SCREENCAST (VIDEO)</title>
      <p>Demos of Bonita BPM 7, including this one (Bonita BPM 7: UI Designer
Technical Deep Dive:
http://www.bonitasoft.com/for-you-toread/videos/bonita-bpm-7-ui-designer-technical-deep-dive) can
be found in the Bonitasoft video library at
http://www.bonitasoft.com/resources/videos-webinars-ondemand?category=Tutorials&amp;language=en</p>
      <p>and
http://www.bonitasoft.com/resources/videos-webinars-ondemand.</p>
    </sec>
  </body>
  <back>
    <ref-list />
  </back>
</article>