Good Day,


I have a concern regarding API Synchronization that needs to display real-time. the problem is right now the application uses a timer to process the data from API which lasts at least three(3) hours and have a schedule run every 6 am. The API has a minimum of three thousand records.  Is there a way or approach to this certain scenario to fetch and optimize the display in the application? 


Thanks and regards,


Raphael Laurence Reyno

Transnational E-Business Solutions Inc.

Hi Raphael,

Your problem description is unclear to me.

You state that the timer takes 3 hours to process. But you also want to have the results of it displayed real time. To me that are conflicting requirements.

Can you explain in more detail what you try to achive?

Regards,

Daniel


Daniël Kuhlmann wrote:

Hi Raphael,

Your problem description is unclear to me.

You state that the timer takes 3 hours to process. But you also want to have the results of it displayed real time. To me that are conflicting requirements.

Can you explain in more detail what you try to achive?

Regards,

Daniel



Hi Daniel,


Thanks for the reply. Currently, we used the timer to process the API (sync the record and save it to the respected entities) the run for at least three hours and which was scheduled every 6 am in the morning. But the client now wants to see the records in real-time. so what is/are the best approach to this certain scenario

Hi,

Although your explanation doesn't provide new information, I will try and gues what you want and how you can achive that.

Solution 1 (near realtime, good performance)

  • If the data you retrieve does during the day not change frequently, than I would still keep the timer.
  • In your list and detail screens you can use this data.
  • On your detail screen you could add a 'Get most recent' button, which when pressed will call the API for that particular record.

Solution 2 (real time, worse performance)

  • No timer
  • Your preperation needs to call the API to fill your list screen with data, you can't do it all at once, because it would take 3 hours. So you can only query through the API that you want to show on the screen.
  • Paging on list screens will be slower.

Given the little information at hand I cannot give a more details answer.

Regards,

Daniel

Daniël Kuhlmann wrote:

Hi,

Although your explanation doesn't provide new information, I will try and gues what you want and how you can achive that.

Solution 1 (near realtime, good performance)

  • If the data you retrieve does during the day not change frequently, than I would still keep the timer.
  • In your list and detail screens you can use this data.
  • On your detail screen you could add a 'Get most recent' button, which when pressed will call the API for that particular record.

Solution 2 (real time, worse performance)

  • No timer
  • Your preperation needs to call the API to fill your list screen with data, you can't do it all at once, because it would take 3 hours. So you can only query through the API that you want to show on the screen.
  • Paging on list screens will be slower.

Given the little information at hand I cannot give a more details answer.

Regards,

Daniel

Hi Daniel,


Thanks for the suggestions I'll coordinate this with my team.


Thanks and Regards


Raphael Laurence Reyno

Transnational E-Business Solutions Inc. 

We faced a similar scenario when we were trying to sync the data from a on-prem source using (BOOMI) APIS. What we did was , got a high speed  connection created between the environment for DATA source(database)  for the APIS and OS AWS instance. This way we are now using the data directly from the data source with no lag in performance. Not sure though if this is a solution at your end.


Cheers,

Tushar

We had a similar situation and we turned the flow around. We don't query the API for changes anymore. The external systems calls one of our own API's whenever an record changes that we are interested in. This way we got the information the moment it changes and our users can use that new data immediately. Perhaps this is an approach you can also benefit from.