Module Identifier SE31410  
Module Title SERVER-SIDE SOFTWARE DEVELOPMENT  
Academic Year 2007/2008  
Co-ordinator Mr Christopher W Loftus  
Semester Semester 1  
Other staff Mr Christopher W Loftus, Mr David J Smith  
Pre-Requisite CS21120, CS25610  
Mutually Exclusive CS37420  
Course delivery Lecture   24 Hours.  
  Practical   Un-assessed worksheets with solutions will be provided to assist students.  
Assessment
Assessment TypeAssessment Length/DetailsProportion
Semester Assessment One programming assignment with associated report (approx 60 hours of work)  100%
Supplementary Exam Supplementary examination will take the same form, under the terms of the Department's policy.  100%
Further details http://www.aber.ac.uk/compsci/ModuleInfo/SE31410  

Learning outcomes

On successful completion of this module students should be able to:
demonstrate specialized skills to achieve reuse of design expertise through the application of software design patterns and particularly in the context of designing distributed applications.

describe the generic architecture of multi-tier, distributed applications.

build a simple, multi-tier distributed application.

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

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

Aims

Brief description

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. 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 one major technology that can be used to develop such applications, namely Java EE. This module requires students to develop such systems, requiring a significant amount software development.

Content

1. Overview of the module: 1 Lecture

2. Distribution and issues: 1 Lecture

Discusses distribution challenges, and technologies and techniques for addressing them.

3. Overview of Java EE Platform: 2 Lectures

A quick tour of some of the more important technologies that comprise Java EE: Servlets, Java Server Pages (JSPs), JAX-WS (web services), Enterprise JavaBeans (EJBs), Java Persisitence, Java Messaging Service (JMS) etc.

4. Introduction to EJBs and Java Persistence API: 2 Lectures

An overview of the main concepts behind EJBs and JPA and their support for representing business logic components.

5. Presentation of example application: 1 Lecture

This is used as a running example throughout this module.

6. Servlets, web applications and sessions: 5 Lectures

Web-tier support using servlets. Managing client-specific session data.

7. JSP Overview: 1 Lecture

8. EJBs and JPA : 9 Lectures

Session EJBs. Object to relational mapping of JPA Entities to database tables. EJBs and transactions.

9. Designing multi-tier applications, the use of design patterns: 2 Lectures

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 Deciding on an appropriate design when developing a multi-tier application  
Information Technology The module is IT focused. Students will use computer tools to develop and run their applications.  
Subject Specific Skills Software design skills and programming skills  

Reading Lists

Books
** Recommended Text
Burke, Bill. (2006.) Enterprise JavaBeans 3.0 /Bill Burke and Richard Monson-Haefel. 059600978X
Hall, Marty (c2004-) Core servlets and JavaServer pages /Marty Hall, Larry Brown. 0130092290
** Supplementary Text
Hunt, John (2003.) Guide to J2EE :enterprise Java /John Hunt and Chris Loftus. 1852337044
Sriganesh, Rima Patel (July 2006) Mastering Enterprise JavaBeans 3. 0 0471785415
** Reference Text
Alur, Deepak. (c2003.) Core J2EE patterns :best practices and design strategies /Deepak Alur, John Crupi, Dan Malks. 0130648841

Notes

This module is at CQFW Level 6