EE6052/ED5022/CE4208 Web-based Application Design/Distributed Systems Web Service & DB Assignment
1.Overview
EE6052/ED5022/CE4208
Web Service and Database Assignment
This is an individual assignment, where each student must submit their own solution – any duplicate solutions will receive 0 marks. Your task is to develop a web service-based interface to a database. Feel free to implement your web service either as a SOAP-based or a REST-full application.
For any queries, please refer to the question and answer section on the module’s SULIS page.
2. Description
Your task is to develop your own relational database – this database can store anything you like. Then, you are asked to provide a web-service-based application that interacts with your database via JDBC.
2.1 Database Requirements
Your database must be implemented in the Derby Database (Oracle Java DB) and have the following properties:
• Use at least one One-to-One relationship.
• Use at least one One-to-Many relationship.
• Use at least one Many-to-Many relationship.
• Be optimized to third normal form (3NF).
• Use at least one column of the following types: INTEGER, VARCHAR, DATE, REAL.
2.1 Web Service Requirements
All database interactions must be provided as web services. The web services must implement all interactions with the database by using JDBC. Your web service component must have the following properties:
• Use either SOAP or REST to provide your web services.
• Provide at least services for the following (each should be a separate service):
o A service that creates your tables in Derby (feel free to add your tables to the sample database or create your own logical database within Derby).
o Query that involves a table with a One-to-One relationship.
o Query that involves a table with a One-to-Many relationship. o Query that involves a table with a Many-to-Many relationship. o Adding an entry to a table with a One-to-One relationship.
o Adding an entry to a table with a One-to-Many relationship.
o Adding an entry to a table with a Many-to-Many relationship.
2.2 Application Requirements
Provide an application that interfaces to your web services. This application should automatically invoke each service at least once and display the outcome of each service: In case of queries display the returned data, in case of statements indicate whether the statement was successful or not. Make sure that the user can view all output – depending on the size of your output, you may need to perform the actions step-by-step and require user interaction to move from one step to the next.
Page 1 of 3
EE6052/ED5022/CE4208 Web-based Application Design/Distributed Systems Web Service & DB Assignment
3. Deadline and Deliverables
Deadline for submission of your solution is 16:00h (Irish Time!) on Friday, 15th May. Please note the following:
• I strongly recommend early submission of your assignment. To encourage early submissions the following bonuses apply:
o Any submission before 9am on Monday 27th April will receive a 4 mark bonus – i.e. if a student achieves 50 marks, 54 marks will be assigned, if a student achieves 30 marks, 34 marks will be assigned.
o Anysubmissionbefore9amonMonday4thMaywillreceivea2markbonus.
• Once you have submitted your solution, no further modifications can be made – your submission will be final! Please check your solution before submission to ensure you have
submitted the correct solution.
• Where I have concerns about the originality of the submitted work, I reserve the right to
conduct interviews (via Skype, Zoom or similar) with students, where marks will be adjusted according to the outcome of the interview.
Please submit your solution as a single zip, 7-zip or rar archive (please do not use any other format and do not remove the extension from the archive) via the module’s SULIS page. A complete solution includes the following items:
• Complete NetBeans 8.2 project that contains sources (well documented and formatted) of your entire solution (submit the entire project folder, not only the individual source code files!).
• Report (MS Word or PDF) that contains the following:
o o
o o
o
Descriptionofyourdatabasedesign(allyourtables,theircolumnpropertiesandtheir relationship to other tables).
How (and where) you implemented the requested One-to-One, One-to-Many and Many-to-many relationships.
Justification that your DB is 3NF. Shortdescriptionofyourwebservicedesign,i.e.isitSOAPorREST,listofallyourweb services with a short description and indicating which of the web service requirements listed in 2.1 they implement.
Instruction on how to run the application, i.e. in which order I have to start classes in order to be able to run the application that invokes the web services.
your report omits any requested information, I assume that the corresponding feature been implemented and you will receive 0 marks for that feature. I will not search for
Note: If
has not
those features in your application! For example, if you do not justify that your database is 3NF, I assume that it is not, and you will receive 0 marks for the “Optimized for 3NF” feature. Similarly, if you do not detail where you implemented a Many-to-Many relationship, I assume you did not use any and you will receive 0 marks for the “Many-to-Many Relationship” feature.
Page 2 of 3
EE6052/ED5022/CE4208 Web-based Application Design/Distributed Systems Web Service & DB Assignment
4. Marking
The project is worth 50% of the module. Marks are distributed as follows:
Database Design:
• One-to-One Relationship
• One-to-Many Relationship
• Many-to-Many Relationship
• Optimized for 3NF
• Requested types used (4×1)
16
(3) (3) (3) (3) (4)
Web Services:
• Creates Tables
• Query with One-to-One Relationship
• Query with One-to-Many Relationship
• Query with Many-to-Many Relationship
• Adding to One-to-One Relationship
• Adding to One-to-Many Relationship
• Adding to Many-to-Many Relationship
19
(4) (2) (2) (2) (3) (3) (3)
Test Application
(1 + 7×2 for each service invoked)
15
Total
50
Page 3 of 3