0% found this document useful (0 votes)
31 views

SR 24628113258

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

SR 24628113258

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

International Journal of Science and Research (IJSR)

ISSN: 2319-7064
SJIF (2019): 7.583

SAP Cloud Integration - An Overview, Best


Practices, and Implementation Steps - Part 2
Deepak Kumar1, Maha Bhageshwara Raju Kesaboina2
Wilmington, USA
Email: deepak3830[at]gmail.com

Hyderabad, India
Email: bhageshwar.raju[at]gmail.com

Abstract: SAP CPI, also known as SAP Cloud Platform Integration is a cloud-based integration platform provided by SAP. It allows for
connectivity, between applications, systems, and services both within and outside of an organization. With SAP CPI businesses can simplify
the integration process. Optimize data flow and communication between software solutions. It facilitates the exchange of data across
environments promoting interoperability and enhancing collaboration efficiency. Additionally, SAP CPI offers built-in integration iFlow
and adapters to reduce the complexity of integration projects and speed up deployment timelines. Overall SAP CPI plays a role, in the SAP
ecosystem by enabling the creation of agile business processes. In this paper, we will discuss SAP CPI's capabilities in connecting diverse
applications, facilitating data flow, supporting different integration scenarios, and leveraging pre-built content and adapters. It will provide
a step-by-step guide or overview of the fundamental steps involved in implementing SAP CPI. This paper will cover the initial setup,
configuration, and the process of establishing connections between different systems. The aim is to offer a practical understanding for
readers who might be considering or undergoing the implementation process. This paper will also address the monitoring aspect of SAP
CPI, emphasizing the importance of keeping track of integrations and workflows. Insights into monitoring tools, key performance
indicators, and best practices for ensuring the ongoing efficiency and reliability of integrated systems will be elaborated.

Keywords: SAP, SAP CPI, SAP Cloud Integration, SAP On-premice to SAP cloud integration

1. Introduction
API stands for Application Programming Interface. It's a set
SAP CPI – SAP Cloud Platform Integration is a powerful of protocols, tools, and definitions that enable different
cloud-based platform that enables seamless integration software applications to communicate with each other. APIs
between cloud applications and other SAP or non-SAP cloud determine how software components should interact,
or on-premises applications. SAP CPI uses Apache Camel in allowing developers to access specific features or data from a
its integration framework. Apache Camel is an open-source service, library, or application without having to comprehend
framework that offers a variety of pre-built components and its internal workings.
patterns for creating enterprise integration solutions. SAP
CPI utilizes Apache Camel to make it easier to develop Groovy Script – A Groovy script is a script written in the
integration flows and to improve the platform's flexibility and Groovy programming language. Groovy is an object-oriented
extensibility. scripting language that is dynamically typed and seamlessly
integrates with Java. It is often used as a scripting language
Integration Flow (Iflow) – An iFlow is a graphical for Java applications and provides concise and expressive
representation of the complete integration process within syntax. Pre-requisite: To understand this paper thoroughly
SAP CPI. It outlines the steps messages must take as they prerequisite is SAP Cloud Integration – An Overview, Best
travel from a source system to a target system, including data Practices, and Implementation Steps – PART 1.
transformations and mappings along the way.

2. Discussion Business Hub. The SAP API Business Hub is a central


