Jarvis Pizzeria: Summary of a Decision Model Use Case

We have written a blog series of 6 posts describing a Decision Model Use Case. Because it concerns a series of multiple blogs and it may be difficult to oversee the whole. We will outline the full picture in this blog.

Summary

The Use Case is about accessing a Decision Model via ICS from PCS. The data used in the DM is retrieved from a Business Object in ICS and sent to the DM. The DM request data and the DM outcomes are stored in a BO in JSON format via an integration. Continue reading

Jarvis Pizzeria: Input and Output Storage of Decision Model Invokes

In this blog we describe a way to store the Input and Output of Decision Model Invokes (in JSON format).

From an administrative point of view, we at Jarvis believe it is important that we can always see how we have achieved certain results. In this case this means that we want to know with which variables the Decision Model was invoked and what the outcomes were. How we do this is subject of this blog.

Saving the results is e.g. possible after performing the ‘Calculate Delivery Time’ integration in the Process.

However, we have chosen to do this in the integration that we have already created (Managing DM Masterdata Validity Period) so that the process is not polluted with this technical step. As will appear later in this blog, we have to slightly update the payload of the call.

The integration looks like this at the end of this previous blog.

And here the integration as it should be. The DMStorage step with associated mapping has been added.

Continue reading

Jarvis Pizzeria: Managing DM Masterdata Validity Period

In a previous blog we described how to retrieving the masterdata from a VBCS Business Object. In this blog we will expand this further with a validity period for the masterdata.

Now let’s expand our scenario (see previous blog)  a little further. Currently, one of the means of transport in the Decision model is a bike. Many bikes in the Netherlands are currently being replaced by an electrically powered version. Jarvis Pizzeria will also replace regular bikes with electric bikes from the new year. The change must also be implemented in the system (read Decision Model).

Continue reading

Jarvis Pizzeria: How to manage Masterdata of a DM (part 2)

In part 1 of this blog we moved the masterdata from the Decision to the Integration. In this blog we take the next step by retrieving the masterdata from a VBCS Business Object.

In the previous blog we ended with a hard-coded mapping in the ICS integration to the Decision service.

But moving the hard-coded data from the Decision service to the Integration is a waste of time. Or according to a Dutch saying “lead over old iron”. Again, a component must be reactivated in case of changes in the value ​​of the variables.

Continue reading

Jarvis Pizzeria: ORDS-CRUD Generator

The Auto REST feature allows you to quickly set up REST services on your ORDS enabled database. This feature allows users wanting to quickly enable database objects and run basic queries. Users wanting more complex operations will need the Full REST development setup.

In order to use the Auto REST functionality, only a few actions are required. Although the amount of work when using the Full REST option is not too bad, it is still considerably more than with Auto REST.

To reduce the effort difference between Auto REST and Full REST, fellow Jarvis owner Rick has developed an ORDS-CRUD generator. With the help of this tool it is possible to generate CRUD templates for REST enabled resources (e.g. an address table).

The tool is available in a VBCS and a JSFiddle variant.

Remark: the tool only just exists, and new functionalities / possibilities are added regularly. So keep following the development.

Click here to read the complete post.

Jarvis Pizzeria: How to manage Masterdata of a DM (part 1)

This blog is a follow up of Using a DM in ICS, but can also be read as a separate item.

We have implemented the decision table below in a Decision Model (see Using a DM in PCS) and we have made the Decision Model accessible through an integration (see Using a DM in ICS). But now let’s look at the data in this table.

Suppose that it turns out that deliveries by scooter at distances above 5 Km turn out to be faster than expected (because this is usually outside built-up areas, where there is less traffic).

For this we have to adjust the CalculateDeliveryTime in line 6 of the table from 20 to e.g. 18. Once this is done we must activate a new snapshot. Because the integration of the previous blog refers to the LATEST snaphot version, no further adjustments are needed. The Decision integration can be used unchanged.

Continue reading

Jarvis Pizzeria: Using a DM in ICS

This blog is a follow up of Using a DM in PCS, but can also be read as a separate item.

In the previous blog we showed how to embed a Decision in PCS. We described how the hard-coded relationship between a Decision and Process (PCS) can be prevented by using an ICS integration. In this blog we describe step by step how this integration can be developed.

ICS Integration

The integration can be divided into the following steps:

  1. Get the endpoint of the Decision Service
  2. Create the invoke Connector
  3. Create the Integration
  4. Activate the Integration
  5. Test the Integration (using postman)
  6. PCS adjustment to invoke the Integration

Continue reading

Jarvis Pizzeria: Using a DM in PCS (how to manage versions …)

In this blog we show two different ways to embed a Decision in PCS. This with special attention to version control.

In PCS (OIC component) it is possible to use a Decision Model Activity directly from a process. See the image below.

This process uses a Decision to calculate how much time it takes to deliver an order. To not make this all too complex, the Decision takes into account a limited number of factors, namely distance and means of transport. Continue reading

Jarvis Pizzeria: EAN / GTIN code validation in DMN Service

In this blog we describe the implementation of an EAN / GTIN code validator in een Decision Model Service.

As a Pizzeria that wants to treat the customer like a king, we think it is very important that we can always serve the customer with our full range of pizzas.

For this it is necessary that we have a good stock management policy. Every pizza we make must be processed accurately in the system. To simplify this processing, we provide each pizza box with an EAN barcode that needs to be scanned for stock management.

In this blog we describe a Decision Model that can be used to validate the scanned / entered EAN codes.

The purpose of this blog is to demonstrate that it is fairly easy to implement such an algorithm in a Decision Model. Continue reading