The basic functionality of our Enterprise Procurement System (EPS) application is to:
Figure 12-2 shows a block diagram depicting the overall system architecture of the EPS application.
Figure 12-2. Block diagram depicting the overall system architecture of the EPS application.
The Web browser client first accesses the EPS.html file, which is a static HTML form where the user enters the desired part number, quantity, and optimization metric. A hyper link on the EPS.html page also takes the user to the EPSCatalog.html, which is another static HTML page displaying the vendors, part numbers, and product descriptions.
The form data from the EPS.html page is sent to a J2EE Servlet, ServiceServlet. The Servlet analyzes the form data and connects to the Web services of two vendors Vendor A and Vendor B in an effort to locate the best price or lead time for the given part number. If the two vendors do not have the part or do not have it in sufficient quantity, the Servlet then connects to the AltPart Web service in an effort to locate alternate part numbers. Based on the information from the Web services, the ServiceServlet formulates the information to be returned to the user and forwards it to the OutputServlet. The OutputServlet takes the information from the ServiceServlet and simply formats and presents it to the user.
The EPS application that we implement here is straightforward. Our objective is to demonstrate a real-world, enterprise usage of Web services and not to implement a full-featured procurement system. Additional capabilities such as a dynamic catalog that sources the parts available from each vendor Web service as well as an order placement and delivery management dashboard can be added.