FOREWORD BY JORAM BARREZ
xviii
immediately as fellow geeks. A year later, I joined his team at JBoss and followed him
subsequently to help build Activiti at Alfresco.
Why the switch? The answer is simple. There was no room for an Apache-licensed
engine at
JBoss at that time, but we knew that an Apache license was crucial due to the
advent of the BPMN 2.0 standard. If we weren’t going to do it, someone else would.
Putting all our experiences together—what worked, what didn’t work, and what
rocked—we started to build a
BPMN 2.0 engine at the beginning of 2010, an engine that
would do exactly what I started my story with: improve communication between those
who need software solutions and those who build software by using flowchart-like dia-
grams. Expressing how your business works with diagrams is hard, but it is worth the
effort. Visualization is a powerful tool and, in the past, I often saw clients change their
way of working after seeing how the different steps connected. The
BPMN 2.0 standard
is of great value here. It may seem simplistic, but by defining how certain shapes have
specific meanings, not only can you visualize your workflows, you can find others in the
industry who speak the same language. The fact that version 2.0 also includes execution
semantics adds the next level of power: not only do the diagrams become standardized,
but now you can switch the engine that’s executing the diagrams with any
BPMN 2.0–
compliant engine—not that there is any reason to switch from Activiti, of course!
As a Java developer, I used to loathe
BPM suites—big black boxes that cost tons of
money to produce pictures. Every sane developer understands that pictures will never
make it into stable, performant software. That is why you will love Activiti: it is built
with benefits for business users in mind, without forgetting the developers. All the
code is open source—if something bothers you or isn’t clear, you can join our discus-
sions on the forum. Activiti in its simplest form is a library, a
JAR, one among many,
embeddable in every Java project, be it EE, Spring, or OSGi. With Activiti, you write
unit tests just as you are used to doing. But instead of testing code, you are testing pro-
cesses—based on diagrams that you and the business people discussed and under-
stood—enriched with Java code to make them do exactly what you want them to do.
Then you integrate them with other components exactly as you envisioned.
I touch only briefly here on the benefits of
BPM and the power of Activiti. Tijs does
an outstanding job of covering every facet of Activiti in great detail, and I’m excited
and thankful that he put so much time into this book project. Software and open
source frameworks in general rise or fall with the available documentation, and it’s my
belief that this is a superb book that provides much-needed, detailed information.
There currently is no better source of knowledge on Activiti and
BPMN 2.0. Period.
Think about it: processes are all around us. Without processes, a company
wouldn’t exist or, at least, it wouldn’t make money for long. Every company needs pro-
cesses to fulfill its goals. And in this quickly changing world, opportunities exist every-
where, from mobile integration in the workflow to massive cloud services
orchestrations. It’s up to you to grab them.
J
ORAM BARREZ
COFOUNDER OF ACTIVITI
CORE ACTIVITI DEVELOPER, ALFRESCO