This was a particularly interesting and fun project to work on. The people at Glendenning Fertilizer could not have been more hospitable and I really enjoyed working with George Glendenning and his staff to architect this solution. It involved an amazingly wide range of technologies including; a web application, inventory control,automated ordering, database analytics, kiosks, silos, scales, conveyors, and the creative use of gas station pumping systems. If you need a few hundred tons of fertilizer, I highly recommend Glendenning. As you will see, they are all about providing their customer with an exceptionally high quality service.

GWEN (Glendenning Web Execution Network):

a complex distributed system, that uses service-oriented architecture, and utilizes a wide range of technologies.

For Glendenning we built a system that helps farmers fertilizer their fields. For its customers, Glendenning is a critical part of the fertilizer supply chain. Glendenning receives huge bulk shipments of fertilizer, such as potash and liquid nitrogen, by boat or by train, directly from large scale manufactures. Glendenning’s customers rely on Glendenning to make custom fertilizer blends, store the fertilizer until it’s needed, and be ready to facilitate fast pickup of just the right quantity at just the right time. Since the right time for fertilizing crops will inevitably be the same for a lot of Glendenning’s customers, Glendenning needs to be able to deliver a lot of fertilizer very quickly or risk having trucks lined up around the block.

Glendenning.jpg

To help Glendenning we built a .NET based distributed system called GWEN (Glendenning Web Execution Network) that supports three specialized product supply systems; there’s a blended dry delivery system, a liquid delivery system, and a weighed product delivery system. We created a web site where framers can login, specify their desired fertilizer blends, and place orders for pickup. The system checks Glendenning’s various locations for the available quantities of the desired product. If there is enough unallocated supply in a single location, the product is allocated to the order and the framer is supplied with an order delivery code. The farmer can then send a truck to the specified supply location for the order pickup. On location, the truck driver uses a touch screen to enter the order delivery code into the system; then drives their truck into a delivery bay. Once the truck is correctly positioned (system safety is a primary concern), our system controls an array of conveyer belts to blend the order and pour it into the truck. Because the system is completely automated, the pick can occur at anytime, day or night. The system keeps track of all the details of the transaction and a transaction reporting system on the web site lets farmers track all the fertilizer deliveries made to their organization via GWEN. Glendenning also uses the reporting system to manage their inventories.

GWEN is built around a service-oriented architecture. A central database, a set of web services and the GWEN web site run in Quantum’s datacenter. At each of the various Glendenning locations we deploy a server with a local database and a windows service that syncs location information with GWEN central services. Each of the three delivery systems uses it own specialized delivery control application. These are applications that share a collection of common code libraries. All of the control applications communicate with their location’s local database. Not all of the locations uses all three delivery system types and some have multiple instances of a single delivery system type. We also anticipate the development of additional delivery system types. To keep the system scalable and flexible, and to make the development of additional functionality efficient, we standardized the delivery control application interfaces and organized the local systems to be able to handle an infinite number delivery control application. We also prepared the web services running in the datacenter to handle an infinite number of locations.

Some of the locations are in remote rural locations that don’t have reliable high speed internet. This made it particular important that we design loosely coupled components of functionality. Every location is capable of running independently for an extended period of time and will seamlessly re-establish a connection to and re-sync with GWEN central services when an internet connection becomes available. Data is securely transmitted over the web by using encrypted XML.

In the datacenter we continually monitor GWEN’s performance so that we can keep it as efficient as possible and we can proactively prepare to deploy additional hardware resource when they are needed to smoothly scale the system up.