MID1012 | Framework Design |
Teaching Staff in Charge |
Lect. LAZAR Ioan, Ph.D., ilazarcs.ubbcluj.ro |
Aims |
To introduce the student in advanced design techniques used to develop application frameworks.
To present some existing lightweight frameworks as a novel approach for building enterprise applications. To offer the student the opportunity to participate at designing a new framework during didactical activities. To offer the student the instruments that will allow him/her to develop other small lightweight framework for different classes of applications. |
Content |
Week 1: Lightweight frameworks and design patterns
Inversion of Control, Resources Aspect Oriented Programming Reference: [Johnson, 2006] Week 2: Middle tier data access & ORM Transaction management Data access object Object relational mappings Reference: [Fowler, 2002], [Johnson, 2006] Week 3: Web UI - part I Web MVC pattern Integrating view technologies Reference: [Johnson, 2006] Week 4: Web UI - part II Integrating with other view technologies Integrating with AJAX technologies Reference: [Johnson, 2006], [Mahemoff, 2006] Week 5: Web Services Exposing services using RMI Exposing services using HTTP Reference: [Johnson, 2006] Week 6: Designing a framework for AJAX applications Modeling Web UI – an MDA approach UML Model Transformations Web Remoting: Web Service, XMLHttpRequest, HTTP Streaming, On demand JavaScript Reference: [Fowler, 2003], [Mahemoff, 2006] Week 7: Eclipse plug-in development – part I Initiating the development of an AJAX Plug-in development Integrating the AJAX plug-in with Spring Reference: [Gamma and Beck, 2003] Week 8: Eclipse plug-in development – part II Integrating the AJAX plug-in with UML CASE tools Reference: [Gamma and Beck, 2003] Week 9: Eclipse plug-in development – part III Applying other principles, and patterns Reference: [Gamma and Beck, 2003], [Gamma et al, 1995] Week 10: Eclipse plug-in development – part IV Integrating with other AJAX frameworks Reference: [DWR, GWT, Wicket] Week 11: Extending the AJAX plugin-in – part I Browser-Server Dialogue DOM population Reference: [Mahemoff, 2006] Week 12: Extending the AJAX plugin-in – part II Performance optimization Widgets Reference: [Mahemoff, 2006] Week 13: Extending the AJAX plugin-in – part III Page architecture Visual effects Reference: [Mahemoff, 2006] Week 14: Extending the AJAX plugin-in – part IV Functionality Diagnosis, Testing Reference: [Mahemoff, 2006] |
References |
1. Erich Gamma et al. Design Patterns: Elements of Reusable Object Oriented Software. Addison Wesley, 1995.
2. Erich Gamma and Kent Beck. Contributing to Eclipse: Principles, Patterns, and Plug-Ins. Addison Wesley, 2003. 3. Martin Fowler. Patterns of Enterprise Application Architecture. Addison Wesley, 2002. 4. Martin Fowler. UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition. Addison Wesley, 2003. 5. Michael Mahemoff. Ajax Design Patterns. O@Reilly, 2006. 6. Rod Johnson et al. Spring 2.0 Reference Documentation. 2006. http://www.springframework.org/ 7. Stephen J. Mellor, Kendall Scott, Axel Uhl, and Dirk Weise. MDA Distilled: Principles of Model-Driven Architecture. Addison Wesley, 2004. |
Assessment |
The activity ends with a written final exam (grade E). During the semester, the students will have to prepare a theoretical report (grade R) and a software project that will have to illustrate the use of behavioral models for business logic and user interfaces (grade P). The final grade is the weighted mean of the grades mentioned above. The final grade = 40%E + 20%R + 40%P.
Successful passing of the exam is conditioned by the final grade that has to be at least 5. Passing of the exam is also conditioned by grade E to be at least 5. |
Links: | Syllabus for all subjects Romanian version for this subject Rtf format for this subject |