|| SE31410 |
|| SERVER-SIDE SOFTWARE DEVELOPMENT |
|| 2006/2007 |
|| Mr Christopher W Loftus |
|| Semester 1 |
|| Mr Christopher W Loftus |
|| CS21120, CS25610 |
|| CS37420 |
| Course delivery
|| Lecture || 22 Hours. |
|| Practical || Un-assessed worksheets with solutions will be provided to assist students. |
|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%|
|| http://www.aber.ac.uk/compsci/ModuleInfo/SE31410 |
Learning outcomesOn 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.
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.
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 J2EE Platform: 2 Lectures
A quick tour of some of the more important technologies that comprise J2EE: Servlets, Java Server Pages (JSPs), JAX-RPC (web services), Enterprise JavaBeans (EJBs), Java Messaging Service (JMS) etc.
4. Introduction to EJBs: 1 Lecture
An overview of the main concepts behind EJBs 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: 6 Lectures
Session and entity EJBs. Mapping entity EJBs to database tables. EJBs and transactions.
9. Designing multi-tier applications, the use of design patterns: 4 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.
|| Deciding on an appropriate design when developing a multi-tier application |
|| 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 |
** Recommended Text
Burke, Bill. (2006.) Enterprise JavaBeans 3.0 /Bill Burke and Richard Monson-Haefel.
Hall, Marty (c2004-) Core servlets and JavaServer pages /Marty Hall, Larry Brown.
** Supplementary Text
Hunt, John (2003.) Guide to J2EE :enterprise Java /John Hunt and Chris Loftus.
Sriganesh, Rima Patel (July 2006) Mastering Enterprise JavaBeans 3. 0
** Reference Text
Alur, Deepak. (c2003.) Core J2EE patterns :best practices and design strategies /Deepak Alur, John Crupi, Dan Malks.
This module is at CQFW Level 6