Sammenlikning av to paradigmer for systemintegrasjon. Utarbeidet for UNINETT teknisk samling for UH-sektoren 19. - 21. april 2016 i Trondheim. Videoopptak fra presentasjonen: https://mediasite.uninett.no/Mediasite/Play/201139f4b538447eb533449e2f4598eb1d
4. «Integrasjonsbuss»
N² → 2N forutsetter to systemkvaliteter
• Endringsevne
• Samhandlingsevne (interoperabilitet)
som må eksternaliseres (delegeres) til bussen
6. ENDRINGSKOST ved
håndkoding:
antall integrasjoner
*
endringskost ved
håndkoding
ENDRINGSKOST ved
automatisering:
(antall integrasjoner
*
endringskost ved
automatisering)
+
implementasjonskost
ved automatisering
Ref.: Bass et al, 2012
Systemkvalitet: Endringsevne
Compile or
build time
Deploy time Startup or
initialization
time
Runtime
Automation
(dynamic)
Hand
coding
7. «Integrasjonsbuss»
N² → 2N forutsetter at bussen tar ansvar for runtime
(dynamisk) binding av alle avhengigheter til de N andre
integrerte systemene – dvs. alle håndkodede bindinger må kun
være mot selve bussen…
9. Ref.: Bass et al, 2012
Systemkvalitet: Samhandlingsevne
Compile or
build time
Deploy time Startup or
initialization
time
Runtime
Automation
(dynamic)
Hand
coding
11. Composability
Conceptual interoperability
Dynamic interoperability
Interoperability
Pragmatic interoperability
Semantic interoperability
Integretability
Syntactic interoperability
Technical interoperability
Compile or
build time
Deploy time Startup or
initialization
time
Runtime
Realiteten? Om samhandlingsevnen
i en typisk «integrasjonsbuss» i 2016…
Hand
coding
Automation
(dynamic)
Turnitsa et al: “Levels
of Conceptual
Interoperability
Model – LCIM” (2005)
13. Composability
Conceptual interoperability
Dynamic interoperability
Interoperability
Pragmatic interoperability
Semantic interoperability
Integretability
Syntactic interoperability
Technical interoperability
Compile or
build time
Deploy time Startup or
initialization
time
Runtime
Realiteten? Mer ambisiøse «integrasjonsbuss»-
implementasjoner i 2016…
Hand
coding
Automation
(dynamic)
18. Arkiv
HR
Regnska
p
Composability: Hva om vi kunne kople data og
datamodeller dynamisk etter behov?
Duplikater
Kontakt=Kontakt
Location= Avdnr
Empnr=ID1
Avdnr=Depnr
30. Dataorientert
Antall systemer som er datakilder (mastere) for mottakeren
TimerFTEforåintegrerenymottaker Tjenesteorientert eller dataorientert?
To scenarioer for sammenlikning av kost
Systemintegrasjon i Sporveien - veivalg og anbefalinger 30
Sammenlikningsscenario 1:
Nytt system – én eller flere datakilder
Et nytt system må integreres, f.eks. ProArc, slik at det skal
holde sine data automatisk oppdatert ved integrasjon mot én
eller flere datakilder (mastere). Hva koster dette i timer?
Sammenlikningsscenario 2:
Endre datakilde – én eller flere mottakere
Scenario: Ett eller flere mottakende systemer skal holde sine
data automatisk oppdatert ved integrasjon mot en datakilde
(master). Kildesystemet må oppgraderes til ny versjon, slik at
datamodellen endres noe. Hva koster dette i timer?
Antall systemer som mottar data gjennom integrasjonene
TimerFTEforåoppdatereintegrasjonene Dataorientert
Estimatene er oppgitt i fulltidsekvivalenter (FTE) i timer, basert på erfaringstall for hhv. BizTalk (tjenesteorientert) og SESAM
(dataorientert) fra reelle prosjekter. Estimatene omfatter analyse, utvikling, test og produksjonssetting
vs. vs.
31. Plattformvalg og konsekvenser
Tjeneste-/meldingsorientert:
ESB/tjenestebuss
+ Utbredt kompetanse
+ Store leverandører
+ Gode verktøy for forvaltning og måling (SLA)
…MEN data konverteres punkt-til-punkt i manuell kode...:
- Rigid
-Tungt å forvalte mht. ressurser og kompetanse
Dataorientert: Datahub/operativt dataregister
- Foreløpig begrenset kompetanse i det norske markedet
- Mindre modent verktøymessig
…MEN data kan sammenstilles løpende i et samlet «nåbilde» i
operative dataregistre for «smart» og dynamisk
konvertering…:
+ Fleksibelt, høy endringsevne
+ + Kosteffektivt
+ Fokus på datakvalitet og -eierskap
+ Fristiller data fra leverandørbindende applikasjoner
+ Nyttig struktur for gjenfinning av dokumentasjon
OPERATIVT DATAREGISTER
33. Gradavsamhandling
Høy
Koordinert
Unike enheter som samhandler om
felles mål/produkter/…
IT: Tilgang til delte data gjennom
standardiserte grensesnitt
Enhetlig
Omforent enhet med globalt
standardiserte prosesser og global
tilgang til data
IT: Tilby prosesstøtte og global
tilgang til data
Lav
Diversifisert
Uavhengige enheter med ulike
brukergrupper og ekspertise
IT: Tilby fellestjenester som ikke er til
hinder for uavhengigheten
Replikert
Uavhengige, men svært like enheter
med felles praksis
IT: Tilby prosesstøtte og
standardisert infrastruktur
Lav Høy
Grad av standardisering
37. Direktoratet
Elever
Skoler og lærere
Leverandører av læringsressurser
• Veilede
• Tilrettelegge
• Skape muligheter
Utdanningsdirektoratets læreplaner:
Delt datamodell med forskriftsstatus for
grunnutdanningen
39. Prosedyreorientert
Data vurderes som mindre viktig enn
kode, og lukkes inne i koden
Objektorientert
Data likestilles med kode, men lukkes
fortsatt inne – nå i databaser.
Manuell uthenting, konvertering og
innlasting fra system til system
Tjeneste-/meldingsorientert
Data flyter fra applikasjon til applikasjon
gjennom meldinger i åpne formater (XML), ofte
over en «tjenestebuss» (ESB eller Enterprise
Service Bus), og konverteres punkt-til-punkt –
som regel i kode
Dataorientert
Data vurderes som viktigere
enn kode, forvaltes spesielt, og
deles via strømmer og felles
operative og historiske*) data-
registre for gjenbruk, analyse og
prediksjon. Data konverteres i
økende grad «smart» og dynamisk
i de operative dataregistrene
Paradigmeskifter for integrasjon… Er vi på vei inn i et nytt?
19951975 2005 201519851965 2020
Systemintegrasjon i Sporveien - veivalg og anbefalinger 39
*) Et konvensjonelt datavarehus er et eksempel på et historisk dataregister, mens operative dataregistre er nav/noder
for dataintegrasjon, og krever mer fleksibel teknologi – typisk en såkalt grafdatabase (med et spørrespråk)