Thursday 2 December 2010

Activiti Devoxx Presentation

Just 2 weeks after devoxx, all the conference sessions are already online. Our session Activiti in Action is definitely worth the 79 EUR for the subscription. And then you get all the other sessions for free! The Activiti session includes a nice demo and shows that you can get up and running with Activiti in less then a minute.

Wednesday 1 December 2010

Prepare For Impact: Activiti 5.0 GA Released

Today we are very proud to announce the first official release for General Availability (GA) of Activiti. In less then 9 months after we left the jBPM team, we've built a broad collaborating community and together we've build the next generation BPM Platform and an astonishing feature list.

There are a couple of crucial decisions Alfresco took when launching Activiti that made these spectacular results possible. First the combination of the liberal Apache license with
the new BPMN 2.0 standard rocks. 2 of the community companies are actually in the BPMN 2.0 specification: Alfresco and Camunda.

Timing of the standard and this new project has very good to us as well. Alfresco's gave us the opportunity as ex-jBPM founders to build Activiti as a separate brand and run it as an independent project. That really has been a boost to build this broad community quickly. Given that this strategy has played out even beyond our initial high expectations, we believe we're in for a profound impact on the BPM world.

Here's an overview of what's in this first final release:
Activiti Engine
  • Easy embeddable (just include the .jar)
  • Excellent Spring integration (contributed by SpringSource)
  • Support for all common BPMN 2.0 elements
  • Easy to link any type of Java to process steps
  • Event listeners
  • Transactional timers
  • Audit trails
  • Flexible transaction management
  • Extremely fast / minimal execution overhead
  • Full Query API
  • REST interface
Activiti Explorer
  • Easy task management
  • Starting new process instances
  • Claiming group tasks
  • Starting processes andcompleting tasks with or without forms
  • Easy deployment of forms with processes

Activiti Probe
  • Operational management console
  • Managing deployment
  • Business archive file upload
  • Managing jobs
  • View database table contents
Activiti Designer
  • Contributed by Tijs, Ron, Tiese and Yvo from Atos Origin
  • Eclipse plugin
  • New Activiti project and diagram wizzards
  • Graphical process modeling
  • Form support for Activiti extensions
  • Pluggable activity types! Fully documented!
  • Unit test generation
  • Validation with errors showing in Eclipse Problem view
Activiti Cycle
  • Contributed by Camunda
  • BPM collaboration done right
  • Spans business users, developers and system admins
  • Repos: Activiti Modeler, SVN, JIRA, File system
  • Linking of artifacts in repos
  • Pluggable actions depending on the artifact type
Activiti Modeler
  • Contributed by Signavio
  • Web based graphical BPMN 2.0 authoring
  • Saves models in a shared file based repository
  • Very intuitive to use!

Other integration contributions


We're also very excited about the Manning book for which the early access program will start real soon. Watch out for Activiti in Action by Tijs Rademakers en Ron van Liempd.



But all this just means that you can start using Activiti now and that we can get started on the 5.1 ;-)



What are you waiting for ?!

Saturday 30 October 2010

We're Almost There: Activiti 5.0.rc1 Released

We've added the last important features to Activiti and the architecture and API's are now stable. Next month will be mainly bug fixing to make it robust for production usage. Special thanks to Next Level Integration and Christian Muelder for hosting and setting up a complete QA/CI environment including all the databases.

We're very excited with the Spring integration in Activiti. You can configure your process engine in a Spring context like this:
<bean id="dataSource" class="org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy">
...
</bean>

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>

<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="databaseType" value="h2" />
<property name="dataSource" ref="dataSource" />
<property name="transactionManager" ref="transactionManager" />
<property name="dbSchemaStrategy" value="drop-create" />
<property name="deploymentResources" value="classpath*:/org/activiti/spring/test/autodeploy.*.bpmn20.xml" />
</bean>

<bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
<bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" />
<bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
<bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
<bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" />
Beans can then be referenced just like process variables from expressions --even with parameters-- in the process like this:
<serviceTask id="createLoanRequest"
activiti:expression="${loanRequestBean.newLoanRequest(customerName, amount)}"
activiti:resultVariableName="loanRequest"/>
Highlights of this release:
  • Activiti Probe added Job and Deployment management
  • Event listeners
  • Query for process instances based on variable values
  • Parameterized method expressions
  • History details and audit capabilities
  • Extracted FormService and improved flexible form handling
  • Activiti config file from properties to xml
  • PostgreSQL en Oracle support
  • Improved DB performance by fine tuning indexes
  • Check out all 62 Jira issues of this release

By now, you should be as excited as we are about the release. I won't keep you longer in suspension and share the download link now: Go get it!

Friday 1 October 2010

Activiti Focus On The Alfresco DevCons

There's going to be a lot of focus on Activiti in the Alfresco Developer Conferences. There's one in Paris October 20-21 and one in New York Nov 3-4. So those are ideal opportunities to learn more about the new BPMN 2.0 Apache licensed Activiti project.

Use this special discount code for the Activiti community to get a 25% discount: AlfMeetup10

Thursday 30 September 2010

Activiti 5.0.beta2 Released

After a really exciting and productive month, we're proud to present Activiti 5.0.beta2:
  • Added Activiti Designer, an eclipse plugin for process authoring targetted for developers
    • Design BPMN processes grafically: start event, end event, sequence flow, parallel gateway, exclusive gateway, embedded subprocess, script task, user task and service task.
    • Generate JUnit test case by right click on the process in the package explorer
    • Run the JUnit test with an embedded h2 database
    • Configure Java class for a service task
    • Configure assignee or candidate for a user task
    • Configure script with a script task
  • Added DB support for MySQL and PostgreSQL
  • Activiti Modeler and Activiti Engine are now synced on the final BPMN 2.0 specification
  • New improved version of Activiti Modeler
  • Loads of Activiti Cycle improvements
  • Added JDK 5 compatibility
  • Added history activity instances
  • Added unit testing support
  • Added email support and receive activity
  • Added optimistic locking for out-of-the-box clustering support
  • Added more query APIs
  • Minor API cleanup
Download Activiti 5.0.beta2 or browse the userguide or the javadocs.
Also interesting to check out is the Activiti Grails plugin.
Enjoy!

Friday 24 September 2010

Camunda Screencast Of BPM Collaboration With Activiti

Camunda compiled an excellent screencast showing how the different Activiti components work together. It's based on the latest 5.0.beta1 release.

Camunda leads the Activiti Cycle component that facilitates collaboration between business people, developers and system admins.

We are very proud to have Camunda as part of the Activiti community because they have a huge experience of hands-on BPM projects and that expertise and vision is vital for building the practical BPM collaboration features of Activiti Cycle. Glad to have you on board, Guys!

Thursday 23 September 2010

Screencast Of Activiti On The iPhone

Only a day after Signavio launched process modeling on the iPad, we're here to present the iPhone version of Activiti Explorer, the app to check your task list and complete tasks using forms. Click on the iPhone to see the demo screencast

Yuri Horbach earned our utmost respect. Congrats, Yuri! Very well done.

Yuri will aim to have this app available through the AppStore in October.

More information can be found in the wiki page Activiti and iPhone. Watch that page to be kept up to date on this cool feature!

Monday 20 September 2010

Tunnel Vision In The BPM Market

InfoQ's Will Business Adopt BPMN 2.0? made me write up my thoughts on a blind spot in the BPM world.

Very big attention goes to the business side of BPM. And that is for good reason as that is the side that makes the money go round. Bruce Silver's quest to learn everyone the fine grained details of BPMN is really valuable. That's what I consider the efforts needed from the business side to align business and IT. The levels of BPMN that Bruce initiated are really important and make it possible for BPMN to support a broad audience, from occasional reader to full time business analyst. I believe BPMN contains already depth enough as the finest details are probably only reserved for the happy few.

The technical side of BPM (and BPMN for that matter) does not get the same depth of attention. Historically, BPM's goal was to eliminate the need for IT people all together. Recently a general awareness has grown that IT and developers can't really be replaced by non tech business analysts using a magical BPM System.

