$ thought | blog

Place to serialize my thoughts…

Things to ponder with Alfresco (Part-II: Workflow Design)

with 2 comments

Complex Workflow Designs  

Complex Workflow Designs

As I mentioned in my earlier post that I will be writing few more posts about the Alfresco. This is second installment in the series. If you are thinking to use Alfresco at the center of your application then it is hard that it will not have a workflow. If your business process is just more than simple workflows mentioned in Alfresco, then for sure you have to write your own business model definition.

If you are planning to do so, here are few lessons I have learned –

  • Simplicity – We got lot of benefits just by keeping our process definition simple and neat. Don’t add unnecessary steps which will cause confusing steps for the end users.
  • Right things at right place – Alfresco is very flexible in terms of business logic implementation. You will always have multiple options to accomplish same operation. Web Scripts, Java classes or Web Service and you will be tempted to use different things at times. Decide one approach and stick to it. Put as much as logic in the workflow and don’t spread across the workflow business logic outside the workflow.
  • Loops can be evil – Loops in the workflow actions can be daunting at times. Rethink on the circular steps in the workflow and make sure you are not violating the “simplicity” rule. It might be difficult sometimes to achieve these steps.
  • Blocking is good sometimes – Next bigger decision should be synchronous operations or asynchronous. All the operations which might result in inconsistent states should be synchronous i.e. transactional. Asynchronous operations are better in terms of responsiveness. Sending e-mails could be asynchronous tasks as you people can receive emails after couple of seconds, but if it is related to pushing records to a queue, let it be synchronous. You got the idea!

You are advised to check Alfresco wiki for more details. There is plenty of documentation available for the administration and authoring custom workflows.

Written by Sachin

September 21st, 2008 at 5:17 pm

2 Responses to 'Things to ponder with Alfresco (Part-II: Workflow Design)'

Subscribe to comments with RSS or TrackBack to 'Things to ponder with Alfresco (Part-II: Workflow Design)'.

  1. Hi Sachin, good post.
    I have one question about this.. but first i will describe you my backgrounds:
    I have strong skills in JBoss jBPM and
    in Alfresco I am very newbie.

    My question is the following:
    It’s a good approach use jBPM with Java ActionHandlers and AssignmentHandler and not use the JavaScriptActionHandler provided from Alfresco?
    Because right now Java is not our problem but JavaScript and WebScripts are too new to us at the moment.

    salaboy

    3 Oct 08 at 11:09 pm

  2. @salaboy

    If you guys are not comfortable with Webscripts then it shouldn’t be problem at all. You can proceed with configuring your all logic in java actions to handle the operations. In fact, I will suggest you to do that. In alfresco, it is very easy to deploy and maintain actions.

    Good Luck!

    Sachin

    4 Oct 08 at 8:44 pm

Leave a Reply