ELEC5619 Object Oriented Application Frameworks
Rafael A. CalvoAims & Outcomes
This unit aims to introduce students to the main issues involved in producing large Internet systems by using and building application frameworks. Frameworks allow great reuse so developers do not have to design and implement applications from scratch, as students have done in EBUS3004 and EBUS4001. The unit lays down the basic concepts and hands on experience on the design and development of enterprise systems, emphasizing the development of systems using design patterns and application frameworks.A project-based approach will introduce the problems often found when building such systems, and will require students to take control of their learning. A project-based approach will introduce the problems often found when building such systems, and will require students to take control of their learning. Several development Java frameworks will be used, including Spring, Hibernate, and others. Principles of design patterns will also be studied.
At the end of the unit you would have built an application for a framework with over 1M lines of code.
| Session | Chapter | Title | Activity | ||
| 1 | 1 | Introduction: About this course Design Patterns |
|||
| 1 | 2 | Application Frameworks | Setup | ||
| 2-3 | 3 | Spring | Ant, Junit, MVC | ||
| 4-5 | 4 Appendix |
Hibernate Maven |
Port MVC app to Hibernate | ||
| 6 | 5 | Architecture Evaluations | Project Design Quiz (10%) |
||
| 7 | NA | Sakai Introduction:
|
Project | ||
| 8 | 6 | Sakai persistance and security
Sakai contexts, tools |
Project |
||
| 9 | 7 | Service Oriented Architectures and Testing (invited Speaker: Jim Webber - tbc) |
Project |
||
| vacation | |||||
| 10 | 8 | Tibco Frameworks. Dr. Karsten Kumpf |
Project Prototype (10%) |
||
| 11 | 8 | WebML | Project | ||
| 12 | 9 | An eLearning software development process | Project Final applications (10%) |
||
| 13 | 10 | The Semantic Web Course Closure |
Project presentations (10%) and Journals (10%) |
||
| Appendix 1: A Bibliography management system | |||||
| Appendix 2: your own eLearning Project | |||||
|
|||||
| Open Book Exam |
Resources:
- Programmers Cafe: A Sakai community effort to develop training materials is on its way.
- Sakai Developers Discussion Forums.
- Tool Development Exercise. a guided learning experience led by Mark Norton
- Sakai Documentation: Rich (Doxygen) documentation, Sakai architecture documents, Sakai Confluence, Sakai Models (slides by Mark Norton)
- Sakai Community
- Introduction (Chapter 1) of Design Patterns: Elements of Reusble Object-Oriented Software. Gamma, Helm, Johnson and Vlissides
- Crossing Chasms: A pattern Language for Object-RDBMS Integration. K. Brown and B. Whitenack in Pattern Languages of Program Design by Vlissides. 1996.
- Ralph E. Johnson. "Frameworks = (components + patterns)". Communications of the ACM. 40 (10). pp 39-42. DOI
- Mohamed Fayad and Douglas C. Schmidt. "Object-oriented application frameworks". Communications of the ACM. 40 (10). pp 32-38. DOI
- Rod Johnson. "J2EE Development Frameworks". IEEE Computer. January 2005. pp 107-110.
- Mohamed Fayad, Douglas C. Schmidt., Ralph Johnson. Building Application Frameworks. John Wiley & Sons 1999. (Chapters 1 ad 2)
- M. Matera and A. Maurino and S. Ceri and P. Fraternali. "Model-driven design of collaborative web applications". Softw. Pract. Exper. 33 (8). pp 701-732. DOI
- Maven: a developer's notebook. Vincent Massol, Timothy M. O'Brien. O'Reilly 2005 - chapter 1




