Wednesday, 12 January 2011

Coding While Asleep Can Be A Good Thing

With high hopes I started reading Sleepcoding's Activiti ‘Hello world’ on play!. Almost through the post and no mention of his impressions about Activiti. But then, at the end, my patience was finally rewarded:
I said all i can about play’s plugin system in the previous post, it is great. But since it was about initializing activiti i didn’t say anything about it. AFAICT, it is one of the few libraries/frameworks that delivers what it advertises. It is light-weight, fast and simple. They say a BPM engine should be working in every Java environment, and this ‘helloworld’ is one example. API is clean, well documented and easy to work with. As a developer who correlates BPM engines to application servers that cannot start in under a minute, i am really pleased with what i was able to achieve. Overall experience with activiti is simply great.
*That* is the fuel that keeps us open source developers going! Thanks, Mr Sleepcoder!

Tuesday, 11 January 2011

Activiti Announces jBPM To Activiti Migration

Since Activiti went GA on December 1st last year, we've been getting a lot of requests from people that want to migrate from jBPM to Activiti. [piece removed, see (*) in the comments]

When we started Activiti, we didn't plan any of those migrations as that would take a big chunk of our development resources. Converting jBPM's jPDL process xml files is only one piece of the puzzle. Migrating the runtime database data to a newer version of jBPM or to Activiti is the biggest challenge.

But Activiti progress has been faster then expected due to the overwhelming contributions by the community. Those were far beyond our expectations and hence we've been able to execute our roadmap faster then expected. As a result of our good progress and the demand expressed by our community, we are now able to revisit the choice of building migration from jBPM to Activiti.

This iteration, we'll start building jBPM 3 to Activiti migration in the community project including runtime database, history database and process definition migration. In the Activiti 5.2 release, planned for February 1st --less then 3 weeks from now--, you can expect the first drop of migration functionality. Though it will be hard to achieve 100% coverage, we hope that in subsequent releases of the migration, we'll be able to convert most jBPM 3 installations automatically. And for those aspects that we can't cover in a generic way, we'll provide good reports and hooks so that developers can customize the migration to deal with their specific situation.

Tuesday, 4 January 2011

Activiti 5.1 Release Adds Activiti KickStart

The highlights for the 5.1 Activiti release:
  • Added Activiti KickStart (more about this new component below)
  • Added automatic upgrade of the DB schema from 5.0 to 5.1
  • Added generation and display of process definition diagram based on DI information.
  • Added historic task instances
  • Added Comments to artifacts in Cycle
  • Improved Cycle Plug-In Infrastructure (now using Annotations)
  • Fixed various bugs
Activiti KickStart is a new component for which I want to share this quick introduction. It makes building process solutions as easy as 1, 2, 3 for non technical business people. In essence, Activiti KickStart allows you to enter the steps as a list of text fields and Activiti

KickStart will create a BPMN process for you based on your input.
In addition, the same simple paradigm also lets you create forms with each step in the process.
This form, then looks like this in Activiti Explorer
This way non technical business users can create fully functional process models. And if later more advanced process authoring needs to be done, we allow for seamless migration from Activiti KickStart to the more advanced, fully fledged Activiti Modeler, which is our web based BPMN process authoring tool.


Download Activiti & share your experiences!

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!