fredrik hansen: erfaringer på veien mot bruk av fri programvare
DESCRIPTION
Fredrik Hansens foredrag under GoOpen 2009TRANSCRIPT
Erfaringer på veien mot bruk av fri programvareprogramvare
SGFinans24 - Selvbetjentløsning
GoOpen 2009 – Fredrik Hansen
Tema
� Hva har vi gjort?
� Erfaringer ved bruk av spesifikk fri programvare
� Generelle erfaringer ved bruk av fri programvare i prosjektet.
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 2
• Norsk konsulentselskap
• Kontor i Oslo og Trondheim
• Prosjekter i Norge og internasjonalt
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 3
• Prosjekter i Norge og internasjonalt
• ErgoGroup som hovedeier (75 %)
• Rådgivning, Teknologi ogForvaltning
• En del av SG Equipment Finance (SGEF) - Europas nr. 1 på leasing
• 16 kontorer i Norge, 6 i Sverige og 2 i Danmark
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 4
• Norges ledende finansieringsselskap innen equipment leasing og factoring
• Opprettet i Norge etter krav fra konkurransetilsynet. (Fusjon av Gjensidige NOR og DNB)
SG Finans24
� Webløsning for å sende inn og automatisk behandle leasingsøknader
� Søknader kan så behandles i ett saksbehandlerverktøy.
SGFinans24
Side 5
FagsystemCobol
Finansfront
Java
SG Finans 24
FatwireCMS
LDAP
SGFinans24Web
FinansfrontRik klient
Back endJava, EJB2
Presentasjonslaget
• Henter innhold fra Fatwire•Webklienten tilgjengliggjør ett søknadsløp med automatisk kreditsjekk
Felles med Saksbehandlerklient• Noe felles kode i back end• Samme LDAP – Brukeradministrasjon
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 6
Microsoft Server
BEA WeblogicBEA WeblogicBEA Weblogic
Fatwire
Microsoft Windows Server
Microsoft Windows Server
BEA Weblogic
LDAP
Database
Microsoft SQL Server
Fatwire
Java, EJB2 • Samme LDAP – Brukeradministrasjon
Database• Felles for begge applikasjonene
Bakgrunn
� Gammel løsning var dyr å vedlikeholde.
– Lang tid å implementere ny funksjonalitet
– Duplisert kode
– Systemet var preget av hyppige endringer i forretningsvirksomhet.
– Endringer forårsaket ofte regresjonsfeil
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 7
� SG Finans hadde et behov for å bygge inn ny funksjonalitet som ville kreve store endringer i systemet.
Ny løsning
FatwireCMS
LDAPBack end
Java, EJB2p
SGFinans24Web
FinansfrontRik klient
Skrive om SG Finans 24• Bruke Ruby on Rails (Fri programvare)
• Beholde database• Benytte samme LDAP(brukerdatabase)
• Integrasjon på Databasenivå• Beholde infrastruktur
Back endJava, EJB2
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 8
Microsoft Server
BEA WeblogicBEA WeblogicBEA Weblogic
Fatwire
Microsoft Windows Server
Microsoft Windows Server
BEA Weblogic
LDAP
Java, EJB2p
Database
Microsoft SQL Server
Fatwire
• Beholde infrastruktur
Parallelt med forvaltning• Utvikle løsningen samtidig med forvaltning av gammel løsning
• Bruke Scrum som metode for utviklingen
Java, EJB2
Ny løsning
FatwireCMS
LDAPBack end
Java, EJB2p
SGFinans24Web
FinansfrontRik klient
Back endRuby on
SGFinans24
Web2.0
Skrive om SG Finans 24• Bruke Ruby on Rails (Fri programvare)
• Beholde database• Benytte samme LDAP(brukerdatabase)
• Integrasjon på Databasenivå• Beholde infrastruktur
Back endJava, EJB2
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 9
Microsoft Server
BEA WeblogicBEA WeblogicBEA Weblogic
Fatwire
Microsoft Windows Server
Microsoft Windows Server
BEA Weblogic
LDAP
Java, EJB2p
Glassfish
Ruby onRails
Database
Microsoft SQL Server
Fatwire
• Beholde infrastruktur
Parallelt med forvaltning• Utvikle løsningen samtidig med forvaltning av gammel løsning
• Bruke Scrum som metode for utviklingen
Java, EJB2
Ny løsning
FatwireCMS
LDAPBack end
Java, EJB2p
SGFinans24Web
FinansfrontRik klient
Back endRuby on
SGFinans24
Web2.0
Skrive om SG Finans 24• Bruke Ruby on Rails (Fri programvare)
• Beholde database• Benytte samme LDAP(brukerdatabase)
• Integrasjon på Databasenivå• Beholde infrastruktur
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 10
Microsoft Server
BEA WeblogicBEA WeblogicBEA Weblogic
Fatwire
Microsoft Windows Server
Microsoft Windows Server
BEA Weblogic
LDAP
Java, EJB2p
Glassfish
Ruby onRails
Database
Microsoft SQL Server
Fatwire
• Beholde infrastruktur
Parallelt med forvaltning• Utvikle løsningen samtidig med forvaltning av gammel løsning
• Bruke Scrum som metode for utviklingen
Hvorfor på denne måten?
� Steg 1 for å skrive om hele løsningen.
� ”Pilot” for ny totalløsning.
� Mulighet for tidlig tilbakemelding fra kunden
� Minimere risiko
� Beholdt gammel database
Kunne kjøre både ny og gammel løsning samtidig
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 11
� Kunne kjøre både ny og gammel løsning samtidig
� Innførte ny løsning for noen utvalgte leverandører
Fri Programvare
Rammeverk/Applikasjon
Ruby Ruby on rails
Infrastruktur
Glassfish
Testrammeverk
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 12
Testrammeverk
Fit RSpec Watir
Utviklingsmiljø
Erfaringer
� Raskt å utvikle i
� Noen utfordringer med Microsoft SQL Server
� Reparer feil og få de sendt inn
– Endringene med i neste utrulling.
Rammeverk/Applikasjon
Ruby Ruby on rails
Infrastruktur
Glassfish
Testrammeverkutrulling.
– Ofte nye utrullinger.
� Kortet drastisk ned på kodelinjer
� Ruby on Rails egner seg best hvis man lager noe fra bunn
– Convention over configuration
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 13
Testrammeverk
Fit RSpec Watir
Utviklingsmiljø
Erfaringer
Rammeverk/Applikasjon
Ruby Ruby on rails
Infrastruktur
Glassfish
Testrammeverk
� Raskt oppe å virket.
� Lite dokumentasjon å finne om drifting av Glassfish.
� Stabilt i produksjon
� Ustabilitet i utvikling
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 14
Testrammeverk
Fit RSpec Watir
Utviklingsmiljø
Erfaringer
Rammeverk/Applikasjon
Ruby Ruby on rails
Infrastruktur
Glassfish
Testrammeverk
� Automatisert testing gir verdi!
� Fit
– Regneark med leasingformler til leasingkalkulatoren
– Automatisk oversatt til
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 15
Testrammeverk
Fit RSpec Watir
Utviklingsmiljø
– Automatisk oversatt til tester som kjøres kontinuerlig
� Testene også lesbare for ”menigmann”
Selskapspresentasjon 2007 Side 16
Erfaringer
Rammeverk/Applikasjon
Ruby Ruby on rails
Infrastruktur
Glassfish
Testrammeverk
� Automatisert testing gir verdi!
� Fit
– Regneark med leasingformler til leasingkalkulatoren
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 17
Testrammeverk
Fit RSpec Watir
Utviklingsmiljø
– Automatisk oversatt til tester som kjøres kontinuerlig
� Testene også lesbare for ”menigmann”
Erfaringer
Rammeverk/Applikasjon
Ruby Ruby on rails
Infrastruktur
Glassfish
Testrammeverk
� Ruby krever mye tester
– Kode sjekkes ikke før den kjøres
� Lite verktøystøtte for Ruby
� Rask utvikling.
� Kontinuerlig Integrasjon
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 18
Testrammeverk
Fit RSpec Watir
Utviklingsmiljø
� Kontinuerlig Integrasjon avslører feil raskt
Åpen kildekode - Generelle erfaringer
� Kundeservice er overvurdert
– Åpen kildekode har ofte ”dedikerte” utviklere.
– Åpne koden og finn feilen selv. Ofte raskere enn å vente på hjelp
– Forum gir ofte svar.
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 19
– Forum gir ofte svar.
Åpen kildekode - Generelle erfaringer
� Utviklere svært fornøyd
– Føler at de gir.
– Bidrar til å gjøre det bedre.
– Artig å jobbe med.
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 20
Resultatet i kodelinjer
• Norsk løsning: 50 000 linjer• Dansk løsning : 50 000 linjer• Automatiserte Tester: 0 Linjer
• Totalt : 100 000 linjer
• Norsk og dansk løsning samlet: 3 835 linjer
• Tester: 10 418 linjer• Totalt: 14 253 linjer
Resultatet
Utgangspunktet
• Totalt: 14 253 linjer
Side 21
Dette er som om...
Side 22
Hvordan vil du rangere den nye løsningen?
Brukervennlighet
Responstid (får raskt sendt inn sak)
Relevant redaksjonelt innhold
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 23
Basert på tall hentet fra ”Forhandlerundersøkelse Partnere SOFE IKT” 8/11 2008 - utført av SG Finans
0 1 2 3 4 5 6
Funksjoner/funksjonalitet som er relevant for deg
BEKK CONSULTING ASSKUR 39, VIPPETANGEN. P.O. BOX 134 SENTRUM, 0102 OSLO, NORWAY. WWW.BEKK.NO
Fredrik Hansen
Manager+47 982 19 477