OOP Project 2014-2015: Diferență între versiuni

De la WikiLabs
Jump to navigationJump to search
(Pagină nouă: == Description == In today's technology, a great deal of effort is put in the development of distributed systems, where a client runs a program or a section of a program on an extern...)
 
Linia 1: Linia 1:
== Description ==
== Description ==


In today's technology, a great deal of effort is put in the development of distributed systems, where a client runs a program or a section of a program on an external server and receives a reply. The advantage is that the server can execute the program faster since it  
In today's technology, a great deal of effort is put in the development of distributed systems, where a client runs a program or a section of a program on an external server and receives a reply. The advantage is that the server can execute the program faster since it has a larger power and energy budget than a mobile terminal (phone or tablet). The purpose of this project is the development of an application that can transfer, compile and execute a Java class on a remote server.
În tehnologia actuală, se pune mult accent pe sisteme distribuite, unde un client rulează un program sau o secțiune dintr-un program pe un server extern și primește răspuns de la acesta. Avantajul este acela că server-ul poate executa procesul mai rapid și dispune de mai multă putere și energie decât, să spunem, un terminal mobil (telefon, tabletă). Acest proiect are ca scop realizarea unei aplicații ce poate transfera, compila și executa o clasă Java realizată de un client, pe un server.


== Cerințe ==
== Cerințe ==

Versiunea de la data 21 iulie 2015 15:33

Description

In today's technology, a great deal of effort is put in the development of distributed systems, where a client runs a program or a section of a program on an external server and receives a reply. The advantage is that the server can execute the program faster since it has a larger power and energy budget than a mobile terminal (phone or tablet). The purpose of this project is the development of an application that can transfer, compile and execute a Java class on a remote server.

Cerințe

Realizați o aplicație client-server cu următoarele specificații:

  • client-ul trebuie să conțină o interfață grafică care să permită scrierea unei clase Java (ex: JTextArea);
  • client-ul trebuie apoi să transfere fișierul sursă pe server, printr-un socket TCP;
  • server-ul trebuie să compileze iar apoi să execute clasa Java primită, întorcând clientului rezultatele (mesaj de eroare dacă clasa nu a putut fi compilată, excepții care au fost aruncate la execuție, sau caracterele afișate pe standard output stream și standard error stream).
  • server-ul trebuie realizat multi-threaded pentru a putea servi mai mulți clienți simultan.

Observații

Se acordă bonus pentru următoarele realizări:

  • fereastra de editare de pe client să aibă code highlight, adică cuvintele cheie Java să fie afișate cu bold sau cu altă culoare.
  • posibilitatea de a transmite de pe client stream-ul standard de intrare către procesul pornit pe server, în timp ce acesta rulează.

Modalitate de evaluare

  • Acest proiect valorează 40 de puncte din nota totală la POO. Se cer minim 20 de puncte din 40 pentru promovarea laboratorului și implicit pentru intrarea în examen.
  • Proiectul va fi prezentat public de către autor și va fi evaluat, acordându-se o notă între 0 și 40.
  • Autorului i se vor pune 5 întrebări exclusiv din codul scris în cadrul proiectului. Orice întrebare la care se răspunde greșit, sau nu se răspunde, va fi penalizată cu 5 puncte. Rezultatul este că examenul se poate pica și cu un proiect de 40 de puncte.