Making integration work efficiently
The partner team have many conversations with existing and potential customers about the 'art' of integrating with SIMS. Whilst no doubt there is a science behind integration, at times there is little substitute for experimenting. We have recently undertaken an exercise to see how best to extract session attendance marks and keep them up to date in an external system and we have documented the experience here: Local Integration - Change tracking Example | ESS Portal (sims-partners.com).
In addition, the trend is for more schools to become hosted, whilst the third party connector mimics the SIMS server and in essence anything that works on a local installation should work on a third party connector, the actual server is reached over a contended web and VPN. Hence it is reasonable to expect some degrading. However our own experiments showed an additional cost per call of about 3 seconds. Hence an application designed to obtain contacts via a report took 13s to return ~5000 contacts, but iterating through 5000 contacts took at least 3s x 5000 = 4.2 minutes for the 'call connection', plus the time for the calls.
In many circumstances, the use of reports is slow when compared to API use. As such, we usually recommend the use of partner APIs if they exist over reporting. In the case of attendance, care needs to be taken to avoid asking for 6 million marks to be returned in one XML Document and this may require some creative thinking as per the example link above.
Call to action
Experiment to find the best way to get the data needed. At times, there will be little option but to have a chatty interface but consider whether that will work effectively on a hosted system with an overhead per call.