Behind the University of Virginia’s central giving websites is the iModules Caching System: an automated system to securely collect and encrypt gifts made to the University using the donation platform, iModules. This system, which reports real-time gift information in a series of ReSTful APIs, is responsible for providing data to some of our most compelling sites and storing information for over fifty-million dollars in transactions.
The system, which runs every five minutes, will automatically determine the correct date and time parameters to return data for based on previous successful calls. Using the SOAP protocol, the system will return donation data as XML before de-duplicating data, assign all data unique IDs, and encrypting and storing values.
The system is also expandable for developers. Using a series of predefined hooks, developers can easily add or extend their own functionality during the caching process. At the University of Virginia, we use the hook functionality to execute additional calls to the iModules API, as well as sending out email notifications to UVA fundraisers via Amazon Web Services’ Simple Email Service.