Virtual classroom (client/server Java application)
Project:
Virtual classroom (client/server Java application)
Client:
Mideast Solutions FZ LLC



The application's architecture is a web-oriented server/client model with a server running independently on the server box and clients running in applets on the client machines.The application is developed in Java and C++ for Win32 platform. The server is also available as a Linux-platform build.
 
The server is written entirely in Java. It accepts connection from clients and data streams (sound) and broadcast them to all participants of the connection. There is implemented a room mechanism with one moderator per room. The rooms are created based on a configuration file.
 
The client application comes in two versions, the moderator applet and the client applet. From a functional-based approach, each of the client versions can be figured as two modules: the voice module and the Power Point controller module.
 
The voice module is written in Java and uses JMF API. The moderator can speak and give speaking permission to other participants in the room he moderate. He can control whether the microphone capture will be sent or not over the network and also he can choose to hear or not the others participants. The client has the same functionality but instead giving speaking permission to others, he can only ask for a permission. The entire process of requesting and giving permission is visually signaled with automated messages and is triggered by controls on the client applet form.
 
The Power Point controller uses an executable installed on the client machine that communicate with the Power Point executable. The Power Point file is downloaded on each of the client machines in a location specified at the setup time and then is played at the moderator command. The module support all the operations currently available on a standard Power Point viewer. The modules can be activated/deactivated from applet parameters.
 
System requirements:
- client: win32 
- server: win32/linux
- JRE 1.4.2 si JMF 2.0
- viewer MS PowerPoint
- web browser