Putting SOA To WorkBy Adam Swift | Posted 2009-03-06 Email Print
WEBINAR: On-demand webcast
Next-Generation Applications Require the Power and Performance of Next-Generation Workstations REGISTER >
An inside look at Fastenal Corp.'s big project.
We consolidated all order requests into a single system using ActiveVOS from Active Endpoints, which allowed us to orchestrate all the processes behind the consolidation. We used Oracle Web Services Manager for putting our web services together, and managed these under one central portal.
Once the order management project was complete, we actually kept the old file-transfer system in place for the first few months because people were not confident that the implementation of ActiveVOS, Microsoft Messaging Queue and an SOA were reliable.
Running both systems in parallel was a good way to prove the returns that we were getting by using the event-based architecture instead of the batch-based. We saw improvements, on average, of 32 minutes in response time for getting orders to our stores and back compared to the old system.
We used to lose .003% of our orders. That is not a really big number, considering we do hundreds of thousands of orders monthly, but a lost order, no matter the size, can lead to a lost customer. Now that we have been using an SOA-based BPM system to help reconcile orders, making sure they were acknowledged by the store and fulfilled, we have not lost a single order.
We can proactively head off these types of activities before they become an issue for the customer and our store. Should any problem occur in the process, we know how to fix it in a fast, easy way. That’s how SOA works.
From start to finish, it took just two of us a few months to complete the order management process and put it into production. Once everything is under the umbrella of a business process, and assuming we develop the web services along with their own logging and error handling, and design it correctly from the start, it is much better than the disjointed systems that we have traditionally used.