But many people in BPM don't seem to get the full implications of that trend. This post is a protest against the tunnel vision that seems to be as stubborn as a greenpeace activist in a rubber boat. In the industry, everyone talks about business-IT alignment. But only the business aspects are looked at in depth. The requirements that technical people have for BPM Systems are still overlooked and ignored.

The challenge for BPM system builders is: "How can we offer this tool to developers so that they can provide business people with the agility they need?" That's where there has been a painful silence.

One aspect that has been tackled properly in the BPMS community is web services. BPMN 2.0 is basically a superset of BPEL. That is good. In the infrastructure of an average organization, you'll find many off-the-shelf products and internal components that expose functionalities as web services. So there is definitely the technical need to call out to web services from a BPMN process. A good BPMS should make it easy to call out to web services and to deal with the data manipulations of XML structured data.

The mistake of associating BPM with webservices (cfr BPEL) in the past comes from a lack of technical depth in BPM. From a CIO perspective, it might make sense to standardize on web services for communication between different systems in an organization. But assuming such a unified web services world as a prerequisite is really shortsighted. Building a BPM System with a hard dependency on a WSDL infrastructure and places such BPM solutions automatically in a niche.

As a first example, RESTful web services have been given too little attention. Also those can be found in many of today's organizations and hence the process language should be able to work with them easily.

Even more so Java architectures are under emphasized. Calling a Spring bean from a BPMN process with a Java Unified Expression Language makes it so much easier for developers using Spring. The ability of the BPMS to use the dataSource bean and the transactionManager bean straight from the developers' Spring configuration is also needed to achieve agility. Another example is storing native Java objects as process variables. Or even easy linking between process and the user's domain objects that are persisted with JPA or hibernate. Also declarative transaction demarcation (aka asynchronous continuations) is a really valuable instrument to merge technical developer's concerns into a process for which the diagram is expressed on a business level.

As a side note, I'm very happy that BPMN 2.0 doesn't assume a unified WSDL world and makes it possible for BPM System vendors to build in native support for e.g. REST, Java, Grails or any other technical aspect.

Since as long as I can remember, the business-only focussed BPM market has always been very promising. And yet, that very market remains fragmented and volatile with each player fighting for a niche. I blame that clearly on the lack of technical insight into how BPM Systems should be build and offered to a development team.

In the past, the solution in the BPM industry was to broaden out to auxiliary functionalities such as simulation, optimization and collaboration. I don't want to criticize those functions individually, but many BPM vendors even claim that you have to have all these in order to do something useful. I'ld say that's smoke and mirrors. A BPM runtime engine alone should be able to offer value and make sense standalone. If that's not the case, all the other auxiliary functions won't fix it. As Peter Jones says (9:10): "That's stretching the brand as an elastic band. If you stretch it too far, the band breaks". BPM should go back to the basics: a runtime engine that runs executable business processes which are the result of a business-IT collaboration.

Instead of trying to exclude the developers from the equation in business-IT alignment, the BPM industry should think about what features the developers need in a BPM System so that the BPM System fits in their world also. Combining the software developers build with processes in a BPM System should painless. When the BPM System embeds seamless into the developers architecture, then developers can translate business changes faster and more effective into software updates.

Monday 13 September 2010

Grails Activiti Plugin 5.0.beta1 Released

Quoting Chee Kin:
Hi,

I would like to announce the Grails Activiti Plugin 5.0.beta1 Released.

Grails Activiti Plugin is created to integrate Activiti BPM Suite and workflow system to Grails Framework.
With the Grails Activiti Plugin, workflow application can be created at your fingertips!

What's new:
* Update Activiti's jar files and examples to 5.0.beta1.
* Introduced Dependency Injection for RuntimeService, RepositoryService and HistoryService (API Update).

You can find out more about this plugin at following links:
* Project Site and Documentation:
http://code.google.com/p/grails-activiti-plugin/
* Support:
http://code.google.com/p/grails-activit ... ssues/list

