comp
holder  


 
Programme  Information

 
.


DT249
BSc in Information Systems
and Information Technology

 

Now accepting applications for January 2009

SDEV4001 (Stage 4)
Distributed Systems (10 ECTS)

 

 

Prerequisite Modules


Description

Distributed systems are multi-process systems whose components are located in diverse, heterogeneous, geographically separated environments. They suffer from numerous problems that non-distributed systems are not susceptible to, thus making the study of distributed systems intellectually and technically challenging. Middleware is a software layer that exists for the purposes of hiding to some degree the implementation details of the underlying network from the developer of application software in distributed and networked environments. In keeping with the famous End-to-End argument, it is neither necessary nor desirable to hide every detail, thus requiring the application developer to modify somewhat their development approach when building systems in a distributed environment. This module analyses a number of middleware environments and technologies, judging their strengths and weaknesses in order to facilitate selection of an appropriate platform for a given distributed application. The underlying theory of distributed systems forms a foundation upon which the various technologies will be evaluated.


Aims

  1. To teach students the advanced aspects of distributed systems.

  2. To demonstrate how the Object Oriented approach is scaled for distributed applications.

  3. To get students to develop applications using a variety of middleware technologies such as CORBA, J2EE Technologies and others.

  4. To teach students how to evaluate competing middleware technologies, and select an appropriate technology for a given application.
     


Learning Outcomes

On successful completion of this module, the student will be able to:

  1. Discuss authoritatively the fundamental characteristics of distributed systems.

  2. Develop reasonably sophisticated distributed applications using one or more middleware technology.

  3. Evaluate middleware technologies and select an appropriate technology for a given application, providing analyses and justifications.

  4. Demonstrate an understanding of how the fundamentals of distributed systems that are managed by middleware technologies.

  5. Compare and contrast the requirements for distributed system development with development in a localised environment.

  6. Demonstrate the suitability of the Object Oriented approach for distributed system development.


Learning and Teaching Methods

Lectures, self-study, labs, tutorials, and any combination of discussion, case study, problem-solving exercises, readings, seminars, and computer-based learning.


Content

Distributed System Fundamentals: Concurrency, failure models, replication, backup, fragmentation, naming and directory services.

Advanced Distributed Systems Issues: Processes and scheduling, time, distributed file systems, distributed memory. Concurrency: Synchronization, transaction management.

Middleware: Purpose of middleware, middleware platforms, differences and similarities between middleware platforms, strengths and weaknesses of middleware platforms.

Component Models: Interface Definition Language, language independence and IDL compilers, client-server stubs, remote method invocation, directory services, locating and registering components. Component servers.

Component Services: Naming services, event services, database services, transaction services, security services, visual components and presentation services.

Common Object Request Broker Architecture (CORBA): Object management architecture, CORBA IDL, CORBA language bindings, the interface and implementation repositories, the basic and portable object adaptors, the common object services, the common object services.

J2EE: Java Remote Method Invocation, Java IDL, the RMI registry, Java interface definitions, Java DataBase Connectivity, Swing components, Enterprise JavaBeans, the Java Transaction Service.


Assessment

The methods of assessment to be used to measure the learning objectives stated above are written examination and continuous assessment including one or more of assignment, essay, problem-solving exercise, oral presentation, and class or lab tests.

  • Continuous Assessment: 30%
  • Examination: 70%

Recommended Reading

  • George Coulouris, Jean Dollimore and Tim Kindberg (2004), Distributed Systems: Concepts and Designs (4th Edition), Prentice Hall
  • Rickard Oberg (2001), Mastering RMI: Developing Enterprise Applications in Java and EJB, John Wiley & Sons Inc
    Supplemental Reading
  • Chris Britton (2004), IT Architectures and Middleware: Strategies for Building Large, Integrated Systems, Addison Wesley
  • Nick Kassem, Stephanie Bodoff, Inderjeet Singh (Editor), Mark Johnson (Editor) (2002), Designing Enterprise Applications with the J2EE, Addison Wesley
  • EJB Resource http://www.theserverside.com/  
  For more information contact
Ciarán O'Leary

 

Hit Counter