Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Aphorismen
Applications
Business Economics & Admin.
My Computers
Cooking
Devices
Folders
Food
Hardware
Infos
Software Development
Sports
Operation Instructions
Todos
Test
Help
Glossary
Community portal
adaptions
Sidebar anpassen
Wiki RB4
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Activiti
Page
Discussion
English
Read
Edit
View history
Toolbox
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Introduction== The Activiti has a clear origin in the [[BPM#JBoss_jBPM|jBPM]] project of JBoss. The former lead developers of jBPM, Tom Baeyens and Joram Barrez, created a vibrant community around this process engine and they created a process virtual machine sub-project that enabled jBPM to be used for multiple process languages. At that point in time Alfresco was using jBPM in their document management system for the implementation of foremost workflow related functionality. But they were looking for a process engine with a more liberal open source license. ventually Alfresco decided to create a liberal Apache licensed open source process engine themselves and contacted Tom and Joram. Activiti was born! The Activiti project started off at a very fast pace and succeeded to do a monthly release of the tool stack until the stable 5.0 release in December 2010. Alfresco is using jBPM and Activiti as process engine, but jBPM may be deprecated at some point in time. ===Activiti vs. [[BPM#JBoss_jBPM|jBMP]]=== [http://www.mastertheboss.com/jbpm/300-jbpm-vs-activiti.html My personal impression is that Activiti seems much more the logical continuation of jBPM, then jBPM5 is.] This [http://salaboy.wordpress.com/2011/01/19/jbpm5-vs-activiti5-dumb-question/#more-1534 article] concludes that the opportunities of both BPMS are nearly identical. ==Installation== * extract activiti-5.9.zip to C:\Uwes\java\Activiti\activiti-5.10 * C:\Uwes\java\Activiti\activiti-5.10\setup\ant demo.start * set CATALINA_HOME=C:\Uwes\java\Activiti\activiti-5.10\apps\apache-tomcat-6.0.32 * replace 8080 in \setup\build.xml and <CATALINA_HOME>\conf\server.xml to 8079 * download eclipse 3.6.2 (helios) and extract to C:\Uwes\eclipse\v362_classic\ ===Eclipse Plug-In=== * as decribed in [http://www.activiti.org/userguide/index.html#activitiDesigner Official Documentation] to local [[EONISLaptop#Installation|eclipse]] ===Ant targets=== to be executed in <ACTIVITI_HOME>/setup * demo.start * deom.stop * tomcat.start * tomcat.stop * h2.start * h2.stop * db.drop * db.create ==Documentation== * Local Documentation file:///C:/Uwes/java/Activiti/5.0/docs/userguide/index.html * Activite Home [http://www.activiti.org/userguide/index.html#eclipsesetup Documentation] (http://www.activiti.org/userguide/index.html) ==Architecture== As Activiti is 'just a jar', it can be embedded in any Java environment: with swing or on a Tomcat, JBoss, WebSphere, etc. Or you could very well choose to run Activiti as a typical, standalone BPM server. ===Components=== see [http://localhost/VisioExports/BPM.htm sheet Activiti] ====Eplorer==== * work item list * start processes * dive into DB tables * overview of deployed processes ====REST==== Web application, which starts the process engine and a REST API to communicate remotely with the Activiti engine. ====Modeler==== web base modeling tool from Signavio. It can model all BPMN 2.0 elements, which are more than the Activiti process engine and Activiti designer can handle. Models can only used by the Designer if you use elements that are support by the Designer. ====Designer==== eclipse plugin modeling tool, started and maintained by Tijs Rademakers, Tiese Barrell, Ron van Liempd and Yvo Swillens. Enhancement of Modeler process definition to be executable. For Using see [[#Designer_2|here]]. ===Script Languages=== * Groovy (standard) ===Standards=== ====[[BPMN#XML_Specification_2.0|BPMN XML]]==== ==API== The Activiti Engine API is divided into seven core interfaces, which are each targeted at interacting with different functionality of the process engine. * FormService * HistoryService * IdentityService * ManagementService * RepositoryService * [[#RuntimeService|RuntimeService]] * TaskService ====RuntimeService==== =====createStandaloneInMemProcessEngineConfiguration()===== ProcessEngine processEngine = ProcessEngineConfiguration. createStandaloneInMemProcessEngineConfiguration(). buildProcessEngine(); start a H2 in memory database. =====createStandaloneProcessEngineConfiguration()===== ProcessEngine processEngine = ProcessEngineConfiguration. createStandaloneProcessEngineConfiguration(). buildProcessEngine(); uses a connection to a running H2 database. ==Using Activiti== C:\Uwes\java\activiti\5.0\setup\ant (default target is '''demo.start''') starts h2-DB on port 9092 and tomcat on port 8099. Other targets are '''tomcat.start''', '''tomcat.stop''', '''h2.start''', '''h2.stop''', '''db.drop''', '''db.create'''. ===Modeler=== * files are saved in C:\Uwes\java\Activiti\activiti-5.6\workspace\activiti-modeler-examples\ ===Designer=== ====Activities==== =====Script Tasks===== All process variables are accessible by name in the script. =====Service Tasks===== public class CreateApplicationTask implements org.activiti.engine.delegate.JavaDelegate { @Override public void execute(DelegateExecution arg0) throws Exception { // has to implement Serializable Application app = new Application(); // get process variable Boolean b = (Boolean) execution.getVariable("name")); // store process variable execution.setVariable("name", app); } } ====Create JUnit Test==== * right click diagram -> Activiti -> Create JUnit Test * process parameter can be defined by Map<String, Object> vars = new HasMap<String, Object>(); vars.put("name", value); runtimeService.startProcessInstanceByKey("diagram", vars); ===Deployment=== The so-called Business Archive (BAR) files are ZIP compressed files that contain processes and their dependencies, like forms, that can be deployed on the Activiti Engine. Deployment of a BAR file via: * Probe. Probe provides functionality to deploy new BAR files and to delete previous deployments. * Ant using the REST API. ==Initial Tests== ===Eclipse based Tutorial=== * http://activiti.org/designer/update/ * just read but modeling via Modeler seams more reasonable ===Pizza Tutorial=== * http://java.dzone.com/articles/tutorial-devoxx-activiti-bpmn?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+javalobby%2Ffrontpage+%28Javalobby+%2F+Java+Zone%29 * still to be done ===[http://www.jorambarrez.be/blog/2010/08/02/tutorial-a-bpmn-2-0-hello-world-with-activiti-5-0-alpha4-in-5-steps/ Blog]=== Didn't work because of missing class. ===Eclipse Project 'ActivitiTest1'=== * start eclipse * File -> New -> Project -> Activiti Project * select /src/main/resources/diagrams * right mouse -> New -> Other -> Activiti diagram 'ActivitiTest1.Diagram1' * create ActivitiTest1TestCase1 in /src/test/java/ * right mouse -> Run As -> JUnit ==Configuration== ==Resources== * C:\Uwes\Documents\Software_Development\Modeling\BusinessProcessModeling\BPM.vsd * C:\Uwes\Documents\Software_Development\Modeling\BusinessProcessModeling\Activiti\ActivitiInAction.pdf
Summary:
Please note that all contributions to Wiki RB4 may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Uwe Heuer Wiki New:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Toggle limited content width