The purpose of this blog is to give the reader insight into the innovative approach that went into the development of the Fluid Core, the real engine that underpins the very uniqueness of Fluid.
Our extensive research into various existing workflow systems, rendered an indisputable conclusion – we needed to develop from scratch. In our view, the solutions available in the market simply did not cohesively deliver on the key criteria required by modern businesses:
- Integrability – integration is always going to be a requirement when implementing a workflow system and the workflow could even be required to act as the integrator to hone a single point of truth over a multitude of systems. Furthermore, a mechanism for other systems to apply changes to the workflow engine must be provided for.
- Adaptability – a workflow system must deliver an exceptional ability to adapt, so that customizability and integration-ability can be easily achieved.
- Performance – all facets of a modern workflow application demand outstanding performance. This was the biggest driving force for Fluid i.e.
- the ability to have distributed memory object caching
- multitenant-capable full-text search engine as part of the core workflow thereby greatly empowering the core, as opposed to separating and keeping it with the rest of the workflow system features.
- Ease-of-use – the workflow system must be easy to use for the end-user, as well as any party doing integration development into or out of the system; as Occam’s razor sates “The best solution is usually the simplest”.
- Audibility and Traceability – a trail for ALL actions is a fundamental for any workflow application and it is how well an application does this that is key.
One might say that it is easy to find fault with that is already out there and tangible but it was our vision to revolutionize the workflow space … and we put our money where our mouths were, so to speak; and commenced on a few years of development to produce a core that is not only solid in its expected performance; it is unique in that it provides for the above AND the periphery, often under estimated requirements like integration-ability, content management and superior business intelligence as a standard.
It is our contention, that 80% of development and business needs are already catered for in the Fluid Core. It is the relevant business or industry requirements that remain to be delivered – AND these are easy to configure, change and implement.
The Fluid Core has cut through complexity to provide a simple solution.
Our Innovation lies within …
It is imperative that Fluid BPM remain flexible and not be dependent on a framework that could become discontinued or inferior over time, but rather it should be able to switch between frameworks and libraries without affecting the core function, thus providing for superior product life-span.
Some of the obstacles we faced, and successfully resolved, were:
- A flexible application program framework to allow for changes on 3 levels without downtime:
- Workflow program e.g. generate Word document from captured data, such as a contract
- Scheduled action program e.g. scheduled reports
- Form capturing program e.g. data validation.
- The ability to scale Fluid BPM on-site or in the cloud. Taking advantage of available technologies to each stack i.e. “enriching the eco-system”
- A complex form designer that would “grow” a form as time goes by, rather than fixing its state e.g. the capturing of basic information of an individual is part of a data capturing phase BUT storing far more data relevant to the individual and where the form moves in the workflow is required WITHOUT losing the relationship between the information
- A role based permission engine that would allow for very detailed permission configuration
- The ability to apply workflow changes in real-time
- The retrieval and querying of large amounts of data quickly and effectively
- To allow the customer a secured and managed way in which to add highly customized programs
- The ability to store a complete configuration as a single template to:
- Environment replication
- Deployment from development to testing to production.
Our Innovation was furthered by ….
We incorporated other technology components to enhance our Fluid Core as it didn’t make sense to reinvent the wheel when superior technologies already existed; and this was done for several reasons, which include:
- To allow a customer maximum flexibility and not limiting the customer to a single set of features and components. There is no aspect of Fluid that cannot be modified from external source or from within the workflow engine itself, providing the customer with all the flexibility required to meet their business needs. So, Fluid provides a business solution quickly, that is technologically sound and allows change, continuous improvement and adaptation as … the only certainty is change.
- To provide a customer with a full enterprise solution by enriching and integrating well known and trusted frameworks with their existing environment and software suites – This is truly what separates Fluid !
Fluid Flavour of …
The philosophy for the Fluid BPM workflow is to keep the rules simple and to apply the step approach to perform complex operations i.e. it’s much easier having a Java custom program perform complex operations than it as part of a workflow e.g. integrating into another system that makes use of a proprietary API – incorporating that into rules would be very difficult with no real benefit.
- Electronic form / Document enters a workflow that consist of steps.
- Each step has a set of rules (Fluid Workflow Syntax, compile and execute):
- Entry rule
- Step type function execution
- Sending an e-mail
- Capturing an e-mail
- Retrieving information from an external database
- Executing a custom program through the Fluid-API.
- Exit rule
- View rule (To obtain work items based on certain filter criteria)
- When a work item completes a workflow, it may enter another workflow or be archived.
Fluid also allows one to execute workflow rules in real-time. Allowing for “non-human” interactions (such as fraud rules) to be processed using the Fluid BPM core abilities. The Fluid-API exposes all Fluid functionality in the form of an API, meaning there are no limits for a customer to integrate directly into Fluid, or have Fluid integrate out into another customer’s product.
Furthermore, there is no downtime when making changes to custom programs. Simply upload the new 3rd part program, and changes are reflected immediate. This is achieved through the Fluid BPM Java Classloader.
Fluid allows one to export a complete configuration securely.
Making it easy to move between environments and creating structural backups.
Fluid Innovation – In conclusion ….
In addition to all the above unique aspects, the Fluid Core provides all the standard workflow requirements like:
- Graphical UI for workflow mapping
- Form and field modeling
- Highly secure role and access management
- Document integration
- Workflow pattern flexibility
- Notification framework (Email / SMS etc.)
- SLA and User performance reporting.
However, Fluid takes each of these aspects to a new level, providing a customer with workflow that will work for their business now and going forward. Fluid’s philosophy is to provide 80% of the solution “out of the box”, the remaining 20% is then achieved by the phenomenal way Fluid BPM allows for swift integration into its eco-system.