Regards,
Chee Kin
http://forums.activiti.org/en/viewtopic.php?f=3&t=247

Well, done, Chee!

Wednesday 1 September 2010

What Do BPM Industry Experts Say About Activiti?

James Tayler had a first look at Activiti. It's a very accurate and well written overview of Alfresco's motivations and the direction of the Activiti project. He concludes:
I liked the potential of the collaboration environment to bridge the gaps when rules and process are both being used in a solution and I also liked the potential of applying content management to business rules. Interesting ideas both of them and I look forward to learning more.
This confirms what the BPM Analysts have said about us at the launch. Joram created a nice overview of the reactions:
  • Sandy Kemsley, renowned BPM analyst, wrotea an objective analysis of the Activiti platform. She is eager to see how Activiti will evolve. And we won’t dissapoint her.
  • BPM expert Scott Francis of BP3 wrote a very motivating blogpost. He actually downloaded the distribution and played with it. Let me quote him a few times here
  • “Did I mention that the whole stack ran just fine, natively, on my Mac as well as a Windows VM?”
  • “The documentation is already pretty comprehensive, and gets down to no-nonsense details (not true for many commercial products).”
  • “I think the market is ripe for an open source BPM platform that leverages standard underlying technologies and is built from the beginning to allow for cloud-based deployment”
  • “We may end up investing some time in the project ourselves.”

Activiti is likely to shake-up the BPM market with a ubiquitous project that supports the BPMN 2.0 standard from the Object Management Group.

business processes and work-flow are aspects of most business software and integratingembeddable BPM will be a key element in reducing the cost of business software development.

It's great fun to shake the BPM market ;-)

Activiti 5.0.beta1 Rocks

This release

Thursday 26 August 2010

Alfresco Developer Conferences In Paris And New York

The timing of the Alfresco Developer Conferences couldn't be better for Activiti. The one in Paris is October 20-21 and the one in New York is 3-4 November: Exactly around the time that Activiti 5.0 GA will be released.


I'll be speaking together with Joram about it and also Erik Winlof who started the Activiti Explorer and Activiti Probe web UI's is present so you can expect some nice demos and concrete insights.


Hope to see you there!

Thursday 19 August 2010

Activiti And The BPM Market In A Nutshell

Too much happened to fit into 140 char twitter message so I decided to write the summary here, but first this side note: Elke delivered Joram 2.0 early (probably it will not be often, but hey...) He's called Lars. Congrats to the whole family!

Last release of August 1st already includes a decent coverage of BPMN activity types. Summer time is a great time to get some coding done. Last couple of weeks were really hard core coding with fine tuning of the core engine. We extracted the Process Virtual Machine as a separate module, added a super efficient event mechanism and optimized the DB persistence to the max. First of all, the runtime data is kept to a minimal, with minimal updates during process execution. On top of that, if a parallel gateway forks again, the joined executions are now actually recycled. It's good for performance and the environment! It's amazing that I still find significant optimizations after I've been coding core BPM engines since 2003.

Tijs Rademakers (from Open Source ESB's in Action) got started on a book called BPMN 2.0 with Activiti in Action. I already look forward to reading it.

Josh Long created an Activiti integration with Spring Integration. He's going to show it at JavaZone. Don't miss it.

Furthermore there is an Activiti BPMN 2.0 eclipse designer and an iPhone app in the pipeline. Really cool stuff. More about that later.

But what does that mean for the BPM market in general? Wel... this morning I was cycling to the office and I actually came across the perfect boat metaphors to illustrate what's happening in the BPM market. First I saw this:


That is a really good metaphore for the typical traditional BPM player: Inert, not in the shape that it once was but it's floating.

Then I passed along this one:


That's Activiti: New, fast, agile and fun to work with!

And then I saw what's going to happen with the traditional BPM players after Activiti the GA release in November:

Oh no!
;-)

Wednesday 4 August 2010

Activiti 5.0.alpha4 Released

We just released Activiti 5.0.alpha4. Joram published a very nice tutorial based on this release and also the following bullet item list:

