Disciplina: Programare distribuită - platforme Java	Cod: MI028	

Semestrul	Ore: C+S+L	Tipul	Specializarea	
6	2+0+1	optionala	Informatica	
6	2+0+1	optionala	Matematică-Informatică	

Cadre didactice indrumatoare	Prof. Dr. BOIAN Florian Mircea, florin@cs.ubbcluj.ro
Asist. STERCA Adrian Ioan, forest@cs.ubbcluj.ro
Asist. COBARZAN Claudiu, claudiu@cs.ubbcluj.ro	
Obiective	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 oferite de distribuţiile j2sdk1.4.0 şi j2sdkee1.4. 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	
Continut	1 Compendiu Java
      1.1 Principalele caracteristici
      1.2 Primele exemple
      1.3 Prezentare Java prin comparatii cu C si C++
      1.4 Tratarea exceptiilor
      1.5 Interfete Java
      1.6 Alte exemple de programe simple
2 Intrari / iesiri (locale); pachetul java.io, JDBC:ODBC, Mailer
      2.1 Acces prin stream si acces random
      2.2 Gestiunea structurii de fisiere: clasa File
      2.3 Citiri si scrieri
      2.4 Exemple de programe care executa operatii I/O
      2.5 Acces prin puntea JDBC:ODBC la diverse baze de date
      2.6 Expedierea de posta electronica; clasa Mailer
3 Threaduri Java
      3.1 Procese externe lansate din Java
      3.2 Thread-uri Java
      3.3 Exemple de utilizare a threadurilor Java
4 Comunicatii Java folosind socket
      4.1 Prezentarea generala a pachetului java.net
      4.2 Gestiunea adreselor Internet: InetAddress
      4.3 Transmitera si receptionarea prin UDP
      4.4 Comunicare prin TCP
      4.5 Exemple de comunicatii TCP
      4.6 Accesul la resurse Internet prin URL
      4.7 CGI si comunicatii prin URLConnection
5 RMI: Apelul la distanta al obiectelor Java
      5.1 Scenariul dezvoltarii unei aplicatii RMI expus pe un exemplu
      5.2 Precizari privind "interiorul" RMI
      5.3 RMI cu activare
      5.4 O aplicatie "Note" elaborata folosind RMI
6 Tehnologia Java servlet
      6.1 Conceptul de servlet
      6.2 Containere de servlet
      6.3 Compilarea unui servlet
      6.4 Primele exemple de servleturi
      6.5 Servlet vis-a-vis cu CGI
      6.6 Facilitati specifice servlet
      6.7 Cateva exemple mai complexe
7 Java Server Pages (JSP)
      7.1 Introducere
      7.2 Text static HTML si comentarii
      7.3 Tagurile JSP
      7.4 Utilizarea beanurilor in pagini JSP	
Bibliografie selectiva	1. ATHANASIU I., Limbajul Java, Editura Computer Libris Agora, Cluj, 1998
2. BOIAN F.M., FERDEAN C. M., BOIAN R.F. DRAGOS R.C. Programare concurenta pe platforme Unix, Windows, Editura Albastra - grupul Microinformatica, Cluj, 2002
3. BOIAN F.M., Programare distribuita în Internet; metode si aplicatii, Editura Albastra, Cluj, 1998 
4. DARWIN I. Java CookBook, O' Reilly, 2001
5. GEARY D.M. Advanced Java Server Pages, O'Reilly, 2001
6. HUNTER J. Java Servlet Programming O'Reilly, 1998
7. KURNIAWAN B. Java for the Web with Servlet, JSP, and EJB: A Developer's Guide to J2EE Solutions. Wrox press, 2003
8. NEWARD T. Server Based Java Programming, O'Reilly, 2000
9. *** http://java.sun.com/docs/guide/net/index.html
10. *** http://java.sun.com/docs/guide/rmi/index.html	
Evaluare	Examen practic la finele semestrului. Nota este obţinută ca medie între:
- nota la lucrarea practică 65%;
- nota pe activitatea de laborator: calitatea programelor, documentaţii etc. 35%.