cancel
Showing results for 
Search instead for 
Did you mean: 

Is Activiti ready for production use?

iravanchi
Champ in-the-making
Champ in-the-making
Summary of my question:
Is the code/documentation of Activiti ready for production use? I'm thinking that it may need to mature a little bit for a serious project.

I'm using jBPM 3 right now in my project. A big part is to be added to our product which needs workflow engine, and I was thinking to do it using jBPM 4. Then I found Activiti, and I suppose Activiti is something like jBPM 5. So I'm interested.

What I really need to do, is to extend the process language to add my own activities (in a DMS product, activities that user should use to manipulate documents, send notifications, etc.) and replace some logics (I have my own task assignment system, with support for complex assignment expressions which I want to use instead of user tasks in BPMN implementation).

How well is it supported? And what do you recommend?
11 REPLIES 11

tombaeyens
Champ in-the-making
Champ in-the-making
Activiti is definitely right for you.  Starting from 5.0 we'll be production ready.

iravanchi
Champ in-the-making
Champ in-the-making
Well, I didn't find any information on how to extend it.
Could you give me some starters?

What I actually want to do is to have BPMN (not to write a whole new language from scratch) and add some additional activities or maybe add extra attributes for the current activities. Probably something similar to what Activiti already does (adding a namespace).

I'm not sure where to start for developing the custom actions, and what to do to extend the XML representation and introduce my own elements to the XML reader inside Activiti. (I'm probably using the names wrong, but I hope you get what I mean…)

-Hamed

tombaeyens
Champ in-the-making
Champ in-the-making
What I actually want to do is to have BPMN (not to write a whole new language from scratch) and add some additional activities or maybe add extra attributes for the current activities. Probably something similar to what Activiti already does (adding a namespace).

we don't support addition of custom activities yet.  when we add this, you'll find this in the userguide.  the difficult remaining bit is in the tooling.  we are thinking of a adding a generic schema extension to the designer tool.  the designer tool could then introspect the runtime behavior activity memberfields and store the configuration data in those generic fields/properties attributes.  but that is not planned for the next two releases.

iravanchi
Champ in-the-making
Champ in-the-making
Thanks for the reply.

Do you have any suggestions for me then?

I need to make this work toward a deadline, and I have to start working now. I can't wait until the next two releases.
Designer is not an issue for me right now, I can assign a team member to customize Oryx for our project. But what I need is to be able to run extended BPMN process definitions. I've already taken a look into the source code, and I know that I can extend Activiti by defining my own behaviors. Is there any particular place that I need to take a look in order to find out how to load such custom behaviors from the XML? (Some initial pointers can be a great help)

Or should I just forget about Activiti for now and use jBPM 4? Or maybe something else, that can be later replaced by Activiti without major change?

-Hamed

tombaeyens
Champ in-the-making
Champ in-the-making
depends on how good you are 🙂  in the engine it's certainly possible, but there are no docs and it could mean you have to hack some times.

there will always be a major diffs between workflow engines. 

starting from 5.0 we'll introduce automatic upgrade scripts from previous activiti versions.

iravanchi
Champ in-the-making
Champ in-the-making
I was planning on doing such "hacks", and I hope I'm good enough!
Just one more thing…

Do you think that I can achieve it by extending / overriding / adding classes, or I have to change the source code?
I want to know if I should put the dependencies in my POM, or should I get the code and customize it?

Thanks again,
-Hamed

tombaeyens
Champ in-the-making
Champ in-the-making
always try to go with the dependency in the pom and try to customize from there.  that will always be easier when upgrading to a new version later on then customizing source code.

qwerty20
Champ in-the-making
Champ in-the-making
Hi Tom,

I would like to reiterate the title of this topic. Is Activiti ready to be used? Because I've just finished installing Activiti and now I'm exploring them(Probe, Explorer, Modeler and Cycle) using the three accounts. But as I was checking the web apps, seems to me that some of the options are not available. For example on the "settings" tab, it showed the message
"This section will provide access to various settings like configuring the locations of subversion repositories and network drives." and so as the other Activiti apps. My question now is that if in case Activiti is ready for production, how can I install it?

Thank You… Smiley Wink

iravanchi
Champ in-the-making
Champ in-the-making
Since I've asked this question, I've been working with Activiti now and then. I've blogged about my conclusion for this question here, for anyone who might have the same question as me:
http://blogs.compositional.net/hamed/2010/10/is-activiti-ready/

I'll copy the last few lines here:

My final conclusion about the engine is, that Activiti is not production-ready yet, but it is close (as the “beta” name suggests). If you start using Activiti in your project, it will be rock-solid by the time you get your product ready for your customer.

But you may easily run into a requirement that forces you to extend Activiti, change it, or add something to it. As this is the case with me, I will be trying to be in touch with the team so that I can help Activiti get there faster.

I think I can say this safely: you CAN start using Activiti. Today.

-Hamed