OOP Project 2014-2015
De la WikiLabs
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.
Requirements
Develop a client-server application with the following specifications:
- the client MUST contain a graphical user interface (GUI), enabling the user to write a Java program / class (ex: JTextArea).
- the client MUST transfer the source file to the server, through a TCP socket;
- the server MUST compile then execute the Java class, returning the results (error message if the compilation of the class failed, exceptions thrown and/ or the strings displayed on the standard output stream and the standard error stream);
- the server MUST be multi-threaded so it can serve multiple clients at the same time.
Miscellaneous
- using an external library is allowed, as long as its behavior is understood and the API thoroughly analyzed;
- for compiling a Java class, you MAY use classes javax.tools.ToolProvider and javax.tools.JavaCompiler as for execution, you MAY use Dynamic Class Loading and Java Reflection.
You may receive a bonus for the following:
- the edit window has a code highlight feature, meaning that the Java keywords and displayed in bold or with a different color;
- the possibility to redirect the input stream from the client to the application running on the server;
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.