How you can implement SAP CPI and API mgt faster in your organization. What key takeaways should you remember to implement at your organization?
This presentation covers some of my key lessons and what I'll recommend that you look into when implementation CPI and API mgt.
We also cover the Figaf Tool that allows you to handle the process much faster.
5. The agility compared to PI makes it a lot
different.
In PI you need to know full process to see if
you should include BPM in the process
In CPI you can add extra steps to it in the
process easy
Lower estimates for processes
Flexibility
6. If code is duplicated then it make sense
to refactor.
Delete the code and configuration from
the old flow.
Process Direct Adapter allow good using
of functions.
Make common used functions to use in
your project and organisation.
Refactoring code to make it reusable
7. The Process Direct adapter can make multiple calls to it self.
With my Fibonacci example it was able to calculate F(20), but it was
affecting the CPU usage.
So support many levels of concurrent calls.
Careful about running them in parallel.
https://www.cpicourse.com/blog/25934-calculating-fibonacci-
numbers-with-cpi
Process Direct
8. You have option to set
● Message Id
● Correlation Id (need to be set in HTTP Header)
● Sender/Receiver (can contain extra
information)
● Application Id (ie order number)
For details see
https://www.cpicourse.com/blog/25929-how-to-
search-for-messages-in-sap-cpi
Monitoring finding messages
9. The monitor enable you to search for CorrelationId, ApplicationId and
Message ID.
Difficult to:
● monitor two or more flow
● Get an easy overview of messages
● Assign user roles
Monitor of messages
10. Version and roll back was added
Difficult to see what was changed, you have to remember it
Can do version comparison between landscapes
Deploy full packages or individual iflows
Documentation of flows
Change Tracking
11. Enable consum configuration on the landscape
Ensure User/Password artifact names are identical on landscape like
SuccessFactorUser and not SuccessFactorDev,
So only have to change minimal number of values when imported.
Externalized configuration
12. For schedules jobs that you
want to have the option to
process manually.
1) Timer where you calculate
last run time
2) HTTP/SOAP service that
allow to user to call with
single user
3) Generic process for handling
both processes
Schedules jobs
14. Odata handling
Easy to get descriptions of Odata from SAP gateway
Metadata in the Gateway need to follow some principles otherwise
only HEAD method can be called.
There is also some caching that you need to take care of
15. Can include some extra javascript files. It does have some limitations
and you cannot use node.js files.
There is some build in Hashing algorithms, but no encryption.
Granted I’m no Javascript master so it helps to understand it better.
Javascript
16. Using Loggly is the easiest for setting up logging.
If you want to try something else it should be a webservice without
encryption
Consider what to log.
Logging
17. The place to add configuration to apply on runtime
Can also be used to save error messages if not using logging
KeyValue Maps
18. Same problems as CPI
● Just Zip files you transport
● No version history, so you have to keep backups
● Difficult to see what was changed
● It have a good API for export
Transports
20. If you don’t know SAP CPI then check out my course
www.cpicourse.com
Free introduction and a 97 EUR course
● Focus on the most important aspect of understanding CPI and how
to create real integration
● Get some of my script to understand what they are
● SuccessFactors querying of new employees
CPI course
21. No training system provided by SAP
You can only get access thru your company CPI system
CPI training system
23. Developing CPI is pretty straight forward.
Developing error handling becomes more difficult/time consuming
If you can add a framework around the process you can create an
integration in a shorter period.
Optimize developer productivity
Why an extra tool
24. ● A tool that allow you to run and make integration better
● Automate may processes
● Support both CPI, API Management and PI/PO
Figaf IRT
25. An online viewer of SAP CPI data
Setup groups of view so users can view multiply iflows at one time
Allow business users to monitor their process
Can search for Sender, Receiver, Application Id, msg and correlation Id
No integration or actions with IRT
Message Monitor
26. Architecture
Figaf IRT
UI
Odata filter
SAP CPI tenant
DB
Odata service
No data saved in Figaf
Figaf just create an OData query send it to
CPI, using the Figaf CPI user
And send the response back to the user.
27. Users will only have access to
see the flows they own
Can configure multiple iflows in
one tile
List of different process to view
29. Download messages and payloads of messages that have a status like
failure or Receiver = Log
Messages saved at Figaf IRT system
Integrated with rules can setup actions like
● Resent
● Send mail to a person
● Create a case on it
Alert monitoring
30. Architecture alerting
Figaf IRT
Scheduled Agent
Downloads messages
SAP CPI tenant
DB
Odata service
Figaf IRT schedules a job every 5 minute to
download all changes in one filter.
Messages are downloaded to the IRT
database.
Rules is applied on them.
31. ● Saved in Figaf IRT database
● Have context from message
● Error information
● Have payloads
● Information about rule and processing
● Status of how it is processed
Alerts
32. A rule contains an Xpath to find if the message is relevant
● Have a subject and message/description that will be sent via email
or webhook
○ Can use Xpath to extract payload from message
● Specify email
● Specify webhook to sent to Jira
● Specify if reprocessing is allowed, requires small change to iflow
Rules
33. Figaf gives you an option to handle restart in a different way
Add script to your flow. This will save the original payload for
processing later.
Support:
● SOAP
● HTTP
● Process Direct
IRT handle that messages are not sent multiple times.
Restarting with Figaf IRT
34. ● Script to save the input input
payload and headers in a
property
● A script to convert the attach
the payload to an MPL
attachment and enable IRT to
log it.
● An Iflow to take HTTP messages
and deliver them to
ProcessDirect
What is required
36. Trigger alerts if CPU load is above 80%
Trigger alerts if Latency is above 3000ms
Trigger alerts if you cannot call an iflow
Same alerts as with other resources
Monitor resource consumption
40. DevOps is a set of software development practices
that aim to shorten the systems development life
cycle while delivering features, fixes, and updates
frequently in close alignment with business
objectives
wikipedia
“DevOps”
41. Track what object is being changed
● Is it a part of the BPMN model
● Is it scripts or mappings
● Is it configuration which is changed
Understanding what is changed
42. Make a service request in the IRT tool,
that allow you to link the changes to the
reason.
User can assign changes in iFlows to it
Register changes with business reason
43. With the build in testing tool you are able to test the modification you
make does not affect anything unexpected.
You can document what test you have run and the result of them.
Test the changes
44. Configure an iflow once and then let IRT handle configuration in the
landscape once importing the change
Iflow configuration in the landscape
45. Be able to import changes into
target system
Figaf will import the object into
the target system
Then configuration will be
applied
Transport individual
46. Same transport method for API Mgt
Understand which areas are affected
Also have option to log failed messages and trigger alerts
API management
47. Signup Figaf IRT Cloud
figaf.com/IRTCloud
Getting started session
support@figaf.com