|Delivery Type||Delivery length / details|
|Practical||8 un-assessed worksheets with solutions will be provided to assist learning|
|Assessment Type||Assessment length / details||Proportion|
|Semester Assessment||Assignment; programming project and associated written report||100%|
|Supplementary Exam||Resit failed examination and/or resubmission of failed/non-submitted coursework components or ones of equivalent value.||100%|
On successful completion of this module students should be able to:
demonstrate specialized skills to achieve the 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.
assess critically the appropriateness of using Representational State Transfer (REST) web services and World Wide Web Consortium WS-* web services when devising XML-based communication channels between distributed applications;
build a simple, multi-tier distributed application that employs the use of appropriate design patterns and XML-based communication technologies, and exhibits simple Rich Internet Application characteristics;
demonstrate a critical appreciation of design issues encountered when developing multi-tier, distributed applications.
demonstrate the use of a variety of agile techniques to the construction of 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, web tier, business logic tier and enterprise information system tier. Students will learn how to build a simple multi-tier application using agile techniques, Rich Internet Application technologies, and XML-based web services. Enterprise application design patterns will be examined and used.
General introduction to the module. Distributed application architectures: client and server (two-tier, three-tier n-tier), peer-to-peer. Distributed object systems: opportunities and limitations.
Building a simple web application using Ruby-on-Rails (6 lectures, 4 worksheets):
An introduction to Ruby. The Rails framework and its support for the MVC (Model 2) enterprise design pattern. Introduction of a running example used during the module. Use of Behaviour Driven Development.
XML-based web services (5 lectures, 2 worksheets):
W3C web service technologies (SOAP/WSDL protocols). Representational State Transfer (REST) web services. Design issues: Introduction to Service-Oriented Architecture. Application of XML-based web services to the running example.
An introduction to Rich Internet Applications (3 lectures, 1 worksheet):
Web 2.0 social networking (1 lecture, 1 worksheet): Use of REST to integrate with one or more well-known social networking sites. A discussion of such sites and their support for ROA.
Enterprise design patterns (2 lectures):
An examination of several further design patterns not discussed earlier in the module.
|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|
|Research skills||Students will be required to acquire further knowledge from journals and on-line sources|
Reading ListEssential Reading
Flanagan, David (Feb. 2008) The Ruby Programming Language O'Reilly Media, Incorporated Primo search Griffiths, David. (2008.) Head first Rails :a learner's companion to Ruby on Rails /David Griffiths. http://swbplus.bsz-bw.de/bsz286712091cov.htm O'Reilly Ruby, Sam (March 2009) Agile Web Development with Rails 3rd ed. Pragmatic Bookshelf, The [Imprint] Primo search Thomas, Dave (June 2008) Programming Ruby:The Pragmatic Programmers' Guide 3rd ed.,Revised O'Reilly Media, Incorporated Primo search Supplementary Text
Chelimsky, David The RSpec Book:Behaviour Driven Development with RSpec, Cucumber, and Friends Pragmatic Bookshelf, The [Imprint] Primo search Papazoglou, M. (2008.) Web services :principles and technology /Michael P. Papazoglou. Pearson Prentice Hall Primo search Richardson, Leonard (May 2007) Restful Web Services O'Reilly Media, Incorporated Primo search Reference Text
Chaffer, Jonathan (April 2009) Learning JQuery 1. 3 Packt Publishing, Limited Primo search Clark, Mike. (2008.) Advanced Rails recipes /by Mike Clark and the Rails Community. Pragmatic ; Primo search Fulton, Hal Edwin (c2007.) The Ruby way /Hal Fulton. http://www.loc.gov/catdir/toc/ecip0620/2006028547.html 2nd ed. Addison-Wesley Olsen, Russ (Dec. 2007) Design Patterns in Ruby Addison-Wesley [Imprint] Primo search
This module is at CQFW Level 6