Wednesday, 2 June 2010

Activiti 5.0.alpha2 Released

Activiti on steroids! Only 18 days after launching our brand new BPM Suite, we have another release ready for you. This release includes:
  • Task forms
  • Database table content viewer in Activiti Probe
  • BPMN 2.0 Exclusive gateway
  • Unified Expression Language support
  • Reduced download size (37MB --> 18.5MB, removed duplicated libs)
Too bad I can't show the dynamic effects of the user task forms in this screenshot. But check it out for yourself. With the automatic setup scripts, it takes you less then a minute to get all this running on your system.

It even work great on my new android phone ;-) Cool!



Thursday, 27 May 2010

Practical BPM Collaboration

There is a new form of Business Process Management (BPM) collaboration rising.

We have been exploring and documenting how we see the collaboration between business people, developers and sys admins in The Process Cycle Layer. Traditional BPM focusses on forward engineering or round trip engineering. But in our experience that is a bottleneck for mass adoption that we targeted previously and now with Activiti even more. In the Process Cycle Layer we sketch how that bottleneck in the collaboration can be removed by focussing on discussions, links and social interaction that spans the whole business process automation lifecycle.

Now, Bernd Ruecker just presented his ideas in Making the BPMN Roundtrip real. It turns out that those ideas align very well. They have been working out this idea in a project called camunda fox. This seems like a great validation of our thoughts. Very interesting stuff.

Wednesday, 26 May 2010

Next Level Integration Joins Activiti Team

We're proud to announce that Next Level Integration joins the Activiti team. Next Level Integration is a consultancy firm with expertise in B2B communications between utility companies in the energy sector.
Next Level Integration is the driving force behind the open source project B2B by Practice. B2B by Practice provides Integration capabilities for intercompany data exchange. It includes support for conformance processes related to the german electricity and gas regulations and order collaboration.

In that context of building solutions for utility companies they have a lot of experience with building massively scalable systems that have to cope with extremely high throughput. They will use Activiti as their BPM and orchestration engine in their B2B by Practice project.

In Activiti, they will focus on ensuring that massive scalability and they'll also focus on adding database pluggability plus support and continuous integration for a range of databases.

Christian and Stefan, welcome to the team! Looking forward to work with you.

Monday, 24 May 2010

Active Endpoints, Chicken And Activiti

We didn't anticipate to get that the launch of Activiti would get that much attention from BPEL vendor Active Endpoints. Nevertheless, we are very pleased with the recognition that can be implied from their reaction.

In a first post called "Activiti BPMS: neither fish nor fowl", Alex Neihaus (VP Marketing, Active Endpoints) starts with the coolest picture I've seen in a while:


The rest of that post is rather poor in terms of facts. He says
we’ve got no issue with the jBPM team moving to greener pastures to try and rescue a moribund open source project
The term moribund (means "in terminal decline") is hilarious if you know that jBPM had 25000 downloads per month. I don't know of any other BPM System being used as much. Further on, despite what is insinuated, we agree with the next part:
Above all, BPM is a management discipline. As our CTO Michael Rowley is fond of saying, BPM can be done with pens, whiteboards and Post-It notes.
They probably didn't take the time to go through our website. In our very first FAQ "What is BPM?" in which we clearly distinct between BPM as a management discipline and BPM as software engineering:
BPM as a management discipline is the responsibility of every strategic executive manager. It's to ensure that the organization performs well in their core business processes. ... This means analyzing, documenting and improving the way that people and systems work together. As part of that work, it's useful to work with models and diagrams. ... Important to note that these models are used for people to people communication. ...

BPM as software engineering means that executable business processes will be executed by a BPM System (BPMS). ...
The idea of the process virtual machine is simple and appealing
So far so good.
The idea is that all of the hard work of developing a process engine can be put into a layer that is more general and abstract than any process definition language. Then, when anyone wants to create a process engine based on a new language, it is a simple matter to map the concepts of the new language onto the constructs of the PVM and voila: a new process engine!
Exactly! We did it for jPDL, BPEL, SEAM Pageflow, XPDL and now BPMN 2.0.

The link to Linus Torvalds microkernel stuff doesn't have any substance and it's pure FUD. Active Endpoints only makes a core piece open source (ActiveBPEL, GPL) and for which the actual product contains commercial licensed software:
You can use the ActiveBPEL engine under GPL v2 by downloading it from this website. Alternatively, you can acquire a Commercial License to Active Endpoints' ActiveVOS Enterprise product by contacting Active Endpoints.
For such company to use Linus Torvalds as part of their argumentation is actually ironic.

