Advanced Java RMI Application Assignment

Download Solution Order New Solution

Assignment Task

Introduction to Java RMI

Our expectation is that you are able to code and submit a tested and working copy of your code. There will not be any partial marks and you are expected to debug and fix errors and test that your code works on the Linux image at University (CATS machines or ssh remotely to uss.cs.adelaide.edu.au). Assignment Description ObjectiveTo gain an understanding of how remote method invocation in Java works, synchronization, and to develop a working example of a Java RMI system. This will be essential in developing future applications as you will quickly learn all of the pitfalls inherent in developing standards-based clients and multi-threaded servers. To gain an understanding of how a distributed system works, this first assignment phase involves developing a simple Java RMI application. This will involve developing both the client and server side of a distributed application: a simple calculator server. The calculator server operates a stack and clients push values and operations onto the stack. While, usually, each client should have its own stack, you may use a single stack on the server. You may also assume that operations are always sensible: that is, we will only push an operator after pushing at least on value and we will only pop when there is a value on the stack.

You may also assume that the operator provided will only be one of the four displayed types and that the values are always integers. Following the directions discussed in lectures, you should create a Java RMI Server that supports the following remote methods:void pushValue(int val); This method will takeval and push it onto the top of the stack.void push operation (String operator); This method will push a String containing an operator (\"min\", \"max\", \"lcm\", \"gcd\") to the stack, which will cause the server to pop all the values on the stack and: for min - push the min value of all the popped values; for max - push the max value of all the popped values for lcm - push the least common multiple of all the popped values; for gcd - push the greatest common divisor of all the popped values.int pop(); This method will pop the top of the stack and return it to the client.boolean isEmpty(); This method will return true if the stack is empty, false otherwise. int delayPop(int millis); This method will wait millis milliseconds before carrying out the pop operation as above.Importantly:

Your implementation should use the following files:

Calculator.java - the interface that defines the remote operations implemented by your remote service. Calculator Implementation.java - the implementation class for the remote operations. Calculator Server.java - the server class.Calculator Client.java - a test client that should connect to the server, and test its operation. You will need to create and add these files to your repository.

  • All clients access the same stack on the server push value works one client, many clients (more than 3)
  • push Operation works one client, many clients (more than 3)
  • pop works one client, many clients (more than 3)
  • delay Pop works one client, many clients (more than 3) for the quality of your automated testing, both in testing the server with single and multiple clients.

Code Quality Checklist Do!

  • write comments above the header of each of your methods, describing what the method is doing, what are its inputs and expected out put so describe in the comments any special case so create modular code, following cohesion and coupling principles Don\'t!o use magic number so use comments as structural elements
  • misspell your comment so use incomprehensible variable names have long methods 
  • allow TODO blocks. Clients have their own stack on the server: each client accesses their own stack, rather than the common one Handing

This IT and Computer Science has been solved by our PhD Experts at My Uni Paper. Our Assignment Writing Experts are efficient in providing a fresh solution to this question. We are serving more than 10000+ Students in Australia, the UK, and the US by helping them to score HD in their academics. Our Experts are well-trained to follow all marking rubrics and referencing styles.

Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turnitin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.

Get It Done! Today

Country
Applicable Time Zone is AEST [Sydney, NSW] (GMT+11)
+

Every Assignment. Every Solution. Instantly. Deadline Ahead? Grab Your Sample Now.