Search code examples
pythontrackinginventory

Inventory Control Across Multiple Servers .. Ideas?


We currently have an inventory management system that was built in-house. It works great, and we are constantly innovating it.

This past Fall, we began selling products directly on one of our websites via a Shopping Cart checkout.

Our inventory management system runs off a server in the office, while the three websites we currently have (only one actually sells things) runs off an outside source, obviously.

See my problem here? Basically, I am trying to think of ways I can create a central inventory control system that allows both the internal software and external websites to communicate so that inventory is always up to date and we are not selling something we don't have.

Our internal inventory tracking works great and flows well, but I have no idea on how I would implement a solid tracking system that can communicate between the two.

The software is all written in Python, but it does not matter as I am mostly looking for ideas and methods on how would this be implemented.

Thanks in advance for any answers, and I hope that made sense .. I can elaborate.


Solution

  • One possibility would be to expose a web service interface on your inventory management system that allows the transactions used by the web shopfront to be accessed remotely. With a reasonably secure VPN link or ssh tunnel type arrangement, the web shopfront could get stock levels, place orders or execute searches against the inventory system.

    Notes:

    1. You would still have to add a reasonable security layer to the inventory service in case the web shopfront was compromised.

    2. You would have to make sure your inventory management application and server was big enough to handle the load, or could be reasonably easily scaled so it could do so.

    Your SLA for the inventory application would need to be good enough to support the web shopfront. This probably means some sort of hot failover arrangement.