cancel
Showing results for 
Search instead for 
Did you mean: 

Cloud Integration suite to connect external custom website and HANA on Cloud

prasad_dix
Participant
0 Kudos
639

Dear experts,

  We have cloud integration suite (CPI) + HANA on cloud licenses on public BTP cloud and external custom website with Django backend with APIs. 

We would like to know what will be the right approach to consume data from website and save it to HANA DB (Cloud) and vice-a-versa using Cloud Integration suite. Any tips, help, reading material references would be appreciated for further understanding.

Regards,

PD

Accepted Solutions (1)

Accepted Solutions (1)

Ivan-Mirisola
Product and Topic Expert
Product and Topic Expert

Hi @prasad_dix,

Yes, direct consumption of the services' end-point is also a valid solution - just as long as you are able to live with the issues that may occur in terms of system availability and logic involving the two systems.

A message broker is required on any system integration scenarios when you cannot be sure that the other side is readily available to take the request or when you require some logic in the integration itself (i.e.: splitting or merging information into fields, or consume some API's to complement the information required by the target system, etc.). 

Before you had a message broker solution in place, such things had be accomplished on the source system via development - which usually required a native development in languages such as Java, C++, Python, etc to create the system integration logic inside the application layer. However, this approach means the data integration isn't decoupled from the client application - thus it also means there is a high maintenance cost and increased TCO. Therefore, companies started to use message brokers to decouple the system integration tasks to make things easier to implement, maintain and grow as integration needs are required. 

Best regards,
Ivan

Answers (1)

Answers (1)

Ivan-Mirisola
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi @prasad_dix,

An iFlow (integration flow) will often have a message sender system and a message receiver system.

In your case, the receiving system will be your HANA Cloud instance. For that you may integrate it with an JDBC Adapter or by using a specialized HTTP Adapter for OData or REST protocol. If you opt to use the later you could implemented an API using CAP on BTP which will perform all the actions required on your Database - instead of having stored procedures or any complex SQL statements. 

On the other hand, the message sender system can be the system where the need for integrations gets raised. Thus, your originating system will be calling the Cloud Integration iFlow's End-Point with the message payload. For that you can use whatever adapter fits your requirements best. Just remember to create an instance of Cloud Integration Runtime with plan = 'integration-flow' so you are able to call this end-point using OAuth2 Client Credentials authentication flow. 

https://help.sap.com/docs/cloud-integration/sap-cloud-integration/creating-service-instance-and-serv...

You could also use the trigger based integration. So, instead of having a sender system, the iFlow will always kick-start based on a Timer Start Event. Please check the following:

https://help.sap.com/docs/cloud-integration/sap-cloud-integration/define-timer-start-event

There is also the option to develop your integration to use event-based architecture. That will imply that your sender will be a message which should be fetched from a queue. So, every time your integration needs to kick-start, all you have to do is send an event-message to this queue for which your iFlow will be listening to.

Usually this event-message doesn't contain any payload other the the event type and an object reference. This information will then be used throughout the integration flow to perform call-backs to the originating system in order to fetch any additional data for processing and storing it at the Hana Cloud system.

BTP has the Event Mesh service that you can use to implement message queues just for this type of scenario.

Hope this helps clarify a bit.

Best regards,
Ivan 

 

prasad_dix
Participant
0 Kudos
Thank you for your detailed explanation. I was thinking of one more way by skipping cloud integration suite, to publish to oDATA on BTP and consume it at source and vice-a-versa. Is this approach valid?
Ivan-Mirisola
Product and Topic Expert
Product and Topic Expert
0 Kudos