Department of Information Technology

Project: Extra Material

One Client vs Server

In this section, we provide some description of the given skeleton.

Processing Transaction

On the client side, a transaction is started when the user enters the run command in the client window. This is marked by sending a request to the server. Afterwards, the client sends the actions of the list (the transaction) one by one in the order they were entered by the user. Once, all the actions are sent, the client sends a confirm message and waits for the server reply.
On the server side, the server will always reply by an abort message and without any changes to the store.

Message Sequence Chart

Below, we give a possible scenario where one client sends a transaction.


Observe that, as depicted in the above picture the following always hold:

  • A transaction is always marked by the message request at the start, and confirm at the end.
  • The order in which the transaction actions are sent is preserved at the receive (server) side.
Two Clients vs Server

We give below another scenario where two clients send simultaneously two transactions to the server.


Observe that:

  • The order in which you receive all the actions related to one of the transactions is exactly the same in which they were sent (from the corresponding clients).
  • At the server side, the interleaving of the actions corresponding to different transactions is random. The important thing here is that when you are implementing, you should take that interleaving into consideration.

Updated  2008-03-19 15:53:52 by Noomene Ben Henda.