University of Malta

Study-Unit Description
UOM Main Page
Apply - Admissions 2016
Campus Map button


TITLE Distributed Computing and Distributed Databases

LEVEL 02 - Years 2, 3 in Modular Undergraduate Course


DEPARTMENT Computer Information Systems

DESCRIPTION This study-unit will introduce students to fundamentals of distributed computing of both monolithic applications as well as object - oriented distributed applications. In case of object oriented applications interoperability of objects running on different computer platforms and developed by different languages are the main issues.

Part 1:

The first part of the study-unit is focused on a an understanding of Client/Server models mainly as regards connection and communication issues between the Client and Server through classical (non-object oriented) applications.

Topics in brief:
Client/Server model. Connection issues (connectionless, connection oriented). Socket structure and programming. Programming interface to communication protocols. Addressing issues, static and dynamic address binding, using name servers.

Client software design. Server software design. Case studies of four basic types of servers. Multiprotocol and Multiservice services. Server connectivity to databases. ODBC model. Accessing databases using SQL.

Part 2:

The second part of the study-unit is focused on Client/Server computing through objects while introducing typical available technologies for solving interoperability of Client and Server objects.

Topics in brief:
- Concept of automation remote server objects by the client;
- COM/DCOM model;
- Java-RMI - architecture and features, naming services. Building both Client and Server Applications;
- .NET Web Services - architecture and features. XML and SOAP protocols. Building both Client and Server Applications;
- .NET Web Services - architecture and features. XML and SOAP protocols. Building both Client and Server Applications.

Tools for Client/Server Computing allowing interoperability - MS Visual Studio NET, Net Beans and similar. Their use for practical implementation of various client/server implementations in a windowing environment.

Part 3:

Another accent of this study-unit is the study of distributed data and functions, across computer networks. The theory, design, specification, implementation, and performance of distributed database systems are pursued. Also the inherently different set-ups of a multidatabase are emphasized.

Topics include principles of naming and location, atomicity, query processing and optimisation, resource sharing, concurrency control, synchronization, recovery procedures, deadlock detection and avoidance, security, distributed access and control, distributed systems design, consistency and fault tolerance. Case studies supplemented by a hands-on approach will further enhance the student’s understanding of this study-unit.

Study-unit Aims:

The aim of this study-unit is to cover socket programming for monolithic Client/Server applications and typical distributed technologies for object-oriented applications. The programming language used is Java. Where applicable, interoperability of objects running on different computer platforms will be stressed.

Another aim is to convey the importance and issues related to having and moving data distributed over a communication network. Proper database logical design is mapped into a physical model that address network transparencies. A number of techniques, based on replication, are given. An important part of the unit is to show the importance of concurrency issues at local (and with write ahead logs) and distributed level.

Learning Outcomes:

1. Knowledge & Understanding:

By the end of the study-unit the student will be able to:

- Explain Client/Server model architecture and its n-tier variants;
- Explain connection issues between Client and Server applications (connectionless, connection oriented);
- Describe Socket structure and programming interface to communication protocols;
- Explain addressing issues, static and dynamic address binding, using name servers;
- Explain features of four basic types of servers as well as multiservice services;
- Explain server connectivity to databases using ODBC model;
- Explain concept of automation remote server objects by the client;
- Describe and explain fundamental remote object distributed architectures;
- Identify problems of interoperability of objects on different computer platforms;
- Design distributed database systems (partitioning and replication);
- Explain concurrency control and other data synchronization methods, recovery procedures, deadlock detection and management;
- Explain the principles of naming and location of objects in a database;
- Explain transaction processing and its requirements (e.g. ACID);
- Apply transaction processing in a distributed environment (ending with CAP theorem);
- Design distributed systems design with transactional consistency and fault tolerance;
- Design multi-databases.

2. Skills:

By the end of the study-unit the student will be able to:

- Design and implement Client side software;
- Design and implement monolithic Server side software of Iterative and Concurrent servers;
- Design and implement Java-RMI application;
- Design and implement Java Web Service applications both on Client (consumer) and Servicing side;
- Design of distributed databases according to resources and data availability;
- Design mechanism available for building distributed databases (e.g. replication, data partitioning, data connections);
- Design basic security features;
- Implement data concurrency protocols.

Main Text/s and any supplementary readings:

- D.E.Comer, D.L.Stevens Internetworking with TCP/IP: Client-Server Programming and Applications Prentice Hall 1996 ISBN 0-13-262148-7
- B.Quin, D.Shute Windows Socket Network Programming Addison Wesley Professional 1996 ISBN 0-201-63372-8
- D.T.Dewire Client Server Computing McGraw-Hill 1993 ISBN 0-07-016732-X
- Harvey M. Deitel, Paul J. Deitel Web Services: A Technical Introduction, Prentice Hall, ISBN 0-13-046135-0
- Harvey M. Deitel, Java Web Services: For Experienced Programmers, Prentice Hall, ISBN-0-13-046134-2
- Orfali R. The Essential Distributed Objects Survival Guide Wiley 1996 ISBN 0-471-12993-3
- Mowbray J.T., Zahavi R. The Essential Corba: Systems Integration Using Distributed Objects John Wiley & Sons, Inc. 1995 ISBN 0-471-10611-9
- M.T. Ozsu, P.V. Valduriez., Principles of Distributed Databases, PH Publishers.


ADDITIONAL NOTES Knowledge required: Any procedural programming paradigm

STUDY-UNIT TYPE Lecture and Practical

Assessment Component/s Resit Availability Weighting
Assignment Yes 20%
Examination (3 Hours) Yes 80%

LECTURER/S Vitezslav Nezval
Joseph Vella (Co-ord.)

The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the study-unit description above applies to the academic year 2017/8, if study-unit is available during this academic year, and may be subject to change in subsequent years.
Study-unit Registration Forms 2017/8


For Undergraduate (Day) and Postgraduate students.


Academic Advisors 2017/8


Academic Advisors for ICT 1st year students (Intake 2017/8), NOW available

Faculty of ICT Timetables


ICT Timetables are available from Here.

Health and Safety Regulations for Labs Form

The Faculty of ICT Health and Safety Regulations for Laboratories form can be found here



Log In back to UoM Homepage