repository provided by SAP that offers a catalog of APIs, pre-
SAP CPI Standards and Best Practices - The purpose of this built integration packages, and other content. These packages
paper is to establish guidelines for integration developers who are intended to help developers create integrations between
will be using the SAP Cloud Platform Integration Service to SAP solutions and other systems more easily and quickly. The
develop integrations for projects. This blog provides end-to- packages CPI Cloud Exemplar package SAP CPI Integration
end CPI standards and best practices that build upon the Design Guidelines and SAP CPI Troubleshooting Tips
guidelines and insights shared by experienced CPI developers include not only detailed documentation or FAQs but also
worldwide. Additionally, it incorporates our real-world working samples and templates that help you:
experience from numerous projects and the recent distribution
of millions of API messages through CPI. • Understand how you can perform basic tasks
• Identify the common pitfalls while designing your flow
• Discover optimal ways of modeling an integration flow
3. API Business Hub Package
• Determine techniques to achieve a better memory
The SAP API Business Hub Package is a collection of APIs, footprint
integration content, and resources available on the SAP API
Volume 9 Issue 11, November 2020
www.ijsr.net
Licensed Under Creative Commons Attribution CC BY
Paper ID: SR24628113258 DOI: https://dx.doi.org/10.21275/SR24628113258 1727
International Journal of Science and Research (IJSR)
ISSN: 2319-7064
SJIF (2019): 7.583
• Define what to keep in mind in order to create performant • Solve commonly known errors with a ready solution
integration flows

4. Development Guidelines process within those steps to break down integration flows
as it helps reduce the total cost of ownership and facilitates
SAP CPI offers development in two different environments easier maintenance.
namely Eclipse and Web IDE.
Here are some recommended practices when multiple
Eclipse is a widely used integrated development environment developers are working on projects, in SAP Cloud
(IDE) that is primarily Java-based but supports various Integration. These practices ensure that developers do not
programming languages through plugins. It provides a make changes to packages and artifacts created by
comprehensive platform for software development, offering developers.
tools and features for coding, debugging, and version control.
Eclipse is open-source and has a large ecosystem of plugins • To indicate that a package is still a work in progress enter
and extensions that enhance its functionality. In the context "WIP" in the Version field. In the Owned By text box
of SAP Cloud Platform Integration (CPI), developers often specify your name or team name to indicate who should
use Eclipse with the SAP Tools for Eclipse (SAP TDI) plugin be contacted by teams or developers if they want to make
to facilitate the development and deployment of integration changes to this package's artifact.
flows. • These steps will assist developers in coordinating and
communicating about editing the artifacts within the
The SAP Cloud Platform Integration (CPI) Web UI refers to package. After completing the edits save the package as a
the web-based user interface provided by SAP for designing, version. This will update the version number, from WIP
configuring, monitoring, and managing integration processes to the number.
within the SAP CPI environment. The CPI Web UI is
accessible through a web browser and serves as the primary 5. Performance Guidelines
interface for users involved in integration development and
operations. It is advisable to avoid using Bulk Extracts whenever
possible. When designing processes it is important to utilize
Here are some guidelines to consider when designing the change pointers and deltas of transferring data in bulk. We
layout, for integration flows which can help simplify should only transmit the data by avoiding transmitting
maintenance; unnecessary information. Transmitting huge amounts of data
• Try to avoid overlapping sequence flows can have an impact, on the performance of CPI systems,
• Keep the sequence and message flow connectors straight external partner systems, networks and ultimately affect end
as possible avoiding any twists or turns. users. Therefore when designing interfaces it is crucial to
• Make sure not to have process steps overlapping. If you optimize the transfer of data. Additionally consider exploring
have a lot of process steps consider expanding the canvas tools such, as SAP Data Services, CPI Data Services or Smart
and arranging them neatly. Data Integration if you need to extract data from source
• For complex logic break them down into modules that are systems and transform it before loading it into target systems.
easier to understand. Move the logic of each module into
its subprocess. Give the subprocess an appropriate name API(S) generally are designed for low volumes. We should
that describes its operation. use other adapters like JMS, Files, JDBC, etc for large
• Avoid mixing transformations in a script or subprocess. volumes or CPI Data Services/Smart Data Integration if we
Each sub-process should only contain the logic for one have to extract, transform, and distribute large amounts of
function. data between many systems. The following are
• Only assign the XML message to a header or property if the performance guidelines to optimize IFLOW when you are
necessary. Once you're done with it make sure to clear it. integrating systems using API endpoints.
• Always maintain a flow direction from left to right in your
design. The sender should always be on the side. The Session Reuse: Creating a login session is a task that requires
receiver is on the right side. a lot of resources. Therefore, it is advisable to reuse login
• It is advisable to keep the number of steps, in an sessions instead of creating a new session for each HTTP
integration flow limited to 10. Utilize the integration transaction or each page of paginated data. When making API
Volume 9 Issue 11, November 2020
www.ijsr.net
Licensed Under Creative Commons Attribution CC BY
Paper ID: SR24628113258 DOI: https://dx.doi.org/10.21275/SR24628113258 1728
International Journal of Science and Research (IJSR)
ISSN: 2319-7064
SJIF (2019): 7.583
calls, a user session is created, which is also a resource- using a content enricher or expand to get the details. It's also
intensive process. If there are a large number of API calls, it important to avoid querying properties or expanding entities
can cause stress on the server and significantly impact that you don't need or use.
response time. To avoid this, you can enable a session on the
integration flow to reuse the session. You can find more Splitter: We should consider improving interface
information about this in the blog post linked below. performance by exploring options for parallelizing the
process within the CPI tenant. To activate parallel processing,
API Retry Mechanism: Implement your retry logic properly, you can use the "Splitter" step, which splits the content into
Retry logic can help to recover transactions that failed due to packages containing 1000 entries per package. You can
internet connectivity or backend server issues, but retry must enable parallel processing by selecting the checkbox at this
be done with care based on the type of HTTP error. Only step. Additionally, the splitter step has concurrency that can
return a maximum number 5 of times before abandoning your restrict the number of concurrent parallel processes that CPI
task. can trigger in the SAP destination systems.

