Full Title:Rich Internet Applications
Language of Instruction:English
Module Code:PROG C8019
Credits: 5
Valid From:Semester 1 - 2014/15 ( September 2014 )
Module Delivered in No Programmes
Module Description:The aim of this module is to provide students with a comprehensive understanding of the concepts, technologies and tools that will enable them to design, develop and evaluate rich-internet applications (RIA) and mash-ups in a collaborative context. Students will develop a deep understanding of current and future issues in Internet applications development and will acquire both a conceptual awareness of techniques and develop skills in AJAX, REST-based web services and XML. The module will also explore how rich internet applications have improved web application usability
Learning Outcomes:
On successful completion of this module the learner should be able to
  1. Critically evaluate the rich-internet application (RIA) model and understand its implications for web application usability.
  2. Discuss the protocols and formats that enable the exchange of information between web clients and servers in a RIA environment.
  3. Design, implement, test and evaluate rich-internet applications that utilize AJAX, REST-based web services, open web API’s and XML (including XPath, XSLT).
  4. Build mash-ups to aggregate information from multiple information sources (e.g. blog entries, image repositiries, calendar entries, and so on).
  5. Apply good software engineering practices to the RIA development process.
  6. Understand the security issues that can arise when developing Rich Internet Applications and be abe to protect applications against these issues

Module Content & Assessment

Indicative Content
Rich Internet Applications Overview (RIA):
­Paradigm changes in web development applications (Web 2.0 and 3.0), RIA characteristics and foundations, mash-ups and the programmable web, RIA technologies and tools, metadata and interoperability, syndication and collaborative applications.
Human-computer interaction and software engineering issues associated with RIA’s:
­Usability and responsiveness, ­AJAX design patterns and SOA (service-oriented architectures.
AJAX architecture.
Core AJAX and XML Technologies
­JavaScript, CSS, XMLHttpRequest, XML, XSLT, Schemas, XPath.
AJAX User Interface components
­Static, Form, Complex, Layout panels, Events
AJAX Server Integration techniques:
­Basic: AJAX asynchronous HTTP request, plain text and HTML, integrating with traditional server-side script technologies. ­Data formats: XML and JSON. ­Third party server integration: Same origin policy, JavaScript API’s, JSONP, HTTP Proxy. ­Advanced: stateless servers, REST and GWT-RPC.
Applications of AJAX and XML technologies
­Syndication and social/collaborative applications (RSS, Atom. ­Web services (REST & SOAP. ­Voice XML.
Open Web API’s and Case studies
­Google, Yahoo, Flickr, Digg etc.
RIA in the literature
Security issues associated with RIAs
Same-Origin Policy, Leaking Data, Cross-Site Scripting and Forging requests and preventitive techniques to address this issues.
Assessment Breakdown%
Course Work40.00%
End of Module Formal Examination60.00%

Full Time

Course Work
Assessment Type Assessment Description Outcome addressed % of total Marks Out Of Pass Marks Assessment Date Duration
Essay Students will be required to evaluate current RIA technology options and discuss the contribution that AJAX tools and technologies have made to web application usability. 1 10.00 0 0 Week 3 0
Project Students will be required to demonstrate the ability to design, implement, test and evaluate a client-server rich-internet application in a specific application context (e.g. desktop application with multiple data sources, RSS reader, blog application) using a current AJAX framework (e.g. Google Web Toolkit). 2,3,4,5,6 20.00 0 0 Week 8 0
Presentation Students will be required to make a presentation summarising the work completed in the portfolio. Detailed specifications and marking schemes will be periodically provided during the module. 1,2,3,4,5,6 10.00 0 0 Week 12 0
No Project
No Practical
End of Module Formal Examination
Assessment Type Assessment Description Outcome addressed % of total Marks Out Of Pass Marks Assessment Date Duration
Formal Exam End-of-Semester Final Examination 1,2,6 60.00 0 0 End-of-Semester 0
Reassessment Requirement
A repeat examination
Reassessment of this module will consist of a repeat examination. It is possible that there will also be a requirement to be reassessed in a coursework element.

DKIT reserves the right to alter the nature and timings of assessment


Module Workload & Resources

Workload: Full Time
Workload Type Workload Description Hours Frequency Average Weekly Learner Workload
Practical Lab/lecture 3.00 Every Week 3.00
Directed Reading No Description 2.00 Every Week 2.00
Independent Study No Description 4.00 Every Week 4.00
Total Weekly Learner Workload 9.00
Total Weekly Contact Hours 3.00
This course has no Part Time workload.
Recommended Book Resources
  • Bram Smeets, Uri Boness, and Ronald Bankras 2008, Beginning Google Web Toolkit, Apress [ISBN: 9781430210313]
  • Couloris G., et al. 2005, Distributed Systems, Concepts and Design, 4th edition Ed., Addison Wesley [ISBN: 0321263545]
  • Dewsbury, R. 2007, Google Web Toolkit Applications, 1st edition Ed., Prentice Hall PTR [ISBN: 0321501969]
Supplementary Book Resources
  • Adam Tacy, Robert Hanson, Jason Essington, and Anne Tökke 2013, GWT in Action, 2 Ed. [ISBN: 9781935182849]
  • Carey, P. 2006, New Perspectives on XML,, 2nd Edition, Comprehensive Ed., Course Technology [ISBN: 141886064-6]
  • van der Vlist, E. et al. 2006, Professional Web 2.0 Programming, Wrox [ISBN: 978-0470087886]
  • Yee, R. 2008, Pro Web 2.0 Mashups: Remixing Data and Web Services, Apress [ISBN: 59059858X]
  • Richardson, L., et al 2007, RESTFul Web Services, O’Reilly [ISBN: 059652926-0]
  • Johnson, D. 2006, RSS and Atom In Action: Web 2.0 Building Blocks, Manning Publishers [ISBN: 932394494]
  • 2007, Eclipse Web Tools Platform: Developing Java Web Applications, Addison-Wesley [ISBN: 0321396855]
Supplementary Article/Paper Resources
  • ACM Communications of the ACM
  • ACM ACM Computing Surveys
  • IEEE IEEE Internet Computing
Other Resources