Order Fulfillment Software

In 2000 Barnes & Noble asked us to help design and implement the systems used throughout their fulfillment center. The upcoming holiday season was a concern and this online bookseller faced the possibility of not being able to keep up with the shipping demands of their internet customers. Their legacy system was on its last leg and couldn’t keep up with the growing demands of the business. A scalable enterprise solution was implemented to meet the growing needs of the business, allowing the company to grow its online sales by a factor of x over the next several years. This project enabled the business to expand nationally and integrate with partners for parallel geographic order fulfillment. It also paved the way for a more automated warehouse floor, allowing the company to move from 4 shipping lanes to as many as the warehouse supported.

This project also removed the need for batched order fulfillment and gave way to real-time fulfillment. As inventory was coming in the back door and inducted into the warehouse management system it was also matched against outstanding orders and routed to the order assembly area for packing and shipping. A customer could order a book online which was not on inventory in the fulfillment center and still have it shipped out the same day.

By automating most of the existing manual processes barnesandnoble.com was able to see a huge efficiency increase within the warehouse, resulting in customers getting their books faster. I believe during this time a couple of the Harry Potter books were first release and I personally helped automate batch picking and packaging of nearly 100,000 customer orders.

Each module was created as a VB6 Active-X document hosted within IE 4. We chose this model because of the ease of deployment of the intranet and because we needed native code in the browser for integrating with scanners, printers, etc. The Active-X documents would interface with COM+ components via DCOM, which in turn would handle all the data access.

The system required 24/7 availability in order to support the 24/7 warehouse operations. In order to support this, several pairs of application servers were clustered together and accessed via virtual IP addresses from client workstations using the DCOM protocol. A clustered SQL server was used to handle all OLTP database transactions. An SQL replication was used to replicate OLTP data to a second clustered SQL server, which was used for OLAP mining and reporting.

Upon completion of this project we were seeing the following transnational statistics

  • 250K+ order matching transactions per day spread across 3 shifts of ~20 client workstations.
  • 150K+ order packing transactions per day spread across 3 shifts of ~10 client workstations.
  • 150K+ order shipping transactions per day spread across 3 shifts of ~5 client workstations.
  • 150K+ shipping confirmation e-mails per day.
  • 1000K+ OLTP to OLAP synchronization transactions per day.