Q:

Integration with external system

Just a general question. How do you guys approach the problem of integrating with external system. 
What are the things to consider?
What are the different approach? 
Is there any existing framework out there for this?
Is there a pattern to follow?
Just wanna get some ideas, any suggestions, links, articles are appreciated.
Thanks

A:

Probably you want to be independent of the external system. It means that if something changes with the external system, your client should not notice that. So you need to abstract it. It depends on your requirements, but I tend to follow DDD principles. It makes sure that you have a rich domain model that is independent of whatever infrastructure you are using, in your case, the external system. Just google for 'domain driven design'... :)

