client server application based on observer pattern using java RMI