SlideShare ist ein Scribd-Unternehmen logo
1 von 9
Downloaden Sie, um offline zu lesen
Enkelhet, testbarhet og
skalerbarhet med Grid
  - Bakgrunn og design
JavaZone 2012




Tormod Varhaugvik, SKD SITS, Sept 2012
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
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
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
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
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
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
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
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

Weitere ähnliche Inhalte

Ähnlich wie Enkelhet, testbarhet og skalerbarhet med grid bakgrunn

Massivt skalerbar skatteberegning
Massivt skalerbar skatteberegningMassivt skalerbar skatteberegning
Massivt skalerbar skatteberegningTormod Varhaugvik
 
Kontinuerlig leveransei skatteetatenpart-2
Kontinuerlig leveransei skatteetatenpart-2Kontinuerlig leveransei skatteetatenpart-2
Kontinuerlig leveransei skatteetatenpart-2ilmyggo
 
Er Amazon EC2 klar for virksomhetskritiske systemer?
Er Amazon EC2 klar for virksomhetskritiske systemer?Er Amazon EC2 klar for virksomhetskritiske systemer?
Er Amazon EC2 klar for virksomhetskritiske systemer?mudnaes
 
Splitt og hersk: Fleksibel arkitektur med mikrotjenester!
Splitt og hersk: Fleksibel arkitektur med mikrotjenester!Splitt og hersk: Fleksibel arkitektur med mikrotjenester!
Splitt og hersk: Fleksibel arkitektur med mikrotjenester!Henrik Schwarz
 
Objektorientering og design av kode
Objektorientering og design av kodeObjektorientering og design av kode
Objektorientering og design av kodeRune Sundling
 
