What is going to be the mid-tier (JSP, JavaBean, Servlet)? You can define the inventory (product descriptions, customer info, etc.) with XML, use JSP or normal HTML as your presentation tier, and the database which will keep a history of transactions, inventory, etc. in MySQL or Oracle, as the third tier. One way or the other, the mid-tier will need to communicate with the third-tier, as well as the first tier. I usually use JavaBeans or Servlets for this communication. Also, you know you will need a third-party (i.e. PayPal) to handle the actual transactions. This is usually pretty easy and can be handled by the mid-tier.