Bonita + Jelastic: Business Process Management in the Cloud

By July 9, 2012 HowTo 6 Comments
Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInEmail this to someone

Here’s a detailed tutorial on how to deploy Bonita Open Solution, an open source business process management (BPM) and workflow suite, to Jelastic cloud. This great application can be used for creating high-tech workflows and spreadsheets. BPM with Bonita Open Solution offers numerous advantages and benefits for your organization such as: testing of different process models to optimization of your processes, realization of immediate benefits of process automation, making your business processes visible, monitoring your business in real-time, communication improving and increasing of your organization’s productivity.

The Business Benefits of Using Bonita

Bonita can provide your business with a number of great benefits, especially if you use it with Jelastic. Their website has a lot more than what we list below, but here are the ones we really like:

  • Save time and money: rely less on paper and make sure that the right person is aware of and has clear goals and tasks that are visible to others as well, making sure that everyone in the process is kept in the loop, including discussions and attachments
  • Increase productivity: better organization leads to better efficiency in their daily work–give clear instructions to task actors
  • Real-time monitoring: set up your own KPIs in no time (reports and dashboards) to monitor business activity
  • Apply continuous improvement: test different process models to optimize your processes, get results within minutes, and measure improvements

Alright, so the business benefits are pretty clear. But, what about the benefits to the developer?

Bonita Benefits for Developers

If you are a developer, Bonita has a number of cool benefits that you can take advantage of, especially if you have a lot of work queued up:

  • Develop “a la carte” applications
  • Develop applications with little or even no coding
  • Use rich APIs for custom application development
  • Develop process-based applications in a single day
  • Deploy processes in multiple environments
  • Fully customize web interfaces
  • Connect with existing IT systems with a few clicks
  • Apply easy scalability: go from local to enterprise-wide processes
  • Deploy on any infrastructure (not dependent on technology)
  • Get full access to source code

Create an environment

1. Go to jelastic.com and sign up if you haven’t done so yet, or log in with your Jelastic credentials by clicking the Sign In link on the page.
2. While in Jelastic dashboard, click the Create environment button at the top left.

3. In the Environment topology window select Tomcat 7 as your application server and MySQL as a database, type your environment name, for example, bonita, and click Create.

Wait just a minute for your environment to be created.

Upload Java package

1. Go to bonitasoft.com and download Bonita Tomcat bundle.

2. Extract the files from the zip package you have just downloaded.

3. Switch to Jelastic dashboard and upload bonita.war file (BOS-5.7.1-Tomcat-6.0.33/webapps/bonita.war) to the Deployment manager.

4. After the upload is complete deploy this package to the environment you have created earlier.

Configure database

1. Click Open in browser button for MySQL.

2. While you were creating the environment, Jelastic sent you an email with credentials to the database. Log in using these credentials and create two databases: bonita_journal and bonita_history.

Configure Bonita

1. Click config button for Tomcat and upload MySQL connector to the lib folder.

2. Then upload all jar files from bonita folder (BOS-5.7.1-Tomcat-6.0.33/lib/bonita) to the Tomcat’s lib folder. But notice: you can upload only 20 files at ones, so you have to divide all these jars into several parts and upload them in turns.

3. Open the context.xml file (server/context.xml) and set the database configuration.

<Context>
 <!-- Sample to use with MySQl --> 
 <Resource name="bonita/default/journal" 
           auth="Container" 
           type="javax.sql.DataSource" 
           maxActive="100" 
           minIdle="10" 
           maxWait="10000" 
           initialSize="1" 
           maxPoolSize="15" 
           minPoolSize="3"
           maxConnectionAge="0"
           maxIdleTime="1800"
           maxIdleTimeExcessConnections="120"
           idleConnectionTestPeriod="30"
           acquireIncrement="3"
           testConnectionOnCheckout="true"
           removeAbandoned="true" 
           logAbandoned="true" 
           username="root" 
           password="your_password"
           driverClassName="com.mysql.jdbc.Driver" 
           url="jdbc:mysql://path_to_your_database/bonita_journal"/> <Resource name="bonita/default/history" 
           auth="Container" 
           type="javax.sql.DataSource" 
           maxActive="100" 
           minIdle="10" 
           maxWait="10000" 
           initialSize="1" 
           maxPoolSize="15" 
           minPoolSize="3"
           maxConnectionAge="0"
           maxIdleTime="1800"
           maxIdleTimeExcessConnections="120"
           idleConnectionTestPeriod="30"
           acquireIncrement="3"
           testConnectionOnCheckout="true"
           removeAbandoned="true" 
           logAbandoned="true" 
           username="root" 
           password="your_password"
           driverClassName="com.mysql.jdbc.Driver" 
           url="jdbc:mysql://path_to_your_database/bonita_history"/>
</Context>

Save the changes and restart Tomcat!

Start Bonita

Now you can open Bonita in a web browser, go to default theme and start using it.

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInEmail this to someone

6 Comments

  • Olivier Delcroix says:

    Hi Marina,
    Good tutorial thanks!
    By the way, in order to have the whole suite Bonita working, you’ll have to setup a couple things more like some java opt arguments (BONITA_HOME) or again the xCMIS application.
    Cheers

  • tulipneo says:

    Hi Tried your apprroach and seems i can not get bonita screen and get bellow exception in log.
    Aug 08, 2013 8:57:18 AM org.apache.catalina.core.StandardContext listenerStop
    SEVERE: Exception sending context destroyed event to listener instance of class org.bonitasoft.console.common.server.servlet.PlatformTenantListener
    java.lang.NullPointerException
    at org.bonitasoft.console.common.server.servlet.PlatformTenantListener.contextDestroyed(PlatformTenantListener.java:128)
    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4927)
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5573)
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1655)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:724)

    Br
    Neo

    • Marina Sprava says:

      Hi! Please check all configurations ones again. If you get this error one more time, please contact your hoster’s support.

      Best regards,
      Marina

  • tulipneo says:

    Hi Maria,
    I also checked with the username and pass sent by jelastic
    Login: root
    Password: 27ayPp1TR6

    But No Luck

    Br
    Priyadarshi

Leave a Reply

Subscribe to get the latest updates