19
Open Source erfaringer i Norwegian Håvard Haug Hanssen Sjefsarkitekt, Kommersielle og Operative systemer i Norwegian

GoOpen 2010: Håvard Haug Hanssen

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: GoOpen 2010: Håvard Haug Hanssen

Open Source erfaringer i Norwegian

Håvard Haug HanssenSjefsarkitekt, Kommersielle og Operative systemer i Norwegian

Page 2: GoOpen 2010: Håvard Haug Hanssen

Hvem snakker...

• Håvard Haug Hanssen– Sjefsarkitekt, Kommersielle og Operative systemer– Ansvarlig for Norwegians internettportaler– Forretningsutvikling og Interaksjonsdesign– Prosjektleder med 40 leveranser i Norwegian– Siden 2003, startet ny E-handel plattform

• Bakgrunn generelt– 20 år med IT og internettutvikling– 15 år innen reiseliv og luftfart– Løsninger innen E-handel, Luftfart, Nettbank, Telekom,

Dokumenthåndtering, Utdanning

Page 3: GoOpen 2010: Håvard Haug Hanssen

Spørreundersøkelse...

• Hvem har reist med Norwegian?

• Hvem har brukt Lavpriskalenderen?

• Hvem vil ha internett ombord når de flyr??

Page 4: GoOpen 2010: Håvard Haug Hanssen

Mer enn 200 ruter til 90 destinasjoner

Page 5: GoOpen 2010: Håvard Haug Hanssen

Norwegian tall og fakta 1/4

• 4. største lavprisselskap i Europa

• 1600 ansatte og 47 fly

• 150 ruter til 82 destinasjoner

• Over 10 millioner passasjerer i 2009

• Gjentatt høy % vekst i omsetning og trafikk

0

200

400

600

800

1000

1200

1400

1600

1800

2003 2004 2005 2006 2007 2008 2009 2010 2011

% vekst i forhold til 2003

Page 6: GoOpen 2010: Håvard Haug Hanssen

Norwegian tall og fakta 2/4

• Internettrafikk– 90% av salget på internett– opptil 4,5 millioner besøk per dag– opptil 3 millioner prissøk per dag

Page 7: GoOpen 2010: Håvard Haug Hanssen

Norwegian tall og fakta 3/4

• IT Systemavdeling– 40 personer, 5 faste ansatte + innleide konsulenter– Kun Senior/Sjef nivå, flere konsulenthus, ulike miljøer– Organisert i team på ca 5 personer

• 2 team bruker .NET• 2 team bruker J2EE• Resten tilpasser ferdige løsninger

Page 8: GoOpen 2010: Håvard Haug Hanssen

Norwegian tall og fakta 4/4

• Løsningene– Standard hyllevare og egenutviklede systemer– Forretningsbasert, kommersielt styrt– Iterativ utvikling, ”Scrum but...”– Tjenesteorientert arkitektur– Fleksibel arkitektur, raske leveranser– Kunder er Kommersiell, Operativ og Teknisk avdeling

Page 9: GoOpen 2010: Håvard Haug Hanssen

Arkitekturen

Internettportal.NET

Bedriftsportal.NET

Agentportal.NET

Stasjonsportal.NET

B2B APIWeb servicesJ2EE/JBoss

Buss Transaksjoner Web servicesJ2EE/JBoss

SentraltjenesterWeb servicesJ2EE/JBoss

SentraltjenesterWeb services

.NET

Mobilportal.NET

Buss KøBizTalk, SQL ServerIBM Websphere MQ

Privat Bedrift Agent/Reisebyrå Flyplass/Stasjon Privat/Mobil Eksterne partnere

Page 10: GoOpen 2010: Håvard Haug Hanssen

TeamerfaringerPortalene

• Vurderinger– Bruker ikke Open Source– .NET dekker behovet– .NET er etablert hos

driftsleverandør og utviklingsressurser er lett tilgjengelig

• Erfaringer– Raskt å utvikle, krever rutiner for

å vedlikeholde kode over tid– Server Controller og eventer kan

være vanskelige å debugge– Grafisk presentasjon i Server

Controller kan unntaksvis være vanskelig å overstyre

• Bidrag/Forum– Søker kjente feil– Poster få spørsmål

• Livet er godt

• Eksempler– Publisering plugins

• EPIServer EPICode– Logging

• log4net– Patterns

• MVC• Localisation• Cache Manager• ...

– Bygging• Nant/CruiseControl

Page 11: GoOpen 2010: Håvard Haug Hanssen

TeamerfaringerIntegrasjon

• Vurderinger– Billig i oppstarten– Friheten til velge/bytte verktøy– Ingen lisensbinding på servere

etc– Enkle å jobbe med– Oppgradere når man vil– Debug muligheter (brukes

unntaksvis)• finne feilkilde i egen kode

eller rammeverk– Åpenhet rundt feil

• søke på nett

• Bidrag/Forum– Søker kjente feil– Poster lite spørsmål– Poster ikke feilrettinger

• Erfaringer– Byttet WS rammeverk

• Raskere, enklere kode, billigere(minne)

– Brukte umoden versjon av rammeverk

• Medførte begrensninger– Har ikke hatt behov for å inngå

