The D3 MQSeries Server Interface allows BASIC programs to interface and exchange information with any MQSeries supported platforms and applications. The scenario below is an example of why and how MQSeries can solve a business problem.
Company X manufactures goods that are sold to the public through specialized stores across the country. Each store maintains its own product inventory and receives daily supply of goods from the main manufacturing plant. The quantity of goods delivered is based on the stores performance and size. Each store runs its own computer system to keep track of stock quantity and invoices and its local customer base. At closing of each day, an automatic process is run to calculate the stocks requirement for each product. An order form is then created and faxed to the manufacturing plant for product order and delivery.
The manufacturing plant is the head office of the company. Its computer system manages all aspects of product manufacturing, the overall stock quantity for each product and the store orders. Every night, it receives faxes from all the stores from all over the country.
The next day the faxed store orders are manually entered in the system to generate the delivery order for each store.
Since the orders are entered in manually into the system, the orders received that day are processed the following day, and delivery of goods are processed two days after the order was received. This manual process can generate numerous errors and can cause further delays in the delivery of goods. At best, each store operates with a minimum of a two-day delay.
All the stores are equipped with D3 Windows and running a custom built application in BASIC. The manufacturing plant runs a large AS400 system and a custom designed application.
The objective is to remove the manual (hand typed) and mechanical (fax machine) errors as much as possible and ship the products to the stores no later than the next day.
Provide a way for the stores to send their orders directly to the main system eliminating the manual process, which eliminates any possible typing errors. The store orders are sent electronically to the main system. The main system automatically processes the orders through a programmed procedure and generates the shipping orders the same day.
Because the process needs to be automated and unattended, when the orders are sent from the stores to the manufacturing plant, the stores’ computer systems need to make sure that the information is sent properly, and the manufacturing’s computer system needs to make sure that the order received is correct.
The stores’ and the manufacturing’s computer systems need to communicate through a common middleware. The use of different communication tools can generate errors due to the translation.
The stores’ orders need to be processed on a real-time basis; as soon as they are received by the main system.
MQSeries provides a nice solution to the problem. By implementing MQSeries in the stores’ network, it becomes possible for all the stores to communicate with the main system on a real-time basis. The stores send their orders to the MQSeries Server as messages, and the main system retrieves the messages through the same MQSeries Server. Because MQSeries is capable of two-way communication, the main system can send a message back to the stores to inform them of their order statuses. The diagram below shows an overall synoptic of how such a solution would be implemented.
This solution requires that the existing application running on AS400 and the application running on D3 Windows be modified to support the MQI library. As described in a previous section, the implementation of the D3 MQSeries Server Interface is simple and requires very little knowledge of IBM’s MQSeries. The implementation of the MQI library on AS400 is beyond the scope of this document.