Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Masterat
Domeniul: Informatica
Programul de studii: Optimizarea modelelor informatice - în limba maghiară
Limba de predare: Maghiară

SYLLABUS

I. Általános adatok
Kód	Tantárgy neve	
MID1012	Proiectarea cadrelor de aplicatie	

Félév	Órák: C+S+L+P	Kategória	Típus	
4	2+1+0+1	specialitate	opţională	

II. Foállásban az  Egyetem  oktatói
Név	Tudományos	Oktatói	Tanszék	Tevékenység	
	fokozat	státus		E	Sz	L	
LAZAR Ioan	Dr. 	Lect.	Limbaje şi Metode de Programare	*			

Társult oktatók
Név	Tudományos	Intézmény	Állás	Tevékenység 	
	fokozat		típusa	E	Sz	L	

III. Course objectives
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.	

IV. Course contents
Lightweight frameworks and design patterns 
Middle tier data access & ORM
Web User Interfaces
Web Services 
Designing a framework for AJAX applications 
Eclipse plug-in development 
Developing an Eclipse AJAX plugin-in	

V. Bibliography
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.	

VI. Thematic of didactic activities per weeks
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 &#8211; 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 &#8211; 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 &#8211; part II
	Integrating the AJAX plug-in with UML CASE tools
	Reference: [Gamma and Beck, 2003]
Week 9: Eclipse plug-in development &#8211; part III
	Applying other principles, and patterns
	Reference: [Gamma and Beck, 2003], [Gamma et al, 1995]
Week 10: Eclipse plug-in development &#8211; part IV
	Integrating with other AJAX frameworks
	Reference: [DWR, GWT, Wicket]
Week 11: Extending the AJAX plugin-in &#8211; part I
	Browser-Server Dialogue
	DOM population
	Reference: [Mahemoff, 2006]
Week 12: Extending the AJAX plugin-in &#8211; part II
	Performance optimization
	Widgets
	Reference: [Mahemoff, 2006]
Week 13: Extending the AJAX plugin-in &#8211; part III
	Page architecture
	Visual effects
	Reference: [Mahemoff, 2006]
Week 14: Extending the AJAX plugin-in &#8211; part IV
	Functionality
	Diagnosis, Testing
	Reference: [Mahemoff, 2006]	

VII. Didactic methods used
The course is based on the following methods: exposure, conversation, didactical proof, modelling, and the discussion of some case studies and programming examples. 
Each student must prepare a research paper on an established topic, and a software project.	

VIII. 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.	

IX. Additional references
1. Michael Mahemoff. Ajax Design Patterns. O’Reilly, 2006.
2. Rod Johnson et al. Spring 2.0 Reference Documentation. 2006. http://www.springframework.org/	

	Dean,							Chair head,

	Date,							Course responsible,
								Lect. LAZAR Ioan, Ph.D.