University of Surrey - Guildford

Registry > Module Catalogue
View Module List by A.O.U. and Level  Alphabetical Module Code List  Alphabetical Module Title List  Alphabetical Old Short Name List  View Menu 
2010/1 Module Catalogue
Module Provider: Computing Short Name: COMM030
Level: M Module Co-ordinator: VRUSIAS BL Dr (Computing)
Number of credits: 15 Number of ECTS credits: 7.5
Module Availability
Autumn Semester
Assessment Pattern
Unit(s) of Assessment
Weighting Towards Module Mark( %)
Coursework I:

Developing a web application based purely on client-side technologies

Test I:

Open book test, based on client-side development technologies only (a compiler will be available, but not Internet access)

Coursework II:

Developing a web application based on both client and server technologies, including the spring framework that needs to be utilised

Test II:

Open book test, based on the entire module (a compiler will be available, but not Internet access)

Qualifying Condition(s) 

A weighted aggregate mark of 50% is required to pass the module.

Module Overview

The computer industry, and specifically enterprises, requires distributed and interoperable information systems in order to function and remain competitive. Such distributed systems evolve continuously due to cheaper availability of hardware and high-speed communications. This evolution has drawn new lines in systems architecture design development and allows big corporations to build robust, modular, and reusable components. This module tries to demonstrate the latest and most popular technologies used for building enterprise applications. Example topics of study include n-tier architectures, integration approaches, build and test environments, persistence approaches, and performance issues. Although the module covers theoretically most popular technologies, it focuses on Java and J2EE implementation principles.


Familiarity with basic programming principles, object oriented programming and HTML syntax are useful.

Module Aims

The main aim of this module is to help the student develop the necessary skills and familiarity to use the latest techniques together with state-of-the-art technologies in order to develop Web applications for an enterprise environment.

Learning Outcomes

By the end of the module the students should be able to:

  1. understand the concept of clients and servers and databases, and examine technologies used to support distributed applications.
  2. understand the architectural and programming paradigms used in enterprise distributed system development
  3. categorise and evaluate these tools according to different criteria such as applicability and ease of use, and intelligently participate in the selection of appropriate tools and architectures, or combination, to solve enterprise-related problems;
  4. use the presented technologies in practice to develop enterprise distributed applications.
Module Content

Introduction to enterprise distributed systems:

  • The concept of enterprises
  • Architecture and programming paradigms for distributed system development.
  • The notion of n-tier architectures: clients, servers and middleware.

Client-side Web programming:

  • Client-side scripting languages: JavaScript.
  • Rich client experience: Ajax

Programming Web Servers:

  • Principles of servlets and JavaServer Pages.
  • Developing applications for accessing relational databases.

Web Application Frameworks

  • Principles of frameworks.
  • Popular frameworks: Spring, Struts 2 and JSF
  • Persistence principles with Hibernate
Enterprise Systems:
  • Building and maintaining enterprise systems
Methods of Teaching/Learning

The module will consist of approximately 15 hours of lectures and 15 hours of lab sessions.

Selected Texts/Journals

No specific book is required for this module. There are many Web-based resources available, linked from the module Web page.

Recommended books are:
  • Kayal D., Pro Java EE Spring Patterns: Best Practices and Design Strategies Implementing Java EE with the Spring Framework, Apress, 2008, ISBN: 1430210095
  • Vukotic J., Chakraborty A., Ditt A. & Machacek A., Pro Spring 2.5, Apress, 2008, ISBN: 1590599217
  • Ahmad Reza Seddighi, Pro Spring Persistence with Hibernate, Apress, 2008, ISBN: 1430216484
  • Jendrock, E., Ball, J., Carson, D., Evans, I., Fordin, S., and Haase, K., The Java EE 5 Tutorial, 3rd Ed.,   Prentice Hall, 2006, ISBN: 0321490290
  • Walls C. & Breidenbach R., Spring in Action, 2nd Ed., Manning Publications, 2007, ISBN: 1933988134
Ince, D., Developing Distributed and E-commerce Applications, 2nd Ed., Addison-Wesley, 2003, ISBN: 0-321-15422-3.
Last Updated
16 September 2009