School of Computer Science

Module 06-24229 (2013)

Enterprise Systems

Level 4/M

Behzad Bordbar Semester 2 20 credits
Co-ordinator: Behzad Bordbar
Reviewer: Dan Ghica

The Module Description is a strict subset of this Syllabus Page.


Building on students' prior knowledge of imperative programming, the module introduces specific technologies and toolkits for building Enterprise systems. Through lectures and extensive practical work, the module prepares students, with good programming skills, to make an effective contribution to building large internet-based systems as professional software engineers.


The aims of this module are to:

  • introduce modern technologies for enterprise level database driven systems
  • develop skills for designing and implementing software using such technologies

Learning Outcomes

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

  • Employ technologies for implementing enterprise level database driven applications.
  • Demonstrate an understanding of the principles behind the above mentioned technologies including Object Relational Mapping and Aspect Oriented Programming and Dependency Injection.
  • Integrate these technologies with on a number of front end technologies such as web services, web applications or rich desktop applications.


Good proficiency with Object Oriented programming (ideally Java).


Teaching methods

Lectures, lab sessions

Contact Hours: 20 hours of lectures plus lab sessions. 2-5 hours of demonstrated lab session hours per week (20-50 hours total).


Sessional: continuous assessment (exercises) (70%), continuous assessment (mini project) (30%)

Supplementary (where allowed): By repeat only.

Detailed Syllabus

  1. Server-side application design (JDBC)
    • State handling, session tracking
    • Connection pools
    • transactions
  2. Hibernate
    • Object Relational Mapping
    • Use of Logs
    • equality and use of sessions
    • Hibernate Querying
    • transactions
    • mapping and Cascading persistence
  3. Spring
    • Dependency Injection
    • beans and their wiring
    • Aspect oriented Programming
    • transactions
    • introduction to Spring security
  4. Web services
    • Principals of Service oriented Architectures
    • Web services
    • Business Process Modelling Languages

Programmes containing this module