What is a contract
Last updated
Last updated
A Contract is a set of rules that defines how an Actor and Data Mover interact and how data is processed within Data Mover.
In its dual role of client and server (see for details), Data Mover adapts its functions to facilitate seamless data exchanges.
When Data Mover acts as a client, the following contract types apply:
Input Contracts retrieve files from the Producerβs data store.
Mediation Contracts modify files, such as renaming or zipping, before delivery.
Output Contracts send processed files to the Consumer's data store.
When Data Mover acts as a server, one type of Contract applies:
Connection Contract (in input or in output) specifies how Data One connects with the Producer to receive files or with the Consumer for file retrieval, acting as a protocol server in both scenarios.
Data Mover collects files stored in a specific folder of Actor POLLUX (the Producer) and sends them to Actor CASTOR (the Consumer) after renaming and zipping them (the specific actions applied to files).
To automate this flow, Contracts must be designed in this way:
Data Mover connects to the remote server of the POLLUX Actor to get the files. This configuration occurs in an Input Contract.
Data Mover renames and zips the files. This configuration occurs in the Mediation Contracts.
Data Mover sends the files to the archive folder of Actor CASTOR. This configuration occurs an an Output Contract.
Actor POLLUX (the Producer) sends files to Data Mover, which renames and zips them, making them ready for collection from Actor CASTOR (the Consumer).
To automate this flow, Data Mover Contracts must be designed in this way:
Actor POLLUX connects to Data Mover and sends the files to a specific VFS path. The definition of this input connection occurs in the Connection Contract.
The files are renamed and zipped. This is the responsibility of Mediation Contracts.
Actor CASTOR connects to Data Mover to retrieve the files. The definition of this output connection occurs in the Connection Contract.
Data Mover collects files stored in a specific folder of Actor POLLUX (the Producer) and renames them, making them available for collection from Actor CASTOR (the Consumer).
To automate this flow, Data Mover Contracts must be designed in this way:
Data Mover connects to the remote server of Actor POLLUX to get the files. This configuration occurs in an Input Contract.
Data Mover renames the files. This configuration occurs in a Mediation Contract.
Actor CASTOR connects to Data Mover to retrieve the files. The definition of this output connection occurs in the Connection Contract.
Actor POLLUX (the Producer) sends files to Data Mover, which renames and zips them, and sends them to Actor CASTOR (the Consumer).
To automate this flow, Data Mover Contracts must be designed in this way:
Actor POLLUX connects to Data Mover and sends the files to a specific VFS path. The definition of this input connection occurs in the Connection Contract.
Data Mover renames the files. This configuration occurs in the Mediation Contracts.
Data Mover sends the files to the archive folder of Actor CASTOR. This configuration occurs an an Output Contract.