Dear software experts
I need to find away to exchange some data between the application I'm developing and some other applications that already developed for some business,But it is possible these applications get replaced in future.I don't want I have to change my source code when they are replaced.I'm seeking a generic way for these data exchanging,so that every application can exchange data with my application.WEB service is a good idea when other applications want to use data or services which my application provide and they are caller,but how can my application get data or use service from other software systems when my application is caller,without I have to change my source code if that system replaced?
I think if I can write a software component which offers some interfaces,and other software systems implement those interfaces,so I can call functions of those interfaces somehow,I achieve it.But I don't know how can I share a component on a server(or any other machine) that other software developers can implement some interfaces of it and still I can call its functions.
Is this idea can comes true?if yes may you please give me a guide line how and if no,is there any solution for my need?Is there any document to discuss this type of software architecture in detail?
Best Regards