De fleste utviklingsprosjekter drives av funksjonalitet. De gode prosjektene fokuserer på vedlikeholdbarhet. Alt for få leveres med god driftbarhet.
Tilrettelegging for drift bør prioriteres høyere i utviklingsprosjekter. Dessverre overskygges driftbarhet ofte av ensidig fokus på funksjonalitet. Resultatet er en kaotisk og uoversiktlig driftssituasjon med brannslokking og påfølgende etterarbeid.
Denne sesjonen gir eksempler på hvordan man kan oppnå god driftbarhet med relativt enkle grep. Basert på positive og negative erfaringer fra flere prosjekter ser vi på hvordan applikasjoner kan tilrettelegges for drift samt konkrete teknikker og verktøy som kan benyttes.
Video: http://tcs.java.no/
Beskrivelse: http://javazone.no/incogito10/events/JavaZone%202010/sessions/Driftbarhet%20-%20Veien%20til%20smidig%20drift
5. Når det feiler i et av de
involverte systemene, så skal
det ved asynkrone oppgaver
automatisk gjøres nye forsøk,
og etter x antall forsøk skal
det legges en melding på den
generiske varslingstjenesten.
6. Utføring av sentrale funksjoner
skal logges. Dette vil være en
form for logging av utført
forretningslogikk. Naturlige
tidspunkt for slik logging vil
være ved oppretting/innsending
av ”noe”, verifisering,
tjenestekall, oppslag, etc.
7. Formelle krav i henhold til
regelverk og lover skal oppfylles.
Eksempler på aktuelle lover og
regelverk er
personopplysningsloven,
arkivloven og offentlighetsloven.
13. Som administrator
skal jeg kunne søke opp en
prosessinnstans
slik at jeg raskt kan finne den spesifikke
prosessen eller utvalget av prosesser
jeg skal håndtere
14. Gitt at jeg har kundenummer for en
feilende prosess
når jeg oppgir kundenummeret i
søkefeltet
så skal alle prosesser for det spesifikke
kundenummeret listes sortert på
oppstartstid
15. Som administrator
skal jeg se en oversikt over
alle aktuelle prosesser
slik at jeg vet om systemet
kjører som normalt
16. Gitt prosessoversikten vises
Når ingen prosesser har feilet
Så skal alle prosesser ha status OK
og være sortert på ferdigdato
17. Gitt at prosessoversikten vises
Når en prosess feiler
Skal den feilende prosessen ha status FEIL
og vises øverst i prosesslista
og de andre prosessene ha status OK
39. Gitt at applikasjonen starter
når applikasjonsbrukeren
ikke har tilgang til
importkatalogen
så skal oppstarten feile med
en tydelig feilmelding
40. Diagnosetest Beskrivelse
Java VM versjon Systemet benytter riktig Java
VM versjon
Java VM parametre Systemet har nødvendige Java
VM parametre satt
Tid og dato Verifiserer at klokke og tid er
satt korrekt
Språk/tegnsett OS Språk og tegnsett er korrekt på
operativsystemnivå
Språk/tegnsett database Språk og tegnsett er korrekt på
databasenivå
Systembruker tilgang Sjekker at systembrukeren har
tilgang til nødvendige filområder
51. Som en driftsoperatør
skal jeg kunne skille mellom
applikasjonsfeil, systemfeil
og programmeringsfeil
slik at jeg vet om jeg skal
gjøre tiltak
52. Funksjonell Feilretting og Prøv igjen?
håndtering utrulling
Application Ja Nei Nei
Exception
System Mulig Nei Mulig
Exception
Programming Nei Ja Nei
Exception
53. Som en driftsoperatør
Ønsker jeg at feil kan
kategoriseres
Slik at jeg kan identifisere
gjentaktende feiltyper
54.
55. Som en driftsoperatør
skal jeg kunne identifisere
hver enkelt feilhendelse
slik at jeg kan finne feil som
rapporteres med ID