API:Best Practices

From Melissa Data Wiki
Revision as of 20:48, 12 June 2014 by Admin (talk | contribs) (Admin moved page Best Practices:General API to API:Best Practices without leaving a redirect)
Jump to navigation Jump to search

1. Can I host the data files on a network share and access those files from multiple client computers?​

​ While it is technically possible to access data files located on a network share, it is highly unrecommended for anything outside of testing and not supported by Melissa Data. If you host the data files on a network server, you will likely run into stability and scalability problems. Our API's are designed to access data files only from the local machine. ​If you need a client/server architecture and you cannot install data files on each client machine, we recommend you use a web service (either hosted by Melissa Data or within your own company) instead.

2. Are your objects able to handle multithreading?

​​ ​​Our objects are able to handle mutithreading, but are thread neutral as opposed to thread safe.

Because of this, we recommend creating a single instance of the object per user / process. In fact, we use this same approach to deploy our web services.

Although possible, we do not support an architecture implementing a static pool of objects. This requires mutexing, which would need to be correctly handled and implemented on your end.


3. How do we configure the filters/alerts to trigger when a license or database is nearing it's end date?

We encourage our customers to create an alert in your aplication that automatically emails the appropriate team member or pop up notification before the license or database expires. Our all objects return GetLicenseExpirationDate() and GetDatabaseExpirationDate(), use these properties to create alert.​​ Create alert with a filter that specifies a time period date before expiration of License or Database . You should configure the alert so that your team would have sufficient time to explore contract renewal options before the license or database expires.