OData API Performance Optimization Recommendations: 6. Externalizing parameters


It's important to optimize the size of your batch requests when
using the OData API, as it can only return up to 1000 records Integration Developers build their integration flows using the
on a single page. To achieve the best performance, your batch SAP Cloud Platform Integration tools on their development
sizes should be as large as possible. However, for more systems and once the development is complete, they move
complex transactions, you may need to reduce the size to them to the test and production systems. During this
avoid HTTP timeouts. Instead of pulling many records one at development phase, they realize that the same integration
a time, you can use batch or $filter to retrieve multiple records flow may not work across different systems and would
at once. When using the $expand statement to request master- require changes in the configurations of adapters or flow
detail data, it's important to avoid using it to join a large steps. To overcome this situation, they use the externalization
number of tables, as this can result in poor performance. SAP feature offered by SAP Cloud
recommends fetching the master data by batch first, and then

Platform Integration tools.

The configuration view allows to configuration of the • Before downloading the Integration flow or exporting the
externalized parameters of adapters and/or flow steps without content package, always leverage the benefit of
editing the integration flow. The value configured from the Externalized Parameter View to compare the Default and
configuration view is called the configured value of a Configured value of parameters for quality assurance.
parameter. The Configured value of a parameter is centric to Update the parameter's default value from the externalized
the tenant/landscape. Below are the recommended steps for parameters view or externalization editor for any
externalization: correction.
• Externalize all the fields of integration flow that you • Download the integration flow with “Default Values
envisioned and provide the appropriate Default values. Only” if you wish to import the integration flow in the
• Ensure not to provide the tenant/landscape-specific value target system which has a different tenant/landscape
as a Default value of parameters. configuration.
• Validate the Default value of parameters through • Download the integration flow from the source system
validation checks. Save of integration flow will run with “Merged Configured and Default Values” if you wish
validation checks. to import the integration flow in the target system with the
• Always provide tenant/landscape-specific value in the same tenant/landscape configuration.
Configure View.
Volume 9 Issue 11, November 2020
www.ijsr.net
Licensed Under Creative Commons Attribution CC BY
Paper ID: SR24628113258 DOI: https://dx.doi.org/10.21275/SR24628113258 1729
International Journal of Science and Research (IJSR)
ISSN: 2319-7064
SJIF (2019): 7.583
7. Monitoring the Monitor Message Processing feature and multiple search
options are available to retrieve the message you are
SAP CPI offers pre-built monitoring features and thorough interested in. After having selected the specific message
auditing of message processing at every stage of its life cycle. processing log, you see the first details of the message
This helps support teams to swiftly resolve any problems that processing. In this case, we are investigating the error that
arise. It is advisable to enable payload tracing solely in testing occurred in the message processing. The Error Details are
systems and activate it in production systems based on the giving you a first technical hint on what happened. To further
logging configuration of the IFLOW. This optimizes system analyze this issue, click on the Log Level you are seeing in
performance unless it is necessary to have it on in the the detailed view of the message processing log. In this
production environment. Troubleshooting always begins with specific case, the message was sent in a log-level Trace.