BI - Ny helseledelse med Disruptiv Innovasjon i norsk helsesektor (http://tGo...
BI - Ny helseledelse med Disruptiv Innovasjon i norsk helsesektor (http://tGo...BI - Ny helseledelse med Disruptiv Innovasjon i norsk helsesektor (http://tGo...
BI - Ny helseledelse med Disruptiv Innovasjon i norsk helsesektor (http://tGo...Hans A. Kielland Aanesen
 
Monolitter og byggeklosser jon erik solheim - stacc
Monolitter og byggeklosser   jon erik solheim - staccMonolitter og byggeklosser   jon erik solheim - stacc
Monolitter og byggeklosser jon erik solheim - staccJon Solheim
 
GoOpen 2010: Håvard Haug Hanssen
GoOpen 2010: Håvard Haug HanssenGoOpen 2010: Håvard Haug Hanssen
GoOpen 2010: Håvard Haug HanssenFriprogsenteret
 
Mellomvare og integrasjon en innføring i bruk av biz talk hos ikt agder iks
Mellomvare og integrasjon    en innføring i bruk av biz talk hos ikt agder iksMellomvare og integrasjon    en innføring i bruk av biz talk hos ikt agder iks
Mellomvare og integrasjon en innføring i bruk av biz talk hos ikt agder iksAtle Frydenlund
 
Oljedirektoratet Windows 7
Oljedirektoratet Windows 7Oljedirektoratet Windows 7
Oljedirektoratet Windows 7guestb7fda43
 
Introduksjon til Spring Boot
Introduksjon til Spring BootIntroduksjon til Spring Boot
Introduksjon til Spring BootHenrik Schwarz
 
JavaZone 2006 - Gode grep når prosjektet blir stort
JavaZone 2006 -  Gode grep når prosjektet blir stortJavaZone 2006 -  Gode grep når prosjektet blir stort
JavaZone 2006 - Gode grep når prosjektet blir stortEirik Torske
 
[Norwegian only:] Hvordan skal vi bygge fellesskapets digitale tvilling?
[Norwegian only:] Hvordan skal vi bygge fellesskapets digitale tvilling?[Norwegian only:] Hvordan skal vi bygge fellesskapets digitale tvilling?
[Norwegian only:] Hvordan skal vi bygge fellesskapets digitale tvilling?André Torkveen
 
Rules engine vs. domain logic - JavaZone 2009
Rules engine vs. domain logic - JavaZone 2009Rules engine vs. domain logic - JavaZone 2009
Rules engine vs. domain logic - JavaZone 2009Anders Sveen
 
20130212 firstpoint citrix seminar 12 februar
20130212 firstpoint citrix seminar 12 februar20130212 firstpoint citrix seminar 12 februar
20130212 firstpoint citrix seminar 12 februarSturla Grelland
 

Ähnlich wie Enkelhet, testbarhet og skalerbarhet med grid bakgrunn (20)

Skalerbare systemer
Skalerbare systemerSkalerbare systemer
Skalerbare systemer
 
Massivt skalerbar skatteberegning
Massivt skalerbar skatteberegningMassivt skalerbar skatteberegning
Massivt skalerbar skatteberegning
 
Kontinuerlig leveransei skatteetatenpart-2
Kontinuerlig leveransei skatteetatenpart-2Kontinuerlig leveransei skatteetatenpart-2
Kontinuerlig leveransei skatteetatenpart-2
 
Er Amazon EC2 klar for virksomhetskritiske systemer?
Er Amazon EC2 klar for virksomhetskritiske systemer?Er Amazon EC2 klar for virksomhetskritiske systemer?
Er Amazon EC2 klar for virksomhetskritiske systemer?
 
Splitt og hersk: Fleksibel arkitektur med mikrotjenester!
Splitt og hersk: Fleksibel arkitektur med mikrotjenester!Splitt og hersk: Fleksibel arkitektur med mikrotjenester!
Splitt og hersk: Fleksibel arkitektur med mikrotjenester!
 
Aws på kartet - 2
Aws på kartet - 2Aws på kartet - 2
Aws på kartet - 2
 
Objektorientering og design av kode
Objektorientering og design av kodeObjektorientering og design av kode
Objektorientering og design av kode
 
Ta styringen!
Ta styringen!Ta styringen!
Ta styringen!
 
BI - Ny helseledelse med Disruptiv Innovasjon i norsk helsesektor (http://tGo...
BI - Ny helseledelse med Disruptiv Innovasjon i norsk helsesektor (http://tGo...BI - Ny helseledelse med Disruptiv Innovasjon i norsk helsesektor (http://tGo...
BI - Ny helseledelse med Disruptiv Innovasjon i norsk helsesektor (http://tGo...
 
Soa Runtime
Soa RuntimeSoa Runtime
Soa Runtime
 
Monolitter og byggeklosser jon erik solheim - stacc
Monolitter og byggeklosser   jon erik solheim - staccMonolitter og byggeklosser   jon erik solheim - stacc
Monolitter og byggeklosser jon erik solheim - stacc
 
GoOpen 2010: Håvard Haug Hanssen
GoOpen 2010: Håvard Haug HanssenGoOpen 2010: Håvard Haug Hanssen
GoOpen 2010: Håvard Haug Hanssen
 
Mellomvare og integrasjon en innføring i bruk av biz talk hos ikt agder iks
Mellomvare og integrasjon    en innføring i bruk av biz talk hos ikt agder iksMellomvare og integrasjon    en innføring i bruk av biz talk hos ikt agder iks
Mellomvare og integrasjon en innføring i bruk av biz talk hos ikt agder iks
 
Oljedirektoratet Windows 7
Oljedirektoratet Windows 7Oljedirektoratet Windows 7
Oljedirektoratet Windows 7
 
Introduksjon til Spring Boot
Introduksjon til Spring BootIntroduksjon til Spring Boot
Introduksjon til Spring Boot
 
JavaZone 2006 - Gode grep når prosjektet blir stort
JavaZone 2006 -  Gode grep når prosjektet blir stortJavaZone 2006 -  Gode grep når prosjektet blir stort
JavaZone 2006 - Gode grep når prosjektet blir stort
 
[Norwegian only:] Hvordan skal vi bygge fellesskapets digitale tvilling?
[Norwegian only:] Hvordan skal vi bygge fellesskapets digitale tvilling?[Norwegian only:] Hvordan skal vi bygge fellesskapets digitale tvilling?
[Norwegian only:] Hvordan skal vi bygge fellesskapets digitale tvilling?
 
AWS på kartet
AWS på kartetAWS på kartet
AWS på kartet
 
Rules engine vs. domain logic - JavaZone 2009
Rules engine vs. domain logic - JavaZone 2009Rules engine vs. domain logic - JavaZone 2009
Rules engine vs. domain logic - JavaZone 2009
 
20130212 firstpoint citrix seminar 12 februar
20130212 firstpoint citrix seminar 12 februar20130212 firstpoint citrix seminar 12 februar
20130212 firstpoint citrix seminar 12 februar
 

Mehr von Tormod Varhaugvik

Software 2020 tormod varhaugvik digitalisering med informasjonskart
Software 2020 tormod varhaugvik digitalisering med  informasjonskartSoftware 2020 tormod varhaugvik digitalisering med  informasjonskart
Software 2020 tormod varhaugvik digitalisering med informasjonskartTormod Varhaugvik
 
Making Enterprise Architecture Succeed at Tax Norway
Making Enterprise Architecture Succeed at Tax NorwayMaking Enterprise Architecture Succeed at Tax Norway
Making Enterprise Architecture Succeed at Tax NorwayTormod Varhaugvik
 
3 år med forenkling og framtidsretting hos skatteetaten
3 år med forenkling og framtidsretting hos skatteetaten3 år med forenkling og framtidsretting hos skatteetaten
3 år med forenkling og framtidsretting hos skatteetatenTormod Varhaugvik
 
Forretningsutvikling igjennom sky-prototyping
Forretningsutvikling igjennom sky-prototypingForretningsutvikling igjennom sky-prototyping
Forretningsutvikling igjennom sky-prototypingTormod Varhaugvik
 
Equity - Transparent and Live Risk Assessment
Equity - Transparent and Live Risk AssessmentEquity - Transparent and Live Risk Assessment
Equity - Transparent and Live Risk AssessmentTormod Varhaugvik
 
Tjenesteorientering og distribuerte systemer
Tjenesteorientering og distribuerte systemerTjenesteorientering og distribuerte systemer
Tjenesteorientering og distribuerte systemerTormod Varhaugvik
 

Mehr von Tormod Varhaugvik (7)

Software 2020 tormod varhaugvik digitalisering med informasjonskart
Software 2020 tormod varhaugvik digitalisering med  informasjonskartSoftware 2020 tormod varhaugvik digitalisering med  informasjonskart
Software 2020 tormod varhaugvik digitalisering med informasjonskart
 
Digitalisering i sneglefart
Digitalisering i sneglefartDigitalisering i sneglefart
Digitalisering i sneglefart
 
Making Enterprise Architecture Succeed at Tax Norway
Making Enterprise Architecture Succeed at Tax NorwayMaking Enterprise Architecture Succeed at Tax Norway
Making Enterprise Architecture Succeed at Tax Norway
 
3 år med forenkling og framtidsretting hos skatteetaten
3 år med forenkling og framtidsretting hos skatteetaten3 år med forenkling og framtidsretting hos skatteetaten
3 år med forenkling og framtidsretting hos skatteetaten
 
Forretningsutvikling igjennom sky-prototyping
Forretningsutvikling igjennom sky-prototypingForretningsutvikling igjennom sky-prototyping
Forretningsutvikling igjennom sky-prototyping
 
Equity - Transparent and Live Risk Assessment
Equity - Transparent and Live Risk AssessmentEquity - Transparent and Live Risk Assessment
Equity - Transparent and Live Risk Assessment
 
Tjenesteorientering og distribuerte systemer
Tjenesteorientering og distribuerte systemerTjenesteorientering og distribuerte systemer
Tjenesteorientering og distribuerte systemer
 

Enkelhet, testbarhet og skalerbarhet med grid bakgrunn

  • 1. Enkelhet, testbarhet og skalerbarhet med Grid - Bakgrunn og design JavaZone 2012 Tormod Varhaugvik, SKD SITS, Sept 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