PURPOSE OF ASSIGNMENTIn this assignment well finish off the example code to make a true client-server application. The goal is to demonstrate running two separate servers and connecting to them with a client. The deliverable for this assignment will be a paper where you describe this application for yourself.ASSIGNMENT INSTRUCTIONSThe file ClientServer.zip (attached file) is an export of Apache NetBeans project. You can import directly if you are using Apache NetBeans or latest version of Eclipse.If you have to do it manually for Eclipse IDE tool then please follow below instructions.First unzip the zip file you’ve just downloaded. There are two top level folders that you should manually copy/import into Eclipse “lib” and “src.” The “src” folder includes source files and “lib” folder includes mysql-connector-java-8.0.22.jar (extracted the attached file) file is needed to connect your application to the MySQL database. Please watch the video available on this page to get help with importing, configuring, building and testing the ClientServer application. I’d recommend starting with a new project to import it into. If you don’t you run the risk of deleting things you don’t want to.TIP: What follows is a complex series of instructions. If it all works for you first time, that’s fantastic. If you run into problems one thing you can try is starting again with a fresh project. Here is one way to do it:File > New > Java ProjectEnter the name “Client Server” in the Project name box. Click FinishClick the little arrow to the left of the project name to expand the project. You should see a folder called “src”.Right click on src, Import… > General > File SystemClick Next >Click the Browse… button and navigate the the folder called “src” that came from the zip file. Select it so that the “From directory:” box has a path that ends with “src”.Click Finish.In the Package Explorer in Eclipse you should now see an arrow to the left of the src folder. Click on it to expand the folder. You should see the four packages there with all the code.The attached class diagram shows all the classes in the application(picture: addressbook-full.png)Your assignment this week will have two deliverables. The first will be to step through to see how the AddressBook in a distributed application will look. The steps below will show you how this is accomplished.You will need to open a word document where you will be pasting screen shots. In each of the steps below, you will need to take a screen shot of each activity that is in bold font, and paste it to a word document (or similar). Each screen shot should have an indication of which step is being shown.1. Compare the code with what was walked through in the reading.The missing pieces have been filled in (Person, PersonStore, PersonCommand).The Server class can be run. The Client class can be run.2. Test the databaseNavigate to the package ict4300.week8.client and open the TestDatabase class.You should be able to run this and it should fail with an error like this:Exception in thread “main” java.lang.ClassNotFoundException: com.mysql.cj.jdbc.DriverThat’s because we haven’t added the MySQL Java library to the project. Do this now:Right click on the project name, “Client Server” in the Package ExplorerBuild Path > Configure Build Path…Click on Libraries > Add External JARs…Navigate to the MySQL jar file whose location you noted when you downloaded it earlier. It should be called something like “mysql-connector-java-8.0.17.jar” (maybe with a different version number).Select the .jar file and click “Open” or “OK” or whatever the button says. This should now appear above the JRE system library. Click “Apply and Close”.Run the class again and it should work. If it doesn’t it’s likely because you don’t have the MySQL database running.3. Test the database connectionThis runs some more advanced tests. Open the TestConnection class in the same package and run it.It should have created a table, updated three rows and printed out three rows.4. Run the Client and the ServerOpen the Client class and run it. This should fail saying something like, “Connection refused.” That’s because the Server isn’t running.Open the Server (in the server package) and run it. That should give you some output that ends in “Starting server: xxx.xxx.xxx.xxx”.Now run the Client again. It should prompt you to enter a command. If there’s no output from the command nothing will be printed but it means it worked fine.Try “list”. Unless you’ve added stuff by hand it shouldn’t print anything.Try “create:John:Doe”. This should return “1: John Doe”Now try list and the other commands. Note that the format of the commands is quite finicky. It’s described in both the Client class and the PersonCommand class.You can run both of these from within Eclipse; their output show up in the Console. You can switch between the two using one of the buttons in the bar along the top of the console. Mouse over them to see what they do. One of them is for “Display Selected Console”. The others control the behaviour. Congratulations, you have run a client-server application.ASSIGNMENT SUBMISSIONThe first deliverable for the assignment this week is the document showing the screen shots after stepping through the exercise above. This document will need to have the proper cover page. A partial example is shown belowThe second deliverable for this assignment is a 1,000-2,000 word paper that forms a design for this application and a description for how it works. You may not copy anything from this assignment description (although you may paraphrase it) with the exception of the class diagram. If you find that useful, then feel free to include it. Your design should include the following elements:An introduction that describes the basic application from a high-level.A design section that explains how the pieces of code fit together and what their responsibilities are. You should call out the different servers that are used as well as the client.A discussion of how it works and how to use it.NOTE: Do not describe what a client-server application is in general or simply copy from the reading. Instead you should describe this application specifically. No references should be required since you’re just using material from the course container.You should submit two files this week in either .doc, .docx or .pdf format. Do not zip the two files together. Extra CreditIn order to simplify this example as much as possible we only implemented a very simple “Person” class. However, in week 4 we created a database schema for a Person and an Address. There is an extra credit assignment available that offers you the opportunity to take this application as a starting point and turn it into an address book. For This or a Similar Paper Click Here To Order Now