# File Transfer

**In short:** File Transfer is an integration style where each application writes files of shared data and reads files that others wrote. Teams must agree on the file format and how often files are produced.

## Explanation

File Transfer is one of four integration styles. An integration style is a general way to connect applications so they can share data (see the article Integration Styles).

The idea is simple. Each application produces files that hold information other applications need. Each application also consumes files that others produced.

**File format.** Teams must decide what the files look like. Typical choices are COBOL-based mainframe feeds, Unix text files, and XML.

**Transformation.** One application's output is rarely what another application needs. Someone must convert files from one format to another. Integrators take on this job.

**Batch frequency.** Applications produce files at regular intervals. The interval should fit the nature of the business. Choosing it is a core design decision.

## Example

A billing application writes a file of new invoices at the end of each business day. A reporting application reads that file and loads the invoices. A small conversion step first turns the billing format into the format that reporting expects. The two applications never call each other directly. They only share the file and the agreed schedule.

## Trade-offs

The verified facts do not cover benefits or drawbacks in depth. Two points follow directly from them:

- Someone must own the format conversion, because outputs rarely match what consumers need.
- The batch interval is a business choice. Teams must agree on it and document it.

One application writes a file of shared data and another reads it.

```mermaid
flowchart LR
  A[Producing application] -->|writes file| F[(Shared file)]
  F -->|transformed if formats differ| C[Consuming application]
```

## Checks

- The document states the file format used between each producer and consumer, such as text, XML, or a mainframe feed.
- The document says how often each file is produced and why that interval fits the business.
- The document names who is responsible for transforming files between formats.

## Related

- [Integration Styles](https://arc.fuet.ch/concepts/integration/integration-styles-overview.md)
- [Shared Database](https://arc.fuet.ch/concepts/integration/shared-database.md)
- [Remote Procedure Call](https://arc.fuet.ch/concepts/integration/remote-procedure-call.md)
- [Messaging](https://arc.fuet.ch/concepts/integration/messaging.md)
- [Integration Style](https://arc.fuet.ch/concepts/integration/integration-pattern.md)
- [Message Translator](https://arc.fuet.ch/concepts/integration/message-translator.md)

## Sources

- [Introduction to Integration Styles - Enterprise Integration Patterns](https://www.enterpriseintegrationpatterns.com/patterns/messaging/IntegrationStylesIntro.html) — enterpriseintegrationpatterns.com, accessed 2026-11-09
- [File Transfer - Enterprise Integration Patterns](https://www.enterpriseintegrationpatterns.com/patterns/messaging/FileTransferIntegration.html) — enterpriseintegrationpatterns.com, accessed 2026-11-09
