fişa disciplinei
1. Date despre program
1.1 Instituţia de învăţământ superior	Universitatea Babeş-Bolyai Cluj-Napoca	
1.2 Facultatea	Matematică şi Informatică	
1.3 Departamentul	Informatică	
1.4 Domeniul de studii	Informatică	
1.5 Ciclul de studii	Master	
1.6 Programul de studiu / Calificarea	Baze de date	
2. Date despre disciplină

2.1 Denumirea disciplinei	Tehnologii şi platforme Java pentru aplicaţii distribuite	
2.2 Titularul activităţilor de curs	Prof. dr. Florian Mircea Boian	
2.3 Titularul activităţilor de seminar	Prof. dr. Florian Mircea Boian	
2.4 Anul de studiu	1	2.5 Semestrul	2	2.6. Tipul de evaluare	E	2.7 Regimul disciplinei	Obligatoriu	
3. Timpul total estimat (ore pe semestru al activităţilor didactice)

3.1 Număr de ore pe săptămână	4	Din care: 3.2 curs	2	3.3 seminar/laborator	2	
3.4 Total ore din planul de învăţământ	56	Din care: 3.5 curs	28	3.6 seminar/laborator	28	
Distribuţia fondului de timp:	ore	
Studiul după manual, suport de curs, bibliografie şi notiţe	40	
Documentare suplimentară în bibliotecă, pe platformele electronice de specialitate şi pe teren	30	
Pregătire seminarii/laboratoare, teme, referate, portofolii şi eseuri	40	
Tutoriat	20	
Examinări 	14	
Alte activităţi: ..................	-	
3.7 Total ore studiu individual	144	
3.8 Total ore pe semestru	200	
3.9 Numărul de credite	8	
4. Precondiţii (acolo unde este cazul)

4.1 de curriculum	•		
4.2 de competenţe	•		

5. Condiţii (acolo unde este cazul)
5.1 De desfăşurare a cursului	•	Cerintele specifice sunt postate la:
o	http://www.cs.ubbcluj.ro/~florin/TPJAD	
5.2  De desfăşurare a seminarului/laboratorului	•	Laboratoare cu acces la sisteme de operare Unix şi Windows, cu acces individual pe bază de user şi parolă
•	Cerintele specifice sunt postate la:
o	http://www.cs.ubbcluj.ro/~florin/TPJAD	

6. Competenţele specifice acumulate
Competenţe profesionale	•	Definirea noţiunilor, conceptelor, teoriilor şi modelelor de bază din domeniul platformelor şi a tehnologiilor avansate Java.
•	Analiza critică şi utilizarea principiilor, metodelor şi tehnicilor de lucru pentru evaluarea cantitativă şi calitativă a proceselor de pe fiecare platformă pe care operează parteneri de comunicaţie
•	Aplicarea conceptelor şi teoriilor fundamentale din domeniul modelelor de comunicaţie oferite de frameworkurile Java pentru elaborarea de proiecte profesionale
•	Abilitatea de a rezolva probleme de tip high level privind comunicarea între procese	
Competenţe transversale	•	Executarea sarcinilor solicitate conform cerintelor precizate si în termenele impuse, cu respectarea normelor de etica profesionala si de conduita morala
•	Informarea si documentarea permanenta în domeniul sau de activitate în limba româna şi în limba engleză
•	Preocuparea pentru perfecţionarea rezultatelor activităţii profesionale prin implicarea în activităţile desfăşurate	

7. Obiectivele disciplinei (reieşind din grila competenţelor acumulate)
7.1 Obiectivul general al disciplinei	•	Cunoaşterea conceptelor de bază şi a frameworkurilor Java actuale
•	Dobândirea abilităţilor de implementare a serviciilor şi clienţilor acestora pe diverse platforme Java pentru aplicaţii distribuite.	
7.2 Obiectivele specifice

	•	Persistenţa datelor în Java: JDBC, hibernate, EJB
•	Aspecte dinamice în execuţiile Java: încărcarea dinamică a claselor, reflexie, proxy, obiecte imutabile.
•	Comunicaţii la nivel de client între appleturi şi obiecte JavaScript
•	Conceptul de servlet; filtre, comunicaţii applet - servlet
•	JSP; beanuri JSP, custom tags, JSTL
•	Frameworkuri remarcabile: Struts, JSF, Spring, GWT	

