Activiti is a lightweight, open source workflow and a Business Process Management (BPM) platform distributed under the Apache license. It can also be clustered and managed on a Cloud environment. It is the best platform to build BPM for people-to-people communication. It can be used very easily in every Java environment. It supports all aspects of BPM in the full context of software development. You can build any custom process language as per your requirement. It is a technology that is welcomed, because it allows people to use the tools that they are accustomed to, instead of replacing them with new ones. You can even involve a person with minimal technical know-how in implementing business workflows. It's easy to get up and running with the setup utility. It also has a superfast and rock-solid BPMN 2 process engine, which provides the best platform for collaboration between non-technical business users and technical developers.
Activiti 5.x Business Process Management Beginner's Guide takes you through a practical approach to using Activiti BPM. This book provides detailed coverage of various BPM notations used for business process development. It focuses on practical examples, instead of just theory. This book offers solutions to various real-time issues in monitoring business processes within a system. The topics are always associated with exercises that will allow you to put the concepts to the test immediately.
This book gives a strong overview of the Activiti BPM with real-time examples. The main objective of this book is to guide you step by step through the practical implementation and integration of Activiti with portals, rule engines, and various other technologies. You will be able to use various services provided by Activiti using REST API based on the practical examples covered in this book. This book will become your trustworthy companion, filled with the information required to integrate BPM with your portal.
Chapter 1, Installing Activiti, discusses Activiti's core concepts and terminologies. It also provides an environment setup for Activiti BPM. By the end of this chapter, you will be familiar with the installation of Activiti and the deployment of Activiti Explorer with the Apache Tomcat server. At the end of this chapter, you will learn how to create a simple process in Activiti and perform the unit testing of processes.
Chapter 2, Modeling Using the Activiti Modeler, helps you design a business process using Activiti Modeler. You will also learn how to import and export models in Activiti Modeler. At the end of this chapter, you will be aware of BPM standards and BPMN elements, and be able to model your business process in Modeler.
Chapter 3, Designing Your Process Using the Activiti Designer, introduces us to the Activiti Designer. You will learn to integrate Activiti Designer with Eclipse, design a process, and test it using Designer.
Chapter 4, Management and Monitoring Using the Activiti Explorer, helps you understand the various functionalities of Activiti Explorer. You will learn to manage various tasks, processes, and users. You will also learn to generate reports in Explorer. At the end of this chapter, you will be able to deploy processes in Activiti Explorer and perform various functionalities, such as starting a process instance, monitoring a business process, and completing a task.
Chapter 5, Development Using the Process Engine, describes an Activiti development environment. You will learn about the different types of layers in the Activiti engine. At the end of the chapter, you will be able to change the default database of Activiti.
Chapter 6, The Activiti ProcessEngine API, explains the different APIs and services of Activiti. It demonstrates how you can start process instances and deploy processes managing user tasks using different APIs and services, such as process engine, runtime, management, and history. By the end of this chapter, you will be able to perform unit testing and debugging for a process.
Chapter 7, Working with the REST API, gives an overview of the Activiti REST API. In Activiti, you can use the REST API for managing processes, users, and tasks. You will learn how to implement the REST service in Activiti.
Chapter 8, Integrating Activiti with Third-party Services, will teach you about the integration of Activiti with various portals. You will be able to perform integration with Liferay, Drools, and OSGi. You will also learn how to configure Activiti with Apache Karaf.
Chapter 9, Implementing Advanced Workflows, explains Sub-Processes, multi-instance processes, and parallel gateways. You will learn about process modeling with execution and task listeners. By the end of this chapter, you will be able to implement event and task listeners in your business processes.
You will need the following software to be installed before running the code examples:
Activiti requires JDK 6 or higher version. JDK 6 can be downloaded from http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html.
There are installation instructions on this page as well. To verify that your installation was successful, run the Java version on the command line.
Download
Activiti-5.13.zip
from http://activiti.org/download.html. Just unzip it in a directory of your choice and then take a look at thereadme.html
file that includes pointers to the documents and the release notes. The user guide (docs/userguide/index.html
) includes instructions on how to get started in a simple and quick manner.Download the Eclipse Juno or Indigo from http://www.eclipse.org/downloads/.
Unzip the downloaded file and then you will be able to use Eclipse. It is used to configure with the Activiti Designer.
This book is primarily intended for Business Analysts (BAs), developers, and project managers who need to develop a process model for implementation in a BPM system. The book assumes that you have basic knowledge of business analysis and Java; however, knowledge of Activiti is not required.
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
Code words in text are shown as follows: "The Wars
directory contains activiti-explorer.war
and activiti-rest.war
."
To give clear instructions of how to complete a procedure or task, we use:
Instructions often need some extra explanation so that they make sense, so they are followed with:
This heading explains the working of tasks or instructions that you have just completed.
You will also find some other learning aids in the book, including:
These set practical challenges and give you ideas for experimenting with what you have learned.
A block of code is set as follows:
public class ListTaskDemo { public static void main(String ar[]) { ProcessEngineprocessEngine = ProcessEngineConfiguration .createStandaloneProcessEngineConfiguration() .setJdbcDriver("com.mysql.jdbc.Driver") .setJdbcUrl("jdbc:mysql://localhost:3306/activiti_book") .setJdbcPassword("root").setJdbcUsername("root") .buildProcessEngine(); TaskServicetaskService = processEngine.getTaskService(); List<Task> tasks = taskService.createTaskQuery().taskCandidateGroup("engineering").list(); for(Task task : tasks) { System.out.println("Task available for Engineering group: " + task.getName()); } } }
New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: "Clicking on the Next button moves you to the next screen."
Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply send an e-mail to <[email protected]>
, and mention the book title via the subject of your message.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
You can download the example code files for all Packt books you have purchased from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.
We also provide you a PDF file that has color images of the screenshots/diagrams used in this book. The color images will help you better understand the changes in the output. You can download this file from: http://www.packtpub.com/sites/default/files/downloads/7065OS_ColorImages.pdf
Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the erratasubmissionform link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded on our website, or added to any list of existing errata, under the Errata section of that title. Any existing errata can be viewed by selecting your title from http://www.packtpub.com/support.
Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works, in any form, on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.
Please contact us at <[email protected]>
with a link to the suspected pirated material.
We appreciate your help in protecting our authors, and our ability to bring you valuable content.
You can contact us at <[email protected]>
if you are having a problem with any aspect of the book, and we will do our best to address it.