"Digitalize your Business"

Browse the innovation items of the project

Back

2.3 DMN to CAMEL Mapping

Logo

2.3 DMN to CAMEL Mapping

Research Problem

The DMN-to-CAMEL-Mapper prototype reduces the technical complexity of the software component allocation by mapping high-level business requirements to the low-level cloud-specific descriptionspecifications.
As business experts still require technical assistance for consuming cloud services and allocating the software components, the DMN-to-CAMEL-Mapper aims to at create creating a way to semi-automatically handle the software component allocation and configuration based on high-level parameters. In this respect the Decision Model and Notation (DMN) is appliedexploited.
DMN is an industry standard for modeling and executing decisions that are determined by business rules. The DMN standard provides a human-readable common notation for modelling and automating decisions. We choose decision tables (DTs) to represent decisions as these are well known to business experts.
Kyriakos Attempt: SMEs or start-ups desire to move to the cloud in order to exploit the main benefits that cloud computing brings about, like reduction of cost. However, they do not have the appropriate know-how and expertise in order to support such a move. By considering the cloud-based allocation of business processes (BPs), business experts really have the need for a tool which provides technical assistance in consuming cloud services and allocating the software components utilised by the BP. Such a tool should be able to reduce the technical complexity of such software allocation and enable the business expert to pose rather high-level allocation rules at the business level. Then such rules could be transformed into low-level technical allocation descriptions based on the current context in a deployment specification language like CAMEL, i.e., the language being used in the CloudSocket project.
Solution Approach
Kyriakos attempt slightly continued also here:  The DMN-to-CAMEL-Mapper prototype covers the aforementioned gap by being able to map high-level business requirements to the low-level cloud-specific software component specifications. In particular, this prototype enables the modelling of allocation rules in the DMN language which are then translated to a technical deployment model in CAMEL. DMN has been selected as an industry standard for modeling and executing decisions determined by human-readable business rules. Among the various supported forms to represent decisions, decision tables (DTs) were selected as these are well known and familiar to business experts.

A high-level overview of the DMN-to-CAMEL-Mapper architecture is provided in following figure. To execute a mapping, the prototype provides a REST interface as well as a web-based UI. Due to the use of the Swagger REST API description, it is possible to auto-generate also clients for all common programming languages that eases the integration in existing systems. Both DMN tables and CAMEL provider model fragments for software components are stored in respective repositories. These repositories are then exploited by underlying components to the REST API: the Requirement Mapper which takes care of mapping user requirements to respective criteria values, the DMN Execution Engine which takes care of evaluating the criteria values over the DMN table in order to reach the final decision(s) and the CAMEL Composer which takes care of unifying all CAMEL provider model fragments into an overall CAMEL deployment model.
As a running example, consider the case of the SendInvoice BPaaS where the DMN-to-CAMEL-Mapper can be used for creating deployment model fragments for BPaaS software components. In this case, only the InvoiceNinja software component is involved for this BPaaS. To provide support for the allocation of this component, the respective CAMEL deployment model fragment should be generated based on two main criteria: (a) the desired cloud provider; (b) the desired customer level (gold, bronze & silver). By providing values for these two criteria, a certain VM flavour from the required cloud provider is selected. To support such selection, a certain DMN table needs to be defined via using a web-based editor, like the one offered by ADOxx or Camunda DMN Editor. Once such a table is defined, it is registered at the DMN-to-CAMEL-Mapper. Upon successful registration, the REST API is offered in order to provide values to the selection criteria and get back the CAMEL deployment model fragment required. For instance, the user could provide the UULM & gold as values for the two criteria by using the online instance of the REST API of the DMN-to-CAMEL Mapper.  

The DMN-to-CAMEL approach enables the modelling of cloud applications by using non-technical business values relating to business requirements, which will be mapped to the technical CAMEL model.
In terms of a running example, the DMN-to-CAMEL-Mapper can be used for creating different kind of deployment models for the ChristmasCardDesigner service. An example scenario, which can be solved with the prototype, is the following: The CAMEL deployment model fragment should be generated based on the desired cloud provider and the customer level bronze, silver and gold, where the business values are mapped to the respective virtual machine flavours. Therefore, the required DMN tables need to defined, which can be edited via the web-based editors offered by ADOxx.

Defined DMN tables are registered at the DMN-to-CAMEL-Mapper and are executed via the provided REST API. The result of an exemplary call to get the deployment CAMEL fragment for the parameters cloud provider = UULM and customer level = gold can executed with the online instance.

A more complex example with connected DMN tables could be used to determine the placement of the ChristmasCardDesigner software component based on the following business values: software state, customer level, privacy, and scalability. A first table can determine if the software component should be deployed on IaaS if the software state is final while PaaS is selected when the software state is development as PaaS supports the easy integration of continuous delivery of new software versions. Based on the decision connected tables can select the actual cloud provider, either a IaaS or a PaaS provider, based on the customer level and privacy values. Finally, is also possible to derive adaptation actions based on the scalability values, e.g. expected amount of users. In the end, a CAMEL model is returned, comprising the model fragment for the selected cloud provider and a model fragment with adaptation actions.
 

Architecture

A high-level overview of the DMN-to-CAMEL-Mapper architecture is provided in following figure. To execute a mapping, the prototype provides a REST interface as well as a web-based UI. Due to the use of the Swagger REST API description, it is possible to auto-generate also clients for all common programming languages that eases the integration in existing systems.

 

Information

wp3_allocation_dmn_to_camel.mp4
CloudSocket_D3.4_BPaaS-Allocation-Execution-Environment-Prototypes-v1.0_FINAL.pdf
CloudSocket_D3.5_BPaaS-Monitoring-Evaluation-Blueprints-v1.0_20161223.pdf
CloudSocket-D3.3-BPaaS+Allocation+Execution+Environment+Blueprints-v1.0.pdf
A DMN-based Approach for Dynamic Deployment Modelling of Cloud Applications
CloudSocket Wiki

Use

Demo

Extend

Github Repository

Additional Information

Originator: Daniel Seybold (UULM)
Technology Readiness Level: 5
Related CloudSocket Environment: Allocation