Michiel van Otegem, IT Composer

Wednesday, July 06, 2005

Services & Performance

Ik ben net naar ARC308 Dealing with Data in SOA geweest en dat was ene hele aardige sessie. Niet erg ingewikkeld, maar heel duidelijk opbouwend van probleemstelling naar decompositie van het probleem naar oplossing(en). Het idee is dat je om in een SOA met data om te gaan in een consistente manier met de best mogelijke performance een aantal regels gehandhaafd moeten worden:

a) Data mag niet wijzigen, in plaats daarvan moet je verschillende versies bijhouden waarvan er altijd een courant is. In SQL termen: geen UPDATE alleen INSERT (bijvoorbeeld met een timestamp voor versiebeheer).

b) Er moet een duidelijke eigenaar zijn van gegevens. Alle services die niet de eigenaar zijn moeten
  1. De data cachen voor de beste performance.
  2. Op de hoogte gebracht worden van nieuwe (versies van) data. Dan wel controleren of er nieuwe data is.
  3. Wijzigingen (of dus eigenlijk het aanmaken van een nieuwe versie) aanvragen aan de eigenaar (die dat eventueel kan weigeren).

Omdat de data niet wijzigt, hoeft de cache ook nooit aangepast te worden, en is het veel minder nodig om een orchestratie van services te hebben. Het legt uiteraard wel een behoorlijke claim op je data opslag, maar dat mag geen probleem zijn vandaag de dag.

0 Comments:

Post a Comment

<< Home