Business Process Automation within an In-Memory Platform
Businesses are increasingly deploying in-memory technology as next-generation data processing and storage platform for many core business applications, i.e. ERP, CRM, SCM and BI. Contemporary in-memory databases combine sophisticated forms of data organization and advanced concurrency control of so called “NewSQL” databases with using main memory as primary storage location. Placing large amounts of data in main memory leads to a multiple-digit speed up for data-intense calculations. Additionally, in-memory Database Management Systems (DBMSs) partially supersede the traditional three-tier architecture by allowing to place business logic in the data tier, i.e. bringing the computation close to data by executing procedures directly inside the DBMS without the need for intermediate data transfer between application and database. When data-intense program code is pushed down to the database, the relevance of middleware applications may be challenged as well. At the same time cloud-based Integration Platforms as a Service (IPaaS) see a market uptake, which among others offer shared business objects that can commonly be used by multiple applications. In the consequence applications can directly exchange information with each other on database level, instead of relying on broker-mediated, message-based communication over a communication infrastructure.
Because of its transactional and analytical performance combined with an advanced database programing model, in-memory based integrated business platforms can mark an inflection point for traditional Business Process Management Systems (BPMSs). Now business process automation is not tied to the middleware layer anymore but also can be directly implemented in the data layer.
Based on a recent proof-of-feasibility by Balko and Barros (2014), this thesis fundamentally enhances the authors’ existing in-memory Business Process Automation (BPA) approach and provides a novel concept for automating business processes, containing asynchronous process fragments that depend on external actors, i.e. BPMN 2.0 catch events that rely on messages or timers. Asynchronous events are relevant for both human-to-machine interaction (e.g., user inputs) as well as machine-to-machine interaction across the border of single applications. These BPA capabilities are implemented with the native programming model of the SAP HANA in-memory database.
Locating the BPA engine in the data layer yields various benefits. First of all, the engine does not depend on public interfaces the applications offer, but it can directly interact with applications on various levels of granularity, e.g. directly react to arbitrary database state changes. Furthermore, in-memory databases allows for real-time analytics and provide Complex Event Processing (CEP), which can be used to steer business process executions. Lastly, both the cost of developing and running BPA solution can be lowered. The first one by using the concurrency control, transactional consistencies, scale-out and fail-over properties provided by the DBMS. The second one by rendering dedicated hardware for a standalone BPMS obsolete. Having the non-functional BPMS capabilities readily available, the focus of this thesis is on functional conceptualization, implementation and validation.