I`ve just started working on my diploma thesis project which is "building a door access control system". Mainly it will work like this: there will be a java server, a database and clients(which will simulate the access cards at the doors) Since i don`t have the possibility to use java smart cards, i will have to simulate them by building clients and a GUI from where the employees will be to enter their ID card before having access. The problem that i`m facing now ,as i just started working on this i`m not completely sure if i should use RMI or java sockets in the communication between the client and the server. I`ve read some tutorials about the differences between but still haven`t been able to figure it out. Can anyone help me by giving his opinion in which is the best choice. I`d really appreciate it very much.