Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Automate checking your integration flows with CPILint

108 views

Published on

These are the slides I presented at the SAP Inside Track Walldorf event on Saturday, January 26th 2019. My talk was called "Automate checking your integration flows with CPILint". Here's the session description from the agenda:

"In this session, you will learn about an upcoming open source tool for SAP Cloud Platform Integration, that lets you automatically check your integration flows against a number of rules about adapters, mappings, security and more. You will see the new tool in action, and learn more about how it works. Also, if you are interested in becoming a beta tester, you will get the opportunity to sign up after the session. Version 1.0 of the tool will be released in the first half of 2019 for free and under an open source license."

Published in: Technology
  • Be the first to comment

Automate checking your integration flows with CPILint

  1. 1. ©KMD©KMD 1 Automate checking your integration flows with CPILint
  2. 2. ©KMD©KMD INTERNT KMD A/S WHO AM I? 2 _Morten Wittrock _SAP Mentor _SAP Inside Track Copenhagen co-organizer _Architect at SAP partner KMD in Denmark _SAP PRESS author _I blog at https://people.sap.com/mortenw _Twitter: @mwittrock
  3. 3. ©KMD©KMD INTERNT KMD A/S INTERNT KMD A/S WHAT IS CPILINT? 3 _ A new open source tool developed by yours truly _ Let’s break down the name: _ CPI: SAP Cloud Platform Integration _ Lint: A tool that detects programming errors, bugs, stylistic errors, and suspicious constructs _ You may know other linters like ESLint (JavaScript) and abaplint (ABAP) _ So: CPILint is a linter for Cloud Integration _ Or: A tool that lets you automatically check your integration flows against a number of different rules
  4. 4. ©KMD©KMD INTERNT KMD A/S INTERNT KMD A/S WHAT IS CPILINT? 4 _ The rules cover adapters, security, mappings, best practices etc. _ You choose the rules that make sense in your situation _ The tool reports integration flows that break your chosen rules _ You can schedule the tool to run continuously _ Think of the CPILint rules as executable development guidelines
  5. 5. ©KMD©KMD INTERNT KMD A/S INTERNT KMD A/S CPILINT IS OPEN SOURCE 5 _ What does that mean? _ First, you have access to the complete source code _ On GitHub and included in every CPILint release. _ Want to learn how the tool works? You can. _ Second, the license allows you to modify the code _ CPILint is released under the MIT License. _ Want to change or add something? Go right ahead.
  6. 6. ©KMD©KMD 6 Demo
  7. 7. ©KMD©KMD INTERNT KMD A/S INTERNT KMD A/S HOW DOES IT WORK? 7 _ Rules are at the core of CPILint _ The rules inspect integration flow artifacts _ The artifact contains: _ Metadata _ Resources (such as scripts, XML Schema files etc.) _ The iflow BPMN2 XML document _ Some rules only inspect resources _ But most examine the iflow XML
  8. 8. ©KMD©KMD INTERNT KMD A/S INTERNT KMD A/S HOW DOES IT WORK? 8
  9. 9. ©KMD©KMD INTERNT KMD A/S INTERNT KMD A/S HOW DOES IT WORK? 9 _ Some rules only look at a single iflow artifact _ Other rules inspect all iflow artifacts _ If an iflow breaks a rule, an issue is created _ The issue contains all the information you need to do something about the problem _ Like: _ Which iflow _ Which channel, mapping step etc. _ Which resource
  10. 10. ©KMD©KMD INTERNT KMD A/S INTERNT KMD A/S HOW DOES IT WORK? 10 _ At the moment, all issues are echoed to the console _ Future possibilities: _ Add the issue to an incident tracking system _ Log the issue to a file _ Post the issue to e.g. a Slack channel
  11. 11. ©KMD©KMD INTERNT KMD A/S INTERNT KMD A/S RULES: DEVELOPMENT 11 _ Allowed / disallowed scripting languages _ Iflow description required _ Allowed / disallowed XSLT versions _ Java archives not allowed _ Allowed / disallowed mapping types _ XML and non-XML condition routers not allowed
  12. 12. ©KMD©KMD INTERNT KMD A/S INTERNT KMD A/S RULES: SECURITY 12 _ Cleartext basic authentication not allowed _ Unencrypted data store writes not allowed _ CSRF protection required for sender HTTPS _ Unencrypted HTTP endpoints not allowed
  13. 13. ©KMD©KMD INTERNT KMD A/S INTERNT KMD A/S RULES: CONNECTIVITY 13 _ Allowed / disallowed receiver adapters _ Allowed / disallowed sender adapters _ Matching ProcessDirect channels required _ Client certificate in sender channels not allowed
  14. 14. ©KMD©KMD INTERNT KMD A/S INTERNT KMD A/S SYSTEM REQUIREMENTS 14 _ To install and run CPILint you will need: _ A Java 11 runtime _ To build the code you will need: _ A Java 11 JDK _ Apache Ant _ Apache Ivy
  15. 15. ©KMD©KMD INTERNT KMD A/S INTERNT KMD A/S MY DEVELOPER TOOLS 15 _ Eclipse IDE _ Visual Studio Code _ Postman _ <oXygen/> XML Editor
  16. 16. ©KMD©KMD INTERNT KMD A/S INTERNT KMD A/S WHAT DOES THE FUTURE HOLD? 16 _  First public demo at #sitWDF _ Beta test in Q1 2019 _ Care to join? Let me know after the session! _ 1.0 release in H1 2019
  17. 17. ©KMD©KMD INTERNT KMD A/S INTERNT KMD A/S SHOUTOUTS 17 Vadim Klimov Eng Swee Yeoh
  18. 18. ©KMD©KMD 18 Questions?
  19. 19. ©KMD©KMD 19 Thank you!

×