views:

78

answers:

1

Hi,

I have an application that runs on a server and uses SQL server 2005. If I wanted to make this application integratable with other systems such as a CRM, what would be the best strategy? My idea was to create a public Web Service with authentication...does this sound like the right approach?

Any idea's would be appreciated.

+2  A: 

Yes, Ideally all integration is done using industry standard communication protocols, requiring some middleware that links these standards. Ideally these protocols would be something like a webservice as you say where the API ensures validation all data imported into your system.

Most basic integration between systems means Transfer of Data between systems. You can either choose to build an API to which you or others provide the middleware to connect. Or depending on the nature of the applications, you your case CRM, it may be worth ising this same API to build an Import/Export mechanism where users can just just Export their data into xml, CSV and also import their data, building a nice interace to map any CSV format to your own fields is a nice touch and means less technical users can perform non-automated tasks.

Mark Redman
Thanks for your input. So by middleware do you perhaps mean some sort of RPC? My idea was to just expose a web service to which the CRM could create a view for input, then behind the scenes would call the webservice and just process the information that way.
James
The middleware could be any application, part of you your application, a windows service etc in any technology that can read both API's.Ideally you would import the data into the CRM system and use it there, with some kind of refresh/update/sync. This way you dont reply on both systems being up/connected 100% of the time.
Mark Redman
Ah so if I say created a windows service that could interact with both API's it could simply listen for connections from the CRM and then call the appropriate application API?
James
Yes, you would have sone kind of sync mechaism that checks for latest updates (last updated date) or scheduled processing as required by the system.
Mark Redman
Thanks for the advice. Do you have any first hand experience with a system similar to this?
James
Yes, I am speaking from experience...
Mark Redman