| CODE | CIS5217 | |||||||||
| TITLE | Distributed Computing and Decentralised Systems | |||||||||
| UM LEVEL | 05 - Postgraduate Modular Diploma or Degree Course | |||||||||
| MQF LEVEL | 7 | |||||||||
| ECTS CREDITS | 5 | |||||||||
| DEPARTMENT | Computer Information Systems | |||||||||
| DESCRIPTION | This study-unit consists of two parts. Part I focuses on the software development of Client-Server distributed applications whose subsystems execute on separate servers so as to distribute computational load. Part II, on the other hand focuses on decentralised computing models and distributed algorithms based on message passing. Part I This part deals with development of Client and Server applications using current technologies supporting distributed N-tier architecture systems and applying object oriented approach. Topics covered include: N-Tier architecture, database connectivity with distributed business logic tier, design, development and deployment of Server applications and development of different types of Client applications (GUI, Web based). Part II The topics covered include: message passing models (channels, mailboxes, pub-sub, actors etc.) and formalisms (process calculus) for distributed systems, event ordering and logical clocks (Lamport, vector clocks), impossibility results (FLP, CAP), consensus algorithms (PAXOS), and consistency models (strong, weak, eventual). Study-unit Aims: At both theoretical and practical level the study unit aims to: - build–up knowledge on current technologies to improve selection and adoption for use in different application development scenarios. - expose students to the software development of distributed applications using current technologies. - highlight features of current technologies used in distributed N-Tier architecture applications. - expose students to the intricacies of synchronisation and coordination in distributed systems. - provide an overview of techniques for communication and coordination in distributed systems. - provide an overview of formalisms used to specify distributed systems. - outline the limits of what is possible in a distributed system. Learning Outcomes: 1. Knowledge & Understanding: By the end of the study-unit the student will be able to: - compare and contrast different technologies for development of distributed Client-Server applications. - know and understand concept of database connectivity with the distributed applications. - set-up and test database connectivity with a distributed business logic layer. - choose the right technology for the development of a particular distributed application. - appreciate the challenges and limitations in distributed computing. - understand a selection of fundamental distributed algorithms. 2. Skills: By the end of the study-unit the student will be able to: - design, implement and deploy application software using the current technologies for distributed systems. - set-up and test a database connectivity with business logic layer of distributed system. - apply the correct testing approach for distributed applications. Main Text/s and any supplementary readings: Goncalves, A. Beginning Java EE 6 Platform with GlassFish 3,2010, Apress. (ISBN 978-1-4302-1954-5) Richardson L. & Ruby S. RESTful Web Services, 2008, O'Reilly Media. (ISBN 978-0596529260) w3schools.com Orfali R. & Harkey D. Client/Server Programming with Java and CORBA, 1998, Wiley. (ISBN: 047124578X) IEEE Transactions on Software Engineering. IEEE Transactions on Services Computing. A number of academic and most cited papers are to be followed by students. Raynal M. Distributed Algorithms for Message-Passing Systems. 2013 Springer-Verlag. |
|||||||||
| RULES/CONDITIONS | Before TAKING THIS UNIT YOU ARE ADVISED TO TAKE CIS2101 OR ( TAKE CPS1012 AND TAKE CPS2008 ) | |||||||||
| ADDITIONAL NOTES | Pre-requisite Qualification: Object Oriented Programming Java/C# and databases, Operating System and System Programing | |||||||||
| STUDY-UNIT TYPE | Lectures, Practicum & Project | |||||||||
| METHOD OF ASSESSMENT |
|
|||||||||
| LECTURER/S | ||||||||||
|
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 description above applies to study-units available during the academic year 2025/6. It may be subject to change in subsequent years. |
||||||||||