In OutSystems is BPT (Business Process Technology) een belangrijk onderdeel om bedrijfsprocessen te integreren in je applicatie. Hoewel iedereen die in aanraking komt met OutSystems de term BPT kent, zijn er talloze voorbeelden die dit niet doen. Dit terwijl een BPT-proces ondersteunend kan zijn in het simuleren van een bedrijfsproces in OutSystems. Vaak wordt daarvoor een Timer gebruikt in plaats van een BPT-proces.
Om dieper in te gaan op wat BPT is en wat het verschil is tussen een reguliere BPT en een Light BPT moeten we eerst weten wat een BPT nou precies is. Met BPT kunnen ontwikkelaars bedrijfsprocessen automatiseren. Dit modelleren wordt, net als de rest in OutSystems, gedaan op een visuele en intuïtieve manier. Deze processtromen kennen verschillende kenmerken waaronder: geautomatiseerde activiteiten, menselijke handelingen, beslismomenten en alternatieve start momenten
BPT-processen worden voorzien van real-time monitoring. Dit betekent dat informatie rondom een proces kan worden ingezien via Service Center of query’s uit te voeren op de proces log tabel in de database. Door middel van deze informatie is het mogelijk om te zien in welke status iedere individuele actie binnen een BPT-proces zich bevindt. Processen kunnen via Service Center worden gelocked en op suspended worden gezet.
Per server die zich binnen het OutSystems landschap bevindt kunnen er 10 BPT processen parallel gedraaid worden.
Light BPT is, zoals de naam al doet kenmerken, een lichtere vorm van een BPT-Proces. Met de komst van Light BPT komen er een aantal voor- en nadelen. Het verschilt per bedrijfsproces of het gebruik van een Light BPT van pas komt of niet. Ook Light BPT is, net als de reguliere BPT, op een eenvoudige en visuele manier te implementeren in OutSystems. Light BPT wordt voornamelijk gekenmerkt door dat de threads per server wordt opgeschaald naar 20 threads in tegenstelling tot 10 threads bij een reguliere BPT-proces flow. Dit komt omdat de functionaliteiten gelimiteerd zijn. Waar er bij de reguliere BPT gebruik wordt gemaakt van een uitgebreide logging, wordt dit weggelaten bij een Light BPT. Als je toch nog logging zou willen tijdens een Light BPT proces zou je dit er zelf in moeten bouwen door eigen gemaakte code. Een Light BPT mag alleen één ‘Automatic Activity’ bevatten die door middel van parellel processing wordt uitgevoerd. Light BPT wordt alleen getriggerd wanneer er een activiteit plaatsvindt op een entiteit. Om gebruik te maken van deze functionaliteit is het een vereiste dat er in ServiceCenter, op module niveau de setting ‘Light process execution’ wordt aangezet;
OutSystems zal aan de hand van deze instelling een BPT-proces automatisch verwerken als ‘Light BPT’ indien het voldoet aan de Light-BPT voorwaarden. Nu we het verschil weten tussen een BPT en een light BPT-proces is de vraag wanneer je welke soort BPT het beste kunt inzetten.
Zoals aangegeven wordt er dus bij een BPT-proces gelogd en zijn er meer mogelijkheden in ‘human activities’. Dus als een proces bijvoorbeeld een goedkeuring (check moment) of een wachttijd nodig heeft, is het handiger om een BPT-proces op te zetten. Kom je in een situatie terecht dat je duizenden processen achter elkaar uitvoert, dan is de keuze om een Light BPT-proces toe te passen. De kracht van de 20 threads komt hiermee tegelijk goed naar voren. Het is dan van belang om geen wachttijden of human activities in het proces te hebben omdat dit niet mogelijk is tijdens een light BPT-proces.
Erwin Edel & Jorick van Rijs– OutSystems Consultants bij Conspect