Difference between revisions of "Tutorial exercises"

From mi-linux
Jump to navigationJump to search
Line 4: Line 4:
  
 
* Describe the roles of the model, view, and controller in the MVC design pattern as applied to web application development. Illustrate your answer with examples of each component.
 
* Describe the roles of the model, view, and controller in the MVC design pattern as applied to web application development. Illustrate your answer with examples of each component.
 +
 +
  
 
* Describe what is meant by ‘URL rewriting’ and list the main advantages of its use. Explain why the use of controllers eases the process, and how it aids in creating RESTful applications.
 
* Describe what is meant by ‘URL rewriting’ and list the main advantages of its use. Explain why the use of controllers eases the process, and how it aids in creating RESTful applications.
  
* Describe the basic principles of the REST architecture (Fielding, 2000). Explain, with examples, how to implement a RESTful web application using Ruby on Rails.
+
 
 +
 
 +
* Describe the basic principles of the REST architecture (Fielding, 2000). Explain, with examples, how to implement a RESTful web application using Ruby on Rails.
  
 
==Tutorial: week 3 – Models & ORM==
 
==Tutorial: week 3 – Models & ORM==

Revision as of 09:07, 7 February 2008

XML and Web Services >> Tutorial exerices

Tutorial: Week 2 – MVC & Controllers

  • Describe the roles of the model, view, and controller in the MVC design pattern as applied to web application development. Illustrate your answer with examples of each component.


  • Describe what is meant by ‘URL rewriting’ and list the main advantages of its use. Explain why the use of controllers eases the process, and how it aids in creating RESTful applications.


  • Describe the basic principles of the REST architecture (Fielding, 2000). Explain, with examples, how to implement a RESTful web application using Ruby on Rails.

Tutorial: week 3 – Models & ORM

  • Describe the characteristics of object and relational models that give rise to the problem known as ‘impedance mismatch’. Suggest two solutions, and describe one in detail, with examples where appropriate.


  • Describe the ActiveRecord design pattern and explain how it is implemented in Ruby on Rails.


  • Discuss the advantages and disadvantages of Rails migrations as an approach to model maintenance. What techniques does it provide to deal with different database cardinalities?

Tutorial: Week 4 – Views & Templates

  • List and explain the benefits of the View component of the MVC paradigm. Discuss why templates are commonly used as a central part of the view component.
  • Describe the function of a Template Markup Language in a template system. List the main requirements, with examples, of suitable candidates for such a language. What are the main factors that decide whether the language should be programming language based, or independent?
  • Ruby on Rails provides helper methods to reduce the dependency on code embedded in templates. Explain the reasons for this provision, giving examples of helpers and how they might be used.

Tutorial: Week 5 – testing

  • Define the terms testing, error and test case – explain how these definitions relate to web applications and the differences between testing traditional software applications and web applications.
  • Describe the Ramler (2002) test cube and how it can be applied to web application testing.
  • Describe the specifics of web application testing, explain which elements could be automated and suggest possible tools that could be used for the process.

Tutorial: Week 6/7 – Comparisons

  • Web frameworks are a relatively new approach to agile web application development. Discuss the concepts involved in creating a framework, illustrating your answer with examples of a real framework.
  • Compare and contrast two web frameworks that you are familiar with. Give examples of components that are utilised to illustrate your answer.
  • Discuss the design patterns that are used as the basis of web frameworks, highlighting any compromises or issues encountered in the implementation.