I am working on a web application. It has a page which loads information releated to people(name, surname, telephone, etc). In addition to this default information there exists an icon which represents the status of the person in another external system.
Each time the person page is loaded our system invoke a WS for updating the icon:
- State = 1 implies icon_color=red
- State = 2 implies icon_color=blue
- State = 3 implies icon_color=grey
An important point is that the external system interacts with the person by means of his/her mobile phone whereas our system does not. That means that the person may change its stataus on the external system at any moment.
The problem is that the external server receives a huge number of calls for retrieving the status information. Our goal is reducing as much as we can the number of calls to the WS.
We are evaluating the following approach. Add the status information in our database. We would update it once a day. The problem with this approach is that the status information could change since last update, so the icon colour may not be the actual one.
In a few words, we have one approach that is completely up-to-date all the time resulting in many calls to the external WS. On the other hand, we have an approach that will call the WS once a day but the information stored in our system may not be up-to-date.
My question is whether there exists a tradeoff approach.