A distributed system often has a backend database for storing and retrieving business data. In this assignment, you are to implement a multiple-threaded client/server framework of a Customer and Customer Tours Booking System with backend database access ability.
1. The Customers and Tours information are stored and retrieved from a database. The database will be in third normal form with three tables to store Customers contact details, Customers tour bookings, and tours details in different tables. You are to use Apache Derby as the backend database; therefore you need to download and install Derby (http://db.apache.org/derby/releases/release-10.6.2.1.html) before completing this assignment.
The client is a thin client and no storage to be done on the client. It is preferred to use java swing library to create GUI interface for both client and server. Using console application will also be accepted.
2. The Client should support the following query options:
Once it accepts a request, it will send the request to the server.
3. The Server parses requests to interpret the queries. The server can distinguish the above 5 different queries by parsing the requests and create a processing thread for each particular request. That is, the server follows the thread-per-request multi-threading model (reference Week-2 contents). You should use UDP in thread request.
4. The ViewCustomer, ViewTours and CustomerBookings processing threads, which process the requests for retrieving details from the tables. While BookTour and DropTour processing threads, will update the tables. Client and server files should be in separate packages.
In your implementation, you need to query multiple database tables with JDBC APIs. For a quick start with multiple table queries by JDBC, you may need to read the JDBC document and download
the sample JDBC programs on the course web site. Please note: if necessary, you need to research widely on Derby and their usage(http:// //netbeans.org/kb/docs/ide/java-db.html).
The following screenshots show the outputs screens and tables implementation in the Derby database.
The Customer Table see image.
The Tours Table see image.
The TourBooking table see image.
The Client and Server Screens when run see image.
All Customers Query see image.
ViewTours Query see image.
CustomerBookings Query see image.
BookTour Query see image.
DropTour Query see image.