SE 3020 - Distributed Systems
SE 3020 - Distributed Systems
SE 3020 - Distributed Systems
Final Examination
Year 3, Semester 1 (2018)
I Duration: 2 Hours
June,2018
Instructions to Candidates:
Page I
Question 01 (14 marks)
a) You have been asked to develop a system where the student information of a
University is managed and shared. List three different motivations in making the
above system a distributed system.
(3 Marks)
b) You have been asked to develop a distributed system where the attendance
information of staff can be remotely monitored. The staff will mark their attendance at
different locations and all the attendance details are sent to a central server, from
which the attendance details and reports can be generated using a web client as well
as a mobile client. Identify three different challenges in developing this system and
briefly explain how you would try to address those challenges.
(3 Marks)
ii) A remote monitoring system to monitor the air quality of a building using a
sensor network
iii) A legal file sharing system for the lawyers employed at a law firm
(3 Marks)
d) You have been asked to develop an online supermarket system to buy grocery items
online. The system should facilitate search and purchasing grocery items online. The
customers may make the payments using a credit card. The system may use a third
party payment gateway to handle the payments. Once a particular purchase is made to
buy a set of grocery items, the users have the option to arrange a delivery or to pick-up
the items later at a supermarket outlet. Once the order is complete, SMS notifications
will be sent to the customer as well as the delivery person (if a delivery was arranged).
· -- . The delivery service is provided by a third party taxi company. The SMS notifications··
are sc~t u~ng a service ~r~wided by a mobile operator. ~:
ii) Draw an appropriate System Architecture diagram for the above system.
(2 Marks)
Page 2
Question 02 (12 Marks)
a) Identify and briefly explain the function of three components in the Java RMI
framework.
(3 Marks)
i) ' To get an alert from the remote weather monitoring system, only when there is
a sudden rainfall.
ii) To send the rainfall details from a weather monitoring sensor to a central
server. The sensor has a network port but doesn't have the computing power to
run any high level distributed computing framework.
Based on the J2EE specification on Enterprise Java Beans, identify different EJBs that
C:)uld be u\ed to develop this system. For each EJB, write its type, its function and the
remote and/or interfaces it may expose. You may use pseudocode to write the
interfaces.
(5 Marks)
Page 3
II
Question 03 (12 marks)
a) Briefly explain how message queues would facilitate reliable delivery of messages
and improve the decoupling of a system.
(2 Marks)
b) Compare and contrast JSON and XML as two open message format by giving an
advantage and a disadvantage of using each formats in sending messages in a
distributed system.
(2 Marks)
c) This' question also refers to the online supermarket mentioned in Question I (c).
Assume that for each customer, the customer first name, mobile no, email and address
are stored. The name consists of two elements, the first name and the last name. The
address is a string.
Based on the above information, write an XML schema to represent a customer list.
Select the appropriate datatype for each property. You do not need to write the XML
header information (such as namespaces)
(4 Marks)
d) For the above Customer data structure, write a sample JSON object to represent a
customer.
(2 Marks)
e) Name and briefly explain two ways on how the Service Oriented Architecture
facilitate reusability of distributed components.
(2 Marks)
. ,.
\
Page 4
Question 04 (12 marks)
a) In the online supermarket system mentioned in Question 1 (c), assume that there are
select, select all, create, update and delete remote operations are performed on a
Customer object. Write sample RESTful service URLs that can be used to perform
these operations. Indicate the appropriate HTTP method to use with the URL.
(5 Marks)
b) Briefly explain two reasons for having Service Orchestration m Service Oriented
distributed systems.
(2 Marks)
c) Briefly explain how Cloud computing can help to reduce the cost of scaling up/down
a distributed system.
(1 Marks)
d) For each of the following scenarios, briefly explain how Cloud computing may be
utilized to improve the productivity of the organization or the individual involved.
ii) The web based student management system, Courseweb of SUIT is becoming
difficult to manage and too complex, and the student data and the module data
is getting too large to store in-house.
iii) The defense ministry needs to store all its data in-house securely, but wants to
create virtual machines to provide its staff at different locations to securely
and remotely access/update its data.
iv) You need to share files easily with your final year project team members.
\
(4 Marks)
Page 5