I am trying to build a single page web application that will call multiple web services (both SOAP and RESTful) and aggregate the data in the UI.Initially I though I could do it all client-side, with ajax requests, but I realize thatIf there are many requests, and they are fired per user, the data can take a long time to load.If there are a lot of users, then I can easily reach my limit of API calls.So now I'm thinking that I will have to have some kind of server-side process that runs every hour (or whatever), retrieves the items, and inserts/updates them in a database.  Is this the right approach?  Are there any other pitfalls I need to avoid?  
Single Page Web Application Web Service Scalability
web applications;web services;scalability;cron
Whether your web app is a single page design or a more traditional multi-page design your concern about API call limits applies equally.If you haven't already become friends with memcache (or similar service on your platform).You don't necessarily have to setup a cron to run once an hour.Whenever a user requests information that requires a third-party service call:For first time calls, make API call to third party serviceAfter getting a successful response back from API call, cache the resultSet cache expiration time to a value that makes sense for that type of data (some data can be cached for a week, while other data should only be cached for a few minutes)Every subsequent request for data, check if the cache exists and has not expired for that piece of data, if so return it, otherwise, go to step #1A bonus of using a caching system similar to memcache is speed, since the data sits in memory it is orders of magnitude faster than a database query or making a third-party API call.