Workflow software engine for todays high performance processing demands.
Our cDevWorkflow product, utilizes 2 high performance workflow software engines to power its core processing power to the max. While one workflow software engine performs the processing of workflow instances and the other engine performs all the graphical rendering required. cDevWorkflow’s team developed these workflow software engines driven by the need for processing power and creating that “Next Generation” high performance BPM solution.
Today, the key to workflow software engines is performance, performance, performance. Without these powerful performance engines at their core the “Next Generation” BPM products will not be able to meet the business level processing requirements.
Workflow software engines can be designed with many different architectures. Our cDevWorkflow team designed its engine around a software design pattern called “Distributed memory machines”. Where the design pattern utilizes the following:
- pre-processing optimizations
- in memory caching
- in memory compilation
- in memory evaluation
- object caching
Utilizing the above software techniques, engine is able to provide highest performance.
All software engines are limited by the hardware they are execute on. We minimize the hardware ability to impact our workflow software engines performance by using distributed processing as the key for handling load balancing and fail-over. This distributed model uses SMART technology to determine how the load should be distributed and process handling by each server.
Looking toward the future, we are developing ways of distributing the load as well as, distributing certain process steps to specific machines. Certain software operations such as Optical Character recognition (OCR), rendering a PDF document, high performance computations can take a toll on the workflow software server. In the very near future, cDevWorkflow will insure a level of performance or throughput by allocating these workflow processing needs, especially the requirements with high server utilization burdens, to a separate server for processing.
Since system performance is always a delicate subject matter, we have designed our workflow software engine to support process throttling. Process throttling provides the designer or end user to select the level of system performance that meets their needs. That may sound challenging and complicated, but it is not. This is flexibility. For the first time you decide how your workflow software engine runs.
With the example of driving your car 100 miles. You can get there quickly and use a lot of gas or you can get there slowly and use less gas. The amount of miles or work to be completed remains the same.
Consequently, if we had 100 documents to process we can run our software engine to process these documents as fast as possible. We will consume a lot of network, memory and CPU resources in the process. Or we might decide to process the work load over a 24 hour period using a lot more hours and considerably fewer resources. That is flexibility. This type of innovative thinking is what to expect with cDevWorkflow, the “Next Generation” BPM solution.
Rendering engine on the other hand utilizes a different software pattern to render Workflow Definitions and Instances graphically. Graphical rendering processes are very CPU intensive, but given today’s video cards, this process can yield very high performance based on the video hardware. Today most high-end video cards have many GPU – Graphical processing units or graphics processing CPUs. cDevWorkflow takes advantage of this hardware to process most of the graphics using parallel computing.