cancel
Showing results for 
Search instead for 
Did you mean: 

Performance of mappings (JAVA, XSLT, ABAP)

Former Member
0 Kudos

Hello everybody,

I would like to know about the performance of mappings using different languages (JAVA, XSLT, ABAP).

Does anybody know which one will have the best performance?

Thanks a lot.

Regards Mario

Accepted Solutions (1)

Accepted Solutions (1)

bhavesh_kantilal
Active Contributor
0 Kudos

Hi Mario,

I did a forum search for your question and found an intersting thread. Would suggest you go through it too,

Hope this helps,

Regards,

Bhavesh

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi Mario,

I thought i will start of from scratch. Mapping is basically done to convert one form of xml into another form. This can be done using either of them mentioned below.

- Graphical mapping

- XSLT mapping

- JAVA mapping

- ABAP mapping

There is no hard and fast rule for using the mapping techniques. But, I will try to put things in the right perspective for you.

Graphical Mapping is used for simple mapping cases. When, the logic for your mapping is simple and straight forward and it does not involve any complex logic.

Java and XSLT mapping are used when graphical mapping cannot help you.

When the choice is between Java and XSLT, XSLT is simpler than java mapping and easier. But, it has its drawbacks. One among them being that you cannot use Java APIs and Classes in it. There might be cases in your mapping when you will have to perform something like a properties file look up or a DB lookup, such scenarios are not possible in XSLT and so, when you want to use some specific Java API's you will have to go for Java Mapping.

Java Mapping uses 2 types of parsers. DOM and SAX. DOM is easier to use with lots of classes to help you create nodes and elements, but, DOM is very processor intensive.

SAX parser is something that parses your XML one after the other, and so is not processor intensive. But, it is not exactly easy to develop either.

To know more about each of them please go thru the following links. And if you ask me your which is better, it depends basically on the scenario you implementing and the complexity involved. Anyways please go thru the following links:

Graphical mapping

http://help.sap.com/saphelp_nw04/helpdata/en/6d/aadd3e6ecb1f39e10000000a114084/content.htm

http://help.sap.com/saphelp_nw04/helpdata/en/43/c4cdfc334824478090739c04c4a249/content.htm

/people/bhanu.thirumala/blog/2006/02/02/graphical-message-mapping-150-text-preview

http://www.sapgenie.com/netweaver/xi/mapping1.htm

/people/alessandro.guarneri/blog/2006/01/26/throwing-smart-exceptions-in-xi-graphical-mapping

XSLT mapping

http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm

http://www.w3.org/TR/xslt20/

JAVA mapping

http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/content.htm

DOM parser API

http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/package-frame.html

ABAP mapping

/people/r.eijpe/blog

To know more about the value mapping tools for the SAP Exchange Infrastructure (XI), please go thru the following link:

http://www.applicon.dk/fileadmin/filer/XI_Tools/ValueMappingTool.pdf

To get an idea as to what value mapping is, please go thru the following links:

http://help.sap.com/saphelp_nw04/helpdata/en/13/ba20dd7beb14438bc7b04b5b6ca300/frameset.htm

http://help.sap.com/saphelp_nw04/helpdata/en/f2/dfae3d47afd652e10000000a114084/frameset.htm

http://help.sap.com/saphelp_nw04/helpdata/en/2a/9d2891cc976549a9ad9f81e9b8db25/content.htm

most of the links that I have provided also helps you get the step by step procedure of doing the same. And also involves the procedure to implement certain advanced features.

And please go through this link which clearly explains the 3 types of mappings.

/people/ravikumar.allampallam/blog/2005/02/10/different-types-of-mapping-in-xi

Hope this clears your doubt fully.

Regards,

Abhy

PS: AWARD POINTS FOR HELPUL ANSWERS.

moorthy
Active Contributor
0 Kudos

Hi,

You need to choose the right type of mapping based on the requirements. Because performance is based on multiple parameters.

For e.g How complex the structure is

Volume of data

Type of scenario etc..

Also go thru following links..

This may help u to choose the right type of mapping;

Regards,

Moorthy

moorthy
Active Contributor
0 Kudos

Hi,

Mapping preferences as per the performance is concerned as follows.

1) Message Mapping

2) Java Mapping

3) XSLT Mapping

4) ABAP Mapping

And the scenario is SAP to non SAP systems then ABAP mapping will be good. Otherwise other mappings are good.

There are lot of discussions happend on this..(in SDN forums) Because Mapping is executed in Java Engine.

Hope this helps..

Regards,

Moorthy

bhavesh_kantilal
Active Contributor
0 Kudos

Hi Mario,

<b>Java Mapping can be done using DOM parser and SAX parse</b>r. In the case of DOM parser, the entire XML tree is loaded into the main memmory and hence can cause perfromance issues . In the case of SAX parser, as every element is parsed one by one, performnace is considerably good.

In comparison among the mapping techniques,

Performance wise

1.ABAP Mapping

2.Java Mapping

3.XSLT Mapping

Simplicity

1.XSLT

2.Java

3.ABAP

It is upto your project requirements ,you can choose the mapping.

Regards,

Bhavesh

Message was edited by: Bhavesh Kantilal