Most companies have to buy goods or services from other companies in the course of doing their business. The procurement can be for physical components such as silicon chips, plastic components, or power modules, as well as for services such as contract manufacturing or overnight courier services.
Procurement within an enterprise environment is extremely complex. Just some of the key issues that must be addressed include:
The person responsible for procuring a particular product or service must analyze these and many more issues. What is worse is that often once the optimal vendor has been identified, by the time the order is ready to be placed the price or quantity available may have changed, requiring complete reanalysis. Moreover, partnerships, most preferred status, and buying policies change quickly, often within hours. Propagating these changes throughout the entire procurement staff (that may be geographically distributed) takes time. The result is inefficient and non-optimal purchasing decisions. Moreover, simple human-error and negligence result in costly purchasing errors such as incorrect part numbers, shipping addresses, or quantities.
Procurement management applications are available. But they have limited value, as the applications themselves cannot always interface with each vendor's inventory and sales processes.
Web services have the potential to change this. The widespread adoption of Web services technologies by companies will allow easy access to enterprise processes and functions, such as inventory and sales. This will enable the development of truly useful enterprise procurement applications.
Figure 12-1 depicts the functionality of an enterprise procurement application. The application essentially acts as a gateway to the inventory and sales processes of vendors, each of which sells the products of manufacturers.
Figure 12-1. An enterprise procurement application acts like a gateway between the procurement administrator and the vendors that sell goods and services.
Next, we take an in-depth look at the required functionality for our enterprise procurement application, as well as the desired system architecture.