Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Masterat
Domeniul: Informatica
Programul de studii: Sisteme distribuite în Internet
Limba de predare: Română / Engleză

SYLLABUS

I. General data
Code	Subject	
MID1006	Web Services and Middleware Technology	

Semester	Hours: C+S+L	Category	Status	
2	2+1+0	speciality	compulsory	

II. Full status faculty members
Name and	Scientific	Didactic	Chair	Type of activity	
surname	Title	title		C	S	L	
BOIAN Florian Mircea	Ph.D.	Prof.	Computer Systems	*			

Associated faculty members
Name and	Scientific	Institution	Type of	Type of activity	
surname	Title		position	C	S	L	

III. Course objectives
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, Java. The course will be open new research directions in the topic.

IV. Course contents
1.	Middleware concepts and technologies; Web servers.
2.	AJAX Fundamentals
3.	Distributed objects on heterogeneous platforms: RPC, CORBA, RMI, DCE.
4.	Web services: UDDI, WSDL, SOAP, XMLRPC, REST.
5.	Interoperability between services
6.	Server part: web service design with .NET, Java, Python, PHP.
7.	Client part: browser client, standalone clients in .NET, Java, Python, PHP.
8.	Enterprise JavaBeans

V. Bibliography
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.	LAURIE B. LAURIE P. Apache - The Definitive Guide. O' Reilly, 1999.
6.	MCGOVERN J. et.al. Java Web Services Architecture. Kaufmann Pub. 2003
7.	MYERSON M. The Complete Book of Middleware. Auerbach Pub. 2002.
8.	SRIGANESH R. BROSE G. SILVERMAN M. Mastering Enterprise JavaBeans 3.0. Wiley, 2006
9.	Shin Sang AJAX Basics; www.sun.com
10.	* * * www.python.org Python Documentation
11.	Richardson L. Ruby S.  RESTful Web Services O’Reilly, 2007

VI. Thematic of didactic activities per weeks
•	Lecture 1 : AJAX Fundamentals [9].
•	Lecture 2: Web servers: Apache, IIS and specific containers installation and configuration [5] [4 cap. 7].
•	Lecture 3: RPC concept [3 cap 4]. Distributed Java objects  [4 cap 5]. CORBA [4 cap 6].
•	Lecture 4: XMLRPC based web service [4 cap 6].
•	Lecture 5: SOAP based web service main concepts: messaging middleware, distributed transactions, [7 cap 1] UDDI, WSDL [6 cap. 4-6].
•	Lecture 6: Web service and web server transports: CGI GET, CGI POST [5 cap 4]. XML, SOAP and RPC [6 cap 4, 7]
•	Lecture 7: REST based web service. Interoperability. [11], [2], [6 cap 9]
•	Lecture 8: web service design with .NET [2 cap 3,10-12]. .NET clients [2 cap 4].
•	Lecture 9: ], Java Web services design [6 cap 2, 8, 12]. Java web service clients [6 cap 4, 16 ] 
•	Lecture 10: PHP web service design; PHP clients [1].
•	Lecture 11: Web services and clients using Python [10].
•	Lecture 12: Enterprise Java Beans - concepts beans, transactions, security [8 cap 1-2]
•	Lecture 13: EJB 3.0: characteristics [8 cap 3]. EJB session beans [8 cap 4]. EJB message driven beans [8 cap 7]. 
•	Lecture 14: EJB 3.0 entity beans [8 cap 6]. Entity beans persistence [8 cap 9-11]. Web services with EJB 3.0 [8 cap 5, 13, 15, 16]

VII. Didactic methods used
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. Assessment
The activity ends with a written final exam. During the semester, the students will have to prepare a theoretical report and a software project in the topic. Optionally, the students can design an illustrative example for a course concept. 
Final grade consists from:
•	Final writtenexam:                                      30%
•	The quality of the project                           30%
•	Technical report :                                       25% 
•	A representativ example presentation:      15%

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

IX. Additional references
1.	ANGHEL T. PROGRAMAREA ÎN PHP. Ghid practic. Polirom, 2005.
2.	BOIAN F.M. Enterprise JavaBeans, în Advanced Educational Technology Conference Proceedings, ISBN 973-8084-60-1, Târgu Mures, 2001. Ed. Petru Maior 2001, pp 59-128
3.	BURAGA S. et al. Programare web in BASH si PERL. Polirom, 2002.
4.	UNAR A. Object Oriented Client - server environments.

Decan,								Sef de catedra,
Prof. dr TAMBULEA Leon					Prof. Dr. BOIAN Florian Mircea

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