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!