Preface - Activiti 5.x Business Process Management Beginner's Guide (2014)

Activiti 5.x Business Process Management Beginner's Guide (2014)

Preface

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.

What this book covers

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.

What you need for this book

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 the readme.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.

Who this book is for

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.

Conventions

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:

Time for action — heading

Instructions often need some extra explanation so that they make sense, so they are followed with:

What just happened?

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:

Have a go hero — heading

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."

Note

Warnings or important notes appear in a box like this.

Tip

Tips and tricks appear like this.