COIT13229 Applied Distributed Systems Assignment

Assignment Help Other Subject
Reference no: EM132882740

COIT13229 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, light-weight remote method invocation, threading and 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) with tasks computed only on the server. The sever should connect to a relational database (Java Derby or MySql) to validate the users recorded in the database.

The client program should authenticate the users before interacting with a menu. The user name and password entered by the user should be encrypted using the public key before sending it to the server. Cryptography concepts studied in Week 5 with the supplied code should be used for the key pair generation. Only one key pair should be generated on the server and the public key should be dispatched to the client when a connection is established. The client should encrypt all the string messages before sending it to the server. The server decrypts the received message with the Private key before performing the authentication with suitable messages. The server should support multithreading to handle multiple clients concurrently (Thread-per connection). After authentication the user is provided with a menu to compute simple mathematical tasks. The tasks should only be computed on the server. The client creates an instance of the relevant task and serializes it to the server as a Task instance. The server deserializes the object and executes the task before sending it back to the client to display the result. This is not a pure remote method invocation since the object physically moves between the client and the server processes during execution. The task interface is a contract between the client and the server to reduce coupling footprint and suitable for remote deployment.

Code hints on ComputeClient:
Task t=new Fibonacci(20); out.writeObject(t);
System.out.println( ((Fibonacci)in.readObject()).getResults());

Code hints on ComputeServer:
Object obj=in.readObject(); if(obj instanceof Fibonacci){
((Fibonacci)obj).executeTask(); out.writeObject(obj);
}

Coding and Design
You can use the following class descriptions and diagram as a guideline for your design.
ComputeClient: This class prompts for a user name and password and only after authentication proceeds with the menu operations. 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. The client program can build a string with user name and password using a delimiter ":" before encryption.
Example) Encrypted message containing "John:john.123". On the server side after decryption the individual words can be extracted by using the java inbuilt String.split() method for processing.

ComputeServer: This class accepts multiple client connections. It builds the key pair and sends the Public Key to the client. The server program should be running indefinitely ready to communicate with future clients. Sample code for TCP interaction is available in moodle under Week 2.

Cryptography: This class has relevant static methods to handle cryptography without creating an instance.
DatabaseConnection: This class has relevant methods to connect to the database to authenticate users.
Task/Fibonacci/Gcd/Factorial: These are helper classes to be implemented from the UML diagram.

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
Run the program and take screenshot of program outputs for all tests with annotations. The test should demonstrate that your ComputeServer can accept connections from more than one ComputeClient.

Attachment:- Applied Distributed Systems.rar

Reference no: EM132882740

Questions Cloud

Compute the closing account balances of each : Compute the closing account balances of each of the three inventory accounts: Raw Materials, Work in Process, and Finished Goods
What is the before-tax cost of preference shares : A share has a beta of 1.2. The risk-free rate of return is 4.0% and the risk premium is 10.3%. What is the expected return on the share?
What is firm before-tax cost of debt capital : Determine your firm's cost of debt. The risk-free rate of return is 2.9% and the corporate tax rate is 30%. What is your firm's before-tax cost of debt capital?
Can companies develop entrepreneurial traits : Why is it important for corporations to recruit individuals that have proven entrepreneurial skill sets? Can companies develop entrepreneurial traits?
COIT13229 Applied Distributed Systems Assignment : COIT13229 Applied Distributed Systems Assignment Help and Solution, Central Queensland University - Assessment Writing Service
Calculate Jessie inventory on December : Jessie Stores uses the periodic system of calculating inventory. Using the FIFO method, calculate Jessie's inventory on December 31 and its cost of goods sold
What is the value of the share : If the required rate of return is 10.6% p.a., what is the value of the share? A share is expected to pay an annual dividend of $2.53 next year.
What is firm cost of equity if current stock price per share : The firm plans to increase the dividend by 3.5 percent per year indefinitely. What is the firms cost of equity if the current stock price is $6.50 per share?
What is blue ocean strategy : What is a "Blue Ocean" strategy? One of the dangers in crafting this strategy is that managers end up "stuck in the middle". Discuss.

Reviews

Write a Review

Other Subject Questions & Answers

  Cross-cultural opportunities and conflicts in canada

Short Paper on Cross-cultural Opportunities and Conflicts in Canada.

  Sociology theory questions

Sociology are very fundamental in nature. Role strain and role constraint speak about the duties and responsibilities of the roles of people in society or in a group. A short theory about Darwin and Moths is also answered.

  A book review on unfaithful angels

This review will help the reader understand the social work profession through different concepts giving the glimpse of why the social work profession might have drifted away from its original purpose of serving the poor.

  Disorder paper: schizophrenia

Schizophrenia does not really have just one single cause. It is a possibility that this disorder could be inherited but not all doctors are sure.

  Individual assignment: two models handout and rubric

Individual Assignment : Two Models Handout and Rubric,    This paper will allow you to understand and evaluate two vastly different organizational models and to effectively communicate their differences.

  Developing strategic intent for toyota

The following report includes the description about the organization, its strategies, industry analysis in which it operates and its position in the industry.

  Gasoline powered passenger vehicles

In this study, we examine how gasoline price volatility and income of the consumers impacts consumer's demand for gasoline.

  An aspect of poverty in canada

Economics thesis undergrad 4th year paper to write. it should be about 22 pages in length, literature review, economic analysis and then data or cost benefit analysis.

  Ngn customer satisfaction qos indicator for 3g services

The paper aims to highlight the global trends in countries and regions where 3G has already been introduced and propose an implementation plan to the telecom operators of developing countries.

  Prepare a power point presentation

Prepare the power point presentation for the case: Santa Fe Independent School District

  Information literacy is important in this environment

Information literacy is critically important in this contemporary environment

  Associative property of multiplication

Write a definition for associative property of multiplication.

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