PURPOSE OF ASSIGNMENT
In this assignment we’ll 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.
The 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 (attached file) 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 Project
Enter the name “Client Server” in the Project name box.
Click 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 System
Click 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”.
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
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 database
Navigate 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.Driver
That’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 Explorer
Build 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 connection
This 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 Server
Open 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.
The 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 below
The 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.
Why Work with Us
Top Quality and Well-Researched Papers
We always make sure that writers follow all your instructions precisely. You can choose your academic level: high school, college/university or professional, and we will assign a writer who has a respective degree.
Professional and Experienced Academic Writers
We have a team of professional writers with experience in academic and business writing. Many are native speakers and able to perform any task for which you need help.
Free Unlimited Revisions
If you think we missed something, send your order for a free revision. You have 10 days to submit the order for review after you have received the final document. You can do this yourself after logging into your personal account or by contacting our support.
Prompt Delivery and 100% Money-Back-Guarantee
All papers are always delivered on time. In case we need more time to master your paper, we may contact you regarding the deadline extension. In case you cannot provide us with more time, a 100% refund is guaranteed.
Original & Confidential
We use several writing tools checks to ensure that all documents you receive are free from plagiarism. Our editors carefully review all quotations in the text. We also promise maximum confidentiality in all of our services.
24/7 Customer Support
Our support agents are available 24 hours a day 7 days a week and committed to providing you with the best customer experience. Get in touch whenever you need any assistance.
Try it now!
How it works?
Follow these simple steps to get your paper done
Place your order
Fill in the order form and provide all details of your assignment.
Proceed with the payment
Choose the payment system that suits you most.
Receive the final file
Once your paper is ready, we will email it to you.
No need to work on your paper at night. Sleep tight, we will cover your back. We offer all kinds of writing services.
No matter what kind of academic paper you need and how urgent you need it, you are welcome to choose your academic level and the type of your paper at an affordable price. We take care of all your paper needs and give a 24/7 customer care support system.
Admission Essays & Business Writing Help
An admission essay is an essay or other written statement by a candidate, often a potential student enrolling in a college, university, or graduate school. You can be rest assurred that through our service we will write the best admission essay for you.
Our academic writers and editors make the necessary changes to your paper so that it is polished. We also format your document by correctly quoting the sources and creating reference lists in the formats APA, Harvard, MLA, Chicago / Turabian.
If you think your paper could be improved, you can request a review. In this case, your paper will be checked by the writer or assigned to an editor. You can use this option as many times as you see fit. This is free because we want you to be completely satisfied with the service offered.