Hi Ulvi,
1- If I synchronize all requests (search/update/delete) then I would prevent dirty reads. Might be difficult to implement but easier to understand.
2- For search operations, I don't need to read the file again, I only need to search in the recordset I already have.
1. You can synchronize all requests without caching.
2. Agree
So, the point is performance, not simplicity.
I use RMI, because it hides network protocol from implementation. So it is easier for me and for somebody who wants to understand business logic of my program, instead of technical details.
Disadvantage is: I do have poor control over the thread creation for remote clients, but I designed my program so, that it doesn't care about it.
Regards,
Vlad