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	Sisteme distribuite în Internet	
2. Date despre disciplină

2.1 Denumirea disciplinei	Servicii web şi tehnologii middleware	
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/WSMT	
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/WSMT	

6. Competenţele specifice acumulate
Competenţe profesionale	•	Definirea noţiunilor, conceptelor, teoriilor şi modelelor de bază din domeniul serviciilor web şi a tehnologiilor middleware.
•	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 din diverse limbaje de programare şi a sistemelor de operare 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	•	Insuşirea conceptelor teoretice şi metodologice legate de servicii web şi tehnologii middleware
•	Dobândirea abilităţilor de implementare a serviciilor şi clienţilor acestora pe diverse platforme şi în diverse limbaje de programare.	
7.2 Obiectivele specifice

	•	Reprezentarea resurselor web
•	Tehnologii web - CGI. Fundamente AJAX
•	Middleware şi obiecte distribuite: RPC, MOM, DCE, CORBA
•	Distribuţii middleware în Python şi Java
•	Servicii web XM-LRPC, SOAP, REST	

8. Conţinuturi
8.1 Curs	Metode de predare	Observaţii	
Săpt. 1 
Paradigma SOA (Service Oriented Architecture)
Paradigma RPC (Remote Procedure Call)
Resurse Internet: specificări, reprezentări, transport, protocolul HTTP	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Sapt. 2-3 Standarde de reprezentare: (X)HTML, XML, JSON; definire, parsare, transformări	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 4 Fundamente AJAX şi exemple	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 5 Tehnologii web: CGI, cURL, Scripting Server Pages	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 6-7 Tehnologii middleware şi obiecte distribuite: MOM, RPC, DCE, CORBA	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 8 Distribuţii middleware în Python şi Java: RMI, RMI-IIOP, Java IDL, Pyro, Hessian, JMS.	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 9 Modele de servicii web; definiţii, clasificări, interoperabilitate, clienţi remarcabili.	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 10 Servicii web + clienti de tip XML-RPC: model, implementări în C#, Java, PHP, Python, clienti android	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 11 Servicii web + clienti de tip SOAP (+ WSDL, UDDI): model, implementări în C#, Java, PHP, Python, , clienti android	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 12 Servicii web + clienti de tip REST (RESTful): model, implementări în C#, Java, PHP, Python, clienti android	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
Săpt. 13 -14 Utilizarea serviciilor web şi a tehnologiilor middleware în aplicaţii	Expunere: descriere, explicaţii, exemple practice, demonstraţii, discuţii pe studii de caz.		
			
Bibliografie
1.	ALBOAIE L. BURAGA S. Servicii Web. Concepte de bază şi implementări. Polirom 2006.
2.	BALLINGER K. .NET Web Services: Architecture and Implementation. Addison W. 2003
3.	BOIAN F.M. Programare distribuită în Internet; metode şi aplicaţii. Ed. Albastră, grupul Microinformatica, Cluj, 1997
4.	BOIAN F.M., BOIAN R.F. Tehnologii fundamentale Java pentru aplicaţii Web. Ed. Albastră, grupul Microinformatica, Cluj, 2005
5.	BOIAN F. Servicii web; modele, platforme, aplicaţii. Ed. Albastra, grupul Microinformatica, 2011
6.	LAURIE B. LAURIE P. Apache - The Definitive Guide. O'Reilly, 1999.
7.	MCGOVERN J. et.al. Java Web Services Architecture. Kaufmann Pub. 2003
8.	MYERSON M. The Complete Book of Middleware. Auerbach Pub. 2002.
9.	Shin Sang The AJAX Basics; www.sun.com
10.	Richardson L. Ruby S.  RESTful Web Services O'Reilly, 2007	
8.2 Seminar / laborator	Metode de predare	Observaţii	
Programe ce implementează în 4 limbaje (C#, Java, PHP, Python) rezolvarea unei probleme de lucru cu fişiere.	Explicaţii, exemplificări, dialog, studii de caz		
Elaborarea unei recenzii / referat asupra unui articol de specialitate apărut într-o publicaţie de prestigiu	Explicaţii, exemplificări, dialog, studii de caz		
Miniproiect pentru o aplicaţie middleware
	Explicaţii, exemplificări, dialog, studii de caz		
Miniproiect pentru un serviciu web	Explicaţii, exemplificări, dialog, studii de caz		
			
Bibliografie
1.	BALLINGER K. .NET Web Services: Architecture and Implementation. Addison W. 2003
2.	BOIAN F.M., BOIAN R.F. Tehnologii fundamentale Java pentru aplicaţii Web. Ed. Albastră, grupul Microinformatica, Cluj, 2005
3.	BOIAN F. Servicii web; modele, platforme, aplicaţii. Ed. Albastra, grupul Microinformatica, 2011
4.	LAURIE B. LAURIE P. Apache - The Definitive Guide. O'Reilly, 1999.
5.	MCGOVERN J. et.al. Java Web Services Architecture. Kaufmann Pub. 2003
6.	MYERSON M. The Complete Book of Middleware. Auerbach Pub. 2002.
7.	Shin Sang The AJAX Basics; www.sun.com
8.	Richardson L. Ruby S.  RESTful Web Services O'Reilly, 2007
9.	WEI-MENG Lee Beginning Android 4 Application Development. John Wiley, 2012	

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 Programare distribuită - platforme Java, 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		20%	
10.5 Seminar/laborator	Programe în 4 limbaje		20%	
	Referat / recenzie		20%	
	Miniproiect middleware		20%	
	Miniproiect serviciu web		20%	
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