supportavtaler

• Livet er godt

• Eksempler– Dependency Injection

• Guice– Caching

• OSCache– Validering

• OVal– Logging

• log4j– Web Service

• Apache CXF– AppServer

• JBoss– Bygging

• Maven– Testing

• TestNG, Mockito, Cucumber, SoapUI

– Scripting, Admin• Ruby

– Utviklingsverktøy• Eclipse

– Versjonskontroll• SubVersion, Git

– Operativsystem• Linux

Page 12: GoOpen 2010: Håvard Haug Hanssen

TeamerfaringerSentraltjenester 1/2

• Vurderinger (J2EE)– Slipper lisenser

• Rask oppgradering• Billig i oppstarten

– Bruker standarder• God dokumentasjon

– Lett å finne bugs• Kan debugge kildekoden

selv– Aktivt miljø

• Finne kjente feil• Åpent roadmap

• Erfaringer– Droppet MySQL

• Hadde SQLServer/ønsket å standardisere

• Bidrag/Forum– Søker kjente feil– Poster lite spørsmål– Poster ikke feilrettinger

• Livet er godt

• Eksempler– Rammeverk

• Spring– JMS (Java Messaging Service)

• ActiveMQ– WebApp

• Struts 2– Logging

• log4j– SQL Mapping

• Hibernate– SQL Driver

• JTDS– Web Service rammeverk

• Apache CXF– Appserver

• JBoss– Bygging

• Maven– Utviklingsverktøy

• Eclipse• Idea

– Operativsystem• Linux

Page 13: GoOpen 2010: Håvard Haug Hanssen

TeamerfaringerSentraltjenester 2/2

• Vurderinger (.NET)– Bruker ikke Open Source– .NET 3.5 dekker behovet– Utviklingen går riktig vei

• Erfaringer– Tidligere brukte vi flere

rammeverk, erstattet av senere versjoner av .NET

• Bidrag/Forum– Søker ofte feil– Poster lite spørsmål

• Livet er godt

• Eksempler– Web Service rammeverk

• Web Service Factory– Logging

• log4net– Bygging

• Nant/CruiseControl– Mocking

• Rhino

Page 14: GoOpen 2010: Håvard Haug Hanssen

TeamerfaringerStøttesystemer

• Vurderinger– Billig og bra nok– Mantis tungt å tilpasse– Confluence lisensiert

• Erfaringer– Kildekode har vært styrt av

teamene• ønsker samordning

• Eksempler– Informasjon/Planlegning

• Confluence– Bugtracker/Oppgave

• Mantis

Page 15: GoOpen 2010: Håvard Haug Hanssen

Oppsummering

• Våre systemer er forretningskritiske og leverer bra mht ytelse og stabilitet

• Både lukkede rammeverk (.NET) og Open Source rammeverk (J2EE) fungerer

• Teamene har vært selvstendige– fått lov til å styre intern teknisk arkitektur

• Etterhvert ser vi behov for koordinering/samkjøring– valg av løsninger– valg av rammeverk– kildekodestyring, integrert i både .NET og J2EE team– integrert oppgavesystem

Page 16: GoOpen 2010: Håvard Haug Hanssen

Forretningsstrategi og Åpenhet

• Flytransport er ekstremt konkurranseutsatt– IT er strategisk viktig for Norwegian– Forretningshemmeligheter må skjermes

• IT-utviklingen er kommersielt drevet– Vi må være kosteffektiv og kan bare kjøre lønnsomme

prosjekter– Lite/ingen penger til å bidra til Open Source prosjekter

• Konsekvens– Vi er nok mest brukere, ikke bidragsytere – Vi bruker standard rammeverk og lager få generelle løsninger

som andre kan bruke– Egenutviklet kildekode beskriver forretning og kan ikke

distribueres– Feks Lavpriskalenderen er patentert– Feks B2B API leveres kun kompilert, men har eget forum

$

Page 17: GoOpen 2010: Håvard Haug Hanssen

Totalkostnader

• I en famlende oppstart var det billig og fleksibelt å prøve seg fram med Open Source rammeverk

• Som etablert selskap er ikke kostnadsbildet like tydelig– Både lukkede rammeverk og Open Source modeller leverer– Men sparte Open Source lisenskostnader er forsvinnende små i

forhold til kostnader knyttet til utviklingstimer, maskinvare, drift- og supportavtaler

• Levetid– Både systemer basert på lukkede rammeverk og Open Source

er justert eller reimplementert flere ganger– Skyldes ikke rammeverk, men nye forretningskrav og nye

løsningsvalg

$$$

Page 18: GoOpen 2010: Håvard Haug Hanssen

Noen suksessfaktorer...

• Forretningssiden er med på utviklingen

• Tynn spec og mange iterasjoner

• Arkitekturvalg viser vei

• Leverer løsninger som er ”bra nok”

• Krav til forretning, fleksibilitet og leveranseevne viktigere enn tekniske diskusjoner

• Lære opp utviklerne til å tenke kommersielt– Mulighetene og begrensningene sitter i hodene, ikke i

rammeverkene...

!

Page 19: GoOpen 2010: Håvard Haug Hanssen

Takk for oppmerksomheten!