Presentasjon fra JavaZone 2012 sammen med Trond Arve Wasskog. Dette er introduksjonen; design og bakgrunn for den Proof of Concept Skatteetaten kjørte i 2012.
2. Skatte og avgiftsberegning
• Årsversjoner
evn e
• Helhet r ings
End
• Selvbetjening
Handlingsrom
• Store volum Forv
altni
ngsk
• Lang levetid o st
• Massiv spørring
• Hendelsesdrevet
• Satt sammen; Domain Driven Design, Tuple Space, CQRS,
BASE, SOA, ODS, XML-dokumenter og god gammel Java
Skatteetaten 10.10.2012 2
3. Muligheter
• Markedssituasjon, nå og framover
• Kompetanse og infrastruktur
• Involvere markedet mengde data
En
som endres samlet
Aggregate
• Flerkjerne CPU
• Mange billige standard maskiner
• Vi må designe for parallellitet
• Skalere ”ut av boksen”
• Ikke alle problemer passer
Skatteetaten 10.10.2012 3
4. Kontinuerlig utveksling av Aggregater
Tuple er et xml- Løs kobling
Alle aggregater Skiller
dokument som mellom aggregater
innkapsles i et produksjon
inneholder (Skattyter, context
super-dokument fra bruk
aggregat og årsversjoner)
Forskjellige
XML for lang
aggregater side-om-
holdbarhet
side for skattyter
SkatteInfo er en Kontinuerlig
super-repository tilrettelegging
Module har en Modulene avgir
bounded context tjenestekomponenter
til SkatteInfo
Processing unit Last et sett
er en module aggregater og
produserer et nytt
Massiv spørring
Unik produsent Uavhengige
Alle aggregater Tilstand på
av aggregat contexts
på samme sted aggregatet styrer
http://tormodv.blogspot.com/2010/11/concept-for-datastore-and-processing.html prosessen
Skatteetaten 10.10.2012 4
5. Tekniske egenskaper
• Parallelliserbar
• Skill utvalg…
• … fra behandling
• … fra lagring av resultat
• Prosessfokus
• Automatisk saksbehandling
• Manuell saksbehandling
• Kontinuerlig tilrettelegging
• Åpne standarder
• Kapsle inn forretningslogikk
• xml, java, kontainer, web
• Leverandør / plattformuavhengig
• Plattform i utvikling
• Objektorientert
• Rik semantikk, DSL
• xml 1:1 med java (aggregatet)
• Test og drift
• Automatisk / avgrenset test
• Omkjøring ifbm feilretting
• Simulering / ”dry run”
http://tormodv.blogspot.com/2010/12/continual-data-hub-architecture-and.html
Skatteetaten 10.10.2012 5
6. Lagringsarkitektur - Aggregater
• Tenke Aggregater (info+use)
• Forretningslogikk styrende
• Endringsevne og testbarhet
• Robust, konsistent og skalerbar
• Redusert I/O og mindre låsing
• Serialisering er lik
Superdokument
<hode/>
• Super-dokument <prosess/>
• Alle dokumenter har skjema <aggregat/>
• Hva med funksjoner på tvers av <beslutning/>
aggregater/dokumenter? <avvik/>
<logg/>
• Søkemotor
http://tormodv.blogspot.com/2011/02/document-store-for-enterprise.html
Skatteetaten 10.10.2012 6
7. Realiserbart!
• Erfaring med Smalltalk viste meget stor effektivitet
når man kunne ha forretningslogikk horisontalt
• Ekte objektorientering
• Lekker og veldikeholdbar kode (DSL)
• Erfaring med domene-orientert distribuert system
viser at meldinger til sammen bygger opp ett
system
• En Moduls data kan bygges opp ”fra ingenting”
• Fikk kontroll på datamodellen og forretningshendelser
• Dokumentene er grensesnitt mellom Modulene
• En stor datamodell kan (og bør) deles opp i aggregater
• Likhet med Finans og Gambling er slående
• Det John Davies / Cameron Purdy har messet om lenge!
Skatteetaten 10.10.2012 7
8. Utfordringen => Proof of concept
• Hvordan skifte kurs?
• Beslutningstagerne kan ikke dette
• Skape felles forståelse rundt arkitekturdiskusjoner og valg
• Å redusere risiko i planlegging og estimering
• Innsalg og troverdighet Okt ’09: Utfordringen VA
• 1000 ganger ytelse? Mars ’10: Godkjent VA
• Hardware < 10%?
Mai ’11: Gjør PoC
• Kodeforvaltning < 30%?
Jan ’12: PoC Suksess!
• => Særlig! Mars ’12: Endre kurs…
http://tormodv.blogspot.com/2011/09/tax-norways-proof-of-concept.html
Skatteetaten 10.10.2012 8
9. Proof of Concept mål
• Enkel; ved at regler, informasjon og
prosess er tettest opp mot
forretningsbegrep
• Testbar; ved at moduler lar seg teste hver
for seg i en tydelig verdikjede
• Skalerbar; ved at volum og svartider lar ?
seg løse ved kjøp av mer hardware, og
ikke igjennom å skrive om regler,
informasjon eller prosess
http://tormodv.blogspot.com/2011/09/tax-norways-proof-of-concept.html
Skatteetaten 10.10.2012 9