Posts Tagged: bpm

Cool new features in Activiti Designer

Tijs Rademakers (already 2 months full-time Activiti team member now … time sure flies!) posted on his blog an overview of some new features in the latest Activiti Eclipse Designer release. All features are demonstrated with a short movie, so it’s all very digestable :-).

I’m a huuuuuge fan of the quick edit feaure! This is really a productivity booster.

Adhoc workflow with Activiti: introducing Activiti KickStart

(for those with a limited attention span: there is a screencast at the bottom!)

2010 was awesome. We had the launch and explosive growth of Activiti in ways that none of us were able to forecast when we started the Activiti-adventure. 2011 will continue to amaze, no single doubt about that. To kick of this 2011-amazement-rollercoaster-ride, I’m very proud to introduce the latest addition to the Activiti platform: Activiti KickStart.

What’s this all about?

KickStart grew out of the idea that each and every company has processes that are done in an adhoc way. These are processes that are ‘discovered’ on the fly: some people want to collaborate or a certain document needs to be handled in a specific order by different departements. A BPM platform such as Activiti is a well-suited solution to achieve this, but the threshold and cost to actually model, deploy and execute these kind of processes in the traditional sense is way too high.

Activiti KickStart gives you a simple and intuitive UI that allows you to create such processes in a matter of minutes. No need to model anything, no need to actually know or understand BPMN, no need to do any coding, … KickStart really and seriously lowers the threshold to automate your workflow processes.

The processes created with KickStart are directly deployable to the Activiti repository. They are also immediately usable in Activiti Explorer, and they are fully BPMN 2.0 compliant, which means they can be edited in any modeling tool that understands the BPMN 2.0 file format. And best of all, the workflows can be edited at any time, truly honoring the adhoc nature of these processes.

Activiti KickStart in action: defining an expense process in a matter of a few clicks

What can I do with it?

  • Adhoc workflow: often, coordination is required between different people or groups in a company. You know how it normally goes: sending an email here, doing a telephone there … which often ends up in a mess of nobody knowing what or when something needs to be done. However, a business process management platform such as Activiti is an excellent way of distributing and follow-up everything, as it is intended to track exactly such things. KickStart allows you to create processes for adhoc work in a matter of minutes, and distribute and coordinate tasks between people easily.
  • Prototyping/Proof-of-concept: before diving into complex BPMN 2.0 modeling and thinking about all complex aspects of , it is often wise to get all people involved aligned and work out a prototype that shows the vision of what needs to be done. KickStart allows to do exatcly that: create a business process prototype on the fly, to get your ideas visible for everyone.
  • Simple processes: some processes are just simple by nature, and every company has them. Think about an expense process, a holiday leave process, a hiring process, etc… These kind of processes are probably already being done using paper or e-mail. KickStart allows to model these processes quickly and change them whenever it is needed. As such, KickStart really lowers the threshold to automate these business processes.

Obviously, you are not limited to these use cases. As history proves, people always tend to use and enhance these things in ways we can’t image today :-).

When can I use it?

Activiti KickStart is available today! It is part of the freshly released 5.1 release, and installed by default if you run the Activiti demo setup. Just visit activiti.org and download the latest release, we’re open source after all :-).

Note that KickStart is by no means ‘finished’ (which software product ever is). But in the Activiti and open source way of doing things, we want to show you as early as possible what we’re cooking. Using the feedback, ideas and contributions of you and the rest of the Activiti community, KickStart will grow and mature in a way no commercial vendor can keep up with us.

Screencast

A picture is worth a 1000th words, so a movie will definitely be able to show you the power and ease of Activiti KickStart.

Screencast: Getting Started with Activiti 5.0.alpha2

Activiti 5.0.alpha2 just has been released!

Key feature of this release is the taskform functionality, many thanks to Erik Winlof for implementing them! Nothing could give it more credit than a screencast.

In this screencast, you”ll be able to enjoy:

  • Setting up the Activiti environment using the demo setup script. As you’ll see, only 27 seconds are needed. That’s about the time it takes to pour a cup of coffee (if you’re fast).
  • The Activiti Probe, REST, Modeler and Explorer webapps.
  • The new taskform functionality. In the screencast, the vacation request BPMN 2.0 example is used. Check out our userguide to learn everything about taskforms and the example process.

