Activiti Dima Ionut Daniel. Contents What is Activiti? Activiti Basics Activiti Explorer Activiti Modeler Activiti Designer BPMN 2.0 Activiti Process.

Slides:



Advertisements
Similar presentations
CACORE TOOLS FEATURES. caCORE SDK Features caCORE Workbench Plugin EA/ArgoUML Plug-in development Integrated support of semantic integration in the plugin.
Advertisements

MICHAEL MARINO CSC 101 Whats New in Office Office Live Workspace 3 new things about Office Live Workspace are: Anywhere Access Store Microsoft.
Jenkins User Conference San Francisco, Sept #jenkinsconf Business Process Model & Notation (BPMN) Workflows in Jenkins Max Spring Cisco
Process Patterns in BizAGI. Slide 2 Overview Types of events Types of gateways Design patterns list.
UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
Introduction to Control Flow Patterns and BizAgi
1 Opentest Architecture Table of Content –The Design Basic Components High-Level Test Architecture Test Flow –Services provided by each Layer Test Mgt.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
1 Introduction to modeling Process modelling. 2 Where are we? #TitleDate 1Introduction ORM modeling Relational modeling
Introduction to BizAgi. Slide 2 User Interface (Summary) The user interface for BizAgi resembles Office It uses a similar ribbon The Palette contains.
© 2004, The Trustees of Indiana University 1 OneStart Workflow Basics Brian McGough, Manager, Systems Integration, UITS Ryan Kirkendall, Lead Developer.
© Copyright Eliyahu Brutman Programming Techniques Course.
BPMN An Introduction ISIS. © ILOG, All Rights Reserved 2 Definition of BPMN Business Process Modeling Notation provides:  The capability of defining.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Overview of Database Languages and Architectures.
BUSINESS PROCESS MODELING By Raghavi Jayaprakash.
Business Process Management with Activiti João Silva (CERN, GS-AIS) 21st of October, 2014 BUSINESS PROCESS MANAGEMENT WITH ACTIVITI.
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Enterprise Workflow CPSC 476 Lightening Talk Brenda Griffith/Katie Soto.
Understanding and Managing WebSphere V5
JBPM Kickstart Bob Brady ChemBio Informatics Platform.
Talend 5.4 Architecture Adam Pemble Talend Professional Services.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
- Chaitanya Krishna Pappala Enterprise Architect- a tool for Business process modelling.
Chapter 6: The Traditional Approach to Requirements
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
SOA, BPM, BPEL, jBPM.
Submitted by: Madeeha Khalid Sana Nisar Ambreen Tabassum.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
The Design Discipline.
The powerful capabilities of JBoss Middleware as cloud based services on OpenShift. Build applications. Integrate with other systems Orchestrate using.
Christopher Jeffers August 2012
BPMN By Hosein Bitaraf Software Engineering. Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
Fundamentals of Database Chapter 7 Database Technologies.
Ahmed M. Gamal, J2EE Mohamed Maaty, Information hp INTRODUCING JBPM.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
© 2007 IBM Corporation SOA on your terms and our expertise Software WebSphere Process Server and Portal Integration Overview.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Business process models and its support in Visual Paradigm Zuzana Brťková.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
GEO PLACES EXPLORER PRESENTED BY KHUSHBOO BAGHADIYA SUMANA VENKATESH.
BPMN.  BPMN will provide businesses with the capability of understanding their internal business procedures in a graphical notation.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Google Code Libraries Dima Ionut Daniel. Contents What is Google Code? LDAPBeans Object-ldap-mapping Ldap-ODM Bug4j jOOR Rapa jongo Conclusion Bibliography.
Apache Solr Dima Ionut Daniel. Contents What is Apache Solr? Architecture Features Core Solr Concepts Configuration Conclusions Bibliography.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
1 Tihomir Surdilovic jBPM Core Developer Jun, 2012 jBPM5 : Bringing more Power to your Business Processes Web-based BPM with jBPM 5.
System Architect support for Business Process Modeling Notation (BPMN)
Object-Oriented Analysis and Design
Open Source distributed document DB for an enterprise
Unified Modeling Language
Introduction to Control Flow Patterns and BizAgi
IBM JBPM online Training in Chennai
Dokumentasi Perubahan Proses: Pengantar BPM
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
BPMN - Business Process Modeling Notations
Execute your Processes
Java Workflow Tooling (JWT) Release review: JWT v0
Java Workflow Tooling (JWT) Release review: JWT v0
Business Process Modeling Notation (BPMN)
Presentation transcript:

