Skip to end of metadata
Go to start of metadata

Tre-lags monolitiske web-applikasjoner lider ofte under en rekke velkjente plager. I hjerte av det hele finner vi en relasjonsdatabase med en komplisert, spesialtilpasset og normalisert datamodell. Tross gode intensjoner, kryper det inn tette koblinger både i datamodellen og i hele kildekodebasen med "gjenbruk" som alibi. På lang sikt viser det seg at denne type arkitektur skalerer dårlig i alle akser.

  • Koden er vanskelig å forstå, ofte med mange rotete hack fordi "man kan".
  • Nesten umulig å skalere opp til store datamenger og svært høy last.
  • Stadig dyrere og legge til funksjoner, siden alt henger så tett sammen.
  • Ofte bare én eller to personer som kjenner applikasjonen godt nok til å kunne ta viktige avgjørelser og utføre dem i kodebasen med lav nok risiko.
  • Nye funksjoner som legges til er bundet til gammel teknologi.
  • Rapporteringsmodul integrert direkte med databasen gjør endringer på datamodell svært dyre.
  • Front-end utvikling nært knyttet til back-end gjør det vanskelig å benytte spesialkompetanse på front-end.
  • Umulig å teste alt som er viktig.
  • Funksjonene applikasjonen tilbyr blir aldri skikkelig stabile fordi nye funksjoner og endringer påvirker eksisterende funksjonalitet.

Argumentet med god/dårlig disiplin holder ikke i lengden, siden de som programmerer og tar avgjørelser byttes ut over tid. Den eneste måten å unngå alle disse problemene er en radikalt annerledes arkitektur hvor disse problemene ikke kan oppstå, eller har betydelig mindre omfang.

Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.