32
My FNZ Studio Version
The article you are currently reading is not compatible with your selected My Appway version.
32

Development Resources

Latest Update: 18.07.2022 |
Recipe
Appway 7
Appway 6

Problem

I have to integrate Appway with external or back-end systems. When doing so, I'd like to avoid any impact from a change of definition in the back-end service and its data model. Can I isolate this in a way that my running Process Instances and Screens won't be affected?

Solution

As an Appway best practice, everything related to a Process should be kept in a local model. This allows the Process to run unaffected from changes in the outside world. Changes either on the inside or outside of the model should be addressed in a well-defined transformation step.

The standard instrument for integrating external services with Appway is the Integration Link. This is also the place where the translation between the local process model and the outside model should be performed. Because Integration Links do not participate in the version schema of a Process, the representation and mapping of the external data model can be adjusted without impact on the Process that is calling them.

Setting up the separation of data models

The approach I recommend for separating the data models is as follows:

  • Define each interaction with an external service as an Integration Link.
  • Generate an external data structure as Data Classes with dedicated namespaces. This makes it easier to recognize and distinguish them from your local model. Those externally defined classes should not be referenced from anything else than an Integration Link.
  • For the Integration Link's input variables, use assigned variables of your local model’s types.
  • The Integration Link defines external data model classes as local variables only.
  • Perform a transformation step from the local to the external model right before a service call.
  • Perform a transformation step from the external model into the local model after a service call.
  • The return type is of Appway's local model type only.

The following screenshots illustrate the basic set-up of the components inside the Integration Link processing chain:

For the assignment of variables, you may use as many as required, but all are out of the Appway data model. You would have local variables for the Web Service call parameters and its result (e.g. wsInput and wsOutput).

The return value of an Integration Link is the result of the last processor component used in the component chain in the Integration Link definition. Therefore, the last step of the chain should be a transformation back into Appway's Data Class model. To get the result into the running process, use the binding expression in your Integration Link process task.

In the example above, a transformation between the process model data and the outside model happens:

  • Before the SOAP call as Scripted Translator, translating data from the Appway model into the outside model (used in the SOAP call's parameters)
  • After the SOAP call as Scripted Translator, translating data from the outside model (SOAP call response object) into the Appway model
© 2025 Appway AG. All Rights Reserved