Академический Документы
Профессиональный Документы
Культура Документы
Custom
Outbound
Router & Config Config UnWrapper
File File Unknown
Mapping DMR (C++)
(Mercator) (Oracle) In Development
MQ Series
ABAP Class
XSLT (ABAP)
Stack Boundary
(requires RFC for traversal)
Message Mapping
Adapter Engine Adapter Engine
Java Mapping
(J2EE) (J2EE)
XSLT (Java)
Java Stack
Large Message Processing
• Message Pointers
• Lilly’s existing interfaces were enormous by XI standards
(>500MB).
• These large files usually contained full refreshes of the data due to
technical constraints on the receiving, non-SAP system.
• XI’s architecture is not structured to handle large amounts of data.
• The key to processing large messages with XI is to minimize stack
boundary traversal.
• We were able to do this by saving the message as a file and only
passing a pointer to the data (ie filename). It was the job of the
processing agent to delete the file after it was confirmed that it was
sent to the receiver.
Large Message Processing
• ABAP Mapping
• Some messages were brought in via the J2EE Adapter Engine, but
not converted to XML. This unconventional design decision was
made because the conversion to XML required added processing
and memory requirements that caused message processing to take
too long. We decided to pass the data directly to the map
unconverted.
• In an effort to further streamline message processing and in
addition to the removal of XML conversion overhead, we also
decided to do away with some of the stack traversal overhead. We
accomplished this by implementing our mapping requirements with
ABAP.
Large Message Processing
• ABAP Mapping continued
• Doing the mapping in ABAP was doubly advantageous because
message mapping and XSL mapping requires that the data be in
XML format. Since our data was still in flat file format, our only
options were Java mapping and ABAP mapping. With the added
requirement of reduced stack traversal, our only remaining option
was ABAP.
• Our data was in a structured text format. ABAP turned out to be a
very good language for this type of data mapping. Our large team
of competent ABAP developers made short work of the ABAP
maps.
JMS Adapter
The JMS configuration is not out-of-the-box! JMS drivers must
first be installed……….including:
• The correct JAR files in order for the JMS adapter to
function correctly, which is one of the challenges we
faced with the use of JMS.
• Performance tuning for XI to operate effectively that
impacted JMS. SAP provides a document that outlines
performance tuning requirements in XI version 3.0 (see
appendix for information).
JMS Adapter
Secondly, during integration testing, we discovered an issue
regarding a message of 30mb in size:
• Issue: The following error occurred when attempting to connect to
the JMS adapter: "Delivery of the message to the application using
connection AFW failed, due to: MQJMS1016: an internal error has
occurred. Please contact your system administrator. Detail:
java.nio.BufferOverflowException.“
• Resolution: The Java Development Kit (JDK) had to be upgraded
to version 1.4.2_08 or higher (or if using version 1.3.1, upgrade to
JDK 1.3.1_16 or higher). We upgraded our server version to
1.4.2_12 in order to process messages >25mb (see appendix for
additional information)
SAP Conversion Agent by Itemfield
At Eli Lilly, we implemented the SAP Conversion
Agent by Itemfield as an adapter module to help
deal with more complex and unstructured
messages!
• Issue: identified that some special characters (i.e.
German Umlaut) were not displaying correctly (showing
as ‘??’), even though the character set was configured as
Western ISO-8859-1.
SAP Conversion Agent by Itemfield
• Resolution: CM_TransformModule.sda module that
related to Content Master (as it was known then) service
pack 15 (SP15) was not working to provide adequate
translation of special characters following data
conversion. The CM_TransformModule.sda of SP17 was
deployed in each environment which eventually fixed the
problem. For information, Eli Lilly was using XI SP15
and Conversion Agent SP15 at the time this issue
occurred (see appendix)
SAP Conversion Agent by Itemfield
• Issue: We identified that several messages by-passed
the SAP Conversion Agent. Thus, the payload was not
being converted into an XML format and XI was receiving
a flat file instead of an XML file.
• Resolution: The fix for this was based on an existing
OSS note (930598). This note was not only pertained to
Conversion agent but it was more generally specified for
any module that was attached to the adapter.
Adapter Tracing
• Each Java Adapter Can Be Traced At A Technical
Level.
• Adapter Tracing Is Activated By Using The J2EE
Administrator Tool To Change Trace Levels.
• Warning: At Higher Adapter Trace Levels The Adapter
Polling Frequency Can Really Impact Trace File
Growth.
• Make Sure You Polling Frequency Are Reduced
• Or Make Sure You Only Activate Traces For Short Periods Of Time
Key Learnings
• Calculating A Cost Savings On An SAP XI Implementation Will
Depend On Your Project Goals, Your Current Infrastructure, and
Your Specific Infrastructure Challenges.
• Prototyping Environments and Proof Of Concept
Implementations Will Help You Control Overall Project Scope
And Requirements By Identifying Areas In The Project That Will
Require Specific Consideration Up Front
• Don’t Underestimate Content Conversion
• Scope In Simple Infrastructure Tools That Will Simplify Long
Term Maintenance And Reduce Interface Development Time.
• SAP XI Can Handle Large Sized Message Interfaces. You Just
Have To Handle Them Differently.
Session Code:
0707