Activiti Dima Ionut Daniel

Contents What is Activiti? Activiti Basics Activiti Explorer Activiti Modeler Activiti Designer BPMN 2.0 Activiti Process Engine Activiti Tool Stack Error handling Deployment and Configuration BPM Alternatives Bibliography

What is Activiti? Activiti is a light-weight workflow and Business Process Management (BPM) Platform Its core is a super-fast and uses BPMN 2 process engine for Java It's open-source and distributed under the Apache license. Activiti runs in any Java application, on a server, on a cluster or in the cloud. It integrates perfectly with Spring, it is extremely lightweight and based on simple concepts.

Activiti Basics Activiti is a BPMN 2.0 process-engine framework that implements the BPMN 2.0 specification. The Activiti Engine is a state machine. In the Activiti Engine, most BPMN 2.0 elements are implemented as a state.

Activiti Basics (cont.) The process engine can be created with the ProcessEngineConfiguration which can be used to start the Activiti engine and the H2 database. Activiti can run on database platforms other than H2, such as Oracle, Mysql, PostgreSQL, etc. To deploy a process from Java we need to access the RepositoryService from the ProcessEngine instance. The RepositoryService instance is used to add from classpath the XML file and deploy the it to process engine. The process engine will validate the process file and create a new process definition in the H2 database. The startProcessInstanceByKey() method is used to start the newly deployed process definition

Activiti Basics (cont.) A process instance is stored to the H2 database, and a process instance ID that can be used as a reference to this specific process instance is created. This message means that the process instance ID is 4 and the process definition that was used to create the instance was the "process1" definition with version 1 and the process definition database ID is 3.

Activiti Explorer Activiti Explorer is a vaadin web application. Explorer uses an in-memory database, but it is easy to switch to a different database.

Activiti Explorer (cont.) Tasks: user tasks from running processes. Process: shows the deployed process definitions, and allows to start new process instances. Reporting: generate reports and view previously saved results. Manage: Allows to administrate the Activiti engine; manage users and groups, execute and see stuck jobs, see the database and deploy new process definitions

Activiti Explorer (cont.) The Explorer includes functionality to dynamically generate an overview of a process definition using the Raphael Javascript framework. This process image can only be generated when the process definition XML contains BPMN DI information.

Activiti Explorer (cont.) Activiti Explorer has the capability to easily add new reports to the system. Generate reports: shows a list of all reports known to the system. Saved reports: shows a list of all reports that were previously saved. These are personal saved reports only and it is not possible to see the saved reports of someone else.

Activiti Modeler The Activiti Modeler is an add-on component to the core Activiti framework and is a web application. The Activiti Modeler sources are available from the Signavio Core Components Google repository. The Activiti Engine doesn’t support all of these BPMN elements.

Activiti Designer The Activiti Designer can be used to add technical details to an imported process model. It can also be used to model new processes from scratch.

BPMN 2.0 Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes in a business process model. It is also known as Business Process Modeling Notation. Design: define the business process Modeling: the business process is fully specified and validated. Execution: the modeled business process is implemented in a business process application Monitoring: the processes are monitored for business goals that are defined by key performance indicators (KPIs). Optimization: the implemented business processes will need to be optimized. When the optimization phase is done, the business process goes into the design phase again and the cycle is completed.

BPMN 2.0 (cont.) BPMN 1.0 had been standardized and was widely used by information and business analysts from 2004 WS-BPEL was the first BPM language that was used by developers to run processes on a process engine.