8. Conţinuturi
8.1 Curs	Metode de predare	Observaţii	
Săpt. 1-2 Persistenţa folosind JDBC şi hibernate	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Sapt. 3 EJB (Enterprise Java Beans	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 4 Aspecte dinamice în execuţiile Java: proxy, obiecte imutabile, reflexie, încărcarea dinamică a claselor	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 5 Modelul J2EE; arhive jar, war, ear; utilitarul ant	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 5-6 Conceptul de servlet şi containere servlet; containerele Tomcat şi Jetty; aspecte speciale servlet: iniţializări, cookies, filtre, obiecte session, application	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 7 Comunicaţii servlet - applet; comunicaţii applet - JavaScript.	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 8 JSP (Java Server Pages); introducere, obiecte implicite; construcţii şi directive specifice.	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 9 Beanuri JSP, proiectarea tagurilor custom, biblioteca JSTL (Java Standard Tag Libraries)	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 10 Frameworkul Struts; exemple	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 11 Frameworkul JSF (Java Server Faces); exemple	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 12 Frameworkul Spring; exemple	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 13 Frameworkul GWT (Google Web Toolkit); exemple	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 14 Frameworkuri "grele" Java: RMI, CORBA, JINI+JavaSpaces; exemple	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
			
Bibliografie
1.	AYERS D. et.al. Professional Java Server Programming Wrox Press, 1999.
2.	BAUER C. KING G. Java Persistence with Hibernate. Manning, 2007
3.	BODOF S. et.al The j2ee Tutorial. Sun Microsystems, 2001.
4.	BOIAN F.M. Programare distribuita în Internet; metode si aplicatii. Ed. Albastra, grupul Microinformatica, Cluj, 1997
5.	BOIAN F.M. FERDEAN C.M., BOIAN R.F., DRAGOS R.C. Programare concurenta pe platforme Unix, Windows, Java. Ed. Albastra, grupul Microinformatica, Cluj, 2002
6.	BOIAN F.M., BOIAN R.F. Tehnologii fundamentale Java pentru aplicatii Web. Ed. Albastra, grupul Microinformatica, Cluj, 2005.
7.	FLENNER R. Jini and JavaSpaces Application Development. SAMS, 2001.
8.	GOODWILL J. HIGHTOWER R. Professional Jakarta Struts. Wiley, 2004.
9.	GUERMEUR D, UNRUH A. Google App Engine Java and GWT Application Development
10.	MACHACEK J. et.al. Pro Spring 2.5. Apress, 2008
11.	SIMMONS R. Hardcore Java. O' Reilly, 2004.
12.	ZAMBON G. Beginning JSP, JSF, and Tomcat Web Development. Apress, 2007	
8.2 Seminar / laborator	Metode de predare	Observaţii	
Servlet în containerele Tomcat şi Jetty: instalări, configurări; demonstrarea funcţionalităţii pe o aplicaţie servlet simplă.	Explicaţii, exemplificări, dialog, studii de caz		
JMS (Java Message Services) folosind ActiveMQ sau GlassFish sau JBoss: instalare şi configurare; demonstrarea funcţionalităţii pe o aplicaţie simplă.	Explicaţii, exemplificări, dialog, studii de caz		
Intocmirea şi prezentarea unui referat pe o temă dată (cu subiect Java)
	Explicaţii, exemplificări, dialog, studii de caz		
Proiect de aplicaţie distribuită, cu implementare majoritară folosind tehnologii şi frameworkuri Java. Proiectul este elaborat de un colectiv de 2 -3 studenţi	Explicaţii, exemplificări, dialog, studii de caz		
			
Bibliografie
1.	BAUER C. KING G. Java Persistence with Hibernate. Manning, 2007
2.	BOIAN F.M. Programare distribuita în Internet; metode si aplicatii. Ed. Albastra, grupul Microinformatica, Cluj, 1997
3.	BOIAN F.M., BOIAN R.F. Tehnologii fundamentale Java pentru aplicatii Web. Ed. Albastra, grupul Microinformatica, Cluj, 2005.
4.	GOODWILL J. HIGHTOWER R. Professional Jakarta Struts. Wiley, 2004.
5.	GUERMEUR D, UNRUH A. Google App Engine Java and GWT Application Development
6.	MACHACEK J. et.al. Pro Spring 2.5. Apress, 2008
7.	ZAMBON G. Beginning JSP, JSF, and Tomcat Web Development. Apress, 2007	

9. Coroborarea conţinuturilor disciplinei cu aşteptările reprezentanţilor comunităţii epistemice, asociaţiilor profesionale şi angajatori reprezentativi din domeniul aferent programului
•	Prin insusirea conceptelor teoretico-metodologice si abordarea aspectelor practice incluse in disciplina Tehnologii şi platforme Java pentru aplicaţii distribuite, studentii dobandesc un bagaj de cunostinte consistent, in concordanta cu competentele partiale cerute pentru ocupatiile posibile prevazute in Grila 1 – RNCIS
•	Cursul respectă IEEE and ACM Curriculla Recommendations for Computer Science studies. 
•	Cursul există în programa de studii a universităţilor şi facultăţilor de profil din România
•	Conţinutul cursului este foarte bine apreciat de către companiile de software care are ca şi angajaţi absolvenţi ai acestui curs	

10. Evaluare
Tip activitate	10.1 Criterii de evaluare	10.2 metode de evaluare	10.3 Pondere din nota finală	
10.4 Curs	Examen scris		25%	
10.5 Seminar/laborator	Servlet		10%	
	JMS		10%	
	Referat		25%	
	Proiect		30%	
10.6 Standard minim de performanţă	
•	Fiecare dintre cele 5 componente ale notei finale trebuie să fie trecută cu nota minimum 5	

Data completării		Semnătura titularului de curs		Semnătura titularului de seminar
21.09.2012			Prof. dr. Florian Mircea Boian	Prof. dr. Florian Mircea Boian

Data avizării în departament			Semnătura directorului de departament
...........................................			Prof. dr. Bazil Pârv