Then Michael aimes his guns on the Process Virtual Machine (PVM)
A traditionally developed BPMS will be on top of an application server and a database. The application server is on a JVM, which is on an operating system, which often is on top of a virtual machine. Every layer adds value but it also adds cost ... Is the cost/benefit tradeoff right for a PVM layer?
I’d say no.
I'ld say yes. In Activiti, the PVM actually runs BPMN 2.0 natively. So it's removing a level of indirection, rather then introducing one. The PVM itself is transparent. So if there is an error, you get a the error in the context of a BPMN 2.0 process. The structure of the PVM process is a 1-1 match with the structure of the original process. Same goes for all the other languages we ever built on the Process Virtual Machine.

Let's compare this to the alternative strategy proposed by Michael Rowley: BPMN to BPEL translation. Historically, BPEL is actually a graphical language and it was long time promoted as a real BPM language that business people could draw. Over the last 2-3 years, there has grown a general consensus that BPEL is capable, but not suited for BPM. More precise, BPEL might be good at orchestrating web services, but it is a clumsy way of doing BPM.

Then comes BPMN. I speculating that their engine architecture is not that flexible. Because now their solution is to translate BPMN into BPEL. Translating from one graphical language (BPMN) to another graphical language (BPEL) is adding an unecessary level of indirection. The BPEL still needs to be interpreted by an engine. And when then an error occurs, you get a BPEL error, not a BPMN error. And secondly, the translation step from BPMN to BPEL is very problematic to say the least. So I can understand that they are not at easy with our new Activiti project running BPMN 2.0 natively.

The general tone of the posts try to imply that Activiti is only for developers. But that's just one aspect of our new project. Developers form one important target group to which we want to bring BPM capabilities. Alfresco ECM customers is another very important group. Both groups will benefit from our practical approach to facilitating collaboration between business people, IT folks and system operators.

So in my opinion, the only way I can interpret this attention is as pure FUD from a scared vendor. We're honored with so much recognition in our very first week ;-)

Thursday, 20 May 2010

On Brand, Credibility And Open Source Licenses

Bill Burke, a dear friend and respected JBoss Rockstar, posted some critical notes about the Apache vs LGPL license in response to Savio's "New BPM project questions value of LGPL"

Savio raises the point
On one hand, the JBoss Application Server, an LGPL licensed product, has garnered strong downloads and continues to grow revenue at a faster pace than Red Hat’s Linux business. It would seem that the LGPL hasn’t been a hindrance to JBoss Application Server adoption. On the other hand, as Newton points out, some ISVs, and as I’ve heard, some customers, remain concerned about viral licenses. While the LGPL was created to specifically address the viral nature of the GPL, some ISVs and customers remain weary.
To me, the most important difference between the LGPL and Apache license is summarized in: "some customers remain concerned about viral licenses"

I agree with a lot of points that Bill makes in response:
the OSS license chosen for a project is not that important as far as adoption or business goes. The most important driver for OSS is and always has been the brand of the project. Like their commercial counterparts, how the project is perceived by consumers is what drives both adoption and business. So, I agree, LGPL doesn’t add a lot of value.
and
If you boil it down, the distinctions betwen GPL, LGPL, and ASL are pretty much meanlingless to most consumers of OSS. How so? ...
I would rephrase those 2 quotes as "Brand and credibility is the most important aspect to an open source project, followed by the license".

But then I think Bill goes overboard on
The whole push by Apache.org and its minions that ASL is the one true license is just damaging to open source.
I'ld like to clarify that we don't consider Apache to be the one true license. It happens to be the license that allows us to exploit our brand and credibility, without being hindered by some customers' LGPL concerns (even if they would be unjustified). So it's more a practical choice instead of a religious one.
Back in 2003, a group of JBoss contributors tried to fork both the JBoss code base and the JBoss business. ... We then come full circle to 2010 with history repeating itself (well, sort of). You have Tom Baeyens leaving Red hat for Alfresco to create a competing BPM engine.
I don't see the association between those two events. On the contrary, I do see in the JBoss fork a confirmation that brand and credibility wins from license: JBoss brand was *much* stronger then CDN. Similarly, the JBoss brand and credibility was bigger then Gluecode/Geronimo credibility.

I even more disagree with
If you are an Apache guy, you should be appalled by behavior like this when it happens. Individuals and companies that use ASL as a weapon to further their own selfish and commercial needs should be castigated...
Well... everyone in this business wants to make a living. I don't think JBoss or LGPL-focused companies are different from companies working with Apache license in that respect ;-) It's a different kind of dynamics and you have to select what best suites your needs. In our case, we wanted to aim for mass adoption and scale out the community. The more liberal license has allowed us to unite more forces in one community then was possible in an LGPL/JBoss style. The community we have assembled up to now (4 days and counting;-) is far beyond what was possible before.

