Distributed Systems for Information Systems Management


Units: 12


With the emergence of the Internet as a computing platform, distributed applications are being widely deployed by organizations. Understanding the principles/theory and the technologies underlying distributed computing and systems design is increasingly important. Examples of technologies supporting such deployment include JEE architecture and Web services.

Learning Outcomes

  • Describe the non-functional characteristics of distributed applications and differentiate between different types of middleware systems.
  • Design, implement, and deploy distributed systems using the prevalent models of web applications, web services, remote objects, and asynchronous messaging.
  • Understand the function and interplay of network protocols from ARP to application protocols that enable distributed systems on the Internet.
  • Demonstrate the technical ability to code solutions with core networking protocols.
  • Program solutions to run on all ranges of devices, including mobile, desktop, and cloud-based servers.
  • Understand the Network File System (NFS), the Andrew File System (AFS), and the Hadoop Distributed File System (HDFS)
  • Understand the challenge of time in a distributed system, and implement a means of assessing a distributed system's state.
  • Understand transactions and implement a two phase commit protocol.
  • Describe the difference and similarities between symmetric key and asymmetric key cryptography.
  • Describe the reasoning behind each step of several cryptographic protocols including variations on Kerberos and SSL.
  • Demonstrate deploying containers to cloud infrastructure
  • Understand the problem of distributed consensus and design solutions

Prerequisites Description

Prerequisite: 95-712 Object-oriented programming