jonathan.aotearoa
5th July 2009, 22:00
Hi,
I have a couple of issues around inventory levels that I'd really appreciate some feedback on.
About 90% of our product catalogue is held in stock. The other 10% we order from suppliers/third-party manufacturers when a customer places and order. I want to display inventory levels for all our saleable items, regardless of whether they're held in stock or not. As a result I need to query our own, pre-existing, inventory system, as well as third-party inventory systems.
One strategy I'm contemplating with regard to own inventory system is an observer pattern type approach. In this scenario our inventory system will be modified to fire “inventory level change” events over some message-oriented middleware. The store-front application will then cache these values. I'm quite keen on this approach as it minimises network traffic and scales extremely well. I've looked at the documentation for IBM's WebSphere Commerce product and they provide a similar Web service for third party inventory systems to send notifications to. Unfortunately I've been unable to find any other information on this type of approach, i.e. whether or not it's been successfully implemented and/or widely adopted. Does anyone have experience of this type of approach?
I'm also looking to make heavy use of caching with regard to third party inventory systems as I want to minimise the number of calls to remote systems, primarily for performance and scalability reasons. One of my main concerns is what kind of failover strategy to implement in the event a third party system going offline or failing to respond in a timely manner. I'm assuming the best approach is to simply display no inventory details and let customers order any quantity. If the order cannot be fulfilled due to insufficient stock levels it'll be handled further down the order processing chain when an attempt is made to allocation the stock. What's the general consensus on this?
Finally, is anyone out there using EhCache for caching inventory levels? If so what kind of cache do you find most effective; Blocking or Self Populating?
Kind regards,
Jonathan
I have a couple of issues around inventory levels that I'd really appreciate some feedback on.
About 90% of our product catalogue is held in stock. The other 10% we order from suppliers/third-party manufacturers when a customer places and order. I want to display inventory levels for all our saleable items, regardless of whether they're held in stock or not. As a result I need to query our own, pre-existing, inventory system, as well as third-party inventory systems.
One strategy I'm contemplating with regard to own inventory system is an observer pattern type approach. In this scenario our inventory system will be modified to fire “inventory level change” events over some message-oriented middleware. The store-front application will then cache these values. I'm quite keen on this approach as it minimises network traffic and scales extremely well. I've looked at the documentation for IBM's WebSphere Commerce product and they provide a similar Web service for third party inventory systems to send notifications to. Unfortunately I've been unable to find any other information on this type of approach, i.e. whether or not it's been successfully implemented and/or widely adopted. Does anyone have experience of this type of approach?
I'm also looking to make heavy use of caching with regard to third party inventory systems as I want to minimise the number of calls to remote systems, primarily for performance and scalability reasons. One of my main concerns is what kind of failover strategy to implement in the event a third party system going offline or failing to respond in a timely manner. I'm assuming the best approach is to simply display no inventory details and let customers order any quantity. If the order cannot be fulfilled due to insufficient stock levels it'll be handled further down the order processing chain when an attempt is made to allocation the stock. What's the general consensus on this?
Finally, is anyone out there using EhCache for caching inventory levels? If so what kind of cache do you find most effective; Blocking or Self Populating?
Kind regards,
Jonathan