Bejug - Activiti in Action (part 1)
Upcoming SlideShare
Loading in...5
×
 

Bejug - Activiti in Action (part 1)

on

  • 2,786 views

Activiti In Action

Activiti In Action
Bejug presentation (31/03/2011)

Statistics

Views

Total Views
2,786
Views on SlideShare
2,786
Embed Views
0

Actions

Likes
0
Downloads
174
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Bejug - Activiti in Action (part 1) Bejug - Activiti in Action (part 1) Presentation Transcript

  • by
    for
  • Agenda
    Introduction
    Live coding
    TechTalk
    What do you get?
    Demo
  • What is a business process?
    3
    A collection of related steps that produce value
  • What is a business process?
    4
    • Business processes are often the differentiator between two companies doing the same thing
  • What is a business process?
    5
    • Business processes are often the differentiator between two companies doing the same thing
  • What is a business process?
    6
    • Business processes are often the differentiator between two companies doing the same thing
  • What is a business process?
    7
    • Often visualized using some kind of flowcharts
    • Insight into business (mgmt perspective)
    • Communication IT-business
    • Business process Management is a HUGE field
  • What is a business process?
    8
    • Often visualized using some kind of flowcharts
    • Insight into business (mgmt perspective)
    • Communication IT-business
    • Business process Management is a HUGE field
    Suppose 250 pages/book
    2 612 500 pages on BPM
    *
    313 BPM trees
    *http://wiki.answers.com/Q/How_much_paper_can_one_tree_produce
  • But technically…
    9
  • BPMN 2.0
    OMG standard
    Shapes
    Execution semantics
    File format
    First pure play BPM standard
    With general endorsement
    10
  • What does that mean?
    11
    • Huge pool of BPMN skilled analysts
    • Any BPMN 2.0 compliant editor
    • MS Visio, Oracle, IBM, Aris, etc.
    • Executable on Activiti engine
  • But technically…
    12
  • What is Activiti?
    13
    100% Java
    100% oSS
    Lightweight
    Performant
    Embeddable
  • What is Activiti?
    14
  • Activiti
    What is Activiti?
    15
    The diagram
    API
    runtimeService.startProcessInstance…
    Forms
  • So technically …
    16
    Book flight
    through
    webservice
    Generate PDF
    Check order
    state in SAP
    Activiti
    HR needs to
    approve
    the expense
    Select helpdesk
    ticket
    Joey needs
    to call the customer
  • What does that mean for you?
    Typical BPM attitude
  • What does that mean for you?
    • Developers are crucial for the success of a BPM project!
    • Business processes practically always require automated steps and integrations
    • Activiti gives the developer the power and flexibility he/she needs to be extremely productive
    Activiti
  • Release fast, release often
    19
    • Serious # bugfixes / features every month
  • Who contributes to Activiti?
  • Agenda
    Introduction
    Live coding
    TechTalk
    What do you get?
    Demo
  • Live coding
    22
    Activiti + command line
    Demonstrating the
    simplicity and power
    of Activiti
    Activiti + Spring
    In only 10 minutes!
    Activiti + webapp
  • TechTalk
    23
  • Unit testing business processes
    • With Activiti, your business processes are an integral part of your software project
    • So they should be tested the same as regular code … with unit tests!
    • Activiti supports JUnit 3 and JUnit4 style of unit tests
    • + a lot of convience for testing
    Pic from http://silverbackapp.com
  • Unit testing business processes
    Junit 3.X style
    Pic from http://silverbackapp.com
  • Unit testing business processes
    Junit 4 style
    Pic from http://silverbackapp.com
  • Timers
    27
    • Work is often time constrained
    • A timer boundary event can be attached to the boundary of any step (or subprocess)
  • Method expressions and JPA
    28
    Update JPA entity
    Decision based on
    JPA entity property
    Spring bean
    Process variables
  • Work in progress
    29
    • CDI/Spring annotations
    <serviceTask activiti:expression=“${myBean.doSomething()}”
    Spring Bean
    CDI Managed Bean
    eg. EJB
  • Work in progress
    30
    • CDI/Spring annotations
    @ProcessScope
    Public class MyBean {
    @StartProcess(“helloWorldProcess”)
    public void something(@ProcessVariable(“customerId”) long custId) {
    ..
    }
    @CompleteTask(key=“theTask”)
    public void somethingElse() { … }
    @State(“confirm-receipt”)
    public void confirmReceipt(@ProcessVariable(“myVar”) …
    }
  • Agenda
    Introduction
    Live coding
    TechTalk
    What do you get?
    Demo
  • What do you get?
    World-class rock-solid BPM and workflow engine
    32
    32
  • Not only the engine?
    Java Applications
    Activiti Modeler
    Activiti Designer
    Activiti
    Engine
    Activiti Probe
    Activiti Explorer
    Activiti Cycle
    REST interface
    iPhone
    Explorer
    Android
    Explorer
  • Activiti Modeler
    Webbased BPMN 2.0 graphical editor
    34
    34
  • Activiti Explorer
    Process end-users (task mgmt)
    35
    35
  • Activiti Probe
    System admins
    Status overview, stuck jobs, exceptions, logs, …
    36
    36
  • Activiti Cycle
    Collaboration … done right
    37
    37
  • Activiti KickStart
    38
    38
  • Activiti REST API
    39
    • Remote communication regardless of the technology
    • Activiti extension support, BPMN 2.0 validation, hierarchical modeling
    Activiti Eclipse designer
    40
    • Pluggable activity support
    Activiti Eclipse designer
    41
  • Mobile Activiti
    42
  • Mobile Activiti
    43
    • Grails convience capabilities
    • Typical configuration
    • Easy business archive deployment
    • Generate controllers/view/example app
    Activiti & Grails
    44
  • Agenda
    Introduction
    Live coding
    TechTalk
    What do you get?
    Demo
  • Real-life demo
    46
    • Use case: banks shouldn’t lend money to just anybody
    • Thorough analysis is needed
    • All steps needs to be recorded in official documents
    • Decisions are done based on Excel decision tables
  • The mortgage process
    47
  • The mortgage process
    48
  • The mortgage process
    49
    = CMIS call
  • The power of Java
    50
    Out-of-the-box
    Custom Java
  • The power of Java
    51
    public class CreateLoanApplicationDocument implements JavaDelegate {
    public void execute(DelegateExecution execution) {
    Session session = CmisUtil.createCmisSession("admin", "admin", Constants.ALFRESCO_URL);
    Folder folder = CmisUtil.getFolder(session, Constants.LOAN_APPLICATION_STORAGE_FOLDER);
    Document document = createWordDocument(session, folder, execution);
    storeDocumentReferencesAsProcessVariables(execution, folder, document);
    session.save();
    }