On the left-hand side, you see the master list containing the CPI Transport Naming Conventions : <CR Number>
Run Steps. A click on one of the elements will affect the <CR Description><Package Name/Artefact Name>
views on the right-hand side, the Integration Flow Model, the <Version Number>
Log Content, and Message Content views that are selectable
by clicking on the respective tabs. The visible log steps are 9. Conclusion
the logical steps that match the configured integration
message flow model steps, in this case, ODataSender, Script, The this discussion we have included an overview of the SAP
Groovy Script, and HCIOData. Other steps are not visible, CPI architecture, which involves understanding how different
since the occurring error stopped the message processing. If components within SAP CPI interact to facilitate seamless
the integration flow model is still deployed it will be loaded integration between various systems and applications. This
and shown as the default page. The Run Steps table on the left paper covers aspects such as message processing, connectors,
side is the starting point for all views. The indicates the steps runtime, and the overall structure of the integration platform.
where an error occurred. The table is sorted by occurrence, This paper covers how SAP CPI enables users to connect
the newest entries being at the top. Errors are most likely different systems, orchestrate processes, and manage the flow
shown in one of the last steps and that is what we are looking of data. Integration capabilities may include pre-built
for in this case. connectors, data mapping, content-based routing, and support
for various protocols. Also, we have provided a glimpse into
8. Transport Mechanism & Naming the user interface of SAP CPI, including key screens such as
Conventions the homepage, design tab, monitoring tab, and settings tab.
This gives users an understanding of where they can perform
SAP provides below mechanisms to transport CPI objects: different tasks related to designing, monitoring, and
• Manual Export and Import configuring integration processes. The upcoming sections
• CTS+ (Content Transport Service) will focus on implementation steps along with practices and
• MTAR Download a case study to offer valuable insights and guidance, for users
working with SAP CPI.
• Transport Management Service
Declarations
It is recommended to use CTS+(If the customer has a CTS+
System)/TMS transports for transporting objects from one
Ethics approval and consent to participate: Not Applicable
environment into another environment. CTS+/TMS
Consent for publication: All authors have consent to submit
Transport should contain package name and version number
this paper to the Journal of Cloud Computing. Also, we
and change the description for each transport for customers
confirm that this paper or any part of this paper was not
with complex integration landscape and who have solution
submitted anywhere.
managers in the to-be landscape. Customers can evaluate SCP
TMS and FIGAF for small to medium-complexity
Availability of data and materials: Not Applicable
integration landscape or if customers don’t have a solution
manager on the roadmap.
Competing interests: Not Applicable

Volume 9 Issue 11, November 2020


