at-m42:lecture0
Table of Contents
~~SLIDESHOW~~
AT-M42 Client-Server Programming on the Java Platform
Aims
To examine the use of the Java platform for the development of client-server and enterprise computing applications.
Learning Outcomes
After completing this module you will be able to:
- describe the correct use of objects, classes, interfaces, exceptions, and collections.
- describe the major infrastructure features of an enterprise application, the java APIs that give access to these and the typical architectures used in enterprise application development.
- identify and describe common software design patterns used in the implementation of enterprise architectures
- design and implement an enterprise computing application with a web interface using the Grails framework.
Module Content: Lectures
- The keys to object-oriented programming on the Java platform: objects and methods, collection classes, closures, composition & inheritance, polymorphism, interfaces, threaded execution, exception handling, components and properties, unit testing.
- Enterprise infrastructure: TCP/IP and sockets; RMI; Web and HTTP; SQL and RDBMS. An introduction to the Java APIs to support these: sockets; RMI; Servlets and JSP; JDBC.
- Software design patterns and system architecture. The three-tier enterprise architecture: presentation tier and web presentation, business tier and enterprise integration tier. The web container and enterprise java bean container.
Module Content: Case Studies
The development of an Adventure game:
- Using collection classes.
- Using methods, simple IO and closures.
- Using objects.
- Using classes and unit testing.
Background for the project.
Module Content: Labs
First-hand experience of
- Basic building blocks: objects, numbers and expressions; strings and regular expressions.
- Collection classes: lists, maps and ranges.
- Methods and flow of control.
- Closures and files.
- Classes, inheritance and polymorphism.
- Unit testing.
Assessment – % completed lab work.
Module Content: Seminar
Lifting the lid on Grails.
- The architecture of Grails
- Domain classes, controllers and views
- Application services and plugins
- Web Services
Assessment – group mark
Module Content: Mini Project
- The software development process: test-driven development, agile methods, continuous integration.
- Case-study using the Grails framework.
Assessment – group work.
Assessment 100% CA
- Part 1: 20%: Assesses Learning Outcome 1.
- Completed lab exercises
- Part 2: 40% Assesses Learning Outcome 2 and 3.
- Seminar to discuss Modern approaches to enterprise application development. Group size 4-5 people.
- Part 3: 40%: Assesses Learning Outcome 4.
- An small group design project to analyse, design and prototype a multi-tier multi-user adventure game. Assessment (a group mark) based on a presentation of the prototypes and documentation. Group size 4-5 people.
All work will be completed within the two weeks of the module and submitted by 5.00 pm Friday, 8th May.
Reading
- Recommended Reading:
- K. Barclay and J. Savage, Groovy Programming, Morgan Kauffman, 2007. On Amazon.co.uk at http://bit.ly/qrUJY.
- G. Rocher and J. Brown, The Definitive Guide to Grails, 2nd. Ed., Apress, 2009. On Amazon.co.uk at http://bit.ly/OkJsl.
- Further Reading:
- Bruce Eckel, Thinking in Java (2nd Ed.), Prentice Hall, 2000. Available in full in Word ’97, PDF and HTML form on the net: http://www.MindView.net.
- M. Fowler, Patterns of Enterprise Application Architecture, Addison Wesley, 2003.
See also reading list.
Software
- Java Platform Standard Edition 1.5+: http://java.sun.com.
- Groovy Programming Language and SDK: http://groovy.codehaus.org/.
- Grails Web Framework: http://grails.org/.
More Software
- Apache Tomcat Web Server (for servlet examples)
- Apache Derby database (for database examples)
Home | Lectures | Next Lecture
at-m42/lecture0.txt · Last modified: 2011/01/14 12:45 by 127.0.0.1