Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We have a need to FTP files that are generated by our system, so we're trying to decide whether we should spend the time to build something that meets our criteria (relatively easy, .NET has FTP functionality built in, among other more advanced libs from 3rd parties). Or if we should buy something off the shelf.

Our requirements are roughly:

  • Must be able to trigger a file send programmatically
  • Needs to retry N number of times (configurable)
  • Queryable status of FTP requests
  • Callback on completion or fail of an FTP request

I don't need to be sold on the relative simplicity of building something like that for myself. However I do want to do the due diligence of seeing what products are available ... because if something does exist that matches the requirements above, I wouldn't mind paying for it :-) Any thoughts or links would be greatly appreciated. Thanks!

share|improve this question
I assume a shell script isn't enough? – Jeremy Heiler Jun 29 '11 at 14:13
Is there anything particularly confidential about the data in question? Might be a factor. – Jon Hopkins Jun 29 '11 at 14:15
How much $$ do you think it would cost to build (assuming you have the in-house expertise to do it) vs. how much would it cost to buy/license (assuming you can find a product that matches closely enough to what you want)? – FrustratedWithFormsDesigner Jun 29 '11 at 14:57
@Frustrated: while developing may cost more, we found more than enough business value in developing our own solution. In our product, FTPing files is critical for us. We needed reliable and accurate information about what, when, and where etc. and while there were products off the shelf that could get it done, they were not robust enough considering the importance of the role in our system. – quentin-starin Jun 29 '11 at 15:08
@Jeremy, yep, not enough. @Jon, yes ... confidential client data. @Frustrated ROI isn't the question. @qes, similar situation with us, FTPing itself is not a core part of our business, but communicating the data itself is. – Joel Martinez Jun 29 '11 at 15:22

A great comment I saw one time was "is this part of your core business" when deciding either buy or outsource. If it is then you should build it so you have total control, if not then buy or outsource is an option.

This sounds like the latter.

share|improve this answer
What to use is a separate question – Bill Leeper Jun 29 '11 at 15:07
again, don't need to be convinced of build vs. buy, am just trying to do my due diligence. – Joel Martinez Jun 29 '11 at 15:18

SyncBackPro would handle most of that, except I think the queryable status of FTP requests.

We used to use it, but replaced it with custom code to have more control over reporting of activity. Also, it seemed to eat a lot of CPU.

If you are creating something, I would recommend Rebex FTP. It is simpler to use than the built in .Net classes, and also has more functionality. Rebex has been rock solid for us in production.

share|improve this answer
yeah, the queryable status/callback is a rather important feature. Will take a look at rebex if we decide to build. thanks :-) – Joel Martinez Jun 29 '11 at 15:20

For something simple like that, building it yourself shouldnt take too long - perhaps not much longer than integrating a 3rd party library into your app. After all, there's already FTP support available to you, as you mention. Plus it removes the dependency on a third party library (which may/may not be an issue for your project).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.