Module Information

Module Identifier
SE31410
Module Title
SERVER-SIDE SOFTWARE DEVELOPMENT
Academic Year
2008/2009
Co-ordinator
Semester
Semester 1
Mutually Exclusive
CS37420
Pre-Requisite
CS21120, CS25610
Other Staff

Course Delivery

Delivery Type Delivery length / details
Lecture 24 Hours.
Practical Un-assessed worksheets with solutions will be provided to assist students.
 

Assessment

Assessment Type Assessment length / details Proportion
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%

Learning Outcomes

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

1. 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.

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

3. build a simple, multi-tier distributed application.

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

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

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: 2 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: 1 Lecture

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

Reading List

Recommended Text
Burke, Bill. (2006.) Enterprise JavaBeans 3.0 /Bill Burke and Richard Monson-Haefel. Primo search Hall, Marty (c2004-) Core servlets and JavaServer pages /Marty Hall, Larry Brown. J2EE 1.4 rather than Java EE 5, but will be fine for the module Primo search
Supplementary Text
Hunt, John (2003.) Guide to J2EE :enterprise Java /John Hunt and Chris Loftus. Also available on-line under SE31410 web site. This is quite out of date and J2EE 1.4 specific, but it has some useful material on RMI, servlets and JSP. Primo search Sriganesh, Rima Patel (July 2006) Mastering Enterprise JavaBeans 3. 0 In July 2006 was available as a free book from www.theserverside.com Primo search
Reference Text
Alur, Deepak. (c2003.) Core J2EE patterns :best practices and design strategies /Deepak Alur, John Crupi, Dan Malks. Primo search

Notes

This module is at CQFW Level 6