Are you building a workflow system for your SaaS Application
Automating the manual business processes is the need of the hour and every SaaS applications has one or the other form of Process Automations. But what is Automation in the Context of SaaS Application? It is a process of automating a series of individual tasks or activities orchestrating into a sequence and executing it either automatically or manually.
For Instance, in a simple Content Management System [CMS], Paul may write a document, it has to be forwarded to some curators [Jack] to review, once reviewed it will be sent to the publisher, after publishing it might go for the administrator approval, finally the administrator approves it. This is a simple content approval process for a CMS system. Is it feasible to hardcode the entire orchestration for a SaaS application? No, because the process can always change between organizations .Similarly, the person or roles to which the activity is assigned might always vary. So, one has to effectively design a common automation process thereby enabling the customers to create their own workflow by themselves according to their need.
On the Other hand Business Rules is another piece of technology which will help the solution providers to externalize the actual business logic or validation from the typical procedural code. These two components has to go hand in hand to effectively automate a business process end to end and give the opportunities to business users who often commands the developers to implement such stuff in the application.
Building Web based Multi Tenant Workflow solutions is relatively intricate in nature than building desktop based workflow engine, because the workflow engine has to offer much intuitive design and rich tools and components to self sufficiently build and execute a workflow by the power users. In Contrast, web based multi tenant based workflow run time has to execute different workflows or process based on the context of the tenant, the system has to carefully isolate the workflow instances and its relevant data which is the most critical part. Therefore, any design flaw or buggy code can simply break the entire system.
The Workflow system is divided into 3 major parts,
1. Workflow Designer
2. Workflow Engine
3. Workflow Dashboard
Workflow Designer
The designer is the web based interface using which the power users will orchestrate the automation process. Hence, the designer must be very intuitive and easy to use and must provide as much information for the end user to build and test the workflow online. The design elements must accompany Task/Activity Containers which is responsible for executing the task, tasks/activities which are the building blocks of Workflow, Connector & Routers etc.
Workflow Engine
It is the heart of the entire process of automation and solely responsible for executing the workflows. This Workflow engine reads the configuration of the particular tenant and runs the instance of the workflow based on the orchestration specified by the customer. Automating input is part of the engine which forwards the input or data processed by one activity to another. In the CMS, the content ID is preserved and forwarded to subsequent activities to process the entire workflow. The input could either be in-process Objects or it could be XML, so the activities should be well equipped Automation of Workflows also involves manual intervention, for instance creating content is a manual activity, then submitted for screening, so the screening can either be done manually or automatically through an algorithm which will automatically look for spelling mistakes and other issues and then assign the request to a user who has to publish it Live. Hence, a process might involve both automated resources as well as Manual resources to get the work done.
Other important aspect of Workflow is the ability to reuse the workflows, most of the times the workflow’s configuration can be either reused as it is or tweak a little to suit the individual organizations needs
Workflow Dashboard
It is the place where one goes and checks the current status of workflow. The dashboard must give detailed information about the execution status of each workflow instance, for instance when the activity is assigned to publisher, the publisher must be able to see and act on the particular assignment.
What Techcello has to Offer
Techcello, a Multi Tenant SaaS application development Framework provides Workflow as one of the core components, which is weaved with multi tenancy in every aspect of the workflow engine and encapsulates the Workflow design norms and guidelines discussed above. Cello workflow Engine is crafted in SOA based architecture and it can seamlessly interact with external third party system as well as independently scale whenever required. Cello provides an intuitive Web based workflow features Point and click, drag/drop, HTML5 compliant designer which is more end user friendly. Power users will be able to quickly design a workflow, test and execute without requiring any Technical skill. It comes with significant features like Versioning, WF cascading detailed dashboard and so on.
Cello provides general activities such Approval Activity that facilitates the approval process, a Notification activity, which automates the process sending Email, FTP or System notification, an Web Service Integrator activity to seamlessly integrate any kind of endpoints such as REST or SOAP etc.
The Business Rule [BR] component of Cello is also integrated with the Workflow engine, so the business rules created within the system can also be applied and used for Conditioning or validation during the Workflow execution. Apart from BR, WF designers can also use Task conditions i.e. validating the output of the previous activity, Code Conditions, helpful to write C# Code conditions as evaluator, Stored Procedure Validation, in case if the Validation logic is written in SQL Stored Procedure object.
Please feel free to contact us to know more about Cello Workflow in detail