Template based mapping

Hello,

To put a little bit of context to my question:

We are using a very large data model. For some services we have to map from the service input just some parts to the data model. Let’s say 30 fields from 100.

These fields are obviously not flat, but in a document structure.

Is there a way to define a template where you can specify what fields from the left-hand side are mapped to what fields to the right hand side.

In this way if new mappings are needed, just the template needs to be updated.

I think you agree with me that mapping fields in the Integration Server is not fun and error-prone.

To you know some functionality or even some product (SAG or external) that supports this use case?

Thank you.

Hi Vlad,

I don’t think this mapping template kind is available in the Service Designer flow map editor and may be could try explore it via XSLT template or similar. Also It will be nice to have this feature enabled in on-prem edition etc…so it makes easier for bundle mappers (left to right elements ad-hoc) ,…What do say?

HTH,
RMG

Hi,

This is one of my grievances with an graphical-mode-only programming language.

There should always be a textual representation of the language to ease inspections and development needs such as yours.

Best regards,

Agreed!! :)- and similar to xml config editor with in the flow editor wizard.

Cheers!
RMG

Hi,

If this is a painpoint to everyone, the best bet is to raise an enhancement request in Brainstorm. Then SAG product team in particularly the product manager will reach out if you’ve garnered enough votes and support that this is a feature highly sought in the Designer.

Related:

Feature Request: 00666
Feature Request: 04592
Feature Request: 05772

A Big Thank you! :slight_smile:

Could you elaborate on how you’d use the template? I mean, how changing the template would change the code based on it?

And why can’t you achieve what you describe by using a service that performs the common mapping?

Hi,

The problem is not the code, is the size of the mapping (over 100 fields), which lends itself to many mistakes.

A template (or text-based) mapping approach allows for code verification.

Most mapping requirements are delivered as an excel sheet (on one side/column the source field and type; on the other the target field, type and transformation, if needed).

Transforming this requirements document into a code template would be trivial whereas mapping in a Flow service is not (a Java service would not help either if the data structure is deeply nested).

An example of a mapping tool is Belleken’s EA Mapping add-in for Enterprise Architect https://bellekens.com/ea-mapping .

Best regards,

This is not trivial but quite doable. This will cost some effort but if the requirement comes often the effort will be worth it. We did things of a similar type in the past (we implemented the opposite direction, i.e. transformed a flow service into text pseudo code).

You’ll have to have some SCA in place to detect typos in the excel sheet (and, consequently, in the generated mappings).

Also, if your requirements are in the excel sheet why don’t you write a servie that would read the sheet and perform the mapping accordingly? I.e. sort of like of an interpreter. Why generate code if it is fully determined by the excel? Why not consume excel directly? Performance is usually not an issue in integration projects.