Once a record is clicked on, lock() method is invoked.
What happens when a client clicks on a flight then walks away from his computer? That flight is locked and no one else can modify it. Not good.
I had the client select a flight, enter the number of seats desired into a text field, then press a book button. The event handler for the button would do all the necessary validation(ie. make sure a flight is selected in the table, seats not a negative number, etc.) then call a booking method in my Facade.
As far as record locking, I had all of that done on the server in my remote implementation of the Data class. I had no record locking performed in my local implementation of Data.
You can read
alot about this if you search through some old posts about record locking. Some great advice out there especially from Mark and Peter.
Mike