CODE | CIS2103 | ||||||||||||
TITLE | Distributed Computing and Distributed Databases | ||||||||||||
UM LEVEL | 02 - Years 2, 3 in Modular Undergraduate Course | ||||||||||||
MQF LEVEL | 5 | ||||||||||||
ECTS CREDITS | 5 | ||||||||||||
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 visited. The study-unit also emphasises the implications of distributed systems from a database perspective. Specifically, key topics such as transaction processing, query processing and consistency models are explored. The first part of the study-unit is focused on 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. Client software design. Server software design. Case studies of four basic types of servers. Multiprotocol and Multiservice services. Server connectivity to databases. Accessing remote databases using SQL. - Concept of automation remote server objects by the client; - COM/DCOM model; - Java-RMI - architecture and features, naming services. - XML and SOAP protocols. 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. 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 few 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 at a 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 various 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 (using partitioning and replication techniques); - 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 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: - M.T. Ozsu, P.V. Valduriez., Principles of Distributed Databases, 2020, Springer, ISBN 978-3-030-26252-5 - Fundamentals of Database Systems, Ramez Elmasri, Shamkant B. Navathe, 7th Edition, 2015, Pearson, ISBN-13: 978-0133970777 - D.E.Comer, D.L.Stevens Internetworking with TCP/IP: Client-Server Programming and Applications Prentice Hall 1996 ISBN 0-13-262148-7 - Harvey M. Deitel, Java Web Services: For Experienced Programmers, Prentice Hall, 2002, ISBN-0-13-046134-2. |
||||||||||||
RULES/CONDITIONS | Before TAKING THIS UNIT YOU MUST TAKE CIS1222 AND TAKE CIS1043 OR TAKE CIS1041 OR TAKE CIS1042 | ||||||||||||
ADDITIONAL NOTES | Knowledge required: Any procedural programming paradigm | ||||||||||||
STUDY-UNIT TYPE | Lecture and Practical | ||||||||||||
METHOD OF ASSESSMENT |
|
||||||||||||
LECTURER/S | Thomas Mercieca 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 description above applies to study-units available during the academic year 2024/5. It may be subject to change in subsequent years. |