SAP SKILLS2002
CONFERENCE
WORKSHOP
28 –30 Oct. 2002, SAP University
SAP Exchange
Infrastructure
Thomas Volmering,
SAP AG
Learning Objectives
As a result of this workshop, you will
be able to:
Describe the different aspects of configuring XI scenarios Configure the logical routing
Configure the technical routing
Install and configure adapters
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 3
Agenda
T Introduction T Mapping T Logical Routing T Technical Routing
T
Adapter Installation & Configuration
T
Summary
Overview: Basic XI Configuration
Application System
z Configure Sender Integration
Engine (IEn)
Integration Server
z Configure ABAP Stack z Configure J2EE Stack
z Connect ABAP and J2EE Stack
Application System
z Configure Receiver IEn
Receiving Application System SAP >= 6.20
Integration Server
Sending Application System SAP >= 6.20
Java Proxy Runtime
Integration Engine
Java Application
ABAP Application
WebAS
Java Proxy Runtime
Integration Engine
Java Application
ABAP Application WebAS
Java Proxy Runtime
Integration Engine
Java Application
ABAP Application
WebAS
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 5
ABAP and J2EE Stack
1.Local function (or method) call
2.Remote function call to corresponding
Integration Server using RFC destination
AI_INTEGRATION_SERVER
3.Synchronous function call to the local RFC engine using TCP/IP destination LCRSAPRFC
4.HTTP connection to central SLD server
5.
Synchronous function call to the
central IS RFC engine using TCP/IP destination
AI_DIRECTORY_JCOSERVER
6.
Notificaton to invalidate the cache via synchronous function call (JCO)
Integration Server Service Descriptions
Routings &Mappings
Services Cache
XI Runtime
Application System System Landscape Directory
Routing/ Mapping
Cache
11
2
4
3
65
56
Please note that in this picture we assume to have just one Integration Server, on which the Integration Directory resides, but not the SLD
ABAP
J2EE
APIs
SLD APIs
SLD Cache
1
SLD Client
J2EE
ABAP
Java
Overview: Logical Routing
Integration Directory
Receiving Component System
Sending Component System Inbound-Proxy
Outbound-Proxy
Message Body:Sender-Document
Header:-Sender -...Logical Routing Technical Routing
Receiving Application
Sending Application
Routing Rules get routing rules Message Body:Sender-Document
Header:-Receiver -...
Message Body:Sender-Document
Header:-Receiver Address
Message Body:Receiver-Document Header:-Receiver Address
Services get receiver address Mappings
get transformation
R
R
Main Processing Steps within the Integration Engine
Mapping
Integration Engine
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 7
Overview: Technical Routing
Integration Directory
Receiving Component System
Sending Component System Inbound-Proxy
Outbound-Proxy
Message Body:Sender-Document
Header:-Sender -...Logical Routing Technical Routing
Receiving Application
Sending Application
Routing Rules get routing rules Message Body:Sender-Document
Header:-Receiver -...
Message Body:Sender-Document
Header:-Receiver Address
Message Body:Receiver-Document Header:-Receiver Address
Services get receiver address Mappings
get transformation
R
R
Main Processing Steps within the Integration Engine
Mapping
Integration Engine
Agenda
T Introduction T Mapping T Logical Routing T Technical Routing
T
Adapter Installation & Configuration
T
Summary
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 9
Overview
Integration Directory Integration Repository Integration Directory
Existing SAP Application
SAP Adapter
3rd Party Application
Integration Repository Adapter to 3rd Party
Adapter to
.NET SAP Web Application Server
Integration Engine
ABAP Application
Java Application
Proxy
Proxy
Integration Server
Integration Engine
Additional
Integration Services
.NET Application Proxy
to proxies
Business Processes
Business Partners
Business Processes
Integration Scenarios Integration Engine
Physical Address Resolution Service Messaging and Queueing
Service Transport Service (HTTP)
Business Process Engine
Logical Routing Service Mapping Service
Integration Layer
Messaging & Transport Layer
Routing Rules
Mappings
Services
System Landscape
Mappings Interfaces Components Integration Monitor
Proxy Generator
Integration Pipeline
Integration Directory
Integration Engine
Message
Message header:Logical sender Payload:Sender document
Technical Routing
Logical Routing
Mapping
Message
Message-header:Logical receiver Payload:Sender document
Message
Message-header:Receiver address Payload:Sender document
Message
Message-Header:Receiver address Payload:Receiver document
Routing Rules
Services Mappings
Get routing rules Get receiver address Get transformation
Logical receiver
determination based on business level routing rules
Determination of physical/technical
addressing information (address, transport protocol, ...)
Transformation from sender format and values into receiver format and values
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 11
Mapping
z Mapping
Transformation from one message structure to other structures Transformation rules
Structure Mapping
Value Mapping
Mapping Objects: Relate Mappings to Interfaces
z Interface mapping : mappings of whole interfaces to each other z
Message mapping : mappings of request / response messages
Integration Repository
Request Fault message type
parameter 1parameter 2
...
parameter p’
Inbound
Message Interface
Fault message type
parameter 1parameter 2
...
parameter p’
Outbound Message Interface Input message type
parameter 1parameter 2
...
parameter n’Response
Intput message type
parameter 1parameter 2
...
parameter n’Output message type
parameter 1parameter 2
...
parameter n’Message mapping /Mapping program /Sequence mapping
Message mapping /Mapping program /Sequence mapping
Output message type
parameter 1parameter 2
...
parameter n’Interface mapping(s)
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 13
Response
Request Interface Mappings: Example
Mapping Program
E
Mapping Program
D
Interface Mapping
IntMap3
Interface Mapping
IntMap2
Sequence Mapping SMap1
Message Mapping
StrMap
Message Mapping
ValMap
Mapping Program
C
Interface Mapping
IntMap1
Message Mapping
StrMap
Message Mapping
ResMap
Mapping Program
A
Mapping Program
B Sequence Mapping
A mapping sequence can comprise sequences recursively.
XML Source
XML Target
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 15
Mapping Programs
Java mapping
Provide a Java class that implements a specific interface
XSLT mapping
Extensible Stylesheet Language Transformation
Java methods can be called from within a Style Sheet.
Root directory for mapping programs: ${com.sap.systemdir}/xi/mapping
Java/ XSLT
Integration Builder: Design Mappings
Order
Name-space
Edit / View
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 17
Exercise: Messages to be mapped
xmlns:ns0="workshopxx " xmlns:xsi ="https://www.wendangku.net/doc/4b17622010.html,/2001/XMLSchema-instance "> xmlns:ns1="workshopxx " xmlns:xsi ="https://www.wendangku.net/doc/4b17622010.html,/2001/XMLSchema-instance ">
From the Output message:
To the Input message:
xmlns:xsi ="https://www.wendangku.net/doc/4b17622010.html,/2001/XMLSchema-instance "xmlns:xsl ="https://www.wendangku.net/doc/4b17622010.html,/1999/XSL/Transform ">
Exercise: XSLT Mapping Program
Exercise: Converting gender to title
Statement
Assign the value of a selection to a new variable Statement
Choose an output
according to the value of the just defined variable
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 19
Exercise: Converting surname to name
Statement
Insert the value of the current element to the output stream
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 21
Agenda
T Introduction T Mapping T Logical Routing T Technical Routing
T
Adapter Installation & Configuration
T
Summary
Objectives: Logical Routing
Configuration time
T Activating relation pairs of Outbound and Inbound interfaces
Systems
Interfaces
T Defining routing rules
Runtime
T Determining receivers and inbound interface for a given message according to routing rules T Passing through , if receivers are predefined by sender
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 23
Routing: Configuration Time
Prog
XPath
Rule Type //AirlineID[text()='LH'or text()='UA']
FlightBooking_Can cel_In
Airline Group 1
FlightBooking_Cance l_Out
Travel Agency Java
ATPRouting.GetDestination
AvailabilityCheck
APO OrderManagement
CRM RoutingRule Inbound name Receiver Outbound name Sender
Specifying routing rules according to the cross system business processes / scenarios to be performed
Rule Types
1.Routing object (6.20 add-on?)
2.XPath expression (6.20)-Declarative -Sender terms
3.programming code: Java, ... (6.30+)-access to message body possible -free language for routing terms
Send message to all receivers where routing rule
returns true
Some Simple XPath Expressions
T
/AAA
Select the root element AAA
/AAA/CCC Select all elements CCC which are children of the root element AAA
T //BBB
Select all elements BBB
//DDD/BBB Select all elements BBB which are children of DDD
T
/AAA/CCC/DDD/*Select all elements enclosed by elements
/AAA/CCC/DDD //*
Select all elements
T /AAA/BBB[1]Select the first BBB child of element AAA
/AAA/BBB[last()]Select the last BBB child of element AAA T
//BBB[@id]Select BBB elements which have attribute id //BBB[@*]
Select BBB elements which have any attribute
W3C recommendation, November 16th 1999
Englisch: https://www.wendangku.net/doc/4b17622010.html,/TR/1999/REC-xpath-19991116German:
http://www.obqo.de/w3c-trans/xpath-de-20010910
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 25
Simple Routing Relation
Receiver
Sender
Sender Interface Receiver Interface
Mapping Routing Rules
Interface Group Relations
Sender Interface
Routing Rule
Sender Receiver
n 1
1
Interface Group Receiver Interface A Receiver Interface B
Receiver Interface C
Inbound Queue
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 27
Receiver Group Relations
Sender Interface
Routing Rule
Sender Receiver 1
n 1
1
Interface Group Receiver Interface A Receiver Interface B
Receiver Interface C
Receiver 2Receiver Interface
Receiver 3
Receiver Interface
Inbound Queue
Graphical User Interface (I)
Change view
Doubleclick for relations
Switch to change mode
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 29
Graphical User Interface (III)
Choose a relation by doubleclick
(outbound interface -inbound interface)
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 31
Finally submit
Query mappings from repository
Runtime Cache for Routing relations
T For performance reasons, routing models and relations are cached by the Integration Engine T Upon saving routing model in Integration Builder, the runtime cache update is automatically initiated.
T You can access the Runtime Cache using transaction SRMD
Demo
Demo
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 33
Agenda
T Introduction
T Mapping
T Logical Routing
T Technical Routing
T Adapter Installation & Configuration
T Summary
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 35
Technical Routing
Endpoints
Maintenance
https://www.wendangku.net/doc/4b17622010.html,space
2.Service
3.Binding
Exercise
Summary
Objectives
Overview: Technical Routing
Integration Directory
Receiving Component System
Sending Component System Inbound-Proxy
Outbound-Proxy
Message Body:Sender-Document
Header:-Sender -...Logical Routing Technical Routing
Receiving Application
Sending Application
Routing Rules get routing rules Message Body:Sender-Document
Header:-Receiver -...
Message Body:Sender-Document
Header:-Receiver Address
Message Body:Receiver-Document Header:-Receiver Address
Services get receiver address Mappings
get transformation
R
R
Main Processing Steps within the Integration Engine
Mapping
Integration Engine
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 37z IDoc Endpoint
z Endpoint as logical Destination z Plain HTTP Endpoint
z RFC Endpoint
z URL Endpoint
z Endpoint for Integration Engine
Maintain Service
1.Start tool
2.Connection to System Landscape Directory
1.View business system
2.Read cache from related Integration Server
3.Search or add namespace
4.Search or add service (= inbound interface name)
5.Search or add binding (= receiver)
1.Define type of endpoint
2.Define physical address of receiver
3.Add extension
6.Save locally
7.Update cache of Integration Server
Maintenance –Namespace (RFC)
?SAP AG 2002, SAP Skills2002, Thomas Volmering / 39
Maintenance –Service (= Interface, IDoc)