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

  Utilization of checked exceptions

There are instances where the utilization of checked exceptions are more appropriate than unchecked exceptions in exception handling. Provide an example of each exception not mentioned in the article. Explain why each type of exception is more app..

  Create a program that writes user input from a text box

Assignment: JAVASCRIPT PROGRAMING- In this exercise, you will create a program that writes user input from a text box to a list on the web page.

  Create a new project and add a class Code

For this assignment, we will only consider the first iteration, 5-digit zip code. Create a new project and add a class Code

  Discusses the architecture for the web socket api

Locate and share an article that discusses the architecture for the Web Socket API. Identify and share an application that uses the web socket technology

  Create suitable subclasses

Create suitable subclasses of SeatReservation called AdultReservation, ChildReservation and ElderlyReservation - Create a suitable main method inside MovieSessi

  Create an unsorted array list with 100 random items in it

Create an unsorted array list with 100 random items in it and then perform a linear search on the array list looking for an item that is present in the list.

  Difference between each element and the max

Find the maximum number out of 5 array elements and calculate the difference between each element and the max

  Leadership position in a hospital emergency room

Identify in a leadership position in a hospital emergency room. Evaluate how  organization handles patient and employee education, and whether that organization participates in any research (if so, find out what types and whether it is mostly qualita..

  Write prolog clauses to express therelationships

Write prolog clauses to express the following relationships, given the parent relationship: grand-parent, sibling, cousin.

  Generates a random number between 1 and 100

Write a program that generates a random number between 1 and 100 (inclusive) and then prompts the user to guess the number. The user should be given up to 10 chances to guess the number.

  What is the height of the tree

Assume that you have a complete tree with 200 nodes, and that you represent it in array form. What is the height of the tree? Explain your answer briefly.

  Write a program that takes as input a number base

Write a program that reads an integer value n, and then reverses its digits - Write a program that reads an integer value n, then it reads in n integer values

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