Don’t forget to put on your speakers and to check the movie out in fullscreen!

The curtains are pulled: Alfresco launches Activiti

 

After some weeks of silence, we can now finally pull the curtains … and reveal Activiti to the world!

Activiti is a super-fast and rock-solid BPM and workflow engine that natively runs BPMN 2.0. It’s completely open-source (Apache licence) and embeddable in any Java environment.

Tom and I joined Alfresco about two months ago, and we’ve kept ourselves quite busy. Bundled with this announcement is the first alpha release of Activiti. Go and play with it while it’s hot!

Activiti is all about what made jBPM great, and taking giant leaps from there. Tom nicely summarizes it in his blogpost. A lot more information can be found on the Activiti website.

Official Alfresco press release: click here.

Regards,

Joram

jBPM4: What’s new (part 2)?

The new and shiny query API

Many people will agree with me that starting with jBPM3 was hard at some points. The operations offered by the engine could cover every use case, but it tended to grow cumbersome. Power-users quickly switched to writing complex Hibernate queries to get the job done quickly. However this led to several problems:

  • One had to know the complete jBPM data model to write these queries. Learning curve++.
  • It was hard for the jBPM team to introduce new features that broke compatibility, since many (important) customers relied on their custom queries.
  • jBPM was regarded by some as too low-level and thus rejected.

But, grief no more.

The new API has been enhanced with a query system that will cover most of the queries you can think of. Developers who have to write company-specific query can still rely on Hibernate. But for most people out there, the query API will be more then suffice.

Queries can be written in a unified way on all major jBPM concepts: Process Instances, Tasks, Deployments, Historical processes, … For example:

List<ProcessInstance> results = executionService.createProcessInstanceQuery()
.processDefinitionId(“my_process_definition”)
.notSuspended()
.page(0, 50)
.list();

Gives all the process instances of the given process definition which are not suspended. Oh yeah, the result is also paged. Pretty neat, isn’t it? Querying tasks is done in completely the same way:

List<Task> myTasks = taskService.createTaskQuery()
.processInstanceId(piId)
.assignee(“Joram”)
.page(100, 120)
.orderDesc(TaskQuery.PROPERTY_DUEDATE)
.list();

This query will give me all the tasks for a given process instance assigned to me, paged of course, in a descending order based on the duedate.

Conclusion: Those unreadable and unmaintainable Hibernate queries can be forever banished to the nighmare realm. The query API is powerful and easy to understand. The steep learning curve of jBPM3 has been lowered significantly by this new API component. And we can now change the datamodel internally, without breaking the queries. What’s there not to like?

jBPM4: What’s new?

History lesson

Back in the days before I joined JBoss (translate: up until last moth ;-), many people asked me why they should be switching to jBPM4 once it was released. At that point in time, I could list all the announced features, but I really hadn’t used them in practice. The last couple of weeks however, I’ve been pretty deep (and pretty late) in the core code, and to those people I can now honestly state it was well worth the wait.

I still remember, when I was learning this ‘jBPM’ thing, there were already rumors about ‘version 4’ and ‘the PVM’, but nobody really could tell what it was and when it was coming out. There was a great demand for jBPM3 consultants on the market, so I really didn’t mind…

Fast-forward almost one and a half year… things look quite different now. I left the jBPM consultancy and joined the team of my consultancy raison d’ être. I wasn’t there when it begun and I wasn’t there on the big day and every release up till then. But I’m sure proud to be there when The Next (R)Evolution of jBPM hits the shelves next month (although my contribution is limited).

I’m guessing that most of you readers are familiar with jBPM (or at least have heard of it), so I’m not going to do a marketing blabla here. In this post, and the posts in the coming weeks, I’m going to illustrate what’s new in jBPM4, what’s improved and why I believe that the latest incarnation of jBPM (still) is the most kick-ass framework for BPM developers.

jBPM4 in a nutshell