BPMN 2.0 (cont.) BPMN 1.x is widely used as a modeling notation for business processes. The BPMN 2.0 specification is found at the Object Management Group (OMG) website (

BPMN 2.0 (cont.) BPMN models consist of simple diagrams constructed from a limited set of graphical elements. BPMN's basic element categories: – Flow objects: Events, activities, gateways – Connecting objects: Sequence flow, message flow, association – Swim lanes: Pool, lane – Artifacts: Data object, group, annotation

BPMN 2.0 (cont.) Event is represented with a circle and denotes something that happens. – Start event is the process trigger. – Intermediate event represents something that happens between the start and end events. – End event represents the result of a process Activity describes the kind of work which must be done. – Task is a single unit of work that is not or cannot be broken down to a further level of business process detail. – Sub-process has its own self-contained start and end events. – Transaction is a form of sub-process in which all contained activities must be treated as a whole. – Call Activity is a point in the process where a global process or a global Task is reused.

BPMN 2.0 (cont.) Event is represented with a circle and denotes something that happens. – Gateway determines forking and merging of paths, depending on the conditions expressed. – Exclusive is used to create alternative flows in a process. – Event Based determinates the path of a process is based on an evaluated event – Parallel is used for creating parallel paths without evaluating any conditions. – Inclusive is used to create alternative flows where all paths are evaluated. – Exclusive Event Based is evaluated to determine which of mutually exclusive paths will be taken. – Complex is used to model complex synchronization behavior – Parallel Event Based. two parallel process are started based on an event but there is no evaluation of the event

BPMN 2.0 (cont.) Connections. Flow objects are connected to each other using Connecting objects. – Sequence Flow shows in which order the activities are performed – Message Flow tells us what messages flow across organizational boundaries. – Association is used to associate an Artifact or text to a Flow Object, and can indicate some directionality

BPMN 2.0 (cont.) Swim lanes are a visual mechanism of organising and categorising activities. – Pool represents major participants in a process; a pool contains one or more lanes. – Lane is used to organise and categorise activities within a pool. Artifacts allow developers to bring some more information into the model/diagram; the model/diagram becomes more readable. – Data objects show the reader which data is required or produced in an activity – Group is used to group different activities but does not affect the flow in the diagram. – Annotation is used to give the reader of the model/diagram an understandable impression.

Activiti Process Engine Activiti engine consists of several layers. The engine component includes a process virtual machine abstraction, which translates the BPMN 2.0 engine logic into a state machine model, An optional layer is the Spring container integration for the Activiti engine.

Activiti Process Engine (cont.) Activiti uses the standard Java java.util.logging API, also known as JDK 1.4 logging and Spring uses Apache commons logging. A good way to test a BPMN 2.0 process is to run the Activiti Engine inside the Java Virtual Machine (JVM) with an in-memory database.

Activiti Process Engine (cont.) We can use REST API to interact with Activiti Engine.

Activiti Process Engine (cont.) The Activiti Engine API is divided into 7 core interfaces, each targeted at interacting with different functionality of the process engine. FormService: in order to work with user task forms. HistoryService: retrieve information about completed process instances. IdentityService: interface on the authentication component. ManagementService: can be used to query Activiti tables and execute jobs. RepositoryService: provides functionality to deploy,query,deploy and retrieve process definitions. RuntimeService: provides interface to start/query instances. TaskService: services related to tasks.

Activiti Tool Stack The core component of the Activiti framework is the process engine. The process engine provides the core capabilities to execute Business Process Model and Notation (BPMN) 2.0 processes. The BPMN specification and lots of examples can be found at We can use Activiti Modeler(Eclipse-based plugin) to create the BPM.

Activiti Tool Stack (cont.) Activiti supporting tools: – Activiti Engine: performs the process engine functions, such as executing BPMN 2.0 business processes and creating workflow tasks. – Activiti Modeler: web-based modeling environment for creating BPMN 2.0-compliant business process diagrams. – Activiti Designer: Eclipse plugin that can be used to design BPMN 2.0-compliant business processes – Activiti Explorer: web application that can be used for a wide range of functions in conjunction with the Activiti Engine. – Activiti REST: web application that provides a REST interface on top of the Activiti Engine.

Error Handling The Activiti Engine provides this flexibility by supporting both the standard BPMN error handling constructs as well as error handling via Java exceptions. Choosing the Java logic approach means that the error handling is implemented inside a service task and, therefore, is not part of the process model.

Deployment and Configuration There are two common ways to set up your application environment with an Activiti Engine: Embedded - Embed the Activiti Engine instance in your application and use the Activiti Java API to communicate with the Activiti Engine. Standalone - Set up a standalone Activiti Engine instance and have multiple applications access the Activiti Engine via the REST API.

BPM Alternatives Other open source process engine like Activiti: JBoss BPM – open source process engine that first supported the custom jPDL process language – because version 5.0 supports BPMN 2.0, the jBPM project has merged with the JBoss Drools project BonitaSoft – open source process engine that provides support for the BPMN 2.0 process language – provides a large set of supported elements and the integrated development environment

Bibliography Manning Activiti in Action

Questions ?