Module code: CO7098
Software engineering often involves large, distributed systems that are not under particular control by anyone. In this module we will discusses the issues involved in designing useful, stable and secure systems in this context, highlighting many of the currently prevailing technologies. You will study scalable techniques for developing web applications such as JavaServlets or .net, comparing their respective merits while getting hands-on experience in writing applications using these techniques.
One important aspect of web applications, that also occurs in enterprise application integration, is dealing with different data formats, and the de-facto standard these days is XML and its related technologies. We will explore XML Schema, XPATH and Style Sheets (XSL) as well as DOM and SAX as programming paradigms. We will also consider Service Oriented Architecture, by looking at Web Services and discussing why they are the next generation technology for distributed (web) applications.
- 20 hours of lectures
- 10 hours of seminars
- 20 hours of practicals
- 100 hours of guided independent study
- Exam, 2 hours (50%)
- Coursework (50%)