Reference no: EM132422925 
                                                                               
                                       
MITS5502 Developing Enterprise Systems, Victorian Institute of Technology
Developing Enterprise Systems Project
An Introduction to the Project
The   Project is divided into six smaller parts that each part builds upon the   previous parts. Each Project part should take about 1.5 hours to   complete.
Use   NetBeans IDE to rename. Right click the project folder and choose rename   option. Don't forget to check "Also Rename Project Folder".
How to develop the Project
The   description of each Project part includes images that show how the pages   should appear in a browser, a general description of the operation of   the project's pages, and some general specifications for how the  project  should be coded. This information is detailed enough for you to   complete the project. However, you will need to determine any   unspecified details on your own. For example, you will need to create   your own names for the servlet and JSP files that you create, you will   need to determine what error messages to display when the user enters   invalid data, and so on.
Unless   you're instructed otherwise, you can implement each Project using any   programming techniques you wish. In some cases, however, the project's   specifications will direct you to use a specific programming technique.   In that case, you should implement the project as directed.
What to Submit
(1) A root folder "studentIDMITS5502_Project" containing:
(A) "studentIDMITS5502.doc"
(B) The Project folders i.Part_1 ii.Part_2
iii.Part_3   (and your codes to complete this Part) iv.Part_4 (and your codes to   complete this Part) v.Part_5 (and your codes to complete this Part)   vi.Part_6 (and your codes to complete this Part)
(2) Your responses   to each Project part should be in the form of a written essay (use the   temple given on Moodle) which includes:
(A) Front page
(B) TOC
(C) Header and footer
(D)   Explanation and screenshot of all steps involved in the Project   application (code, all output tests including reports, IDE project   structure ... etc.). Make sure you put all in each appropriate heading   according to the TOC.
(E) Used references
(F) The name of the Word document should be "studentIDMITS5502.doc"
You are required to zip the root folder (1) for submission via Moodle by the due date.
NOTE: Your Project will not be marked if any one of the 2 items above is missing.
The Project
The   following pages present the user interface, operation, and   specifications for each project. As you view these pages, remember that   each part builds upon the previous parts.
Part_1: Product Maintenance (solution given)
For   this part, you'll create a series of pages that allow you to add,   update, or delete a product that's available to the application.
The Index page
The Confirm Delete page
Operation
(1)   When the application starts, it displays the Index page. This page   contains a link that leads to the Products page that can be used to add,   update, or delete products.
(2) To add a new product, the user   selects the Add Product button. This displays the Product page with all   text fields empty. Then, the user can fill in the text fields and click   on the Update Product button to add the product.
(3) To edit an   existing product, the user selects the Edit link for the product. This   displays the Product page with all existing data for the product   displayed. Then, the user can edit any entries and click on the Update   Product button to update the data for the existing product.
(4) To   delete a product, the user selects the Delete link for the product. This   displays the Confirm Delete page. Then, if the user confirms the   deletion by selecting the Yes button, the product is deleted and the   Products page is displayed to reflect the new data. If the user selects   the No button, the Products page is displayed.
Specifications
(1) Use a Product class like the one shown later in this document to store the product data.
(2)   Use a ProductIO class like the one shown later in this document to  read  and write the product data to a text file named products.txt in  the  WEB-INF directory.
(3) Use a text file like the products.txt  file  shown later in this document as a starting point for the products  that  are available to the application.
(4) Use server-side  validation to  validate all user entries. In particular, make sure the  user enters a  code, description, and price for each product. In  addition, make sure  the product's price is a valid double value.
(5)  If possible, get the  Product.java, ProductIO.java, and product.txt  files from your  instructor or trainer. Otherwise, you can create these  files yourself.
Part_2: Product Maintenance with custom tag validation (solution given)
For this Part, you'll enhance the application described in Part_1 by adding a custom tag to validate user entries.
Part_3: Product Maintenance with a database using JDBC (to be submitted)
For   this Part, you'll enhance the application described in the previous   Parts by modifying it so it uses a database instead of a text file to   store the product data. You'll use JDBC to work with the data (look hard   as solution is also provided). Don't forget to:
(A) change the password according to your MySQL setup (see below)
(B)   import the database if you haven't done so (download db in Lesson 9   folder and use create_databases.sql during import in MySQL workbench).
Part_4: Product Maintenance with a database using JPA (to be submitted)
For this Part, you'll convert the application in the previous Parts so it uses JPA instead of JDBC to work with a database.
Part_5: Product Maintenance with SSL and authentication (to be submitted)
For   this Part, you'll enhance the application described in the previous   Parts by modifying it so it uses a secure connection and only allows   authorized users (refer to chapters 1-13, 15, and 16 of textbook B)   Specifications
(1)   Restrict access to all pages except the Index page. Only allow users in   the programmer role and customer service role to access the rest of the   pages in the Product Maintenance application. To do that, use the   UserPass and UserRole tables in the murach database to define the   usernames and passwords for these roles.
(2) Use a secure connection for all pages except the Index page.
Part_6: Product Maintenance within the Music Store web site (to be submitted)
For   this project, you'll enhance the application described in the previous   projects by adding it to the admin section of the Music Store web  site.  (Prerequisites: 1-13,15, 16, 22 and 23)
Specifications
(1) Add the JSP files for the Product Maintenance application to the admin directory of the Music Store web site.
(2) Add the controller servlet for the Product Maintenance application to the music.admin package of the Music Store web site.
(3)   Modify the admin/index.jsp file of the Music Store web site so it   includes a button that starts the newly added Product Maintenance   application.
(4) Modify all necessary JSP, CSS, Java, and XML files   within the Music Store web site so they work with the newly added   Product Maintenance application.
(5) In the controller for the   Product Maintenance application, use the getRequestURI method to   determine which action to process as shown in chapter 22. If the URL   doesn't match any actions in your application, use the sendError method   of the response object to send a 404 error to the user to indicate that   the page isn't available.
(6) Don't break the other applications in the existing Music Store web site.
Online shopping system based on your selected product.
The project should consists of
1.	Login authentication (guest and admin)
2. 	Upon successful login, the guest user can view the product catalog. the  admin can view, add, edit and delete products as product management  module.
3.	The project should implement it using JDBC and JPA ( the percentage to implement may vary on student's choice)
Attachment:- Developing Enterprise Systems.rar
Attachment:- Essay_Template.rar