Babes-Bolyai University of Cluj-Napoca
Faculty of Mathematics and Computer Science
Study Cycle: Graduate
SUBJECT

Code	Subject	
MID0012	Distributed Programming - Java Platforms	

Section	Sem.	Hours: C+S+L	Category	Type	
Computer Science - in Romanian
Computer Science - in Hungarian, Miercurea Ciuc	5	2+0+1	speciality	optional	
Mathematics-Computer Science - in Romanian	5	2+0+1	speciality	optional	
Information engineering - in Romanian	5	2+0+2	speciality	optional	

Teaching Staff in Charge	Prof. BOIAN Florian Mircea, Ph.D., florin@cs.ubbcluj.ro
Lect. OLAH-GAL Robert, Ph.D., robert.olah-gal@cs.ubbcluj.ro	
Aims	Insuşirea de către studenţi a tehnologiilor fundamentale de implementare a a aplicaţiilor distribuite. Instrumentele prezentate în acest scop sunt, în totalitate, oferite de limbajul Java şi tehnologiile oferite de pachetele din distribuţiile j2sdk1.6.0 şi j2sdkee1.5. Sunt prezentate tehnologiile de prim nivel. Ele sunt utilizate în mod direct la elaborarea de aplicaţii distribuite de dimensiuni mici sau medii. De asemenea, ele sunt utilizate automat de către tehnologiile middleware high level.	
Content	Sapt. 1
1 Compendiu Java
	Principalele caracteristici
	Primele exemple
	Prezentare Java prin comparatii cu C si C++
	Tratarea exceptiilor
	Interfete Java
	Alte exemple de programe simple

Sapt. 2 - 3
2 Intrari / iesiri (locale); pachetul java.io, JDBC:ODBC, Mailer
	Acces prin stream si acces random
	Gestiunea structurii de fisiere: clasa File
	Citiri si scrieri
	Exemple de programe care executa operatii I/O
	Acces prin puntea JDBC:ODBC la diverse baze de date
	Expedierea de posta electronica; clasa Mailer

Sapt. 4
   3 Utilitare specifice. Metode de transmitere a parametrilor initiali ai programelor 
	Crearea aplicatiilor complexe; utilitarul ant
	Urmele executiei; utilitarul log4j
	Hardcodings vs. Configurare; transmiterea de proprietati
	Utilitarele NetBeans, Eclipse, IntelIJIDEA

Sapt. 5
4 Threaduri Java
	Procese externe lansate din Java
	Thread-uri Java
	Exemple de utilizare a threadurilor Java

Sapt. 6 - 7
5 Comunicatii Java folosind socket
	Prezentarea generala a pachetului java.net
	Gestiunea adreselor Internet: InetAddress
	Transmitera si receptionarea prin UDP
	Comunicare prin TCP
	Exemple de comunicatii TCP
	Accesul la resurse Internet prin URL
	CGI si comunicatii prin URLConnection

Sapt. 8 - 10
6 Tehnologia Java servlet
	Conceptul de servlet
	Containere de servlet
	Compilarea unui servlet
	Primele exemple de servleturi
	Servlet vis-a-vis cu CGI
	Facilitati specifice servlet
	Cateva exemple mai complexe

Sapt. 11 - 13
7 Java Server Pages (JSP)
	Introducere
	Text static HTML si comentarii
	Tagurile JSP
	Utilizarea beanurilor in pagini JSP

Sapt. 14
8 RMI: Apelul la distanta al obiectelor Java
	Scenariul dezvoltarii unei aplicatii RMI
	Un exemplu de utilizare RMI
	
Bibliography	1.	ATHANASIU I., Limbajul Java, Editura Computer Libris Agora, Cluj, 1998
2.	BOIAN F.M.. BOIAN R.F., Tehnologii fundamentale Java pentru aplicaţii Web, Editura Albastra, Cluj, 2004
3.	BOIAN F.M., FERDEAN C. M., BOIAN R.F. DRAGOS R.C. Programare concurenta pe platforme Unix, Windows, Editura Albastra - grupul Microinformatica, Cluj, 2002
4.	BOIAN F.M., Programare distribuita în Internet; metode si aplicatii, Editura Albastra, Cluj, 1998 
5.	DARWIN I. Java CookBook, O&#8217;Reilly, 2001
6.	GEARY D.M. Advanced Java Server Pages, O&#8217;Reilly, 2001
7.	HUNTER J. Java Servlet Programming O&#8217;Reilly, 1998
8.	KURNIAWAN B. Java for the Web with Servlet, JSP, and EJB: A Developer&#8217;s Guide to J2EE Solutions. Wrox press, 2003
9.	NEWARD T. Server Based Java Programming, O&#8217;Reilly, 2000
10.	*** http://java.sun.com/docs/guide/net/index.html
11.	*** http://java.sun.com/docs/guide/rmi/index.html
	
Assessment	Examen practic la finele semestrului. Nota este obţinută ca medie între:
- nota la lucrarea scrisă 30%;
- nota pe activitatea de laborator: calitatea programelor, documentaţii etc. 60%;
- teste scurte, bonus soluţii deosebite etc. 10%.

Cerintele cursului sunt postate la:
http://www.cs.ubbcluj.ro/~florin/PDPJ