Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

Roadmap

August 1st: 5.0.alpha4

September 1st: 5.0.beta1

October 1st: 5.0.rc1

November 1st: 5.0

Tasks

  • BPMN Parallel gateway
  • BPMN Embedded subprocess
  • BPMN  activity types (see below)
  • PVM concurrency and scoping
  • Task email notifications
  • History + 2 reports** Process definition report
      • Average times per activity in a process instance
      • # Processes started - # Finished processes in last 12 months
    • Overview
      • # instances per process definition
        • In progress
        • Completed
      • Pie chart # process definitions started in the last 3 months
  • Task audit logging (==> variable declarations + forms in example)
  • Controlled optimistic locking test
  • Manage deployments in Probe
  • Manage jobs in Probe
  • Discussions on tasks and process instances
  • Discuss and incorporate spring refactorings
  • Discuss and refactor project module structuring
  • Process test suite
    • Concurrency + end process instance
    • Concurrency with and without wait states
    • Email notifications
  • CI driver scripts
    • DB (in progress)
    • TX * Server * DB environment
  • Improve JUnit support
    • also include inheritence as an option
      • services available as member fields
    • fix naming 
      • deployer.getProcessService().startProcessInstanceByKey(...);
        • activitiTestHelper.getProcessService().startProcessInstanceByKey(...); (aggregation)
        • processService().startProcessInstanceByKey(...); (inheritance)
      • new JobExecutorPoller(deployer.getProcessEngine()).waitForJobExecutorToProcessAllJobs(10000L, 250);
        • activitiTestHelper..waitForJobExecutorToProcessAllJobs(10000L, 250);
        • waitForJobExecutorToProcessAllJobs(10000L, 250);

Deployment option matrix

Productization requirements

  • Explicit
  • Docced
  • Example
  • CI covered (muodules examples and test-api)

Transaction demarcation technology

  • myBatis
  • user provided JDBC connection
  • JTA
  • JPA
  • Spring
    • Standalone (datasource + spring managing tx on jdbc connections)
    • JTA
    • ... ?

Server environment

  • Standalone JVM
  • Tomcat

Packaging

  • Serverwide
  • Activiti inside war

Database

  • MySQL
  • Oracle
  • PostgreSQL

Requirements Ideas

Business Analyst

  • Save abstract business process in a model repository
    • File based repository
    • Document repository
  • Author BPMN 2.0 processes
    • BPMN 2.0 spec compliant xml serialization (5.0) 
    • Browse process repository
    • Open existing BPMN 2.0 process (5.0)
    • Create new BPMN 2.0 process
    • Author abstract business process
  • Reporting
    • History data in DB (5.0)
    • BIRT reports
  • Process model collaboration
    • Involve people with a process
    • Discuss a process
    • Link process to other artifacts in the BPM cycle
  • Define task forms in a web browser
  • Simulation
    • Specify bell shaped probability curves
    • Specify scenarios
    • Produce report of execution run
  • Zero code approach
    • Produce executable models in web browser
    • Deployment from web browser
    • UDDI browser
    • Schema mapper
    • (Web) Service production.  Result of deployment is a new (web) service

Evaluator

  • Easy setup (installer)
  • Online demo

