Technical Articles
Cloud Integration – Content Size Limits
This blog describes the resource and size limits of the integration flow content that can be deployed in Cloud Platform Integration. It describes the limits apply and gives some guidance on how to optimize the overall integration flow development.
Size Limits:
The total size of all integration flows deployed on a single tenant would be 500 MB which would apply even for the dependencies like scripts, JAR etc…
Recommendations to reduce the content size:
- Remove unused integration flows and resources
Remove integration flows and their resources (Groovy/Java script, EDMX, Jar) from the tenant which are not used by un-deploying and deleting it from your design workspace, if applicable.
- Use ProcessDirect adapter to Re-use of integration flows by multiple integration processes
The large mapping or other resources (Groovy/Java script, EDMX, Jar) that are repeated in multiple integration flows can be placed in a single integration flow, which can be called with process direct adapter from the main integration flows.
Here is an example:
- Multiple Integration flows using same mapping and script
- Flows optimized with the usage of process direct adapter
-
- Flow1 with mapping and script resources
- Flow2 calling Flow1 using process direct adapter. Mapping and script resources can be removed.
- Flow2 calling Flow1 using process direct adapter. Mapping and script resources can be removed.
For detailed information on the ProcessDirect adapter usage and benefits.
Refer Help Documentation.
Conclusion:
Design your integration flows following the above guidelines, so that the content size of the integration flows doesn’t exceed the limits of CPI.
Hello,
Thank you for this article.
Where can we find information on the current size of all integration flows deployed on our tenant?
Thank you,
Regards,
Alexey
Hi Alexey,
Currently we don't have any resource monitoring, but we are working on it.
Regards,
Mahesh
Thank you for getting back Mahesh. Any ETA on when this would be available?
Regards,
Alexey
Hi Mahesh,
we have a Maven project and would like to use it deployed as a JAR file in all our Integration Flows and Artifacts. The problem is that our JAR is 42MB in size and we have more Integration Scenarios than 500MB would allow. Is there a possibility to deploy a JAR file just once so it can be used over all Integrations, Packages ans Artifacts?
Thank you for your help
Hi Andre,
How will integration flow refer to the JAR?, are you referring to script?.
Alternatively, you can consider to develop custom adapter for your external project. You can refer to the documentation on this - https://help.sap.com/docs/CLOUD_INTEGRATION/368c481cd6954bdfa5d0435479fd4eaf/e600fd78e6444c628ea2954de81d9540.html
I only see the option to deploy JARs under Resources and then add Artifact. But this is per Flow so I would have to use 42MB per Integration. Im looking for a possibility to deploy the JAR just once for all Integrations. Script Collection does not seem to be an option as it handels only non compiled simple scripts without dependencies. What I have is a compiled big Maven project with various dependencies. How can I deploy this just once and refer in all Flows to it?
If I would develop an Adapter for my Maven project, would I have to host my Maven project externally or can I host it somehow in the CPI?
Hi Andre,
The project ( code ) needs to be maintained in some repo like git. Then, once the project is built, final ESA is generated.
This ESA needs to be deployed on the tenant.
In of CF Integration Suite : The ESA can be imported to the package just like an integration flow
In Neo, The ESA needs to be directly deployed from the Manage Content Monitoring page.
On your other question on script collection, we have import from PI's Imported Archive content (Process Integration on-premise) as part of our roadmap.