www.ijsr.net
Licensed Under Creative Commons Attribution CC BY
Paper ID: SR24628113258 DOI: https://dx.doi.org/10.21275/SR24628113258 1730
International Journal of Science and Research (IJSR)
ISSN: 2319-7064
SJIF (2019): 7.583
Funding: Not Applicable [14] “SAP Help Portal,” help.sap.com.
https://help.sap.com/docs/cloud-integration/sap-cloud-
Acknowledgments: Thank you co-author Maha integration/integration-flow-design-guidelines
Bhageshwara Raju Kesaboina for his expertise and assistance [15] “Externalizing parameters using SAP Cloud Platform
throughout all aspects of our study and for your help in Integration’s Web Application | SAP Blogs,”
covering a few topics and reviewing the manuscript. blogs.sap.com.
https://blogs.sap.com/2017/06/20/externalizing-
References parameters-using-sap-cloud-platform-integrations-
web-application/
[1] “SAP Business Accelerator Hub,” api.sap.com. [16] “Enrichments of Externalization Feature in SAP Cloud
https://api.sap.com/integrations/packages Integration | SAP Blogs,” blogs.sap.com.
[2] Sookriti_Mishra, “My adventure in learning CPI: Part 1 https://blogs.sap.com/2020/01/21/enrichments-of-
| All about SAP Cloud.,” SAP Community, Sep. 10, externalization-feature-in-sap-cloud-platform-
2019. https://community.sap.com/t5/technology-blogs- integration/?
by-members/my-adventure-in-learning-cpi-part-1-all-
about-sap-cloud/ba-p/13393526
[3] Sookriti_Mishra, “My adventure in learning CPI: Part 2
| Deployment Models,” SAP Community, Sep. 15,
2019. https://community.sap.com/t5/technology-blogs-
by-members/my-adventure-in-learning-cpi-part-2-
deployment-models/ba-p/13394902
[4] Sookriti_Mishra, “My adventure in learning CPI: Part 3
| Cloud Security,” SAP Community, Sep. 15, 2019.
https://community.sap.com/t5/technology-blogs-by-
members/my-adventure-in-learning-cpi-part-3-cloud-
security/ba-p/13398951
[5] “SAP CPI | SAP Blogs,” blogs.sap.com.
https://blogs.sap.com/tag/sap-cpi/
[6] STALANKI, “Comprehensive SAP CPI Guide for
Standards & Best Practices,” SAP Community, Jan. 16,
2020. https://community.sap.com/t5/technology-blogs-
by-members/comprehensive-sap-cpi-guide-for-
standards-best-practices/ba-p/13457873
[7] “SAP Help Portal,” help.sap.com.
https://help.sap.com/docs/cloud-integration/sap-cloud-
integration/sap-cloud-integration
[8] “Home - Apache Camel,” camel.apache.org.
https://camel.apache.org/
[9] “SAP Help Portal,” help.sap.com.
https://help.sap.com/docs/cloud-integration/sap-cloud-
integration/integration-capabilitiesengswee, “CPI’s
Groovy meets Spock – To boldly test where none has
tested before,” SAP Community, Jan. 24, 2018.
https://community.sap.com/t5/technology-blogs-by-
members/cpi-s-groovy-meets-spock-to-boldly-test-
where-none-has-tested-before/ba-p/13367099
[10] “Steps to learn SAP CPI, what you must know before
your first project | SAP Blogs,” blogs.sap.com.
https://blogs.sap.com/2019/12/06/steps-to-learn-sap-
cpi-what-you-must-know-before-your-first-project/
[11] “The Apache Groovy programming language - Syntax,”
groovy-lang.org. https://groovy-
lang.org/syntax.html#_unicode_escape_sequence
[12] “Comprehensive SAP CPI Guide for Standards & Best
Practices | SAP Blogs,” blogs.sap.com.
https://blogs.sap.com/2020/01/16/comprehensive-sap-
cpi-development-standards-best-practices/
[13] “Integration Developer’s Corner | SAP Blogs,”
blogs.sap.com.
https://blogs.sap.com/2017/07/17/introduction-to-
developers-corner/

Volume 9 Issue 11, November 2020


www.ijsr.net
Licensed Under Creative Commons Attribution CC BY
Paper ID: SR24628113258 DOI: https://dx.doi.org/10.21275/SR24628113258 1731

You might also like