Geen locking

Dit is de meest simpele vorm. De gebruiker die het laatst een update doet wint (zie figuur 4).

image

Voordelen :

  • Geen extra programmeerwerk;
  • geschikt voor applicaties met één gebruiker.

Nadelen :

  • de updates van gebruiker 1 zijn uiteindelijk niet doorgevoerd;
  • gebruiker 2 werkt met verouderde data en heeft nooit toestand ‘B’ opgemerkt.

Pessimistic locking

Hier geldt een blokkade voor anderen, zolang één gebruiker met een gegeven bezig is (zie figuur 5).

image

Voordelen :

  • een gebruiker ziet nooit verouderde data;
  • updates zullen zeker verwerkt worden.

Nadelen :

  • werkt enorm vertragend.Eén gebruiker blokkeert alle andere gebruikers,zelfs als er uiteindelijk niet eens een update komt.
  • er kan maar één gebruiker tegelijk gegevens wijzigen.

Optimistic locking

 


Bij optimistic locking werkt de blokkade achteraf met een controle op de juiste versie (zie figuur 6).
In de database staan datum en tijd van de laatste versie. Bij een schrijfactie controleert de applicatie
of de update nog wel met geldige gegevens werkt. Een gebruiker die met verouderde gegevens blijkt
te werken moet zijn actie opnieuw doen.

image

Voordelen:

  • Eenmaal door het systeem bevestigd, is elke gebruiker er zeker van dat zijn updates verwerkt
    zijn en zullen gezien worden door andere gebruikers.
  • Geschikt voor systemen in een dynamische omgeving, met vele gebruikers die korte, snelle
    updates doen.
  • Gebruikers blokkeren elkaar niet. Degene met de eerste schrijfactie wint.

Nadelen :

  • Een gebruiker is pas zeker van succes als de schrijfactie is afgelopen.

In de applicatie werd optimistic locking toegepast. Deze locking werd gekozen omdat de applicatie
geschikt moet zijn voor meerdere gebruikers.