EAI - File Transfer
Identification
Name: EAI - File Transfer
Category: Application/Technology
Version: 1.1
Modelling/Architecture Pattern: Architecture Pattern
Synonyms: No data
Contributor(s): Ed Walters
Attribution: This pattern is based on information in “Enterprise Integration Patterns” (Hohpe, Woolf 2003), supplemented by internet and Wikipedia searches.
Description
Context: In most enterprises there is a mix of different applications and technologies that supply its automated information system needs. These will have been acquired from multiple vendors at different times. Information though needs to flow around the enterprise as smoothly and seamlessly as possible, ‘boundaryless information flow’, hence there is a need to integrate data managed by a set of heterogeneous applications. There is also an expectation for modern enterprises to be able to exchange information with many sorts of external entities, including Customers, Partners and Regulators.
Problem: The problem that recurs is the need to make data generated in one application (the 'producer') available to another (the 'consumer'). The consumer application may be a distinct one, or simply another instance of the same one on a separate device.
EAI - File Transfer may be a solution to these integration needs.
Trade-offs, Design Constraints (Forces): There are a number of forces to balance in this integration solution. For example, the integrator must consider how often the transfer should be made and how to recover from failed transfers. How will the consumer system know that the file has arrived. The integrator needs to think about file naming and how will the file be managed by the consumer once it has consumed the data. The applications integrated using this pattern must agree on the format of the file, the file location and its naming.
Solution Structure: File Transfer is one of a number of possible data integration solutions. In File Transfer there is a file of data in a certain location on a device which is produced by one application (the ‘producer’) and there is another application (the ‘consumer’) which needs to access that data from a location on a distinct device and then use that data. There must be some form of communication path that supports transferring the file from the producer’s device to the consumer’s device. The path might be a network, in which case the transfer mechanism could be specialised file transfer software or a messaging system, or the exchange of data could be done using off-line storage devices that are manually transported between devices.
Solution Dynamics: The producer application writes out a file to a device location. The file transfer system is then invoked to transfer the file to a location on another device. The consumer application becomes aware of a new file to process by somehow perceiving a ‘file transferred’ event and processes the data in the file. The ingestion event could alternatively be time-based.
Layers/Aspects of the ArchiMate modelling language used: Applications/Technology.
Variants, Refinements and Combinations: EAI - File Transfer can be combined with EAI Messaging. The pattern shown covers the case of using file transfer software, but the transfer could be affected by using off-line devices and manual procedures.
Known Uses: File Transfer is simple and quick to set up, and it may be a useful solution for one-off, ad-hoc or temporary data integration needs. It can be used for data replication and B2B data integration.
Other comments and references: This integration solution probably shouldn’t be considered a long-term solution since its robustness overall is questionable. Security policies may demand file encryption be used.
Pattern Metamodel
Example(s)
![File_Transfer_Example] In this example the Sales Order system routinely exports order data to a CSV file at the end of each day. This file is transferred using an FTP tool to the Head Office server. At midnight an Order Consolidation system processes the file. In this example a Trainer copies a file from their personal laptop using a USB device and transports this to a training site, where they install it on the training room PC via a USB port.
Downloadable Model
[EAI_File_Transfer.xml] EAI_File_Transfer.xml