Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licență

FISA DISCIPLINEI

Codul
Denumirea disciplinei
MID0012 Programare distribuită - platforme Java
Specializarea
Semestrul
Ore: C+S+L
Categoria
Statutul
Informatică - linia de studiu română
Informatică - linia de studiu maghiară, Miercurea Ciuc
5
2+0+1
specialitate
optionala
Matematică informatică - linia de studiu română
5
2+0+1
specialitate
optionala
Ingineria informatiei
5
2+0+2
specialitate
optionala
Titularii de disciplina
Prof. Dr. BOIAN Florian Mircea,  florincs.ubbcluj.ro
Lect. Dr. OLAH-GAL Robert,  robert.olah-galcs.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 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.
Continutul
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
Bibliografie
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’Reilly, 2001
6. GEARY D.M. Advanced Java Server Pages, O’Reilly, 2001
7. HUNTER J. Java Servlet Programming O’Reilly, 1998
8. KURNIAWAN B. Java for the Web with Servlet, JSP, and EJB: A Developer’s Guide to J2EE Solutions. Wrox press, 2003
9. NEWARD T. Server Based Java Programming, O’Reilly, 2000
10. *** http://java.sun.com/docs/guide/net/index.html
11. *** 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 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
Legaturi: Syllabus-urile tuturor disciplinelor
Versiunea in limba engleza a acestei discipline
Versiunea in format rtf a acestei discipline