Book Image

Activiti 5.x Business Process Management Beginner's Guide

By : Dr. Zakir Laliwala, Irshad Mansuri
Book Image

Activiti 5.x Business Process Management Beginner's Guide

By: Dr. Zakir Laliwala, Irshad Mansuri

Overview of this book

<p>Activiti is a light-weight workflow and Business Process Management (BPM) platform targeted at business people, developers, and system administrators. Its core is a super-fast and rock-solid BPMN 2 process engine for Java. Activiti runs in any Java application on a server, cluster and in the cloud. It integrates perfectly with Spring and it is based on simple concepts making it easy for users to maximize its potential.</p> <p>Activiti BPM Beginner’s Guide quickly introduces you to the Activiti Business Process Management methodology. This book will serve as an extremely useful starter guide for developers working on Activiti BPM who wish to integrate Activiti with other technologies.If you want to take full advantage of the power of the Activiti BPM, then this is the book for you.</p> <p>This book will teach you how to design advanced business workflows through easy steps as well as how to integrate your creations with various third party services. It will take you through a number of clear, practical steps that will help you to implement business workflow using standard BPMN notation.</p> <p>The key aim of this book is to guide you through how to develop business workflows so you can eventually remove the gap between the business analyst and the developer. The book focuses on development and delivery using Activiti BPM through integrating, migrating, and upgrading some advanced technological tools.</p> <p>You will learn everything you need to know to design effective and advanced business workflows and how to implement them with different applications.</p> <p>This book should be in the tool belt of any business analyst who wishes to model business processes and use these models to generate a fully-functioning workflow application.</p>
Table of Contents (17 chapters)
Activiti 5.x Business Process Management Beginner's Guide
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

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.

Reader feedback

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

Customer support

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.

Downloading the example code

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.

Downloading the color images of this book

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

Errata

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

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 with a link to the suspected pirated material.

We appreciate your help in protecting our authors, and our ability to bring you valuable content.

Questions

You can contact us at if you are having a problem with any aspect of the book, and we will do our best to address it.