Fredrik Hansen: Erfaringer på veien mot bruk av fri programvare
1. Erfaringer på veien mot bruk av fri
programvare
SGFinans24 - Selvbetjentløsning
GoOpen 2009 – Fredrik Hansen
2. 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
3. • Norsk konsulentselskap
• Kontor i Oslo og Trondheim
• Prosjekter i Norge og internasjonalt
• ErgoGroup som hovedeier (75 %)
• Rådgivning, Teknologi og
Forvaltning
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 3
4. • En del av SG Equipment Finance
(SGEF) - Europas nr. 1 på leasing
• 16 kontorer i Norge, 6 i Sverige og
2 i Danmark
• Norges ledende
finansieringsselskap innen
equipment leasing og factoring
• Opprettet i Norge etter krav fra
konkurransetilsynet. (Fusjon av
Gjensidige NOR og DNB)
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 4
5. SG Finans24
Webløsning for å sende inn og automatisk behandle leasingsøknader
Søknader kan så behandles i ett saksbehandlerverktøy.
SGFinans24
Finansfront
Java
Fagsystem
Cobol
Side 5
6. SG Finans 24
Presentasjonslaget
• Henter innhold fra Fatwire
SGFinans24
Finansfront
Web
Rik klient
• Webklienten tilgjengliggjør ett søknadsløp
med automatisk kreditsjekk
Felles med Saksbehandlerklient
Fatwire CMS
Back end • Noe felles kode i back end
LDAP
• Samme LDAP – Brukeradministrasjon
Java, EJB2
Database
• Felles for begge applikasjonene
BEA Weblogic
Microsoft Windows Server
Database Fatwire
BEA
Microsoft SQL Server Weblogic
Microsoft Server
Microsoft Windows Server
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 6
7. 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
SG Finans hadde et behov for å bygge inn ny funksjonalitet som ville
kreve store endringer i systemet.
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 7
8. Ny løsning
Skrive om SG Finans 24
Finansfront SGFinans24
Rik klient Web
• Bruke Ruby on Rails (Fri
programvare)
• Beholde database
• Benytte samme
Fatwire CMS
LDAP(brukerdatabase)
Back end
Back end LDAP • Integrasjon på Databasenivå
Java, EJB2p
Java, EJB2
• Beholde infrastruktur
Parallelt med forvaltning
• Utvikle løsningen samtidig
BEA Weblogic
med forvaltning av gammel
løsning
Microsoft Windows Server
• Bruke Scrum som metode for
utviklingen
Database Fatwire
BEA
Microsoft SQL Server Weblogic
Microsoft Server
Microsoft Windows Server
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 8
9. Ny løsning
Skrive om SG Finans 24
SGFinans
Finansfront SGFinans24 24
Rik klient Web
• Bruke Ruby on Rails (Fri
Web2.0
programvare)
• Beholde database
• Benytte samme
Fatwire CMS
Back LDAP(brukerdatabase)
Back end
Back end LDAP end • Integrasjon på Databasenivå
Java, EJB2p
Java, EJB2
• Beholde infrastruktur
Ruby on
Rails
Parallelt med forvaltning
• Utvikle løsningen samtidig
BEA Weblogic Glassfish
med forvaltning av gammel
løsning
Microsoft Windows Server
• Bruke Scrum som metode for
utviklingen
Database Fatwire
BEA
Microsoft SQL Server Weblogic
Microsoft Server
Microsoft Windows Server
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 9
10. Ny løsning
Skrive om SG Finans 24
SGFinans
Finansfront SGFinans24 24
Rik klient Web
• Bruke Ruby on Rails (Fri
Web2.0
programvare)
• Beholde database
• Benytte samme
Fatwire CMS
Back LDAP(brukerdatabase)
Back end LDAP end • Integrasjon på Databasenivå
Java, EJB2p
• Beholde infrastruktur
Ruby on
Rails
Parallelt med forvaltning
• Utvikle løsningen samtidig
BEA Weblogic Glassfish
med forvaltning av gammel
løsning
Microsoft Windows Server
• Bruke Scrum som metode for
utviklingen
Database Fatwire
BEA
Microsoft SQL Server Weblogic
Microsoft Server
Microsoft Windows Server
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 10
11. 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
Innførte ny løsning for noen utvalgte leverandører
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 11
12. Fri Programvare
Rammeverk/Applikasjon
Ruby Ruby on rails
Infrastruktur
Glassfish
Testrammeverk
Fit RSpec Watir
Utviklingsmiljø
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 12
13. Erfaringer
Raskt å utvikle i Rammeverk/Applikasjon
Ruby Ruby on rails
Noen utfordringer med
Microsoft SQL Server
Infrastruktur
Reparer feil og få de sendt inn Glassfish
– Endringene med i neste
utrulling. Testrammeverk
– Ofte nye utrullinger. Fit RSpec Watir
Kortet drastisk ned på Utviklingsmiljø
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
14. Erfaringer
Raskt oppe å virket. Rammeverk/Applikasjon
Ruby Ruby on rails
Lite dokumentasjon å finne
om drifting av Glassfish.
Infrastruktur
Stabilt i produksjon Glassfish
Ustabilitet i utvikling
Testrammeverk
Fit RSpec Watir
Utviklingsmiljø
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 14
15. Erfaringer
Automatisert testing gir verdi! Rammeverk/Applikasjon
Ruby Ruby on rails
Fit
– Regneark med Infrastruktur
leasingformler til
Glassfish
leasingkalkulatoren
– Automatisk oversatt til Testrammeverk
tester som kjøres
Fit RSpec Watir
kontinuerlig
Testene også lesbare for Utviklingsmiljø
”menigmann”
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 15
17. Erfaringer
Automatisert testing gir Rammeverk/Applikasjon
verdi! Ruby Ruby on rails
Fit
Infrastruktur
– Regneark med
Glassfish
leasingformler til
leasingkalkulatoren
Testrammeverk
– Automatisk oversatt til
Fit RSpec Watir
tester som kjøres
kontinuerlig
Utviklingsmiljø
Testene også lesbare for
”menigmann”
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 17
18. Erfaringer
Ruby krever mye tester Rammeverk/Applikasjon
Ruby Ruby on rails
– Kode sjekkes ikke før den
kjøres
Infrastruktur
Lite verktøystøtte for Ruby
Glassfish
Rask utvikling.
Testrammeverk
Kontinuerlig Integrasjon
avslører feil raskt Fit RSpec Watir
Utviklingsmiljø
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 18
19. Å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
20. Å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
21. Resultatet i kodelinjer
Resultatet
• Norsk løsning: 50 000 linjer
• Dansk løsning : 50 000 linjer
• Automatiserte Tester: 0 • Norsk og dansk løsning
Linjer samlet: 3 835 linjer
• Totalt : 100 000 linjer • Tester: 10 418 linjer
• Totalt: 14 253 linjer
Utgangspunktet
Side 21
23. Hvordan vil du rangere den nye løsningen?
Relevant redaksjonelt innhold
Responstid (får raskt sendt inn sak)
Brukervennlighet
Funksjoner/funksjonalitet som er
relevant for deg
0 1 2 3 4 5 6
Basert på tall hentet fra ”Forhandlerundersøkelse Partnere SOFE IKT” 8/11 2008 - utført av SG Finans
Erfaringer på veien mot bruk av fri programvare i selvbetjentløsninger Side 23