Do you ever get the feeling that your applications are talking to each other behind your back? Well, you may not be paranoid – they could be communicating! In this post, we’ll take a look at how communication between applications is possible and share data. So sit back and relax while your apps have a little chat.
Is Communication Between Applications Possible?
When companies use more than one app, they usually want to be able to communicate between them. This is usually done with a server that acts as a sort of hub for the apps to post and get data to and from. The server can then pass this data around so that all the applications can have the same up-to-date information. This is referred to as a distributed system.
I’m sure you’ve heard of OpenSocial, which Google released in 2007 (before Google+ was even thought of!). It’s an API that allows you to write applications that talk to each other. Something that would be pretty hard without it. It handles all the little details of communication between applications, so you don’t have to worry about them.
This type of communication is called RPC (Remote Procedure Call). The application does one function (a procedure) on another application’s system. The application it’s talking to (the server) carries out the procedure and returns the results (the return value). To do this, the client passes its arguments to the server, and it passes back its results when it’s finished.
What About Web Applications?
Web apps also commonly use RPCs. If you’ve ever visited a website that lets you sign up or log in using Twitter or Facebook, then you’ve seen this kind of thing in action. The website contacts the Twitter servers through an API call that asks for your Twitter credentials. This comes back along with some other info about you for the website.
If your credentials are wrong, then nothing happens. If they’re correct, then the website gets what it wants and can go ahead and log you in. This type of communication is also called SOAP (Simple Object Access Protocol). This is because SOAP allows for more complex procedures than simple ones like that shown above – procedures with more arguments and return values.
SOAP isn’t limited to RPCs either. There are more complicated types of methods – such as those used for sending emails – where SOAP is used too. You may have used one before!
How Communication Between Applications Is Helpful
If you’re like most companies, you may find that your company is spread across multiple computers. You may use a central server to store all your data. You may have a computer in the warehouse, one in the office, another in the warehouse, and another at home.
All of your computers will be using this central server to get their data from and send any new data. This means that all of the data on all of your computers is always up-to-date.
The idea behind distributed systems is to employ a system like this for your applications too. To allow them to share data through a server – just like with the central server your company uses for its data. So, it is useful overall.