COIT132229 Applied Distributed Systems Assignment

Assignment Help JAVA Programming
Reference no: EM132520896

COIT132229 Applied Distributed Systems - Central Queensland University

Assignment - Java TCP networking with cryptography

Objectives
This assessment item is designed to test your understanding in Java TCP networking with cryptography, Java Object Serialization\ Deserialization, threading, connecting to a relational database.

Assessment task
The application should be implemented as a client/server model using java TCP sockets. The server program should have the capability to concurrently handle multiple client connections (Thread-per- connection). The sever should persist data to a relational database (Java Derby or MySql). Before running the TCPServer the database named "admin" should be manually created without a username and password. The provided SQL script("administrator.sql") should be used to create two tables with sample records. The client menu should handle only administrator options (1. Current Admin 2. New Admin 3. Exit). Server validated messages displayed on the client include (Admin exists, Un-registered Admin, Invalid Password, Welcome or Admin Created). Only after the user is registered or authenticated with a welcome user message the client should proceed to display another sub-menu (3. Report Log Summary 4. Delete User Log 5. Root Menu). The report option displays listings in a tabular format on the client console which includes three fields (Student number, total number of visits and total cost). Each visit is charged a flat fee of $3.50. The delete option deletes the log details for a specific student number. SQL queries should be designed with prepared statements to handle these requests with the database. Cryptography concepts studied in Week 6 with supplied code should be used for the key pair generation. Key pair should be generated on the server and once a connection is established with the client the generated Public Key is sent to the client. All the string messages from the client should encrypted with the Public Key before sending it to the server. The server decrypts with the Private key before performing the validation and database transactions with suitable messages.

Coding and Design
You can use the following class descriptions and diagram as a guideline for your design.
(At minimum three java files should be used).
TCPClient: This class handles the data entry with suitable menus. Any string message sent to the server should be encrypted with the public key. The program should allow the client to enter the details for multiple entries. Client user selection String built before encryption. Example) "1 sydneyuser sydney.123" current admin with username sydneyuser and password sydney.123 space separated. On the server side after decryption individual words can be extracted by using the string split method for processing.

TCPServer: This class accepts multiple client connections. It builds the builds the key pair and sends Public Key to the client. The server program should be running indefinitely ready to communicate with future clients.
Cryptography: This class has relevant static methods to handle cryptography.
DatabaseConnection: This class has relevant methods to transact with the database.

Your program should check user inputs for potential error and allow user to re-enter details where appropriate. Exception and error handling should be implemented within your program where necessary. The source code should be formatted properly following good programming practice (appropriate variable names, indentation, comments, etc....)

Note: User defined class Connection shares the same name as inbuilt Connection class in java.Sql library, be explicit in declaration as shown in Figure1 to distinguish them. Ensure relevant jar file is added before connecting to the database.

Report
Include an end user instruction and test manual with the compilation steps and order of running the programs. Run the program and take screenshot of program outputs for all tests with annotations. The test should demonstrate that your TCPServer can accept connections from more than one TCPClient.

Attachment:- Applied Distributed Systems.rar

Reference no: EM132520896

Questions Cloud

Determine the total cost assigned to units transferred out : Determine The total cost assigned to units transferred out of the Heating Department during March, The cost per equivalent unit for conversion.
Important information for working paralegal : Important information for the working paralegal to have nearby is referencing data on any and all courts pertinent to one's jurisdiction and/or legal specialty
What are the major components of the vestibular complex : What are the major components of the vestibular complex of the inner ear, and what sensation are provided by each?
Identify two of strengths from any of the skill areas : Identify two of your strengths from any of the skill areas and discuss how you can use each of the strengths to build a positive culture
COIT132229 Applied Distributed Systems Assignment : COIT132229 Applied Distributed Systems Assignment Help and Solution, Central Queensland University - Assessment Writing Service
Identify emerging public safety ethical trend : Presentation and discussion of academic and anecdotal resource materials Deconstruction of current public safety ethical issues related to your topic
Should cherish inc buy the lamp shades : Should Cherish Inc. buy the lamp shades? Give your analysis and supporting calculation. Cherish Inc. has been manufacturing its own shades
How does a high protein diet benefit : How does a high protein diet benefit someone like Tara after a major surgery or serious hospitalization?
Neurotransmitter that is released by the presynaptic cell : A new drug called Xaelenfal is on the market. Xaelenfal is an AMPA receptor antagonist, meaning that it binds onto AMPA receptors without activating

Reviews

Write a Review

JAVA Programming Questions & Answers

  Recursive factorial program

Write a class Array that encapsulates an array and provides bounds-checked access. Create a recursive factorial program that prompts the user for an integer N and writes out a series of equations representing the calculation of N!.

  Hunt the wumpus game

Reprot on Hunt the Wumpus Game has Source Code listing, screen captures and UML design here and also, may include Javadoc source here.

  Create a gui interface

Create GUI Interface in java programing with these function: Sort by last name and print all employees info, Sort by job title and print all employees info, Sort by weekly salary and print all employees info, search by job title and print that emp..

  Plot pois on a graph

Write a JAVA program that would get the locations of all the POIs from the file and plot them on a map.

  Write a university grading system in java

University grading system maintains number of tables to store, retrieve and manipulate student marks. Write a JAVA program that would simulate a number of cars.

  Wolves and sheep: design a game

This project is designed a game in java. you choose whether you'd like to write a wolf or a sheep agent. Then, you are assigned to either a "sheep" or a "wolf" team.

  Build a graphical user interface for displaying the image

Build a graphical user interface for displaying the image groups (= cluster) in JMJRST. Design and implement using a Swing interface.

  Determine the day of the week for new year''s day

This assignment contains a java project. Project evaluates the day of the week for New Year's Day.

  Write a java windowed application

Write a Java windowed application to do online quiz on general knowledge and the application also displays the quiz result.

  Input pairs of natural numbers

Java program to input pairs of natural numbers.

  Create classes implement java interface

Interface that contains a generic type. Create two classes that implement this interface.

  Java class, array, link list , generic class

These 14 questions covers java class, Array, link list , generic class.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd