During last year’s NextStep, Johan Den Ouden and Shahin Keshavari presented Light BPT, the fastest way to execute business processes with the OutSystems platform.
If you’re unfamiliar with BPT, or Business Process Technology, it is our methodology for handling routine business tasks within OutSystems.
International lawfirm VdA uses BPT to handle new client cases as they arrive. Their administrative tasks, once handled manually and meticulously by a lawyer, are now handed off to a BPT process which pulls case files from a central database, imports them into the lawfirm’s document management system, creates workflows, and assigns tasks to individual lawyers.
And as soon as a claim arrives in their inboxes, claims manager Van Ameyde uses BPT to automatically trigger a customized process workflow according to each customer’s Service Level Agreement. Van Ameyde’s BPT automation reduced their claim resolution time by 30%.
OutSystems BPT has always provided a robust framework for building and scaling processes that met your business needs — and now, Light BPT makes them automatic and faster than ever.
In exchange for reducing the number of concurrent Activities to one, removing callbacks, output parameters, and process logging, Light BPT doubles the number of concurrent threads available to each process, executes them asynchronously in the background, and increases throughput by an order of one magnitude (10x).
Is Light BPT For Me?
If you’re already working with BPT, your existing processes may benefit from a marginal or wholesale migration to Light BPT. Specifically, any data-driven event-handling work is ideal for the lighter version of BPT.
If the output of the work performed is unused or negligible, and retaining process logs is unnecessary for your purposes, Light BPT can significantly reduce your server load by handling the work in a highly-scalable and asynchronous way.
For example, if you currently schedule BPT processes on a repeating timer to perform work in batches (even when there is nothing to process), you will gain a boost in throughput by simplifying the work and queuing up a Light BPT process if and only if you have new data to handle.
Light BPT processes run in the background and on a separate thread pool, meaning, they execute asynchronously and handle work as it arrives.
And as of OS 11, the arrival of work comes in the form of a new record. The creation of a new Entity record is the only action that may trigger a Light BPT process to begin.
At this time, non-creation events (updates & deletes) and manual invocations may not trigger a Light BPT process, however, Cláudio Oliveira has a workaround for those who need to launch a light process under alternative conditions.
As for error handling, Light BPT processes automatically restart in the event of uncaught exceptions.
The only records of failure will be found under Monitoring > Processes > (your light BPT process), indicated by the alert icon and a status of, “Active with Errors.” Error messages and debugging data is not displayed or collected.
If your process continues to fail, the platform will increase the time between attempts to a maximum of 24 hours until the process succeeds.
To identify errors, we recommend you handle exceptions, report them to a separate error queue, then throw an uncaught exception to force your Light BPT process to restart.
Getting Started with Light BPT
Before you can build your first Light BPT process, you must enable Light BPT in OS 11 by following the steps outlined in Design Scalable Database Queueing Using Light Processes (for OS 10, see here).
For a complete working module, check out Johan Den Ouden’s and Shahin Keshavari’s Light BPT demo on the Forge.
To build your first Light BPT process, switch to the Processes panel, highlight the Processes directory, and type Ctrl + N to create a new process.
With your new Process selected, change the Expose Process Entity attribute to No.
Set a Launch On action. Remember, you may only invoke a Light BPT process in response to a create entity action.
Open your new Light BPT process and drag a single Automatic Activity onto the process workflow.
This Activity is the only one which may occur during the Light BPT process.
From here, you may treat the Activity as any other server-side action, invoking other server-side actions and performing any other work necessary to your process.
Caveat: as mentioned earlier, Light BPT processes run asynchronously in the background, and therefore, in their own session. Session variables and GetUser() will remain unset unless you assign them during execution.
Light BPT Tech Talk
Witness the performance gains firsthand and learn even more about Light BPT by watching Johan and Shahin’s tech talk from NextStep 2019: What Is Light BPT and How Can You Use it for Parallel Processing?
And if you love keeping up with all of our emerging technologies and platform upgrades, sign up for NextStep 2020.
This year’s NextStep has gone virtual to accommodate travel and in-person gathering restrictions, and it’s open to everyone, for free.
NextStep is the only developer-centric conference that empowers our low-code developers to take full advantage of our platform capabilities and benefits as we role them out.
Stay ahead of the curve and in lock-stop with our masterful VPs by joining us remotely September 15 and 16 for 2 days of technical sessions (100+ hours of content).