Developer

  • Java API
    • Stable PVM API
    • Stable Persistent API (5.0)
    • Query API (5.0)
  • Database persistence
    • Easy DB pluggability (5.0)
    • MySQL (5.0)
    • Oracle (5.0)
    • PostgreSQL (5.0)
    • DB2
    • MSSQL
    • MaxDB
    • Sybase
  • Limited number of tables
  • Very little external dependencies
    • Object API: only JVM
    • Persistence API: only ibatis
    • Other dependencies only introduced when the feature is actually used
  • Event listeners (5.0)
  • Timers (5.0)
  • Asynchronous continuations 
  • Process instance migration
  • Variables
    • Variable type system customization (5.0)
    • Transient variables 
    • System variables
      • Might be useful for complex gateways
    • Pluggable mechanism for variables referencing external entities (5.0)
      • JPA (5.0)
      • JCR Node
      • Hibernate
      • Out of scope: flushing updates to the referenced entity to the external persistence system
      • Others?
    • Process domain object ${this.customer.address.street}
      • external jpa references is enough for 5.0
  • Query for process instances based on variable values
    • Limited capabilities (5.0)
  • User provided process instance id (jbpm 4 business key) 
    • Can be replaced by searchable variable
  • Spring integration
    • Configure a ProcessEngine in spring bean xml
      • Allow ProcessEngine injection
      • Close ProcessEngine on ApplicationContext close
    • Transaction integration
      • User bean method defining the tx
      • Activiti service method defining the tx
      • Combine user domain object updates with process updates in a single transaction
    • Expression naming resolution includes spring beans
    • Spring bean xml resource as part of the deployment.  Resulting in a deployment scoped spring bean cache
    • Namespace handler
    • Process scope
  • Rules integration
    • See jBPM 4 example
  • LDAP integration
    •  Identity component pluggability (5.0)
    • Configure an LDAP store
    • How do we know which schema the data is stored?
  • Remote access through service API over REST
  • Async access to service API
  • Easy to add new activity type to the Activiti Engine
  • Easy to add new activity type to the Activiti Modeler
  • Task lifecycle pluggability
  • Eclipse tooling support
    • Create a new process project (or should we aim for SpringRoo only)
    • Create a new BPMN process file
    • Model the graphical part graphically.  Details in XML
    • Extended XML code completion
    • Auto create stub for non existent
  • High scalability and throughput

End user

  • Web based task inbox
    • Process defined tasks
    • Claiming tasks
    • Task forms
    • Internationalization for task forms
    • User defined tasks
    • Dynamic subtasks
    • Associating people
    • Discussions on a single task
    • Discussions on a process instance
    • Associating documents
  • Android task inbox
  • Mail forms: Complete a task by replying to a mail
    • Similar for SMS, IM, ...
    • Pluggable task interaction handler

Manager

  • View reports
  • Viewing other people’s tasks
  • Audit trails
    • Who submitted what data in certain task forms
  • Delegation when a user goes on holiday
    • Existing tasks
    • New tasks for which the engine would assign it to that user
  • Authorization
    • How to ensure that only a manager can look into subordinates tasks?

System admin

  • Manage jobs
    • View list of job failures
    • Retry failed jobs
  • View database content
  • View logs (javax.util software log files)
  • View activiti configuration file
  • Manage deployments
  • View process definitions
  • Manage process cache
    • Clear cache
    • View list of cached processes
  • Clear process definition cache
  • Manage multiple Activiti instance from 1 tool
  • Purging history
  • Manage security / authorization controls
  • Manage identity data
  • Manage the business calendar

Deployment

  • Run as a server wide install
    • Automatic installation and CI
      • Tomcat
      • BEA WLI
      • WebSphere
      • JBoss
      • Glassfish
    • Automatic initialization and destruction of the ProcessEngine(s)
      • How should the configurations be found?
  • Run on naked JVM
  • Run embedded into war
    • Documentation on how to do it
    • Automatic installation and CI
  • Run embedded into ears
    • Documentation on how to do it
    • Automatic installation and CI
    • Automatic initialization and destruction of the ProcessEngine(s)
  • Run as an OSGi bundle
    • Documentation on how to do it
    • Automatic installation and CI
    • Automatic initialization and destruction of the ProcessEngine(s)
  • Process as a service
    • Automatic creation/destruction of a new Activiti instance
    • Administer multiple Activiti instance from 1 tool
  • Cloud deployment
    • Automatic creation/destruction of a new Activiti instance

QA

  • Stable software
  • Reliable in production environments
  • Test coverage assurance for all features in the user guide

BPMN

  • Functional activity types
    • Human task
    • Java task
    • SQL task
      • Where/how to get the JDBC connection?
    • Email task
    • Script task (JSR 223)
    • Web service task
      • How to compose the message?
      • How to store the result?
    • ESB task
    • XML transformation task
    • Rules task
  • Control flow activity types
    • Start event
      • Single start event
      • Multiple start events
      • Specific start event types?
    • Exclusive gateway
      • Transition conditions
        • UEL method expression
        • UEL value expression
        • Expression calculating outgoing transition name
          • UEL method expression
          • UEL value expression
          • Decision table
          • Rules evaluation
    • Parallel gateway
    • Embedded subprocesses
    • External subprocesses
    • End event
      • Does BPMN give us the option to choose between end process instance or just end execution?
  • Timers
    • Business calendar
  • Variable declarations
    • Input/output sets?
  • No labels