Copy a file from a source to a target (where both the source and target can be Cloud-based or on-premises) using an on-premises Data Integration Platform.

Pattern Definition
Problem | How do I transfer a data file from source to a target where source and target could be Cloud-based or on premises with minimal Cloud footprint? | |
Context | This pattern is applicable when there is a desire to transfer files from Cloud to Cloud, Cloud to on premises, on premises to Cloud, or on premises to on premises. The Cloud-based source or target may be SaaS, PaaS, or IaaS. | |
Forces |
| |
Solution | This pattern employs a Data Integration Platform only on premises. This is likely the current situation in most IT environments. File transfers are currently done between on-premises sources and targets on-premises Data Integration Platform and there is a desire to add Cloud-based sources and targets to this existing file transfer approach. | |
Consequences | Pros:
|
Interaction View
Upload On Premises to Cloud
Transfer data (via file) from an on-premises application to a Cloud-based application.

Interactions
- The on-premises Data Integration Platform notifies the on-premises application to export a file. This notification could be time based or business event driven. The notification could also be replaced by a timed export from the on-premises application.
- The on-premises application exports data to a file.
- The on-premises Data Integration Platform retrieves the file.
- The on-premises Data Integration Platform processes the file and writes the file to Cloud-based storage.
- The on-premises Data Integration Platform notifies the Cloud-based application that the file is ready for processing. The Cloud-based application could be SaaS, or an application running on PaaS or IaaS. The notification could also be replaced by a timed import or polling from the Cloud-based application.
- The Cloud-based application reads the file and processes the contents.
Notes
- The notifications to the applications are shown as a single call, but there could be multiple API calls to export or import the files.
Download Cloud to On Premises
Transfer data (via file) from a Cloud-based application to an on-premises application.

Interactions
- The on-premises Data Integration Platform notifies the Cloud-based application to export a file. The Cloud-based application could be SaaS, or an application running on PaaS or IaaS. This notification could be time based or business event driven. The notification could also be replaced by a timed export from the on-premises application.
- The Cloud-based application exports data to a file
- The on-premises Data Integration Platform retrieves the file from Cloud-based storage.
- The on-premises Data Integration Platform processes the file and writes the file to on-premises storage.
- The on-premises Data Integration Platform notifies the on-premises application that the file is ready for processing. The notification could also be replaced by a timed import or polling from the on-premises application.
- The on-premises application reads the file and processes the contents
Notes
- The notifications to the applications are shown as a single call, but there could be multiple API calls to export or import the files.
Transfer Cloud to Cloud
Transfer data (via file) from a Cloud-based application another Cloud-based application.

Interactions
- The on-premises Data Integration Platform notifies the Cloud-based application to export a file. The Cloud-based application could be SaaS, or an application running on PaaS or IaaS. This notification could be time based or business event driven. The notification could also be replaced by a timed export from the on-premises application.
- The Cloud-based application exports data to a file.
- The on-premises Data Integration Platform retrieves the file.
- The on-premises Data Integration Platform processes the file and writes the file to Cloud-based storage.
- The on-premises Data Integration Platform notifies the Cloud-based application that the file is ready for processing. The Cloud-based application could be SaaS, or an application running on PaaS or IaaS. The notification could also be replaced by a timed import or polling from the Cloud-based application.
- The Cloud-based application reads the file and processes the contents.
Notes
- The notifications to the applications are shown as a single call, but there could be multiple API calls to export or import the files.