Pros and Cons of Process driven vs DB driven task

Certified Senior Developer

Can someone please explain what are major pros and cons of process driven and  db driven task and in which use case we should consider db driven and process driven approach.

  Discussion posts and replies are publicly visible

Parents
  • Certified Senior Developer

    Hello  

    Depends on your application design requirements and volume of instances that would be triggered and also archival policies.

    Process-Driven Approach
    Pros:
    1. Great for workflows with tasks, approvals, and timers.
    2. Built-in tracking, SLAs, and audit trails.
    3. Easy and quick to understand business flow.
    4. Most of the data is held in the pv's.
    Cons:
    1. Long-living instances
    2. Data held in process instances is hard to report on sometimes.
    3. More effort to maintain over time.

    DB-Driven Approach
    Pros:
    1. Scales better and all business data is stored in the database.
    2. Easier to report on and update data.
    3. Cleaner and faster for high-volume applications.
    4. Would help in maintaing better perfomance as short lived instances are designed.
    Cons:
    1. You need to build your own audit if needed.
    2. More design is to be done manually as starting and ending tasks is to be designed manually

Reply
  • Certified Senior Developer

    Hello  

    Depends on your application design requirements and volume of instances that would be triggered and also archival policies.

    Process-Driven Approach
    Pros:
    1. Great for workflows with tasks, approvals, and timers.
    2. Built-in tracking, SLAs, and audit trails.
    3. Easy and quick to understand business flow.
    4. Most of the data is held in the pv's.
    Cons:
    1. Long-living instances
    2. Data held in process instances is hard to report on sometimes.
    3. More effort to maintain over time.

    DB-Driven Approach
    Pros:
    1. Scales better and all business data is stored in the database.
    2. Easier to report on and update data.
    3. Cleaner and faster for high-volume applications.
    4. Would help in maintaing better perfomance as short lived instances are designed.
    Cons:
    1. You need to build your own audit if needed.
    2. More design is to be done manually as starting and ending tasks is to be designed manually

Children
  • Certified Lead Developer
    in reply to Konduru Chaitanya

    I design tasks in a way that their max age does not go beyond 3-5 days. A user must be able to either complete a task "now", or make it a follow-up so the task sleeps for a defined period. This follow-up is no active process instance, but a simple record.

    This combination is a very neat solution and empowers users to manage their work load and task list.

    And I also think that a task with no deadline, or a deadline of weeks or months, is probably not a good candidate for a user input task.