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

SUBJECT

Code
Subject
MID0012 Distributed Programming - Java Platforms
Section
Semester
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
5
2+0+2
speciality
optional
Teaching Staff in Charge
Prof. BOIAN Florian Mircea, Ph.D.,  florincs.ubbcluj.ro
Lect. OLAH-GAL Robert, Ph.D.,  robert.olah-galcs.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
References
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
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
Links: Syllabus for all subjects
Romanian version for this subject
Rtf format for this subject