RE: eConnect / Web Services?
My first choice for custom integrations is eConnect, if the requirements allow for it.
I have two simple reasons:
1. It is simpler in many respects. The API is simpler, the infrastructure is simpler, the installation is simpler, the configuration is simpler, the maintenance is simpler. That simplicity saves time and money.
2. There are only a few cases where the web services architecture is a technical requirement. Typically, this would be when you have to traverse a firewall, or perhaps when you want to have an external system directly access GP (which I do not advocate). There are a few cases where there might be a requirement to use an API call that web services supports but eConnect does not (void, cancel, get list, etc.), but I have yet to encounter the need for web services over an eConnect + SQL solution.
While I know that there are people that "prefer" web services or openly advocate it, I haven't yet heard a compelling argument justifying the additional infrastructure (web server), configuration, and complexity of web services as an integration solution in the absence of clear requirements for them. Those things typically cost the client more money, so unless there is a strong technical or business requirement for them, I don't recommend them.