辅导案例-SCC311

欢迎使用51辅导,51作业君孵化低价透明的学长辅导平台,服务保持优质,平均费用压低50%以上! 51fudao.top
SCC311 Coursework Part 1 Specification

Due: Friday Week 3 ​through ​Moodle
Marking: Your assigned Lab session Week 4
Total mark allocation: 20%

The goal of this exercise is to build a simple client-server setup that invokes a method using Java
RMI. You will develop both the client and the server.
Level 1: Invocation (12%)
Build a ​server​ that offers this ​exact​ interface, listening on the default port 1099:
public AuctionItem getSpec(int itemId, int clientId) throws RemoteException;

This returns the details of an auctioned item that has the identifier ​itemId​. The ​clientId​ is like a
username to be used for authorisation in further versions of the coursework. The return type
AuctionItem​ is for you to define, but below is a suggested structure.
int itemId
String itemTitle
String itemDescription
You might want to extend this structure to add other variables, such as item condition (new / used),
etc. especially in the remainder of the coursework. You need to be able to justify your decisions.

You also need to build a very simple ​client​ that invokes the above method on the server using RMI,
and render the return values to be displayed on screen. A basic text-based client is all we ask for.
You could develop a GUI if you wish, but there will be no extra credit awarded.

Tip: Do not forget to start the RMI registry when running your code.
Level 2: Encryption (8%) - ​If achieved, no need to attempt Level 1
Implement logic to ​encrypt communications​. You need to do this using ​AES keys,​ ​not passwords​.
To achieve this, use ​SealedObject​, a mechanism that allows you to encrypt and decrypt objects.
public SealedObject getSpec(int itemId, SealedObject clientRequest) throws
RemoteException;
The modified interface (above) will take an item ID and a ​sealed​ (i.e. encrypted) “client request” (a
class that just includes ​clientId​ and is ​Serializable​) as its arguments, and returns a sealed
server response that encapsulates an ​AuctionItem​. The client needs to display the decrypted
response. You will need to generate and manage your own keys; see ​KeyGenerator​.
Marking Scheme
Level 1
Client invocation and display 3 marks
Server interface 3 marks
Management of listing data on server 3 marks
Answer in-lab questions 3 marks
Level 2
Key creation and use 2 marks
Create client request 3 marks
Decrypt sealed server response 3 marks

欢迎咨询51作业君
51作业君

Email:51zuoyejun

@gmail.com

添加客服微信: abby12468