Integration of Altova's MapForce Data Mappings Into SOA Expressway

Altova is well known for it's flagship product XMLSpy - as anyone who has worked extensively with XML data can tell you. However, they have an entire suite of product offerings, one of which is MapForce. As described on it's website:



"Altova MapForce® 2010 is an award-winning any-to-any graphical data mapping, conversion, and integration tool that maps data between any combination of XML, database, flat file, EDI, Excel 2007+, XBRL, and/or Web service, then transforms data instantly or autogenerates royalty-free data integration code for the execution of recurrent conversions."

In case you weren't aware, SOA Expressway is remarkably extensible. In this post I will share with you my experience integrating MapForce's data mapping projects into SOA Expressway.



Use Case

Suppose there is a need to integrate legacy flat file delimited data into a web services orchestration within SOA Expressway. Since web services utilize XML for its payload, the legacy data needs to be converted to XML. Although SOA Expressway's Data Transformation services could easily transform the legacy data into XML required by web services, a MapForce data mapping project already exists that easily handles this XML conversion.





Because MapForce allows it's projects to be exported to external executable code, these data mapping projects don't necessarily have to be redeveloped by another integration appliance to be utilized by that appliance.

Using this feature to export Java code, MapForce data conversions can be directly integrated into SOA Expressway. SOA Expressway's Java Extensibility Guide (included in the product) outlines how to incorporate this code to build a customized "data-mapper".



Exporting the "data-mapper" to a Java plugin allows any application with SOA Expressway to utilize it.



Comments


This use case provides another demonstration of SOA Expressway working along side with other integration appliances. Even though SOA Expressway has the tools to directly work with legacy data and protocols, it is nice to know how easy extensible it is. MapForce is a solid product with a rich feature set. I found the Java code generated by MapForce very thorough, flexible (allowing for a variety of input and output formats), well commented, and with plenty of error and logging capability.

Interested in trying this out? You can download a 30-day evaluation of SOA Expressway from www.dynamicperimeter.com/download/SOAExpressway and if necessary an evaluation copy of MapForce from Altova's website.

For more complete information about compiler optimizations, see our Optimization Notice.

Comments

Pete Logan (Intel)'s picture

Hey Joe,

That looks like you were using a Custom Invocation Agent to house the MapForce exported Java conversion agent. Can MapForce export as an Axis2 archive so that the conversion can be done directly within the SOA Expressway BPEL workflow?

Cheers
Pete

- Pete
Joe Welsh (Intel)'s picture

Hi Pete,

MapForce claims support for generating an Axis2 archive (*.aar). However, the documentation states:

1. The Axis2 framework needs to be installed on the "local computer", which I take to mean the same computer MapForce is installed on.
2. Once the Java code is generated the Axis2 archive file would need to be built via ANT, which I assume would need to be installed as well.

However, the benefit would be as you said - the ability to have directly available and bundled in the application this data-mapper. The benefit to the using the method in this post is any application running in SOA Expressway could access the data-mapper.