Contact WhatsApp For Source Code And Screen Shots
WhatsApp = +923054957063
Email = [email protected]
CNT 4714 – Project Three – Spring 2024
Title: “Project Three: A Two-Tier Client-Server Application Using MySQL and JDBC”
Points: 100 points
Due Date: Sunday March 10, 2024 by 11:59 pm (WebCourses Time)
Objectives: To develop two-tier Java based client-server applications interacting with a MySQL
database utilizing JDBC for the connectivity. This project is designed to give you some experience
using the various features of JDBC and its interaction with a MySQL DB Server environment.
Description: In this project you will develop a Java-based GUI front-end (client-side) application
that will connect to your MySQL server via JDBC. The application will let clients with various
permissions execute SQL commands against different databases. You will also develop a more
specialized GUI interface as a monitoring application.
Detailed Description: You will ultimately develop two different Java applications that will allow
clients (the end-users) to execute SQL commands against a remote database. The first of these
applications will allow general types of end-users (clients that you will create) to issue SQL
commands against various databases. The second of these applications will be very closely based on
the first application but is restricted to a specialized accountant client (more on this application
below). For the first application, you will create a Java GUI-based front-end that will accept any
MySQL DDL or DML command, pass this through a JDBC connection to the MySQL database
server, execute the statement and return the results to the clients. Note that while technically your
application must be able to handle any DDL or DML command, we won’t actually use all of the
commands available in these sublanguages. For one thing, it would be quite rare to allow a client to
create a database or a table within a database. Note too, that the only DML command that uses the
executeQuery() method of JDBC is the Select command, all other DML and DDL commands
utilize executeUpdate(). Some screen shots of what your Java GUI front-end should look like
are shown below. Basically, this GUI is an extension of the GUI that was developed in the lecture
notes and is available on WebCourses as DisplayQueryResults.java. Your Java application must give
the user the ability to execute any SQL DDL or DML command for which the user has the correct
permissions. User information for connections will be maintained in properties files, but each user
must supply their username and password (for their MySQL server account) via the GUI for
verification purposes (more later). You will be able to start multiple instances of your Java application
and allow different clients to connect simultaneously to the MySQL DB sever, since the default
number of connections is set at 151 (See your Workbench options file under the networking tab). In
addition to the client interactions with your application, a background (business logic) transaction
logging operation will occur which keeps a running total of the number of queries and the number of
updates that have occurred via each different user’s interactions with your application (aggregate over
all separate connections per user). This is a separate database (i.e., a completely different database
than any to which a client user can connect), to which the application will connect, using special
application-levels privilegesin a separate properties file. This separate properties file is not accessible
by any end user. Each user operation will cause the application to make this connection and update
the operational logging database table. More details on this aspect of the application are shown below
and will be covered in the Q&A sessions. The second application that you develop will be essentially