Java RMI Example : Auction System for Bidding on products concurrently

In this tutorial, we will be creating a system using Java for an Auction system for users to place bids on a product for sale. It is better to create a user interface for both the server and clients to ease programming aspect for you. The flow chart for the auction is illustrated in the following figures:
rmi-bid-system
1 The server would add the product identified by a name and optionally an opening price.
2 A client user would place a bid on a specific product.
3 The server needs to notify other bids of the new bid.
4 The server can notify bidders to close the auction.
5 The server notifies the winner having the greatest bid.