Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Masterat
Domeniul: Informatica
Programul de studii: Programare bazată pe componente - în limba engleză
Limba de predare: Engleză

SYLLABUS

I. Date generale
Codul	Disciplina	
MID1006	Servicii Web şi tehnologii middleware	

Semestrul	Ore: C+S+L+P	Categoria	Statutul	
2	2+1+0+1	specialitate	obligatorie	

II. Cadre didactice cu norma de bază în Universitate
Numele şi	Titlul	Gradul	Catedra	Tipul activităţii	
prenumele	ştiinţific	didactic		C	S	L	
BOIAN Florian Mircea	Dr. 	Prof.	Informatică	*			

Cadre didactice asociate
Numele şi	Titlul	Instituţia	Tipul	Tipul activităţii	
prenumele	ştiinţific		postului	C	S	L	

III. Obiectivele disciplinei
Knowledge the theoretical concepts: middleware technologies, web services. In the web service field, three methodologies will be presented: XMLRPC, SOAP, and REST. In the same time, the students will use the main actual middleware platforms and languages: RMI, CORBA, PHP, Python, .NET (C#), Java. The course will be open new research directions in the topic	

IV. Conţinutul disciplinei
1.	Middleware concepts and technologies; Web servers HTTP protocol.
2.	Web resource representations.
3.	Web technologies.
4.	AJAX Fundamentals
5.	Middleware and distributed objects: RPC, DCE, CORBA.
6.	Java and Python specific middleware: RMI, RMI-IIOP, Java IDL, Pyro, Hessian, JMS.
7.	XML-RPC Web Services; implements in C#, Java, PHP, Python.
8.	SOAP (+WSDL, UDDI) Web Services; implements in C#, Java, PHP, Python.
9.	REST (RESTful) Web services; implements in C#, Java, PHP, Python.
10.	Specific applications	

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

VI. Tematica activităţilor didactice pe săptămâni
_  Lect. 1  Internet resources: specification, representation, transfer, the HTTP protocol
            [6, 5].
_  Lect. 2-3  Standard representations: (X)HTML, XML, JSON definitions, parsing, 
              transformations [3, 5,].
_  Lect. 4  AJAX basis and examples [9, 5].
_  Lect. 5  Web technologies: CGI, cURL, Scripting Server Pages [4, 5].
_  Lect. 6-7  Middleware technologies and distributed objects: RPC, DCE, CORBA 
              [3, 8]. 
_  Lect. 8-9  Java and Python specific middleware: RMI, RMI-IIOP, Java IDL, Pyro, Hessian, JMS [7, 4, 5]
_  Lect. 10  Web service models: definitions, famous clients, interoperability, 
              classification [2, 5, 7, 10]: 
_  Lect. 11  XML-RPC web service type: model, implementations in C#, Java, PHP, 
             Python [7, 1, 2].
_  Lect. 12  SOAP (+ WSDL & UDDI) web service type: model, implementations in 
              C#, Java, PHP, Python [7, 1, 2, 5].
_  Lect. 13  REST (RESTful) web service type: model, implementations in C#, Java, 
              PHP, Python [2, 5, 10].
_  Lect. 14  Use web services and middleware's in applications [7, 5].	

VII. Metode didactice folosite
Expositions: description, explanation, class lectures, dialog-based lectures, introductive lectures, current lectures, synthesis lectures. 
Conversations: debate, dialog, introductive conversations, conversations for knowledge consolidation, conversations to systematize and synthesize knowledge 
Use of problems: use of problem questions, problems and problem situations. 
Discovery: directed and independent rediscovery, creative discovery, inductive discovery, deductive discovery, experimental discovery. 
Other methods: case study; cooperation, brainstorming, individual study, exercise, homework study	

VIII. Evaluare
The activity ends with a written final exam. During the semester, the students will have to prepare during demester: 1)a simple IO program in four languages (C#, Java, PHP, Python), 2) a review of an article from a speciality magazine, and 3) two software miniprojects in the topic. Final grade consists from:

_  Final written exam: 20%
_  IO program in four languages 20%
_  Review 20%
_  Middleware application miniproject: 20% 
_  Web service miniproject: 20% 

Details for the course conditions and the student requests can be consult from:
http://www.cs.ubbcluj.ro/~florin/WSMT 	

IX. Bibliografie suplimentară

	Decan,						Directorul Departamentului de Informatică,
	Prof. dr. TAMBULEA Leon		Prof. Dr.  BOIAN Florian Mircea

	Data,						Titular curs,
	01.10.2011					Prof. Dr.  BOIAN Florian Mircea