Wednesday, July 22, 2009

Working on client/server

I started to work on the client/server version of Matrex, the 2.0.

This version, as explained in the specification, will give the possibility to use Matrex in two ways:
  • standalone, as today
  • connected to one or more Matrex servers.
When Matrex opens a project in a server, all calculations for that project are done in the server: Matrex acts only as a graphical interface.
One would open a project in a server:
  • to use the CPU of the PC running the server instead of the one of his own PC.
  • to share the project with other people. In fact two or more Matrex clients can work on the same project in the same server in the same time, without problems.
Matrex has been written from the start to become one day a client/server system, so the GUI will not change so much: not much more than a new menu to connect to a server (I will publish some pictures as soon as I have a stable version).

The protocol used is RMI, but I will keep the possibility to use different protocols in the future. It could be nice to have a version (based on REST?) that can work on the internet through the firewalls.