290 likes | 409 Views
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?. Kapittel 1.
E N D
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?
Kapittel 1. Oppdragsgiver,Problemet, Løsningen.
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
Arbeidsprosess • ATCGGCTA = ATCGGCTA ? • Sekvens sammenstilling • Sekvens søking • Utføre beregninger på gen nivå • XML • BPEL / Taverna
Kapittel 2. Bakgrunn
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”
Kapittel 3. Problemstillinger
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.
Kapittel 4. Webrammeverk
Ruby on Rails ASP.Net Java Server Faces Groovy on Rails Spring Struts Play JRuby on Rails Merb Django Tapestry
Spring Ruby on Rails Java Server Faces • Smidig • Moderne • KISS • DRY • MVC • Populært • ORM • Konvensjoner • Må læres • På egenhånd • Dokumentasjon • Java • Stort bibliotek • JPA • Dokumentasjon • Komplisert • Overkill • Spennende? • Java • Stort bibliotek • Hibernate • MVC • Erfaring • Dokumentasjon • Komplisert • Konfigurasjon • Spennende?
Kapittel 5. Utviklingen av løsningen
Om løsningen • Ikke ”Hokus pokus” • MVC GP(gone pro) • Enkel datamodell • MySQL • Lite konfigurasjon • REST hybrid • SOAP4r mot webtjenester • AJAX • Scaffolding • TDD
Kapittel 6. REFLEKSJONER
… • 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 • BCCS, http://www.bccs.uib.no/ • Google Trends, http://trends.google.com/ • Agile Web Development with Rails, Dave Thomas and David Heinemeier Hansson • O’Reilly, http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html • Agile Manifesto, http://agilemanifesto.org/ • Ruby, http://www.ruby-lang.org/en/about/ • Ruby on Rails, http://rubyonrails.org/