Module Identifier COM5920  
Academic Year 2006/2007  
Co-ordinator Mr Christopher W Loftus  
Semester Available all semesters  
Other staff Mr Christopher W Loftus  
Pre-Requisite Available only to students taking the Diploma/MSc in Internet and Distributed Systems (Advanced) scheme. COM5820.  
Course delivery Workload Breakdown   55 hours of contact time; lectures, practicals, workshops.  
  Workload Breakdown   145 hours of private study, practical work and assessment.  
Assessment TypeAssessment Length/DetailsProportion
Semester Assessment2 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%
Further details  

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 J2EE 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 J2EE 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

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  
Communication Not significant  
Improving own Learning and Performance The assessed coursework requires students to develop their understanding of issues associated with the module  
Team work Yes. A group-style project  
Information Technology Entire content of module  
Application of Number No  
Personal Development and Career planning No  
Subject Specific Skills See learning outcomes  

Reading Lists

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


This module is at CQFW Level 7