Granted, this comes at a price. We can't relax. We have to keep leading and keep making steady progress to prevent forking. If we stall, then the community will take over and fork more easily. I think this move deserves more recognition for courage, rather then being castigated.
As for LGPL vs. ASL? I could care less, it really doesn’t matter.
I take it you mean that the license of an open source project does not correlate 1 on 1 to its value. I fully agree.
You don’t see JBoss caring so much either.
My experience was different ;-)

Anyways, I agree with your last statement:
Anyways, have fun with this, and remember taking any one position to seriously is unhealthy.
Under whatever license we play it, I'm looking forward to our next match of poker or pool.

Monday, 17 May 2010

Alfresco Creates Activiti

Today, Alfresco launches a new open source project called Activiti (http://activiti.org) It's a open source Apache licensed BPM engine supporting BPMN 2.0 natively. We are very excited as we believe this project will be very disruptive in the BPM industry. Activiti will be run as a independent project. Me and Joram Barrez left Red Hat and joined Alfresco as employees to lead Activiti. We've assembled an impressive list of team members and companies involved over the last two months.

The first target of Activiti is to achieve the same developer friendliness that we established at jBPM. But this time, with the we have more liberal license, more companies involved and more resources. So we'll be able to build out very slick tools on top of the embeddable engine. A big thanks to the Alfresco UI designers for shaping the UI of these first alpha version.

Thanks to the Process Virtual Machine design, apart from BPMN 2.0, Activiti will also be able to support other process Domain Specific Languages (DSL). And because we're building it from the ground up, we can prepare it properly for the cloud as that has a profound impact on the design of a BPM engine.

Take a look at our website and the first alpha version that we also release today that includes several components and even a REST interface.

SpringSource is also excited to be part of the Activiti community. SpringSource is very interested in adding BPM capabilities to their stack. So they will help ensuring that this engine runs smoothly on the SpringSource stack. They will also contribute knowledge to run Activiti in the cloud.

Signavio is participating in the Activiti community by contributing a customized version of their leading web based BPMN modeler.

And Camunda brings a vast amount of experience with practical BPM implementations into the mix.

Together our ambition is to build the clear #1 BPM engine. And with this initial community, I am confident we'll be able to do exactly that.

Tuesday, 11 May 2010

Standalone BPM Is Dead

Standalone Business Process Management Systems (BPMS) have a big potential. A BPMS is aimed to simplify creation of software support for core business processes in an organization. For processes that are modeled on a business level, the automatically generated statistics provide for crucial business intelligence. That's all great.

But standalone BPM Systems have two main problems:
  • High cost of setup. This implies getting the software up and running and also get all people up to speed with the technology.
  • High cost of integrating the BPM system with the outside world. Web services or even specific adapters for communicating with other applications results in a significant threshold.
The result is that you need a big number of processes with high complexity for a standalone BPM system to pay off. I believe that is one of the main reasons why traditional standalone BPM remained a fragmented market with only niche players.

BPM should instead be offered where it's used.

Originally with jBPM, we focussed on developers. We provided BPM and workflow capabilities in the hands of the developers. We offered those feature in the world of the developer. Instead of requiring JTA to combine the application transaction with the BPM system transaction, we went a big step further. We offered the capability of the BPM system leveraging the transaction of the application itself whether that is Hibernate, Spring, EJB or anything else. Our next challenge in this respect is the cloud. Leveraging the cloud in the NoSQL interpretation of the word has a profound impact on some of the design decisions. The new project is build from the ground up with those new IT requirements in mind.

We embedded BPM into a developers world. It lowered the threshold to start using BPM and that opened up a new world of use cases for BPM. By making it so easy, even for small processes it becomes worth while to start using a BPM system. In our new project, we will certainly keep that focus on the developer and application embeddability.

With open source distribution and application embeddability we showed with jBPM that BPM can scale to a much more widespread adoption then any other individual BPM product had done before.

Enterprise Content Management (ECM) is another great use case for which it makes a lot of sense to offer the BPM capabilities where they are used. In the industry over the last 2 years you see more and more focus on bringing these worlds together. It makes a lot of sense.

An ECM system is a great environment where embedded BPM can lower investment to start collecting the fruits. Imagine a monthly meeting for which meeting minutes need to be reviewed and only after approval of the key attendees, the minutes need to be sent out to a wider audience. Would you setup a BPM system for that? I don't think so. But if that capability is offered inside the ECM system, then return on investment is instant. Again this is our strategy that will opens up BPM to scale far beyond it's typical niche.

With our new project we'll keep focus on the advanced processes capabilities. And we'll make sure that the runtime engine can be embedded easily in both the java world and in the ECM world.

Standalone BPM products that don't offer BPM where it's used are on a dead end in my opinion.

Wednesday, 31 March 2010

Open Source BPMN 2.0 Will Produce More Features In Proprietary Products

By now, we know what happens when an Open Source Software (OSS) is created in an arena full of proprietary vendors. First of all because of the free availability, the technology is more used and more knowledge about the technology is spread to the masses.

We're already seeing a big momentum around BPMN 2.0. And us bringing a BPMN 2.0 OSS offering will help spread the knowledge and adoption beyond the critical mass.

For other OSS technologies like ESB's or appservers this happened late in the game, long after proprietary vendors had settled themselves. Typically the advent of an OSS offering started making the technology a commodity. Proprietary vendors are then pushed to produce more features on top of what is commodity in order to keep making money.

So it's going to be interesting to see what happens if we're one of the first native BPMN 2.0 solutions.

If you're interested in Business Process Management (BPM), then this new development is really important. Both OSS and proprietary vendors are embracing a single technology for BPM. That is a huge step forward from the past where previously all the pure-play BPM solutions were based on different concepts and proprietary languages. Going forward, the language choice will be easy.

One technology can be used by both non technical business people and developers. And when OSS enters the BPMN 2.0 space, you'll have more choices of products. On the one hand, the initial treshold to get started gets lower with OSS for the masses being freely available. And on the other hand you'll see more features in the proprietary offerings if you want to pay for it.

Monday, 29 March 2010

Alive And Kicking

You might have seen the Open letter to the jBPM community explaining that me and Joram step down from the jBPM project. We just want to let you know that we're alive and kicking. We're building a new BPM platform that's architected for new IT requirements. It will be Apache licensed and it will run BPMN 2.0 natively. Exciting times ahead!

That's all we can share at this point. Keep posted for more information.

Friday, 29 January 2010

BPMN Modelling To Executable Unit Testing In 12 Minute Screencast

Joram Barrez created a short but interesting screencast. He starts with a process model created by Signavio BPMN process modeller. Then this process is imported in an eclipse project and a full unit test is worked out. Congrats, Joram! Very clear explanation.

Other recent presentation materials on jBPM:

Friday, 22 January 2010

Learning jBPM Is Good For Your Salary

It's shown by these SimplyHired stats.
So don't waiste your time today and start here: http://jbpm.org

Tuesday, 19 January 2010

Camunda Publishes Insightful BPMN PraxisHandbuch

PraxisHandbuch BPMN is a must read for all people that understand German. We've worked quite a lot with Bernd Ruecker and the other folks at Camunda. And it's always a pleasure.
At Camunda, they have a lot of experience on how to bring BPM into practice. There is a lot more to it then just using a BPM product. This book provides simple guidelines so that any company can benefit from the real power of BPM.

The rest of the world can only hope that it gets translated soon :-)

