Post on 21-Dec-2014
description
Harmoni mellom teknologi og metodologi = økt produktivitet.
Av Henrik Larsen Toft
Takk til veileder: Lars-Petter Helland
Agenda
• Oppdragsgiver, problemet, løsningen• Bakgrunn• Problemstillinger• Webrammeverk• Utvikling av løsningen• Refleksjoner• Spørsmål?
OPPDRAGSGIVER, PROBLEMET, LØSNINGEN.
Kapittel 1.
Oppdragsgiver
• Bergen Centre for Computational Sciences
• Forskning:– Bioinformatikk– Systembiologi– Funksjonelle gener– ”Life Sciences”
• Befinner seg @ HIB
Problemet
• Stort felt• Geografisk stor spredning• Uoversiktlig forskning• Vanskelig å koordinere• Liten oversikt over kompetanse• Vanskelig å samarbeide• Skulle vært tettere og enklere
Løsningen
Arbeidsprosess
• ATCGGCTA = ATCGGCTA ?• Sekvens sammenstilling• Sekvens søking• Utføre beregninger på gen nivå• XML• BPEL / Taverna
BAKGRUNNKapittel 2.
Web 2.0
• Et noe diffust begrep (misforstått)• IKKE teknologi• Brainstorming av O’Reilly + MediaLive
Int.• Ny måte å bruke web • Kollektiv intelligens• Sosiale nettjenester• Samarbeid
Smidig utvikling
• Agile manifesto• Tidlig fungerende kode• Håndtere endringer i krav• Motiverte personer (meg selv)• Programvare mål på progresjon• KISS (maksimer arbeid som ikke blir
gjort)
Ruby on Rails
• Yukihiro “matz” Matsumoto + David Heinemeier Hansson = Ruby on Rails
• Åpenkildekode rammeverk for Ruby• Dynamisk• Fleksibelt• Naturlig / fokus på individer• Konvensjoner• Populært / framtredende• Smidig
Matz: ” Ruby is simple in appearance, but is very complex inside, just like our human body”
PROBLEMSTILLINGERKapittel 3.
Problemstillinger
• Harmoni mellom valgt teknologi og utviklingsmetodologi gir økt produktivitet?
• Hvordan kan Web 2.0 brukes til å løse problemene beskrevet tidligere?
• Hvordan kan moderne teknikker og teknologier som Ajax og REST nyttes for å utvikle et mer brukervennlig eSysBio?
• Evaluering av Ruby on Rails.
WEBRAMMEVERKKapittel 4.
Ruby on
Rails
JRuby on Rails
SpringStruts
Groovy on Rails
ASP.Net
Java Server
Faces
MerbPla
yTapestry
Dja
ngo
Ruby on Rails
Java Server Faces
Spring
SmidigModerneKISSDRYMVCPopulærtORMKonvensjoner×Må læres×På egenhånd×Dokumentasjon
JavaStort bibliotekHibernateMVCErfaringDokumentasjon×Komplisert×Konfigurasjon×Spennende?
JavaStort bibliotekJPADokumentasjon×Komplisert×Overkill×Spennende?
UTVIKLINGEN AV LØSNINGEN
Kapittel 5.
Om løsningen
• Ikke ”Hokus pokus”• MVC GP(gone pro)• Enkel datamodell• MySQL• Lite konfigurasjon
• REST hybrid• SOAP4r mot
webtjenester• AJAX• Scaffolding• TDD
Database tilkobling
Database persistens
MVC
Eksempel 1
Eksempel 2
Eksempel 3
Eksempel 4
REFLEKSJONERKapittel 6.
…
• Tror på økt produktivitet• Mer produktiv når vet hva man driver
med• Datamodellen er viktig• Skulle gjerne hatt klarere krav• Lært mye• Mye moro
?
Referanser
1. BCCS, http://www.bccs.uib.no/2. Google Trends, http://trends.google.com/3. Agile Web Development with Rails, Dave
Thomas and David Heinemeier Hansson4. O’Reilly,
http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html
5. Agile Manifesto, http://agilemanifesto.org/6. Ruby, http://www.ruby-lang.org/en/about/7. Ruby on Rails, http://rubyonrails.org/