Improvements

  • MySQL support
  • Support for method expressions on sequence flow
  • Revised ActivityExecution API
  • Added ConcurrencyController API
  • Process Event Bus
  • Taskforms: added date and date picker support
  • Explorer: changed process definition drop down list to a separate page

New features

  • BPMN parallel gateway
  • BPMN manual task
  • BPMN (embedded) subprocess
  • BPMN call activity (subprocess)
  • BPMN Java service task
  • Spring integration (experimental, no docs yet)

Bugfixes

  • Made engine compatible with BPMN 2.0 beta process models
  • Fixed exception on windows and linux when using boundary timer event
  • Expression cannot have whitespaces

Monday 19 July 2010

Grails Plugin For Activiti

One of my respected OSS father figures ones said "Open Source Software doesn't fall out of the sky" At the time, I believed it.

Since starting Activiti, I start to have my doubts. A lot of companies already joined with real contributions. And now I just came back from holiday and I find a Grails Plugin for Activiti being announced with very nice features. ...like it fell out of the sky. Amazing ;-)

Welcome to the community, Chee!

Tuesday 6 July 2010

Mulesoft Joins Activiti

Mulesoft joins the Activiti team. Their focus will be to make sure that Activiti integrates with Mulesoft and help building the BPMN web service orchestration capabilities.

This really puts another milestone in the life of Activiti. Historically, we (the ex jBPM team) have been focussed on BPM in a plain Java environment. We're thrilled to have these Mulesoft on board. Their experience in the field will ensure that Activiti has web service and ESB support that covers the real life use cases.

Esteban Robles Luna from Mulesoft will become an core Activiti developer. It was a pleasure meeting you last week, Esteban! Welcome to the team.

We now have a very broad set of expertises united in the Activiti project. Consolidation is really happening even faster then we expected. Exciting times!

Monday 5 July 2010

Complementary Commitments

Last week we had the Activiti Community Kickoff Meeting. We revised the roadmap from now till November in the context of the new contributing companies. The spirit was great.

What struck me most was that the expertise that these companies bring forward is really complementary:
  • Alfresco: Core engine technology and BPMN
  • Mimacom: Core engine technology and task management
  • SpringSource: Making the designs DI friendly and general solid software design expertise
  • Camunda: BPMN and practical BPM collaboration
  • Next Level Integration: DB compatibility and high scalability
  • MuleSoft: Web services and ESB expertise
We've managed to distill concrete tasks for everyone within the domain of expertise and put this into a concrete planning. Not only did they bring their expertise and commitment, but also a solid dose of humor. That was a real good mix. It's a great environment to work. I'm happy and proud to be part of that group.

Wednesday 30 June 2010

Activiti 5.0.alpha3 Released

We're getting into a steady release rhythm. We just pushed 5.0.alpha3 out the door with following improvements:
  • JobExecutor
  • BPMN Timers
  • BPMN JSR 223 script support.
  • Switched from iBatis to MyBatis
  • Updated to a newer version of BPMN xsd
  • Query API
  • Switched JUnit usage from 3-style inheritance to 4-style annotations

Onward to the next!

Monday 28 June 2010

Alfresco Joins OMG To Participate In BPMN 2.0 RTF

Alfresco knows that Open Source and standards is a rock solid combination. We (Alfresco) are a driving force behind the CMIS standard for ECM systems. Two months ago, we were the first ECM tool to deliver on CMIS compliancy.

So when Alfresco launched it's BPM initiative Activiti as Apache license and mentions a focus on BPMN 2.0, those is not a hollow words. We're very committed to BPMN 2.0. In fact, we're aiming to build the #1 BPMN 2.0 process engine and deliver the full BPM Suite components, all available as open source.

Historically, BPMN only targeted the notation and BPML was intended as the language and file format. BPML was already deprecated long ago in favour of BPEL. But now more recently BPMN itself included the executable semantics and a file format. And we believe that in some specific cases, the convenience for developers were overlooked.