Friday, 15 January 2010

Blending Processes And Rules With jBPM

This integration with rules and processes is a first important step to facilitate all aspects of Business Process Management (BPM) into jBPM. From a runtime engine perspective, we'll be expanding further in this direction to cover all artefact types that are involved automating business processes to for example services. On the other hand, we'll also be expanding towards linking these BPM related artefacts to the business users. More on that topic soon.

The rules deployer is a convenience integration between jBPM and Drools. It allows for unified deployment of processes, rules together with forms and other process resources in a .bar business archive. jBPM creates a KnowledgeBase based on all .drl files that are included in a business archive deployment. Activities like the rules and rules-decision leverage this KnowledgeBase.

A rules-decision will take a single outgoing transition based on the evaluation of rules. Let's first look at a rules-decision example process:

This is the RulesDecision jPDL process file (click to enlarge) :
Now all you have to do is deploy the following .drl file together with the process in a .bar business archive and deploy it to jBPM (click to enlarge)
For your convenience, the process variables are made available as global variables in the rules. Then you can start a new process instance with jBPM like this (click to enlarge):
And your rules will be used to evaluate which outgoing transition will be taken in the process execution. Voila. That's all there is to it.

Similarly, a rules activity will evaluate rules, allowing them to update process variables or perform other actions. Let's look at a rules example process:
The Rules jPDL process file looks like this (click to enlarge):
Imagine a process variable of type Room (click to enlarge)
And a rule like this (click to enlarge)
Then starting a new process instance like this (click to enlarge):
will execute the activity, evaluate the rule and update the room process variable.

jBPM Hot Stuff

jBPM mugs, t-shirts, magnets and pins.
You don't want to miss this jBPM hot stuff. I already placed my order :-)

Wednesday, 6 January 2010

jBPM 4.3 Includes BPMN 2.0

Happy newyear! 2010 is going to be the year that BPMN 2.0 will get red hot and make its breakthrough. The BPMN 2.0 specification will be finalized this year and we target for our implementation to be ready around summer time.

We just released jBPM 4.3. This release includes the first part of our BPMN 2.0 language implementation. Check out the online docs http://docs.jboss.org/jbpm/v4/devguide/html_single/#bpmn2


More details about BPMN on Joram's blog.

Highlights for the jBPM 4.3 release:
Download jBPM from sourceforge now.