Skip to Content
Technical Articles
Author's profile photo Venu Ravipati

Integration suite extension – Part 1 – Introduction – with SAP BTP, HANA, Azure, and GO

Introduction:

In implementation projects, sometimes we see testing integrations is not given as much focus and effort as it deserve. This some times is true for production integrations as well where changes are moved to production by testing few handful of scenarios, but not all possible scenarios like negative scenarios, regression testing, edge case scenarios, and volume testing. Being a fan of SAP integration suite, I wanted to write a blog series as I work through to build an extension application that automates the testing of integrations for us. This helps us to move our integration changes more frequently with more confidence that our integrations will not break with the changes we incorporate. If you are interested and want to be part of the journey, grab a coffee and read along. I hope this will be fun 🙂

Coming to technical details, this extension application will be built using GO programming language because I like GO. Just kidding :). GO is a simple programming language very well suited for building applications on cloud because of its simplicity in handling complex topics like concurrency. If you did not work on Go before, do not worry. Just follow the blog and check the code in repository. I am sure it will be self explanatory with some help from Google. For persistence, We use HANA for structured data and Azure blob storage for unstructured data like files. Application will be deployed on SAP BTP Kyma runtime. Like the approach? Yeah. All goodies. What not to like right!! 🙂

I like CAP and its simplicity, but in this application we will not use CAP and do it on our own. Some times it is good to DIY (do it yourself). Moreover CAP does not support GO yet.

 

In this blog we will start small by writing a Hello World application first and deploy it to Kyma.

 

STEP 1 – Create the GO application by cloning the repository

git clone https://github.com/ravipativenu/integration-suite-extention.git

 

STEP 2 – Install and run the application locally

go install ravipativenu/integration-suite-extension 
integration-suite-extension

 

STEP 3 – Test the application running locally

http://localhost:8080/api/hello

you will see the “Hello World!” output

 

STEP 4 – Run application unit tests

  • A unit test is written to test /hello endpoint. Run unit tests and make sure they are successful.
go test

 

STEP 5 – Create Dockerfile for Docker image

This file already exists in the repo

 

STEP 6 – Build docker image

docker build -t ravipativenu/integration-suite-extention:latest -f Dockerfile .

 

STEP 7 – Publish docker image to Docker hub

docker push ravipativenu/integration-suite-extention:latest

 

STEP 8 – Update your Kyma runtime parameters

  • Download kyma runtime parameters from Kyma console and update local kyma config C:\Users\<user>\.kube

 

 

STEP 9 – Deploy to Kyma

  • Create credentials for docker access from Kyma
kubectl create secret docker-registry regcred --docker-server=https://index.docker.io/v2/ --docker-username=<username>--docker-password=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX --docker-email=<emailid>
  • deployment.yaml is descriptor file to deploy to Kyma
  • Deploy to Kyma
kubectl replace --force -f deployment.yaml -n default

 

STEP 10 – Test application deployed on Kyma

 

 

 

 

Next we will include persistence and start building our application further.

 

Assigned Tags

      2 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Rob Hofman
      Rob Hofman

      Very interesting, looking forward to part two to go more in depth with the testing program!

      Author's profile photo Venu Ravipati
      Venu Ravipati
      Blog Post Author

      Thank you Rob Hofman for your comments.

      Part 2 is below. Hope you find it interesting.

      https://blogs.sap.com/2021/11/29/integration-suite-extension-part-2-persistence-with-sap-btp-hana-azure-and-go/