Geodata har vært på AWS siden den spede begynnelse i 2008. Presentasjonen omhandler våre erfaringer og hvordan vi har benyttet AWS for å effektivisere vår utvikling av tjenester og løsninger.
Hva Og Hvorfor Arkitektur - 11. mai 2010, TrondheimEspen Johanson
Arkitektur – hvorfor, hva og hvordan?
Sjefsarkitekt Tore Stokkedal fra IBM presenterer nytteverdien av å ha et sterkt fokus på IT-arkitektur.
Han belyser hva industrien mener IT-arkitektur er, og hvordan arkitektrollen skal fungere med eksempler fra praktisk erfaring gjennom 10 år som sjefsarkitekt i ulike typer prosjekter.
Om foredragsholderen:
Tore Stokkedal er sertifisert IT-arkitekt gjennom Open Group og har bred erfaring som IT-arkitekt fra større infrastruktur- og applikasjonsutviklingsprosjekter. Han er for tiden sjefsarkitekt for IBMs outsourcingsvirksomhet i Norge. Tore er opptatt av hvordan arkitekturarbeid legger verdi til prosjekter og virksomheter, samt hvordan rollen IT-arkitekt skal utføres.
Oslo kommune har over mange år bygget opp et stort felles applikasjonshotell og integrasjonsplattform ved hjelp av mikrotjenester. De kjører nærmere 200 mikrotjenester og er i stadig vekst på grunn av stor politisk satsning på digitale tjenester. Utviklerne jobber etter DevOps-prinsipper på grunn av alle de mange parallelle leveransene til alle kommunens 40 virksomheter.
For å skalere plattformen med tanke på antall utviklere, utvidet last, økt mengde parallell aktivitet samt økte krav til time-to-market endrer kommunen nå både overordnet arkitekturmålbilde og strategi for utvikling av nye tjenester. Foredraget vil gi innblikk i veien frem til dagens situasjon, nåbildet og fremtidig målarkitektur.
Foredraget er primært for CTO/CIO, arkitekter og tekniske prosjektledere.
Speakers:
Speakers
Jan Henrik Gundelsby
CTO, Knowit Objectnet
Jan Henrik er CTO i Knowit Objectnet. Han har 20 års erfaring med teknologi på JVMen. Har de siste årene syslet mye med applikasjonsdrift, mikrotjenester og DevOps sentralt i Oslo kommune. En ivrig lettvekts-fantast som forsøker å jobbe mot smidige arkitekturer og løsninger.
Markus Krallinger
Systemutvikler- og arkitekt, Knowit Objectnet
Markus er systemutvikler- og arkitekt i Knowit Objectnet. De tre siste årene har han jobbet med applikasjonsdrift - og JVM-utvikling på Oslo kommunes mikrotjenesteplattform. Akkurat nå er han sentral i planleggingen av Oslos fremtidige integrasjon- og applikasjonsplattform som arkitekt.
Geodata har vært på AWS siden den spede begynnelse i 2008. Presentasjonen omhandler våre erfaringer og hvordan vi har benyttet AWS for å effektivisere vår utvikling av tjenester og løsninger.
Hva Og Hvorfor Arkitektur - 11. mai 2010, TrondheimEspen Johanson
Arkitektur – hvorfor, hva og hvordan?
Sjefsarkitekt Tore Stokkedal fra IBM presenterer nytteverdien av å ha et sterkt fokus på IT-arkitektur.
Han belyser hva industrien mener IT-arkitektur er, og hvordan arkitektrollen skal fungere med eksempler fra praktisk erfaring gjennom 10 år som sjefsarkitekt i ulike typer prosjekter.
Om foredragsholderen:
Tore Stokkedal er sertifisert IT-arkitekt gjennom Open Group og har bred erfaring som IT-arkitekt fra større infrastruktur- og applikasjonsutviklingsprosjekter. Han er for tiden sjefsarkitekt for IBMs outsourcingsvirksomhet i Norge. Tore er opptatt av hvordan arkitekturarbeid legger verdi til prosjekter og virksomheter, samt hvordan rollen IT-arkitekt skal utføres.
Oslo kommune har over mange år bygget opp et stort felles applikasjonshotell og integrasjonsplattform ved hjelp av mikrotjenester. De kjører nærmere 200 mikrotjenester og er i stadig vekst på grunn av stor politisk satsning på digitale tjenester. Utviklerne jobber etter DevOps-prinsipper på grunn av alle de mange parallelle leveransene til alle kommunens 40 virksomheter.
For å skalere plattformen med tanke på antall utviklere, utvidet last, økt mengde parallell aktivitet samt økte krav til time-to-market endrer kommunen nå både overordnet arkitekturmålbilde og strategi for utvikling av nye tjenester. Foredraget vil gi innblikk i veien frem til dagens situasjon, nåbildet og fremtidig målarkitektur.
Foredraget er primært for CTO/CIO, arkitekter og tekniske prosjektledere.
Speakers:
Speakers
Jan Henrik Gundelsby
CTO, Knowit Objectnet
Jan Henrik er CTO i Knowit Objectnet. Han har 20 års erfaring med teknologi på JVMen. Har de siste årene syslet mye med applikasjonsdrift, mikrotjenester og DevOps sentralt i Oslo kommune. En ivrig lettvekts-fantast som forsøker å jobbe mot smidige arkitekturer og løsninger.
Markus Krallinger
Systemutvikler- og arkitekt, Knowit Objectnet
Markus er systemutvikler- og arkitekt i Knowit Objectnet. De tre siste årene har han jobbet med applikasjonsdrift - og JVM-utvikling på Oslo kommunes mikrotjenesteplattform. Akkurat nå er han sentral i planleggingen av Oslos fremtidige integrasjon- og applikasjonsplattform som arkitekt.
Hvis en skal lage løsninger hvor mange delsystemer skal snakke sammen, blir det ofte mye "plumbing code" for å få demonstrert noe, og det tar tid å lage. Selve logikken blir ofte liten i forhold. Node-RED er et Open Source node.js-basert klikk-og-pek verktøy som lar deg koble sammen en mengde systemer (med Twitter, mail, http, websockets, rest, mqtt, etc.) og slå opp i databaser, sjekke filer, etc. Du kan derfor produsere prototyper og iterere sammen med kunden i rekordfart.
Geografiske analyser i ArcGIS - Esri norsk BK 2014Geodata AS
Minikurset gir deg tips om hvilke betrakninger man bør gjøre i forkant av analyser i ArcGIS for Desktop, hvordan man kan automatisere analyseprosessen med ModelBuilder og ikke minst presentere og dele resultatet med ArcGIS Online. I tillegg ser vi på oppsett og bruk av analysetjenester med ArcGIS for Server. Gled deg til mange praktiske eksempler og demonstrasjoner.
Presentasjon fra Software 2014, på sporet "Intraprenørskap".
Få innspill til å kjøre prototyper for å støtte forretningsutvikling med IT-modernisering. Arbeidsform, plan, team-sammensetning og kostnader vil bli presentert.
Forenkling av skjemaveldet er krevende, men viktig. Skatteetatens demonstrer innovasjon i praksis ved å bruke prototyping i skyen for å støtte tverrfaglig samarbeid.
Presentation in Norwegian given at the usability conference Yggdrasil 2008. Gives you hints on where to start when you as a designer enter a SharePoint project.
Hvis en skal lage løsninger hvor mange delsystemer skal snakke sammen, blir det ofte mye "plumbing code" for å få demonstrert noe, og det tar tid å lage. Selve logikken blir ofte liten i forhold. Node-RED er et Open Source node.js-basert klikk-og-pek verktøy som lar deg koble sammen en mengde systemer (med Twitter, mail, http, websockets, rest, mqtt, etc.) og slå opp i databaser, sjekke filer, etc. Du kan derfor produsere prototyper og iterere sammen med kunden i rekordfart.
Geografiske analyser i ArcGIS - Esri norsk BK 2014Geodata AS
Minikurset gir deg tips om hvilke betrakninger man bør gjøre i forkant av analyser i ArcGIS for Desktop, hvordan man kan automatisere analyseprosessen med ModelBuilder og ikke minst presentere og dele resultatet med ArcGIS Online. I tillegg ser vi på oppsett og bruk av analysetjenester med ArcGIS for Server. Gled deg til mange praktiske eksempler og demonstrasjoner.
Presentasjon fra Software 2014, på sporet "Intraprenørskap".
Få innspill til å kjøre prototyper for å støtte forretningsutvikling med IT-modernisering. Arbeidsform, plan, team-sammensetning og kostnader vil bli presentert.
Forenkling av skjemaveldet er krevende, men viktig. Skatteetatens demonstrer innovasjon i praksis ved å bruke prototyping i skyen for å støtte tverrfaglig samarbeid.
Presentation in Norwegian given at the usability conference Yggdrasil 2008. Gives you hints on where to start when you as a designer enter a SharePoint project.
2. Om foredraget
ALM avdelingen har siden 2012 jobbet med innføring av smidig
metoder hos Stortinget. Foredraget oppsummere våre erfaringer og
vil spesifikt adressere hvordan data-modellering, persistens av data
og kontinuerlig leveranse bidro til endring av utviklingsprosessen.
3. Bakgrunn
• Stortingets IKT-avdeling har en utviklergruppe på seks personer.
• Inmeta (ALM) kom inn via en rammeavtale på et
kompetansehevings prosjekt.
• Fomålet med prosjektet var å løfte IKT-avdelingen over på
moderne utvikling med ALM via opplæring og coaching.
• En web applikasjon skulle utvikles som en del av prosjektet.
• Prosjektet varte halv annet år.
4. Utgangspunktet
Prosess
• Ingen definert eller smidig prosess (litt ITIL…)
• Ingen produkteiere
• Tekniske kravspekker
• Fossefall
• Fragmentert ansvar
Teknologi
• Database-sentrisk (business logikk i lagrede prosedyrer)
• Web-Forms med datareader i code-behind
• Bruker TFS, men kun som source control
• Ikke erfaring med smidig, enhetstester, bygg, test, QA
6. Learning by doing
Opplæring ved å praktisere
Litt om applikasjonen
• En web-applikasjon for administrasjon av ansatte/eksterne
• Integrasjon mot eksterne applikasjoner.
Teknologi
• ASP.Net MVC / jQuery
• Entity Framework (Code First)
7. Hvor begynner man?
class StortingsInfo
Avdeling
Id* :int
Navn :string
Kortnavn :string
Beskrivelse :string
Sporing :Sporing
Seksjon
Id* :int
Avdeling :Avdeling
Navn :string
Kortnavn :string
Beskrivelse :string
Sporing :Sporing
Parti
Id* :int
Partikode :string
Navn :string
Kortnavn :string
Sporing :Sporing
Seksjonsgruppe
Id* :int
Seksjon :Seksjon
Navn :string
Kortnavn :string
Beskrivelse :string
Sporing :Sporing
OrgEnhet
Id* :int
Navn :string
Kortnavn :string
Beskrivelse :string
Rom
Id* :int
RomType :id
RomNr :string
Beskrivelse :String
Merknad :string
TlfIntern :string
Bygningskode :id
OrgEnhet :id
Sporing :Sporing
Firma
Id* :int
Navn :string
BransjeId :int
Orgnr :string
Postadresse :string
Postnr :string
Kontaktpersoner :List<Person>
Telefon :string
OrgEnheter :List<OrgEnhet>
Sporing :Sporing
Komite
Id* :int
Kode :string
Navn :string
Kortnavn :string
Beskrivelse :string
Eksempel på merknad:
"Kun betjent i et gitt
tidsrom"
RomType
Id* :int
Type :int
Brukskode :string
Beskrivelse :string
FunksjonerOgTjenester
Id* :int
Navn :int
OrgEnhet :id
Rom :Rom
Sporing :Sporing
Beskrivelse :string
Epostadresse :string
TlfIntern :string
Status :string
Sluttdato :date
Startdato :date
Postmottak :Postmottak
Postmottak
Id :int
Navn :string
Etternavn :string
Beskrivelse :string
OrgEnhet :IOrgEnhet
Avdeling :Avdeling
Seksjon :Seksjon
Epostadresse :string
AdBrukernavn :string
0..*
0..*
0..*
Kravhåndtering
Arkitektur
UtviklingTesting
Installasjon
Forvaltning
composite structure Person
Person
Id* :int
Sporing :Sporing
Personalia :Personalia
Fasiliteter :Fasiliteter
Status :PersonStatus
Stortingsansatt :Stortingsansatt
Gruppeansatt :Gruppeansatt
EksternPerson :EksternPerson
EposPerson :EposPerson
TiltredelsesPerioder :List<TiltredelsesPeriode>
Fodselsdato :string
EpostPrivat :string
Stortingsansatt
PersonId* :int
Person :Person
PersonKategori :PersonKategori
Status :PersonStatus
Ansettelsesforhold :Ansettelsesforhold
TiltredelsesPeriode :TiltredelsesPeriode
Stilling :Stilling
OrgEnhet :OrgEnhet
Avdeling :Avdeling
Seksjon :Seksjon
SeksjonsGruppe :SeksjonsGruppe
Permisjon :Permisjon
VikarFor :Person
Komite :Komite
Idkort :Idkort
Fasiliteter
AdBrukernavn :string
SkalHaRom :bool
Rom :Rom
InternTlf :string
BiblioteksId :int?
Personalia
Etternavn :string
Fornavn :string
Fodselsdato :DateTime
AdressePrivat :Adresse
TlfMobil :string
TlfHjemme :string
TlfArbeid :string
Adresse
Linje :string
PostNr :string
Poststed :string
Land :string
Permisjon
Fra :DateTime
Til :DateTime
PermAarsak :string
Ansettelsesforhold
Id* :int
Navn :string
ForStortingsansatt :bool
ForGruppeansatt :bool
PersonStatus
Kommer
Aktiv
Permisjon
Sluttet
StortingsansattEndring
Id* :int
Stortingsansatt :Stortingsansatt
EndringFra :DateTime
Ansettelsesforhold :Ansettelsesforhold
Stilling :Stilling
Avdeling :Avdeling
Seksjon :Seksjon
SeksjonsGruppe :SeksjonsGruppe
1 1
1
0..1
1
0..1
1
10..*
8. Domene-modellering
Før
• Domene-språket reflekterte relasjonsdata i database (SQL)
• Fokus på optimalisering
• Tekniske diskusjoner uten innhold
Etter
• Domene-språket reflekterte virkeligheten
• Fokus på innhold
• Objekt-orientert
• Domene-modell != Database, Domene-modell => Database
Om optimalisering
“… We should forget about small efficiencies, say about
97% of the time: premature optimization is the root of
all evil. Yet we should not pass up our opportunities in
that critical 3%”
- Donaldt Knuth
Kravhåndtering
Arkitektur
UtviklingTesting
Installasjon
Forvaltning
9. Mapping med ORM (EF)
EF tilbyr tre måter å mappe objekter /
relasjonsdata:
• Database First (Generering)
• Model First (POCO/Generering)
• Code First (POCO)
Kravhåndtering
Arkitektur
UtviklingTesting
Installasjon
Forvaltning
10. Database First – Erfaringer
Positivt
• Valgfri database-modelleringsverkøy
• Visualisering i designer
• Enkelt, lav læringskurve
• Optimalisering av database
Negativt
• Database-sentrisk domene modell
• Generering/Partial classes
• Ikke 100% sporbarhet
Kravhåndtering
Arkitektur
UtviklingTesting
Installasjon
Forvaltning
11. Model First - Erfaringer
Positivt
• Visualisering av mapping i designer
• GUI for mapping
• Sporbarhet
Negativt
• Dårlig tooling (bugs i designer)
• Generering/Partial classes
• Merging av XML
Kravhåndtering
Arkitektur
UtviklingTesting
Installasjon
Forvaltning
12. Code First - Erfaringer
Positivt
• POCO, OOP-sentrisk
• Convensions over configuration
• Merge-vennlig
• 100% sporbarhet
• (Migrations)
Negativt
• Mapping ikke visualisert
• Høy læringskurve ved komplisert mapping
Kravhåndtering
Arkitektur
UtviklingTesting
Installasjon
Forvaltning
15. Testing
Før
• Ad-hoc testing i ikke-sporbare (multiple) testmiljø
• Ingen test-planer
• Ingen enhetstester
Etter
• Automatisert testmiljø
• Testplaner (delvis)
• Enhetstester
Utfordring
• Manuelle testere / Tid
Kravhåndtering
Arkitektur
UtviklingTesting
Installasjon
Forvaltning
16. Continous Integration
Før
• Ingen bygg
• Ingen feedback
• “Works on my machine”
Etter
• Automatisert feedback
• Sporbarhet
Kravhåndtering
Arkitektur
UtviklingTesting
Installasjon
Forvaltning
18. Infrastruktur
Før
• Database pr. utvikler/miljø
• Endringer direkte i test/prod
• Lite dokumentasjon
Etter
• Alt i kildekode, 100% sporbarhet
• Automatisering, repeterbarhet
• Dokumentasjon via installasjons-diagrammer
Kravhåndtering
Arkitektur
UtviklingTesting
Installasjon
Forvaltning
19. Oppsumering
• Domenespråk fremfor teknologispråk Effektiv og tydelig kommunikasjon
• OOP fremfor database-sentrisk Synlig og tydelig forretningslogikk
• Automatisering fremfor waste Smidighet, kvalitet, effektivitet
• Team fremfor individer Samarbeid, effektivitet, engasjement
• Kildekode fremfor databaser Sporbarhet, tigjengelighet, effektivitet, kvalitet
Utfordringer
• Endring tar tid!
• Forvent mostand og endringsfrykt!
• Indentifiser champions