Upload
stian-danenbarger
View
553
Download
4
Embed Size (px)
Citation preview
Fra tjenesteorientert til dataorientert integrasjonStian Danenbarger / 54°25′52″S 3°17′52″[email protected] @stidan no.linkedin.com/in/stian
Sømløs, automatisk oppdatert tilstands-
informasjon
Sømløse, automatiserte prosesser
«Integrasjonsbuss»Businesscase:
Reduserer endringskost fra N² → 2N
...eller..?
«Integrasjonsbuss»N² → 2N forutsetter to systemkvaliteter
• Endringsevne• Samhandlingsevne (interoperabilitet)
som må eksternaliseres (delegeres) til bussen
Systemkvalitet: Endringsevne
«Modifiability is about change, and our
interest in it centers on the cost and risk of
making changes»Ref.: Bass et al, 2012
ENDRINGSKOST ved håndkoding:
antall integrasjoner
*endringskost ved
håndkoding
ENDRINGSKOST ved
automatisering:
(antall integrasjoner
*endringskost ved automatisering)
+implementasjonsk
ost ved automatisering
Ref.: Bass et al, 2012
Systemkvalitet: Endringsevne
Compile or build time
Deploy time
Startup or initializatio
n time
Runtime
Automation(dynamic)
Hand coding
«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…
Systemkvalitet: Samhandlingsevne
«Interoperability is about the degree to which two or more systems can usefully
exchange meaningful information via interfaces in
a particular context» Ref.: Bass et al, 2012
Ref.: Bass et al, 2012
Systemkvalitet: Samhandlingsevne
Compile or build time
Deploy time
Startup or initializatio
n time
Runtime
Automation(dynamic)
Hand coding
«Integrasjonsbuss»
Composability
Conceptual interoperability
Dynamic interoperability
Interoperability
Pragmatic interoperability
Semantic interoperability
Integretability
Syntactic interoperability
Technical interoperability
Compile or build time
Deploy time
Startup or initializatio
n 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)
Syntaktisk interoperabilitet?
Composability
Conceptual interoperability
Dynamic interoperability
Interoperability
Pragmatic interoperability
Semantic interoperability
Integretability
Syntactic interoperability
Technical interoperability
Compile or build time
Deploy time
Startup or initializatio
n time
Runtime
Realiteten? Mer ambisiøse «integrasjonsbuss»-implementasjoner i 2016…
Hand coding
Automation(dynamic)
Felles datamodell…
IFS
360
Turnus
SharePointOppgaver
Tidlig binding mot felles datamodell
Composability
Conceptual interoperability
Dynamic interoperability
Interoperability
Pragmatic interoperability
Semantic interoperability
Integretability
Syntactic interoperability
Technical interoperability
Compile or build time
Deploy time
Startup or initializatio
n time
Runtime
FORBI samhandlingsevnen til mer ambisiøse «integrasjonsbusser» i 2016…
Automation(dynamic)
Arkiv
HR Regnskap
Composability: Hva om vi kunne kople data og datamodeller dynamisk etter behov?
DuplikaterKontakt=Kontakt
Location= Avdnr Empnr=ID1
Avdnr=Depnr
Arkiv
HR
Turnus
Regnskap
Lønn
Forutsetter konseptuell interoperabilitet: Behold datamodellene fra kildene – kopier dataene inn i en felles «space»
IFS
360
Super-office
SharePointOppgaver
Sen binding av datamodell
Outlook
Arkiv
HR
Turnus
Regnskap
Lønn
Dynamisk interoperabilitet: Integrasjon via «nav» med løse koplinger og standardisert protokoll
Nav
Anbefalte database-typer for formålet…Grafdatabaser
Trippel-databaser (spesialiserte grafdatabaser)
Ref.: http://db-engines.com/en/ranking/graph+dbmsRef.: http://db-engines.com/en/ranking/rdf+store
女性
Semantisk integrasjon
源氏
男性
人
夕顔との出会い
夕顔
出来事
参加 参加
Typer
subtypesubtype
type-instancetype-instance
Fictional characte
r
Prince
Genji
type-instance
sameAs
Fictional work
The Tale of
Genji
type-instance
appears-in
Identifisering av duplikaterLeverand
ør
Kunde
Selskap
Kunde
CRM
Kunde
Billing
Triple Store Duke
Field Record 1 Record 2 Probability
Name acme inc acme inc 0.9Assoc no 17747770
70.5
Zip code 9161 9161 0.6Country norway norway 0.51Address 1
mb 113 mailbox 113
0.49
Address 2
0.5
Produkt
navn
pris beskrivelse
Fysisk Produk
t
bilde
vekt
Tjeneste
kompetansekrav
Arkiv
HR
Turnus
Regnskap
Lønn
Dataorientert integrasjon!
Nav
Ansatt
L/T-arter
AnsattAnsattAnsatt
L/T-arter
Composability
Conceptual interoperability
Dynamic interoperability
Interoperability
Pragmatic interoperability
Semantic interoperability
Integretability
Syntactic interoperability
Technical interoperability
Compile or build time
Deploy time
Startup or initializatio
n time
Runtime
Dataorientert integrasjon: FORBI samhandlingsevnen til ambisiøse
«integrasjonsbusser» i 2016…
Automation(dynamic)
Dataorientert integrasjon i Norge – noen eksempler• Hafslund – Integrasjon, Arkiv, Søk• Hafslund Nett – Integrasjon• Statnett – Integrasjon, Arkiv, Søk• Oslo kommune – Arkiv• DNV-GL – Integrasjon, Søk• Riksantikvaren – Integrasjon, Arkiv, Søk• Høyre – Integrasjon• Riksarkivet – Integrasjon, Arkiv• Jernbaneverket – Integrasjon• DIFI – Arkiv, Integrasjon
«Integrasjonsbuss»Businesscase:
Reduserer endringskost fra N² → 2N
...eller..?
Tjeneste-/meldingsorientert
Dataorientert
Antall systemer som er datakilder (mastere) for mottakerenTim
er F
TE fo
r å in
tegr
ere
ny m
otta
ker
Tjenesteorientert eller dataorientert? To scenarioer for sammenlikning av kost
Systemintegrasjon i Sporveien - veivalg og anbefalinger 30
Sammenlikningsscenario 1: Nytt system – én eller flere
datakilderEt 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 mottakereScenario: 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
Tim
er F
TE fo
r å o
ppda
tere
inte
gras
jone
ne
Tjeneste-/meldingsorientert
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.
Plattformvalg og konsekvenserTjeneste-/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
…Eller «Ja takk – begge deler»…?
Operativt dataregister
Grad av
samhandling
Høy
KoordinertUnike enheter som samhandler om
felles mål/produkter/…IT: Tilgang til delte data gjennom
standardiserte grensesnitt
EnhetligOmforent enhet med globalt
standardiserte prosesser og global tilgang til data
IT: Tilby prosesstøtte og global tilgang til data
Lav
DiversifisertUavhengige enheter med ulike brukergrupper og ekspertise
IT: Tilby fellestjenester som ikke er til hinder for uavhengigheten
ReplikertUavhengige, men svært like enheter
med felles praksisIT: Tilby prosesstøtte og
standardisert infrastruktur
Lav Høy
Grad av standardisering
34
Database
Open Data
File System
Enterprise
SearchReportin
g
Analytics
Data Hub
System X
Public Open Data
Content Mngmt
Enhance and
Connect
COLLECT
CONNECT
SHARE
Tran
sfor
m
Direktoratet
Elever
Skoler og lærere
Leverandører av læringsressurser
Fag
Hovedområder
Kompetansemål
Lokale læreplaner Ressurserfra
Skolenettet
Ressurserfraprivateaktører
Materialefunnet ellerlaget avlærere
Materialefunnet ellerlaget avelever
• Veilede • Tilrettelegge• Skape muligheter
Utdanningsdirektoratets læreplaner: Delt datamodell med forskriftsstatus
for grunnutdanningen
PRODUSENT KONSUMENTMEDIATOR
• “Discovery”• “Trust metrics”• Filtrering• Abonnement
• Registrering• Notifikasjon • Indeksering• Aggregering
Aggregator
• Finne• Sammenstille
• Dele• Tilgjengeliggjøre
”Abonnere på et søk!”
Atom/RSS (inkl. podcasts)SMS/MMSIM/XMPPEpostKalendersynk.…
ProsedyreorientertData vurderes som mindre viktig enn kode, og lukkes inne i koden
ObjektorientertData likestilles med kode, men lukkes fortsatt inne – nå i databaser. Manuell uthenting, konvertering og innlasting fra system til system
Tjeneste-/meldingsorientertData 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
DataorientertData 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)
Fra tjenesteorientert til dataorientert integrasjonStian Danenbarger / 54°25′52″S 3°17′52″[email protected] @stidan no.linkedin.com/in/stian
Sømløs, automatisk oppdatert tilstands-
informasjon
Sømløse, automatiserte prosesser