際際滷

際際滷Share a Scribd company logo
Week 1: Introduction
Unit 6: Routing and Controlling Messages
2
PUBLIC
息 2021 SAP SE or an SAP affiliate company. All rights reserved. 
Routing and controlling messages
Problem statement
?
?
3
PUBLIC
息 2021 SAP SE or an SAP affiliate company. All rights reserved. 
Routing and controlling messages
Routing requirements
 Integration scenarios are complex
 Different receivers involved
 Different business objects need different transformations
 Sender payload might not contain sufficient information
 Need for content enrichment, content-based routing, split,
and aggregation
4
PUBLIC
息 2021 SAP SE or an SAP affiliate company. All rights reserved. 
Routing and controlling messages
Router/content-based routing
Routing means choosing a processing path at
runtime based on a certain condition
 Conditions can be XML-based or non-XML-based
 Order of the conditions in the router is important
 Only one router branch/route gets processed
 A default route is always required
5
PUBLIC
息 2021 SAP SE or an SAP affiliate company. All rights reserved. 
Routing and controlling messages
Multicast/recipient list
 Send copies of the same message at runtime
to multiple branches/routes
 All branches start with the same content
(payload, headers, properties)
 No interference between child branches for
immutable objects
 Sequential multicast
 Ordered execution
 Execution of a branch dependent on success
of previous branch
 Parallel multicast
 Parallel execution
6
PUBLIC
息 2021 SAP SE or an SAP affiliate company. All rights reserved. 
Routing and controlling messages
Join
Merges the control of all multicast branches back into one branch
 Without the Join step, all modeled flow steps will be executed by every branch
 Message content after the Join is defined by the last modeled branch
Note: Join cannot be used for router or splitter
7
PUBLIC
息 2021 SAP SE or an SAP affiliate company. All rights reserved. 
Routing and controlling messages
Splitter
Splitter helps to break composite messages into
individual messages based on certain criteria.
 General splitter
 Can split XML and non-XML files
 Can use grouping
 Can use parallel processing
 Keeps enveloping elements
 Iterating splitter
 Similar to general splitter
 Removes enveloping elements
A
B
C
C
C
A
B
C
A
B
C
A
B
C
A
B
C
C
C
C
C
C
Iterating Splitter
General Splitter
8
PUBLIC
息 2021 SAP SE or an SAP affiliate company. All rights reserved. 
Routing and controlling messages
Gather
 Merges the content of the individual multicast/splitter messages
 Join required in addition for multicast
 Different payload merge strategies possible
 Concatenate: append payload
 Combine: append XML payload into a multi-message payload
 Combine at XPath: merge XML into a custom structure
 Identical headers and properties are overridden
 All branches are merged, including the abandoned ones
A
B
C
C
C
A
B
C
A
B
C
A
B
C
9
PUBLIC
息 2021 SAP SE or an SAP affiliate company. All rights reserved. 
Routing and controlling messages
Aggregator
 Merges multiple XML messages into a single message
 Data-store-based
 Message correlation based on an identifier in the payload
 Content-based sequencing possible
 Pre- and post-aggregation logic is modeled in the same integration process
 Pre- and post-aggregation logic is logged as multiple message processing logs
nqmp
ro
m
n
p
r
q
o
10
PUBLIC
息 2021 SAP SE or an SAP affiliate company. All rights reserved. 
Routing and controlling messages
External calls
 Enhance an integration flow with information from external sources
 Send intermediate messages to external targets
 Continue flow processing after the external call
 Send
Send a message to a receiver and continue processing; no response
 Request-Reply
Send a message to a receiver and continue processing the response
 Content Enricher
Retrieve information from external sources and merge it into the current message
 Poll Enrich
Retrieve an (S)FTP file and merge it into the current message
Note: When doing intermediate calls, all headers will be transferred to the external receivers and might be changed on
return. Properties will not be transferred and therefore should always be preferred for controlling the flow logic.
R
R
S Integration Flow
11
PUBLIC
息 2021 SAP SE or an SAP affiliate company. All rights reserved. 
Demo
12
PUBLIC
息 2021 SAP SE or an SAP affiliate company. All rights reserved. 
 Different routing steps give you the possibility to control your
message processing.
 With intermediate calls, you can enhance your process with
additional data.
 Flow logic should be controlled by properties, not by headers.
Routing and controlling messages
Summary
Thank you.
Contact information:
open@sap.com
息 2021 SAP SE or an SAP affiliate company. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of
SAP SE or an SAP affiliate company.
The information contained herein may be changed without prior notice. Some software products marketed by SAP SE and its
distributors contain proprietary software components of other software vendors. National product specifications may vary.
These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or
warranty of any kind, and SAP or its affiliated companies shall not be liable for errors or omissions with respect to the materials.
The only warranties for SAP or SAP affiliate company products and services are those that are set forth in the express warranty
statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional
warranty.
In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this docume
nt or
any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation,
and SAP SEs or its affiliated companies strategy and possible future developments, products, and/or platforms, directions, and
functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time for any reason
without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or
functionality. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ
materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, and they
should not be relied upon in making purchasing decisions.
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered
trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. All other product and service names
mentioned are the trademarks of their respective companies.
See www.sap.com/trademark for additional trademark information and notices.
www.sap.com/contactsap
Follow all of SAP

