You will undoubtedly have observed that the Web site takes a long time to respond. Sending the request to QuickBooks and receiving the response from QuickBooks takes a long time, easily 5 or 10 seconds on a fast server and 15 or 20 seconds on a slow server. To address this issue, try caching the data, performing a nightly dump of read-only data, and/or synchronizing the data from a queue in your relational database rather than directly inserting new information into QuickBooks. The commonality that runs through all three recommendations is that you should decouple the Web application from direct access to QuickBooks. This will yield a significantly better user experience while reducing the chances that QuickBooks will crash from too great a load. Avoid directly invoking QuickBooks functions in response to user requests.
Furthermore, periodically dumping information from QuickBooks to a relational database lets you perform optimizations such as indexing the data by frequently accessed fields such as List ID. It is much better from a performance perspective to run a batch job during the night to retrieve all customer records and store them in a relational database for access during the day by customers. The customer records may be out of date by up to 24 hours, but usually this is sufficient freshness for customers. Alternatively, if you plan to allow customers to perform transactions on the Web site, you can also store all transaction history in the relational database and then push the transactions into QuickBooks nightly.
Better Customer Service, Streamlined Business Processes
Now that you have experience with integrating QuickBooks on a Windows machine and a Web application on a Linux machine, you should be able to build more helpful and informative Web applications that can provide much better customer self-service, yielding increased efficiency for your organization and increased satisfaction among customers. The possibilities for better customer service and streamlining of other business processes such as sales and operations are numerous when financial data and functions from QuickBooks are exposed in a secure fashion to other facets of your business.