jBPM4 can be best described as the result of smashing jBPM3 in a million pieces, carefully selecting the superb bits, putting them together with completely new or rewritten components by using the newest and fanciest glue available. Don’t worry, the core concepts of jBPM still are alive and kicking in jBPM4 (my old consultant soul smiles). But everything around has been given a rewrite, using the more than 5 years of experience in a wide-spread adoption that the jBPM team has been exposed to. But like I said, in the next posts I’ll take you for a detailed look into this stuff, for the moment I’ giving a quick (and incomplete) overview:

  • Calling the jBPM4 engine is done through a stable API (aka services). So this means no more try-catch-finally-close-the-context blocks anymore or writing a jBPM operation (on which you are really proud) to find out the next day it was already in there, hidden in an obscure package. Every of the services is tested against a range of databases (Oracle, PostgreSQL, MySQL and HSQLDB), Java versions and JBoss AS versions on every commit in the JBoss QA lab (Hudson based).
  • The database schema has been completely redesigned. The new schema facilitates migrations (version wise and process wise) and has been built with performance in mind.
  • No more method chaining. People who have been there, know what I’m talking about (I lost quite some time on this one at my first customer). The core engine uses the concept of atomic operations.
  • The Job executor and activities have been completely rewritten with performance and removing concurrency conflicts in mind (remember the StaleStateExceptions…).
  • A fancy web2.0 console, which allows for demo’s with the extra touch 😉
  • Improved documentation, split in a user- and developer’s guide. We all *love* documentation 🙂
  • And much much more … but track my blog if you want to know them 😉

The story continues…

Quick book review: ‘The Process – Business Process Modeling Using BPMN’

Due to the fact I was sick today, I was able to work a bit on my book backlog. So, when I was waiting in the doc’s office, I finally finished The Process – Business Process Modeling Using BPMN, written by researchers of the Business Process Technology Group of the university of Potsdam.

The book tells the story of Tom, who is hired by the fictional company LasterTec to provide insights into how LaserTec works. While on the job, he learns about process modeling and BPMN. The following chapters describe the journey of Tom into the BPMN landscape, and how he is able to document and find bottlenecks int the processes of LasterTec. If you want to know how the story ends, you should give the book a reading 😉

So, here are in short the pro’s and con’s of the book:

Pro

  • The book is entry-level. Since I already have some BPMN experience I was able to quickly go through the first chapters, but I found myself concentrated while reading the more complex stuff (specifically on of the latests chapters on compensating activitites and business transactions). However, if you are already experienced in the BPMN field, this book will teach you not much new.
  • The BPMN information is nicely integrated with the story of Tom. So you’re getting an actual story that, for me, is much nicer to read than your average tech book. The story also allows you to digest the information easier. The downside of this approach is that the book is not a reference. Luckily, the book contains a BPMN reference poster, which you can also download here.
  • Many of the processes that Tom encounters are really industry-worthy. For a few of the processes described I really got a déjà-vu feeling since the process incorporated stuff I had to implement in the past in a similar way. So no academic reasoning or constructs in this book! (which is surprising, given the authors).

Con

  • The book is pretty short (about 180 pages) and in the end, I had the feeling there could be more to it. However, purely seen as an introduction to BPMN, the book is perfect.
  • Like I said, the book is a perfect entry-level book, but if you want to do some real process modeling, you’ll definitely need to read up on some more advanced stuff and get some practical experience. However, you are well prepared for this journey with the bagage from the book.
  • I ordered the book through Amazon and had to pay an extra import tax (only Amazon US had the book in store at the time I ordered) of 10 euro. So since the book only counts 180 pages, every page costs about 20 eurocents. In my opinion, that’s a bit too much. I think the book is perfect for an e-book, so I rather would have bought it in that format.

Conclusion

I liked reading the book and I finished it with only one pause between the reads. Taking into account that in fact the book describes a specification, this definitely is a good sign. The information covered in the book is limited, but in the end you get all the basics of BPMN and are ready to take on simple business procesess. The book uses examples from the industry and comes with a handy reference poster. In my opinion, the target audience of the book are managers or developers/analysts who need an introduction to BPMN.

If the Potsdam researchers are publishing an (e-) book about BPMN 2.0 in the future (perhaps now Tom is already married and teaching BPMN to his children …) , I’ll definitely give it a read!