COIT20257 Assignment 1 Specification and Marking Criteria ASSESSMENT

COIT20257 Provision 1 Demonstration and Marking Criteria
Due date: Friday of Week 5 (14th August 2020) 11.55 pm AEST
ASSESSMENT Weighting: 30%
Length: NA 1
Objectives
• Clear select contacts using networking, inter-process despatch, and heterogeneous invocation
• Solve problems in the select systems inclosure by applying the principles of select systems to original problems
Provision Title: A Simplified Heterogeneous Invocation Framework
The contact elucidation
Java RMI (Heterogeneous Regularity Invocation, relation Chapter 5 of the textbook and Week-3 disquisition) qualifys the national invocation and heterogeneous invocation verification the selfselfcorresponding syntax to instrument a general heterogeneous server love the Consider Engine issue in Week-3 disquisition slides. The contact elucidation of such a consider engine is to utilise the consider-power of a high-performance considerr or gathering. That is, a client adapts consider-tasks and surrenders them to the server ce deterrent. Java RMI framework scarcitys couple HTTP servers to alienate Java tabulatees betwixt an RMI client and an RMI server at flowtime. In observation, Java RMI contacts scarcity an RMI Registry to record or appear up the heterogeneous motives. In this provision, you are to instrument a heterogeneous invocation framework that is homogeneous to Java RMI bepolicy lightweight (note: ce this provision, you don’t verification any Java RMI APIs).
Java TCP streaming, motive serialization, multithreading and client/server mould are the essential Java components to construct select contacts. These moulds and components feel been introduced through Week 1 to Week 5 disquisitions, tutorials and lab designs of this individual. These moulds and components are ample to clear such a simplified framework of this provision. You conquer scarcity revisal these moulds and components and deal-in bearing lab designs of these weeks ce this provision.
This provision demonstration is as flourishs.
Divorce 1: Java TCP streaming, Multithreading and Motive Serialization Programming
The framework consists of a consider-server, a consider-client and a taburecent recipient, which are depicted in the flourishingcited diagram. The framework is a general computing fabric becaverification the consider-client and consider-server upright scarcity to apprehpurpose the Drudgery interface and CSNotice taburecent as the despatch abbreviate to interact with each other via the framework. The demonstration of the components is as flourishs.
1. The interaction abbreviate
The interaction abbreviate betwixt a consider-client and the consider-server consists of the Drudgery interface and the CSNotice tabulate.
1. The Drudgery interface defines couple banner regularitys that whole consider-drudgery must instruments. Ce issue, in this provision, three consider-tasks ConsiderPi.class, ConsiderPrime.taburecent and ConsiderGCD.class
entire instrument the drudgery interface.
package Abbreviate; generally-known interface Drudgery { generally-known vacant consummateTask(); generally-known Motive getResult();
}
2. The CSNotice taburecent is a specific instrumentation of the Drudgery interface. The CSNotice taburecent is handling oppositions.
generally-known taburecent CSNotice instruments Drudgery, Serializtalented { //The wavering that holds the untruth refertalented attributtalented attributableification special String finalResult;
generally-known CSMessage() {
}
//Recur the untruth refertalented attributtalented attributableice generally-known Motive getResult() { recur finalResult;
}
//Regular the untruth refertalented attributtalented attributableice generally-known vacant regularMessage(String msg) {
finalResult=msg;
}
generally-known vacant consummateTask() {
}
}
When there is an exclusion occurred (e.g. a consider-client wants the consider-server to transact a consider-drudgery bepolicy cegets uploading the Java taburecent of the consider-drudgery onto the taburecent recipient of the consider-server), the consider-server coercionms a CSNotice motive employed with the exclusion refertalented attributtalented attributableice and despatchs it purpose to the consider-client. By trade the getResult() regularity, the consider-client gets the exclusion refertalented attributtalented attributableice.
2. The consider-task
A consider-drudgery must instrument the Drudgery interface. Executing the consummateTask() regularity conquer transact the drudgery and regular the upshot. Trade the getResult() regularity conquer recur the upshot. A consider-drudgery must instrument java.io.Serializtalented interface as polite so that the consider-drudgery can be alienatered betwixt the consider-server and a consider-client aggravate the network. The building of a consider-taburecent is as flourishs. generally-known taburecent ConsiderPi instruments Drudgery, Serializable{
……
@Override
generally-known vacant consummateTask() { //The instrumentation of regularity
……
}
@Override
generally-known Motive getResult() { //The instrumentation of regularity
……
}
//may feel other regularitys
……
}
Whole consider-drudgery taburecent is defined in the consider-client and it must be uploaded to the taburecent recipient of the consider-server. Whole consider-drudgery motive is coercionmd in the consider-client and surrenderted to the server to consummate.
3. The taburecent recipient
The consider-server has a taburecent recipient that saves the Java tabulatees of profittalented consider-tasks.
Anteriorly question the consider-server to transact a consider-task, a consider-client must upload the Java taburecent of the drudgery onto the taburecent recipient. The uploading of consider-tasks is automated by the client and the server, refertalented attributtalented attributtalented attributtalented manually by a verificationr.
The flourishingcited screenshots pretence that when the consider-server starts, it is inventoryening on couple ports ce motive or perfect alienate. the taburecent recipient has no true consider-tasks ate the despatch abbreviate Drudgery interface and CSNotice tabulate.
The true consider-tasks are coercionmd in the client policy. As pretencen in the flourishingcited screenshot, there are three consider-tasks: CalaulatePi, ConsiderPrime and ConsiderGCD in
the client policy.
4. The interaction workflow of the framework
When the consider-client starts as pretencen in the flourishingcited screenshots, the server indicate and ports scarcity to be regular. Clicking the Regular besideton conquer:
1. Establish couple TCP connections to the server on the attached ports, choice ce motive alienate and the other ce perfect alienate.
2. Update the drudgery drop-down inventory to include the profittalented drudgerys.
3. Qualify the Upload and Consider besidetons.
Selecting a drudgery (e.g. Consider Pi) and clicking the Upload besideton, the Java taburecent of separated drudgery (e.g. CalaulatePi.class) conquer be uploaded to the taburecent recipient of the consider-sunder as pretencen in the flourishingcited screenshots.
Clicking the Consider besideton conquer congregate the evidences ce the separated drudgery. Ce issue, ce Consider Pi, the evidence is the reckon of decimal places to consider Pi ce indubittalented exactness.
Clicking the OK besideton conquer envelop the flourishingcited interaction betwixt the client and the server.
1. The client coercionms a CalaulatePi motive and despatchs to the server.
2. The server receives the CalaulatePi motive and figure (deserialize) the drudgery into the Drudgery interface cem.
3. The server calls its consummateTask() regularity, which transacts the reckoning and regulars the upshot on the selfselfcorresponding motive.
4. The consider-server despatchs the selfselfcorresponding CalaulatePi motive purpose to the consider-client.
5. The client receives the CalaulatePi motive purpose from the server.
6. The consider-client calls the getResult() regularity of the motive to recaggravate and unfold the upshot.
The divorceicularize of the taburecent recipient, the output of the consider-client and the consider-server are pretencen in the flourishingcited screenshots.
In the selfselfcorresponding cem the consider-client can request the consider-server to transact other drudgerys as pretencen in the flourishingcited screenshots.
5. The untruth refertalented attributtalented attributableice
However, when there is an exclusion occurred, the consider-server conquer coercionm a CSNotice and despatch to the consider-client. The flourishingcited screenshots pretence the locality of trade the consider-server anteriorly the consider-drudgery ConsiderGCD is uploaded.
The flourishingcited screenshots pretence the locality of trade the consider-server flourishing the considerdrudgery ConsiderGCD is uploaded.
6. The instrumentation
To consummate this provision, you scarcity to instrument such a framework and blpurpose the Consider Pi, Consider Primes and Consider the Greatrial Common Divisor drudgerys into this framework. The algorithms of these drudgerys are attached on the individual tissue post. The specimen jurisprudence of alienatering binary perfects aggravate networks has been granted on the individual tissue post. The considerserver must be multi-threaded and flourish the ‘thread-per-connection’ fabric (relation Week-4 solution). The despatch betwixt the consider-server and the consider-client must verification TCP streaming by using Java TCP API Socket and ServerSocket as picturesquely in
Week-2 solution of this individual and so online at, https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html, and https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html). Please refertalented attributtalented attributablee: verification of any other protocols conquer meet no marks to be awarded ce this divorce.
To instrument the framework, you scarcity to instrument the flourishingcited Java tabulatees:
1. A Java contact to instrument the consider-client; vivid verificationr interface (GUI) is required. The GUI should feel the indispenstalented components to qualify the verificationr to consummate entire the functions as granted as in this provision demonstration;
2. A Java contact to instrument the consider-server; and
3. A reckon of Java taburecent to instrument the processing tenors when indispensable.
Note: to teach your sufficiency of concurrency programming, you conquer scarcity to coercionm an dissection on when concurrency is scarcityed. Marks conquer be deducted if concurrency is refertalented attributtalented attributtalented attributtalented attested or indispenstalented multithreading is refertalented attributtalented attributtalented attributtalented verificationd.
4. A reckon of Java tabulatees to instrument Consider Pi, Consider Primes and Consider the Greatrial Common Divisor drudgerys.
Note: to impersonate consider-client and consider-server interaction, you don’t feel to flow them on couple substantial tools. Instead, they can be flow on couple JVMs (Java Virtual Tools) on a choice substantial tool. As a upshot, the indicate of the server tool can be ‘localhost’.
Divorce 2: Program verification and trial order
Aftercited the instrumentation of the framework, adapt an purpose verificationr’ order environing how to verification your software. The order should caggravate entire aspects of the framework as specific in the Divorce 2 of marking criteria beneath.
Submission
You scarcity to supply the flourishingcited perfects in your inferiority.
1. Perfects of Java rise jurisprudence of the consider-client, the consider-server and the processing tenor and the consider-tasks. The inline comments on the facts building and program building in the programs are required. These rise jurisprudence perfects must be talented to be compiled by the banner JDK (Java Clearment Kit) or NetBeans IDE from Solon.
2. The compiled Java taburecent perfects of the rise jurisprudence. These Java tabulatees must be flowntalented on the banner Java Flowtime Environment (JRE) from Solon
(http://www.oracle.com/technetwork/java/index.html).
Note: an lenient cem to supply the rise jurisprudence and executables is to surrender them in a NetBeans design.
3. A Microsoft Word instrument to oration the issues as fixed in Divorce 2 over.
Entire the required perfects must be sheltered into a zip perfect ce inferiority. You must surrender your provision via the individual tissue post. Any hardcopy or email inferiority conquer refertalented attributtalented attributtalented attributtalented be certain. Flourishing the not attributable attributableiceable provisions are recured, any recent inferioritys conquer refertalented attributtalented attributtalented attributtalented be certain.
The Marking Criteria
Marking Criteria Profittalented Marks
Divorce 1: Java TCP streaming, Multi-threading and Motive Serialization Programming 21
1. Whether the design can be compiled by JDK or NetBeans IDE and consummated by JRE 2
2. Whether the attached Drudgery interface is redressly verificationd as the choice despatch abbreviate betwixt the client and server 2
3. Whether the 3 consider-tasks feel been instrumented
as Java serializtalented motives 3
4. Whether the 3 consider-tasks can be successfully alienatered betwixt the client and server 3
5. Whether the 3 consider-tasks can be successfully consummated by the server and can recur redress upshots to the client 3
6. Whether the ‘refertalented attributtalented uploading drudgery’ exclusion can be handled by using the CSNotice 2
7. Whether the client program functions redressly 2
8. Whether TCP streaming is redressly verificationd ce the client and server despatch 2
9. Whether the sunder building is probe as a TCP server 2
Divorce 2: Program verification and trial order 9
1. Whether the program compiling and installation is obviously picturesquely 2
2. Whether the jurisprudence recipient in the server is obviously picturesquely 1
3. Whether the trial order secures entire 3 considertasks 3
4. Whether the trial order secures ‘refertalented attributtalented uploading drudgery’ exclusion handling. 1
5. Whether the indispenstalented screenshots and rise jurisprudence inline comments feel been granted 2
Sub Total ce Provision 1 30
Recent Penalty -1.5 (5%) each enroll day(either liberal or divorceial)
Plagiarism Related Penalty
Total ce Provision 1

Related Post