cancel
Showing results for 
Search instead for 
Did you mean: 

Activiti Engine

tizo
Champ in-the-making
Champ in-the-making
Hi there,

In the company I work for, we are interested in using Activiti, but we don't really know where to start reading to design a proper solution for our environment. Particularly, we don't know what would be the best way to deploy the Activiti Engine.

We have some JEE projects running in GlassFish servers. The EJB ones contains stateless sessions beans, that are using content managed transactions (CMT) and JPA. We are thinking that we should continue using those EJBs, and should control the workflows from there.

Having that in mind, what do you think is the best solution for us?. Should we have the Activiti Engine in a totally independent server? Or could it be deployed in GlassFish?. Should we consider using an embedded engine in our EJBs? Or connecting to an external one?. Sorry about all those questions, but we have been searching in the documentation, and we could not find how exactly the engine can be deployed.

Thanks very much,

tizo
19 REPLIES 19

jelies
Champ in-the-making
Champ in-the-making
Hello,

I'm interested in more details for 3) question. I have integrated Activiti with my Spring container without problems, and I'm able to run the application with the Activiti tables inside the default schema. The application tables are in a specific schema (called 'SMRI').

Is there any way to specify the schema name somewhere to create Activiti tables inside the 'SMRI' schema? Because I tried to move them manually, but then my application is unable to find activiti tables and raises "table not found" exceptions.

Thanks in advance! Congratulations Activiti, you're doing a very good job!

PS: I'm using H2 database (postgresql in a near future), Spring 3.0.5, and JBoss 5.1.0.

frederikherema1
Star Contributor
Star Contributor
The schema your tables are in, are determined by your jdbc URL… So you should just change this one in your spring-datasource configuration (activiti.cfg.xml) or Jboss container datasource you're using.

jelies
Champ in-the-making
Champ in-the-making
Thank you frederikheremans, you have given me a good hint to find the solution. I have modified the jdbc URL in the application's database.properties file, in case of H2 database I have to append the schema name on the URL:


database.url=jdbc:h2:tcp://localhost/<databaseName>;SCHEMA=<schemaName>

Now it works perfectly! In the next few days I will try it with postgre, I guess the workaround would be similar.

Thanks again!

vaibhavkulkar
Champ in-the-making
Champ in-the-making
I am new to activiti and learning BPM overall. (I have similar task at hand as in this post.) Is there any quick guide documentation around this ?.
The task at my hand is to separate Activiti Engine from Activiti UI. Activiti Engine will work in seprate JVM on a seprate Machine and Activity UI will reside on a Tomcat server on a different machine.

jbarrez
Star Contributor
Star Contributor
Sure this is possible, but you won't be able to use the Activiti Explorer UI. That one does not use the REST API, but the Java API.

Having a separate Activiti engine running in a different JVM (with a REST api?) is simple: just include it as a jar and start coding. or use the out of the box Activiti REST api.

vaibhavkulkar
Champ in-the-making
Champ in-the-making
Thanks for reply, some more questions:
1. If not activiti explorer then can we deploy Modelling Components(Activiti modeller) and Engine separately ?
2. From performance point of view do we have any benchmark of Activiti engine Memory utilization, CPU utilization with X amount of Load.

Thanks again for reply.

jbarrez
Star Contributor
Star Contributor
1. You can extract the Modeler from Explorer, but you'll have to do that yourself.

2. These are already quite old, but still relevant:
http://www.jorambarrez.be/blog/2012/06/28/the-activiti-performance-showdown/
http://www.jorambarrez.be/blog/2013/02/04/activiti-memory-usage/

bpmnc_user
Champ in-the-making
Champ in-the-making
hey Joram,

Regarding the point 1,  when you say "extract the Modeler from Explorer, but you'll have to do that yourself", If I am correct, you're talking about using the Explorer app leaving the OOB UI out and apply custom UI.

What If i just want to work with the modeler and don't want to deploy the explorer. How can I use the Modeler module alone to get the editor UI working in my custom web app and not via explorer app. Would appreciate if you can guide/provide a set of detailed instructions, as was promised by Tijs a while back.

Thanks

vaibhavkulkar
Champ in-the-making
Champ in-the-making
Thanks a lot for your valuable inputs.

As I progress I will keep posting more questions.

jbarrez
Star Contributor
Star Contributor
@bpmnc_user: No, i mean literally ripping it out yourself. All editor code is under the /editor folder in the explorer-webapp module (https://github.com/Activiti/Activiti/tree/master/modules/activiti-webapp-explorer2/editor).

You need some REST calls too specifically for the editor, which are also defined in the activiti-explorer module (see https://github.com/Activiti/Activiti/blob/master/modules/activiti-webapp-explorer2/src/main/java/org...).