Module Information

Module Identifier
Module Title
Academic Year
Available all semesters
Available only to students taking the Diploma/MSc in Internet and Distributed Systems (Advanced) scheme. COM5820.
Other Staff

Course Delivery



Assessment Type Assessment length / details Proportion
Semester Assessment 2 Hours   written exam  50%
Semester Assessment 1 programming assignment (60 hours)  50%
Supplementary Assessment Supplementary examination will take the same form, under the terms of the Department's policy.  100%

Learning Outcomes

On successful completion of this module students should be able to:

1. demonstrate the ability to reuse design expertise through the application of software design patterns in the context of designing distributed applications

2. build a substantial, multi-tier distributed application

3. critically explain the relative merits of alternative server-side technologies

4. demonstrate a critical appreciation of design issues encountered when developing multi-tier, distributed applications


This module forms a core part of the new Internet and Distributed Systems (Advanced) MSc. This module builds on COM5820 looking more in-depth at technological solutions and design issues associated with building multi-tier applications.

Brief description

This module examines development processes, techniques and technologies for constructing Internet-based, distributed software systems. The majority of modern applications are now distributed. Students will learn about the nature of such applications, and techniques and technologies for constructing them.


1. Introduction to module. Provides a road-map to the module, with a brief overview of main concepts and how they interrelate.

2. Distribution and issues. Discusses distribution challenges, and technologies and techniques for addressing them. Compares and contrasts the options, such as Java EE and .NET.

3. Construction technologies. In this section students will learn how to build multi-tier Internet/intranet applications. Organizations are increasingly making their systems accessible over the Internet, or internally across organizational intranets. Access is often from web browser clients and increasingly from other web applications (web service oriented architectures). Typically, these applications comprise a client tier, server-side web tier, business logic tier and enterprise information system tier. Students will learn how to use two major technologies that can be used to develop such applications, namely Java EE and .NET.

4. Designing multi-tier applications, the use of design patterns. Building multi-tier applications requires developers to know more than just technologies, they must also know and use design techniques suited to their development. Students will learn about reusable design patterns, and in particular those used for the development of distributed, multi-tier applications.

Module Skills

Skills Type Skills details
Application of Number No
Communication Not significant
Improving own Learning and Performance The assessed coursework requires students to develop their understanding of issues associated with the module
Information Technology Entire content of module
Personal Development and Career planning No
Problem solving The assignment addresses challenging issues concerned with developing Internet-based, multi-tier applications
Research skills On-line web exploration and synthesis and application of relevant materials is required both by the assignment and the examination
Subject Specific Skills See learning outcomes
Team work No

Reading List

Consult For Futher Information
Eric Gamma et al (1995) Design patterns: elements of reusable object-oriented software Addison-Wesley Primo search Floyd Marinescu (2002) EJB Design Patterns John Wiley & Sons Primo search John Crupi (2001) Core J2EE patterns Prentice Hall Primo search John Hunt (2002) A Guide to C# and Object-Orientation Springer-Verlag Primo search John Hunt, Chris Loftus. (March 2003) Guide to J2EE: Enterprise Java Springer-Verlag Primo search Ken Auer et al (2002) Extreme Programming Applied Addison Wesley Primo search Marc Fleury (2002) The Official JBoss Development and Administration Guide Sams Primo search Mark Grand (2002) Patterns in Java: a catalog of reusable design patterns illustrated with UML, Volume 1 John Wiley & Sons Primo search Martin Fowler (2000) Refactoring Addison-Wesley Primo search Scott Ambler (2002) Agile modeling Wiley Primo search


This module is at CQFW Level 7