complete full stack application
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
Problem statement
In this assignment you will be implementing a complete full stack application
by “putting togehter” all the bits and pieces you have been studying over
the course. The emphasis though is on JDBC and Java networking aspects,
as the rest has been assessed in previous assignments.
In particular, you will be developing a 3-tier TCP-based networking
multi-threaded client-server application to consult a database about books.
The application features a client that o↵ers a JavaFX based graphical user
interface to request the service and communicate with a intermediate server
providing a query specific service. The server, located in the local host, will
be composed of two parts or classes; one being the main server which attend
request as they arrive on an infinite loop, and the server’s service provider
that are created to attend each service. It is the server’s service provider
which does connects to the database using JDBC, retrieves the outcome of
the query and sends back the outcome to the client.
Although each service provider thread will only attend 1 request and
then stop, the server will attend any number of request by creating new
service threads.
The service provided is a fixed but parametrizable query; Given an author’s family name and a library’s city, the query must retrive the list of
books available from the author at the indicated library. For each title
available, the query must retrieve, the book’s title, the publisher, the gnere
and the recommended retailer’s price together with the number of copies
available for that title at that library. Books from the author that are not
available in the library (i.e. 0 copies) should NOT be listed.
Both, the client and the server applications should be able to work withut
errors when the query returns no entries. The server will be robust to SQL
injection.
In all classes, you are requested to treat exceptions in the method that
first can raise them i.e. do not rely in throws clauses to deal with exceptions
at a later stage. If some exceptions requires you to stop the execution of
either the servers, or the client without a correct resolution of the request,
make sure that in those cases you exit the program with code 1. Exit with
code 0 if program execution is correct.
Feel free to use any IDE of your choice, but tests will be carried from
the command line. The back end will be implemented in postgreSQL using
postgresql-42.6.0.jar driver. Tests will be run in a Windows 11 machine.
3 Setting up the database 3
3 Setting up the database