User Tools

Site Tools


at-m42:lecture0

~~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

More Software


Home | Lectures | Next Lecture

at-m42/lecture0.txt · Last modified: 2011/01/14 12:45 by 127.0.0.1