The Activiti mission statement goes like this:
Make Business Process Management (BPM) ubiquitous
by offering solutions
that both business people and developers love.
In the past, we've built up experience in building an executable process language that also takes into account the developer needs. Given our background and current mission, we believe there is a role for us to play in the BPMN 2.0 committee. Luckily we made it in time to join the RTF from the start.

The business aspects are covered in great depth already. But our focus on the developer is quite unique. That is exactly what we want to contribute to the BPMN 2.0. Making sure that BPMN is convenient for both business people and developers.

Thursday 24 June 2010

Mimacom Joins Activiti

Mimacom just joined the Activiti project. It shows that consolidation is really happening around Activiti. A steady stream of companies is joining with the common goal of building the #1 BPM System for BPMN 2.0.

We are very excited because Mimacom brings in this mix a vast amount of expertise on building the Edorasware process engine. That core process engine knowledge and Mimacom's serous commitment to participate will result in a significant acceleration of Activiti's progress.

I enjoyed the discussions we had so far and look forward to more of those starting next week in Stuttgart.

Wednesday 23 June 2010

Activiti Community Kickoff Meeting

Activiti took an awsome start last month.

After SpringSource, Camunda, Signavio and Next Level Integration, even more companies are joining the Activiti community. The snowball keeps rolling!

Next week thursday and friday we're going to kick off the Activiti community officially in Stuttgart, Germany. July 1st and 2nd, we'll be meeting up to bring out a toast and plan the roadmap more concrete between now and the 5.0 GA release in November. Looking forward to it!

If you're interested to meet up with the whole Activiti team over there, this is your chance. Send a mail to myfirstname at alfresco dot com.

Saturday 19 June 2010

First Activiti Presentation

Last week, I gave the very first presentation at the B2B by practice summit in Koln, Germany. Next level integration organized this event and they are also a member of the Activiti community. Here are the slides:

Wednesday 9 June 2010

Keeping A BPM System In Tune

In very specific cases, a single person can cope with many distinct responsibilities.


But in general, it's easy to get out of tune that way and it's better to split up responsibilities in manageable pieces. The same goes for Business Process Management (BPM) tools. There are 2 very distinct aspects that are often mixed up. Especially traditional BPM solutions I believe are pretty bad at making the distinction between BPM as a management discipline and BPM as software engineering.

Keith Swenson already long time ago made a distinction between these aspects in BPM is not software engineering. In my opinion, these are 2 distinct aspects that are both valuable and they should not be mixed up. BPM as a management discipline can be practiced without the intention of automating them. Likewise, BPM as software engineering can be the most convenient technology way for a developer to implement certain technical requirements that don't have a meaning on a business level collaboration. Of course, the combination of both makes sense as well.

At Activiti, we don't want to end up with a single monolithic BPM System that takes on too much responsibilities and hence only becomes usable for specific nich cases. We clearly acknowledge the different nature of 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 involves understanding what values the organization delivers and how those are achieved. 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. BPMN diagrams express the execution flow of the steps to accomplish a certain goal. Important to note that these models are used for people to people communication. They can be underspecified, which means that they can contain valuable high level information without including unnecessary details. Such underspecified process models are also known as abstract business processes.

BPM as software engineering means that executable business processes will be executed by a BPM System (BPMS). Executable business processes are based on a diagram that represents the different steps in an execution flow. The diagram can actually look exactly the same as the abstract business process. But executable business processes are different in some very fundamental ways. First of all they need more technical details. That part is generally accepted.

We believe that you should use the right tool for each job. And that collaboration should be facilitated on the Process Cycle Layer.

With the collaboration tool that we present there, you can see how we facilitate collaboration between business people, developers and system admins. And that without being intrusive. All of those people can't be forced to transition to a new single BPM system that does it all. But instead, with such a collaboration tool, we will facilitate the collaboration between those roles in a non intrusive way.

Tuesday 8 June 2010

Activiti Keynote At B2B By Practice Summit

Next week thursday, I'll be doing a first public talk on Activiti at the B2B by Practice summit in Cologne. That's an excellent occasion to find out about Activiti, the vision, the roadmap and more. Hope to see you there!

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.