More Related Content

openSAP_cp10_Week_1_Unit_6_RCME_Presentation.pdf

  • 1. Week 1: Introduction Unit 6: Routing and Controlling Messages
  • 2. 2 PUBLIC 息 2021 SAP SE or an SAP affiliate company. All rights reserved. Routing and controlling messages Problem statement ? ?
  • 3. 3 PUBLIC 息 2021 SAP SE or an SAP affiliate company. All rights reserved. Routing and controlling messages Routing requirements Integration scenarios are complex Different receivers involved Different business objects need different transformations Sender payload might not contain sufficient information Need for content enrichment, content-based routing, split, and aggregation
  • 4. 4 PUBLIC 息 2021 SAP SE or an SAP affiliate company. All rights reserved. Routing and controlling messages Router/content-based routing Routing means choosing a processing path at runtime based on a certain condition Conditions can be XML-based or non-XML-based Order of the conditions in the router is important Only one router branch/route gets processed A default route is always required
  • 5. 5 PUBLIC 息 2021 SAP SE or an SAP affiliate company. All rights reserved. Routing and controlling messages Multicast/recipient list Send copies of the same message at runtime to multiple branches/routes All branches start with the same content (payload, headers, properties) No interference between child branches for immutable objects Sequential multicast Ordered execution Execution of a branch dependent on success of previous branch Parallel multicast Parallel execution
  • 6. 6 PUBLIC 息 2021 SAP SE or an SAP affiliate company. All rights reserved. Routing and controlling messages Join Merges the control of all multicast branches back into one branch Without the Join step, all modeled flow steps will be executed by every branch Message content after the Join is defined by the last modeled branch Note: Join cannot be used for router or splitter
  • 7. 7 PUBLIC 息 2021 SAP SE or an SAP affiliate company. All rights reserved. Routing and controlling messages Splitter Splitter helps to break composite messages into individual messages based on certain criteria. General splitter Can split XML and non-XML files Can use grouping Can use parallel processing Keeps enveloping elements Iterating splitter Similar to general splitter Removes enveloping elements A B C C C A B C A B C A B C A B C C C C C C Iterating Splitter General Splitter
  • 8. 8 PUBLIC 息 2021 SAP SE or an SAP affiliate company. All rights reserved. Routing and controlling messages Gather Merges the content of the individual multicast/splitter messages Join required in addition for multicast Different payload merge strategies possible Concatenate: append payload Combine: append XML payload into a multi-message payload Combine at XPath: merge XML into a custom structure Identical headers and properties are overridden All branches are merged, including the abandoned ones A B C C C A B C A B C A B C
  • 9. 9 PUBLIC 息 2021 SAP SE or an SAP affiliate company. All rights reserved. Routing and controlling messages Aggregator Merges multiple XML messages into a single message Data-store-based Message correlation based on an identifier in the payload Content-based sequencing possible Pre- and post-aggregation logic is modeled in the same integration process Pre- and post-aggregation logic is logged as multiple message processing logs nqmp ro m n p r q o
  • 10. 10 PUBLIC 息 2021 SAP SE or an SAP affiliate company. All rights reserved. Routing and controlling messages External calls Enhance an integration flow with information from external sources Send intermediate messages to external targets Continue flow processing after the external call Send Send a message to a receiver and continue processing; no response Request-Reply Send a message to a receiver and continue processing the response Content Enricher Retrieve information from external sources and merge it into the current message Poll Enrich Retrieve an (S)FTP file and merge it into the current message Note: When doing intermediate calls, all headers will be transferred to the external receivers and might be changed on return. Properties will not be transferred and therefore should always be preferred for controlling the flow logic. R R S Integration Flow
  • 11. 11 PUBLIC 息 2021 SAP SE or an SAP affiliate company. All rights reserved. Demo
  • 12. 12 PUBLIC 息 2021 SAP SE or an SAP affiliate company. All rights reserved. Different routing steps give you the possibility to control your message processing. With intermediate calls, you can enhance your process with additional data. Flow logic should be controlled by properties, not by headers. Routing and controlling messages Summary
  • 14. 息 2021 SAP SE or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company. The information contained herein may be changed without prior notice. Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors. National product specifications may vary. These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP or SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this docume nt or any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation, and SAP SEs or its affiliated companies strategy and possible future developments, products, and/or platforms, directions, and functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time for any reason without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, and they should not be relied upon in making purchasing decisions. SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. All other product and service names mentioned are the trademarks of their respective companies. See www.sap.com/trademark for additional trademark information and notices. www.sap.com/contactsap Follow all of SAP