MODULE & LECTURER: Distributed and Cloud Computing; Dr. Padraig
Corcoran
TITLE: Design of a Distributed System
The penalty for late or non-submission is an award of zero marks.
Your work should be submitted using the official
Coursework Submission Cover sheet.
INSTRUCTIONS
You have been hired to build a distributed data storage system for a property sales
agency that will allow its employees to store, access and update property information.
The agency also requires a facility which will allow customers to assess property
information in this system via a web service.
Each property has the following five associated pieces of information which must be
stored in the system:
1. Property unique ID.
2. Property owner.
3. Property number.
4. Property postcode.
5. Property price.
Part 1
Design and build the above distributed data storage system using a remote object
paradigm which allows employees to perform the following tasks:
1. Search the current list of properties by price range or postcode.
2. Add a new property to the system by providing owner, number, postcode and price.
3. Delete an existing property from the system given its ID.
All data should be stored in remote objects and, for the purposes of this coursework,
not written to external files such as text files.
Part 2
Design and build a SOAP web service which allows customers to search the properties
currently in the distributed data storage system by price range or postcode.
SUBMISSION INSTRUCTIONS
Description Type Name
Cover sheet Compulsory One PDF (.pdf) file [student number].pdf
Solutions Compulsory One zip (.zip) file
containing the following:
1. Python code
developed.
2. A pdf file containing
detailed instructions on
how to run and test this
code.
[student number].zip
CRITERIA FOR ASSESSMENT
Credit will be awarded against the following criteria.
For part 1:
Create an object with necessary data structures and methods. The data in the system
must be consistent; for example, two properties must not have the same ID.
Create a remote object which can be accessed by a client.
Use a name server.
Good system design (this includes annotating code in a manner which clearly explains
design decisions).
For part 2:
Produce a SOAP web service that returns to a client.
The SOAP server determines the correct information.
This information is returned to a client.
Good system design (this includes annotating code in a manner which clearly explains
design decisions).
IMPORTANT ̈ C For all solutions submitted, detailed instructions describing how
to run and test the code in question must also be submitted. All code submitted
must be written in python and run on the computers in the Linux lab.