I am working on a project where we are scoping out the specs for an interface to the backend systems of multiple wholesalers. Here is what we are working with,
- Each wholesaler has multiple products, upwards of 10,000. And each wholesaler has customized prices for their products.
- The list of wholesalers being accessed will keep growing in the future, so potentially 1000s of wholesalers could be accessed by the system.
- Wholesalers are geographically dispersed.
- The interface to this system will allow the user to select the wholesaler they wish and browse their products.
- Product price updates should be reflected on the site in real time. So, if the wholesaler updates the price it should immediately be available on the site.
- System should be database agnostic.
- The system should be easy to setup on the wholesalers end, and be minimally intrusive in their daily activities.
Initially, I thought about creating databases for each wholesaler on our end, but with potentially 1000s of wholesalers in the future, is this the best option as far as performance and storage. Would it be better to query the wholesalers database directly instead of storing their data locally? Can we do this and still remain database agnostic? What would be best technology stack for such an implementation? I need some kind of ORM tool.
Java based frameworks and technologies preferred.
Thanks.