[vmchecker-dev] Interoperabilitate vmchecker <-> interfata web 2.0

Stefan Bucur stefan.bucur at gmail.com
Wed Jul 16 08:10:27 EEST 2008


Salutare tuturor!

Felicitari pentru initiativa acestui proiect si pentru efortul depus
de catre cei implicati in dezvoltarea lui. Am aruncat o privire peste
timeline-ul din trac si am vazut ce progrese s-au facut. Keep up the
good work!

In primul rand, as vrea sa va aduc la cunostinta faptul ca si eu am
inceput dezvoltarea unui proiect similar, dar care tinteste o
implementare diferita, folosind tehnologii diferite. Proiectul este
gazduit pe Google Code la adresa http://code.google.com/p/hwchecker/
(paginile wiki de acolo se vor umple in curand cu detalii).

To make a long story short (details available upon request):
 * Proiectul a fost conceput modular, iar fiecare modul poate fi
implementat intr-o maniera independenta de celelalte module -
comunicarea intre module se face printr-un API bine stabilit.
 * Modulele server side reprezinta partea de stocare a datelor (teme
trimise, date despre evaluare, etc.) si de evaluare automata
(interfata de comanda a checker-ului), si initial m-am gandit ca
stocarea sa fie facuta intr-o baza de date MySQL si evaluarea sa fie
gestionata de un engine de Grid (Sun Grid Engine, de exemplu), care sa
distribuie job-uri de evaulare intr-un cluster de masini (virtuale) de
evaluare. In conditii extreme, cluster-ul ar putea fi format dintr-o
singura masina si ajungem in topologia clasica de la SO/PSO.
 * Partea de client este o aplicatie AJAX realizata folosind Google
Web Toolkit si care comunica cu serverul asincron prin RPC. (Pentru a
va face o imagine - ganditi-va ca interfata de GMail poate fi scrisa
cu GWT).
 * Proiectul a fost conceput pentru a putea fi utilizat si dezvoltat
de oricine, nu numai de facultatea noastra, si target-ul initial erau
cursurile de Programare si de Structuri de Date.
 * Zilele trecute am inaintat propunerea de a folosi acest proiect si
in cadrul cursului de Proiectarea Translatoarelor, si am fost placut
surprins sa aflu ca vmchecker urma sa fie implementat si la PT si ca
dezvoltarea era in toi :)
 * The rest is history (this message :P)


In mod evident, nu are sens sa muncim la 2 proiecte in paralel care sa
faca in final aceleasi lucruri, insa am constatat ca munca mea nu este
100% redundanta:
 * Partea de server side intr-adevar, este deja realizata de catre
vmchecker, si este facuta bine, deci eforturile mele ar fi oarecum
duplicate.
 * In schimb, partea de client side propusa de mine nu se suprapune cu
planurile vmchecker. Interfata mea este o aplicatie web 2.0
(front-end) care se bazeaza pe o suita de servicii oferite de catre
server - cele 2 componente sunt cuplate slab si serverul poate fi
implementat oricum - dar in particular el poate fi *chiar vmchecker*.
Astfel as putea renunta (pe moment), la planurile marete de baza de
date de teme si evaluare distribuita, pentru a folosi ceva deja
existent si functional.
 * Deci as putea sa dezvolt interfata web si API-ul de comunicare
intre module avand la baza functionalitatea vmchecker.

Fiind vorba si de un proiect de practica pentru studenti, nu as vrea
sa interfer intr-un mod distructiv cu planificarea voastra facuta pana
acum sau cu codul vostru sursa. Ce as vrea eu sa fac este sa continui
dezvoltarea interfetei mele web in cadrul proiectului hwchecker (de pe
Google Code), si a servlet-ului care sa furnizeze datele necesare
interfetei. Servlet-ul, la randul sau, va comunica cu vmcheker pentru
a obtine sau stoca date. In acest punct as aprecia din plin suportul
vostru - voi incerca sa deduc punctele de control ale vmchecker-ului
din codul sursa din repository, insa voi apela la aceasta lista in
cazul in care am nelamuriri sau gasesc bug-uri.

In cazul in care rezultatul final al muncii mele este satisfacator
pentru voi, feel free to integrate my work into your project :) De
asemenea, cine doreste sa se implice direct si in interfata web 2.0
este binevenit si ii pot adauga in lista de participanti pe Google
Code.

Astept parerile/criticile/reactiile alergice ale voastre cu privire la
aceste propuneri :D

Numai bine,
Stefan Bucur


More information about the vmchecker-dev mailing list