1 / 43

Fleirmodulsystem for prosjektstyring med tenesteorientert arkitektur.

Fleirmodulsystem for prosjektstyring med tenesteorientert arkitektur. eSysbio-proto. Om oss. Gruppa består av: Vegard Gillestad Andreas Lien Olsen Veiledar : Carsten Helgesen ( HiB ) Pål Puntervoll (BCCS). Agenda. Introduksjon til systembiologi og eSysbio prosjektet

Download Presentation

Fleirmodulsystem for prosjektstyring med tenesteorientert arkitektur.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fleirmodulsystem for prosjektstyring med tenesteorientert arkitektur. eSysbio-proto

  2. Om oss • Gruppa består av: • Vegard Gillestad • Andreas Lien Olsen • Veiledar: • Carsten Helgesen (HiB) • Pål Puntervoll(BCCS)

  3. Agenda • Introduksjon til systembiologi og eSysbio prosjektet • Vurdering av ulike alternative arkitekturar • JavaEE • Testing av JavaEE (EJB) applikasjonar • Spørsmål

  4. Oppdragsgjevar • BCCS - Bergen Center for Computational Science • EigdavUnifob AS • Kommersiell og offentleg finansiert forsking

  5. Bakgrunn for oppgåva • Biologisk forsking har endra karakter • Før vart det fokusert på små delar i ein organisme som enkelt genar og protein. • No går forskinga meir mot å sjå heilheta i ei organisme (”alle” genar og protein). • Mogeleggjort av nye forskingsmetodar og betre dataanalyser. • Krev tverrfagleg samarbeid

  6. eSysbio • an e-scienceenviroment for systems biology • Prosjekt styrt av BCCS • Går over 5 år • Mål: • Mogleggjere tverrfagleg samarbeid • Køyre og dele arbeidsflytar i eit prosjekt • Gjenskape vitskapelege analyser og resultat • Mogliggjere for enklare overprøving av resultat

  7. eSysbio (2) • Inndelt i 4 lag • Brukargrensesnitt • Arbeidsbenk (workspace) • Arbeidsflytar (workflows) • Biologiske tenestar (services) • Tenesteorientert

  8. eSysbio (3) • Prototype (eSysbio-proto) • 3 masteroppgåver • Brukargrensesnitt • Arbeidsbenk • Arbeidsflytar

  9. eSysbio (4) • Arbeidsbenk • Autentisering og autorisasjon • Prosjektstrying • Fillager

  10. Føringar frå oppdragsgjevar • Tenesteorientert arkitektur (SOA) • Webtenester • Java

  11. Problembeskrivelse • To-delt oppgåve • Arkitektur • Testing av JavaEE (EJB) applikasjonar

  12. Arkitektur

  13. Tenesteorientert arkitektur (SOA) • Tenesteorientert arkitektur er ein arkitektur der systemet vert oppbygd av tenestar. • Tenestene kan være gjenbrukbare. • Skiller ut logikk som frittståande tenestar. • Kan plukke ut eksisterande tenester når nye ting skal utviklast.

  14. eSysBio komponentar • Tre komponentar i eSysBio prototypen • Autentisering og autorisasjon • Prosjektstyring • Datalagring

  15. Autentisering og Autorisasjon (AA) • Dette er tenesta som skal ta seg av autentisering og autorisasjon i systemet. • Tar seg av autorisasjon på eit overordna nivå. • Komme inn på systemet • Single Sign On (SSO) teneste.

  16. Project Management (PM) • Styrer prosjekt i eSysBio • Prosjekt inneheld: • Prosjektinformasjon • Brukarar • Filer • Prosjektbrukarar er delt inn i tre grupper: • Prosjektadministratorar • Forskarar • Observatørar

  17. Data Storage (DS) • Lagringsteneste • Lagrar filer • Kan være av alle slaks typar. • Held styr på eigarskap over filer • Tre ulike rettighetar: • Owner (eigar) • Write (skrivetilgang) • Read (lesetilgang)

  18. Moglege arkitekturar • Me har vurdert tre ulike arkitekturar • Webteneste fasade • Webtenestar med delt database • Webtenestar med webservice referansar seg i mellom • Består av dei tre komponentane • Mål å leggje til rette for enkel integrasjon av nye tenestar

  19. Fasade • Fasade er eit designmønster som er mykje brukt • Skjuler avansert logikk for brukaren • Bare eit enkelt grensesnitt for brukaren

  20. Fasade (2)

  21. Fasade (3) • Fordelar: • Bare eit grensesnitt • Skjuler avansert logikk for brukaren • Merker ikkje endringar bak fasaden • Bakdelar: • Sterke avhengighetar • Stor teneste med mykje logikk • Uoversiktleg • Tidkrevjande å kople på nye tenestar

  22. Enkle webservicar • Arkitektur utan bruk av ein fasade.

  23. Delt database • Enkle ”uavhengige” webtenestar. • Tenestene har tilgang til dei andre tenestene sine data. • PM treng ikkje høyre med AA om ein sesjonsnøkkel er gyldig, den går rett inn i databasen og ser. • PM endrar AA ”sine” data når den oppdaterer sesjonsnøkkelen sin gyldigheitstid!

  24. Delt database (2)

  25. Delt database (3) • Fordelar: • Ingen stor WSDL-fil • Mindre avhengighetar • Klienten implementerer støtte for det den treng • Ulemper: • Meir ansvar over på klienten • Tenestar mister eigarskap over sine eigne data • Alle nye tenestar må ta i bruk eksisterande tenestar (AA) sine data

  26. Samansette tenestar • Denne designen tar i bruk det beste i frå den førre, utan dei sterke koplingane mellom komponentane og delinga av data. • Tenestene som treng bruke ein anna teneste er implementert både som ein webteneste og som ein brukar av webteneste. • Elles lik delt database.

  27. Samansette tenestar (2)

  28. Samansette tenestar (3) • Fordelar: • Svake koplingar • Klienten implementerer støtte for det den treng • Enkelt å kople på nye tenestar • Ulemper: • Meir ansvar over på klienten • Må dokumentere meir

  29. Vurderingar • Har implementert store delar av systemet med dei tre ulike arkitekturane. • Arkitekturen med enkle webtenestar er best • Svake koplingar • Klienten bruker det den vil • Enklast å kople på nye tenestar • Lukter minst

  30. Sekvensdiagram

  31. JavaEE og testing av EJB

  32. Java Enterprise Edition • Brukt til å programmere serverside-applikasjonar i Java • Skiller seg frå JavaSE ved at ein har tilgong til ei rekkje fleire API’ar. • Javax.jws.* • Javax.ejb.* • Javax.persitence.* • … • Avhengig av å køyre på ein JavaEE applikasjonsserver.

  33. JavaEE - komponentar • JavaEE applikasjonar er bygde opp av komponentar • JavaEE spesifikasjonen definerer følgjande komponentar: • Klientar og applets – kjøyrer på klientmaskin. • Java servlet, JavaServerfaces, og JavaServerpages – webkomponentar • Enterprice Java Beans (EJB) – verksemdskomponentar

  34. JavaEE - Applikasjonsmodell

  35. Enterprise Java Beans (EJB) • Tar seg av forretningslogikken i ein applikasjon • Fordeler med EJB • Lett tilgong til JPA (Java Persistence API) • Enkelt å utvikle webtenester • Får ting ”gratis” • Bakdelar • Avhengig av ein JavaEE applikasjonsserver • Vanskelegare å teste • Bratt læringskurve

  36. EJB – Webteneste eksempel • Annotasjonar • Metadata • Linje 8 og 11

  37. Testing av EJB’ar • Problem: • Avhengig av å kjøyre i EJB miljø. • Egnedemetoder: • In-conteiner • Out-of-conteiner • Embeddedconteiner • Vurdering av metoder (rammeverk): • Apache Cactus • EJB3Unit • ApacheOpenEJB

  38. Testing av EJB’ar • Kriterium • Kor enkelt det er å skrive testar • Kor raskt kan ein komme i gang og køyre testar. • Automatikk. Kor automatisk er testprosessen. • Kva får ein testa. Får ein testa alle eller avgrensa aspekt av applikasjonen. • Container • Database

  39. Apache Cactus • In-Container • Fordelar • Får testa i akkurat same køyremiljø som produksjon • Støttar alle JavaEE komponentar • Lett å skrive sjølve testane • Bakdelar • Mykje og komplekst setup-arbeid • Tung utvikle-deploy-test syklus

  40. EJB3Unit • Out-of-conteiner (Mock) • Fordelar • Utfører raske testar • Bakdelar • Får berre testa begrensa aspekt • Vanskeleg setup • Liten grad av automatikk • Meir komplisert å skrive testar

  41. ApacheOpenEJB • Embeddable • Lettvektskonteinar – rask oppstart • Fordelar • Enkel setup • Kan byggjast inn i alle applikasjonar og IDE’ar • Blir lagt ved som eit bibliotek • Enkelt å skrive testar • Får testa alle aspekt av applikasjonen • Bakdelar • Kan være forskjell frå produksjonskonteinar

  42. Spørsmål

More Related