Lab

Laborator/Proiect

Aunturi

Situatia activitatii pe parcurs e disponibila aici

24.05.2018 - Important pentru studentii din anii terminali. Astazi a fost discutat capitolul de "Elemente de Comunicare Securizata" conform noului syllabus. Prin urmare, orice examen ce are loc de acum incolo include si aceast topic.

10.05.2018 - Important pentru studentii din anii terminali. Astazi a fost discutat capitolul de "Comunicare Indirecta" conform noului syllabus. Prin urmare, orice examen ce are loc de acum incolo include si aceast topic.

26.04.2018 - Predarea proiectului pentru studentii din anul 2 va fi pe 8 Mai, ora 8-10, B514

19.02.2018 - Studentii care recontracteaza activitatea pe parcurs isi vor alege o semigrupa cu care sa vina la orele de laborator/proiect. In caz de supraincarcare a unei semigrupe vom face redistribuiri.

Regulamente

Conform regulamentului UPT, se permite absentarea la cel mult două (2) sedinte de laborator/proiect. Trei (3) sau mai multe absente conduc la neincheierea activitatii pe parcurs. Cele maxim 2 sedinte lipsa vor fi recuperate dupa cum vom stabilii catre sfarsitul semestrului.

La laborator vor fi 3-4 lucrari, fiecare trebuind predata si notata cu minim 5 pentru a se promova activitatea pe parcurs. La proiect vom avea o aplicatie mai ampla care trebuie predata si notata cu minim 5 pentru a se promova activitatea pe parcurs. Nota activitatii pe parcurs va fi media tuturor notelor obtinute.

Programele de laborator vor fi realizat in saptamanile i / i+1 fara penalizari urmand ca ulterior sa se aplice o limitare superioara a notei cu o penalizare de 0.5 puncte pe saptamana calendaristica (excluzand vacantele). Termenul limita este saptamana 11/12 si maxim doua lucrari intarzaiate.

Lucrare 5 (Fara nota, dar intra pentru examen), Proiect - Distribuirea proiectelor (Saptamana 9/10)

Se va realiza o aplicatie distribuita cu o functionalitate similara cu aplicatia de la lucrarea 2. Insa, spre deosebire de acea aplicatie, clientul va trimite cereri serverului printr-o coada de mesaje JMS (pentru aceasta coada, serverul e consumator iar clientii vor fi producatori). Mesajul clientului va contine operatia de realizat si operanzii sai. Mesajul va specifica si o coada de mesaje temporara (specifica fiecarui client) in care serverul va scrie mesajul cu rezultatul operatiei (pentru aceasta coada, serverul va fi producator iar clientul va fi consumator).

Aici gasiti pregatit un proiect Eclipse gata configurat pentru implementarea aplicatiei, continand inclusiv providerul de JMS necesar.

Lucrare 4 (Saptamana 7/8)

Se va realiza o aplicatie distribuita cu o functionalitate similara cu aplicatia de la lucrarea 2. Insa, spre deosebire de acea aplicatie, serverul va pune la dispozitie un obiect la distanta care va efectua calculele matematice solicitate de client (deci vom folosi Java RMI). Interfata la distanta a obiectului va contine cate o metoda distincta pentru fiecare operatie matematica, fiecare metoda luand ca parametrii doi operazii double si returnand rezultatul operatiei sub forma unei valori double.

Lucrare 3 (Saptamana 5/6)

Se va realiza o aplicatie distribuita cu o functionalitate similara cu aplicatia de la lucrarea 2. Insa, spre deosebire de acea aplicatie, in aceasta comunicarea intre client si server se va realiza folosind socketuri UDP. Formatul datagramelor va fi:

  • datagrama de cerere va contine tipul operatiei (codata sub forma unui intreg / numeral intreg intre 1-4 pentru operatiile matematice), urmat de operanzii operatiei

(doua valori double / numerale double)

  • clientul primeste inapoi o datagrama ce contine un double reprezentand rezultatul operatiei cerute

Aditional, in cazul in care clientul nu primeste rezultatul in 10 secunde, utilizatorul va fi anuntat, operatia e abandonata si se cere utilizatorului urmatoarea operatie de executat.

Lucrare 2 (Saptamana 3/4)

Sa se realizeze o aplicatie distribuita cu urmatoarea functionalitate:

  • Serverul (concurent) pune la dispozitie servicii pentru realizarea operatiilor matematice fundamentale: adunare, scadere, inmultire si impartire.
  • Clientii solicita repetat serverului realizarea unei operatii matematice (care la randul ei este solicitata de utilizator printr-un meniu) si afiseaza rezultatul ei pe ecran.

Comunicarea se va realiza utilizand socketuri TCP si un protocol (la alegere fie cu reprezentare binara fie cu o reprezentare orientata pe caracter) ce va codifica cererile/rezultatele astfel:

  • tip operatie, codata sub forma unui intreg / numeral intreg (1-4 pentru operatii matematice, 5 pentru terminarea conexiunii) urmat (unde este cazul) de doua valori double / numerale double reprezentand operanzii operatiei
  • clientul primeste inapoi (unde este cazul) un double / numeral double reprezentand rezultatul operatiei

Lucrare 1 (Saptamana 1/2)

  • Training Java (fara note)
  • Problema de antrenament este aici
  • Tutorialele video va pot ajuta (daca e necesar) sa intelegeti cum sa instalati Java si/sau Eclipse (pentru Java)
  • Documentatie aditionala despre Java gasiti aici
(:youtube fwtZBKnJjJw border=1 :) (:youtube SWltrSXH9EQ border=1 :)