Our last two posts talked about different aspects of integrating data using web services and using files. In this post we'll touch on when it makes sense to choose one over the other.
The two biggest factors are how often data needs to be sent and received, and how large those sets of data are. Often, in our experience, these are correlated such that low-frequency integration usually involves higher data payloads, while higher-frequency integration usually involves smaller payloads.
The simplest heuristic is: files are good for low-frequency batched data, and web services are better for high-frequency atomic data.
Examples of low-frequency data transfers include daily inventory synchronization and batched production data at the end of a production run. This type of data is often able to be exported and imported manually, which can make it easier to automate those batched exports and imports on certain triggers like the end of the day or shift.
One side-benefit of transferring this information with files is that people may want to examine these files on their own, so the same files used for synchronizing inventory data could be examined by an inventory analyst if any issues arise. Of course, web services are able to handle large amounts of data at low-frequency just fine, but in many operations it can be more simple and straight-forward to simply use files for this kind of job.
On the other hand if you're dealing with high-frequency or on-demand data transmission, web services are going to be the best bet. Examples of this kind of integration include synchronizing individual inventory transactions, checking status of production equipment, alarms like low-feeder warnings, and any other process where real-time information is needed.
Overall, web services are the more flexible option as they are able to easily handle both scenarios. While you could achieve a similar end-result by using files in a high-frequency integration, there is more overhead associated with processing each individual file. If individual files are sent too quickly, the receiving system may be constantly processing files. This can result in the receiving server being bogged down and unable to process each file in a timely manner. Building an integration on web services can help you ensure that you're building a robust system that will be able to tackle nearly any challenges that will come up down the road
We have a lot of experience with all different types of file transfer and web service integrations, and while we stand by the general guidelines described above, the most important thing is to implement a system that works for your business and your operation. If your team has the capability to implement a web service, then that will generally be a more flexible and robust long-term solution. But if you don't have that expertise and need to use a file transfer system - then do it with files! If you need your systems to work together, then a file system is better than no system.
If you have any questions or just want to talk about this or any other topic, don't hesitate to get in touch! Stay tuned for more from the InoAuto blog