When I first read about EAI data maps I didn’t thought they were of much use. That could probably be because of the fact that the integration in which I was involved requirement was quite complex hence couldn’t be fulfilled with the help of data maps.
But recently I was working on an EAI requirement that required major time transformation of XML between what Siebel could generate and what was required by the external system.
So, my obvious first choice was to look for Scripting alternative but the format was so different that it would require a very complex script to achieve that and eventually it will lead to hard coding of tag names which was not at all desirable.
So, I started looking towards EAI data Maps to see if they could help me, and boy did they help me. Using data maps helped me to remove major coding that was to be done and in the end instead of writing 3000 lines of complex code I was able to achieve the desired format with just 10 lines of code.
EAI data maps are available in Administration Integration –> Data Map Editor
Data Map basically are a declarative way to describe a transformation.
In an integration we have an usually have
- Internal IO based on Siebel business object which represents the Siebel Data in XML format
- External IO based on XML which represents XML format for external application.
We can use DTE Scripts or EAI Data Maps to achieve the transformation required, if any.
Screenshot for EAI Data Maps is shown below
As you can see from the screenshot you map
- Integration Object (IO) – Integration Object (IO)
- Integration Component (IC) – Integration Component (IC)
- Fields – Fields
Source is Internal IO (Base Type as Siebel Base Object) and Destination is External IO (Base Type as XML)
The advantage of data map is that you can map one IC with multiple IC’s. This is what helped me to achieve a requirement and also the level doesn’t matter.
In my next post I will be discussing about a real case study involving data maps and will share the objects like IO, Datamaps and workflows that I created for that purpose.