Kurs / Kompetanseportal for kommunene i Kongsbergregionen



Like dokumenter
FriKomPort Fri KompetansePortal i Kommunesektoren

FriKomPort Kurs / Kompetanseportal for kommunene i Kongsbergregionen

Unified Consulting AS Objectnet AS

FriKomPort - Brukerkonferanse oktober 2008

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR

InfoRed Publisering. - produktbeskrivelse. TalkPool WebServices Postboks Åneby

Forprosjekt Hovedprosjekt ved Høgskolen i Oslo Våren 2008

Pedagogisk regnskapssystem

Stikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client.

PROSJEKTPLAN FOR INF [4 3]120-PROSJEKT: PROJECT HOSPITAL 2004

Oppsummering. Thomas Lohne Aanes Thomas Amble

Forprosjektrapport. Presentasjon. Oslo, den 29. Januar Gorm Eirik Svendsen Nicolai Mellbye Marius Auerdahl Per Gustav Løwenborg

Forprosjektrapport for Agresso R&D Ansettelsessystem Hovedprosjekt våren Skrevet av:

Sigurd Gimre. Nøkkelkvalifikasjoner. Teamleder / Seniorkonsulent. E-post: sgimre@gmail.com Telefon mobil:

S y s t e m d o k u m e n t a s j o n

ErgoGroup AS eway Nydalsveien 28 Postboks 4364 Nydalen 0402 Oslo Tlf.: Faks:

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy

Publiseringsløsning for internettsider

1 Forord. Kravspesifikasjon

Kongsbergregionen satser på fri programvare

Hovedprosjekt 2014, Høgskolen i Oslo og Akershus

Kunden er en av Norges ledende leverandører av digital-tv og bredbåndstjenester.

Innstallasjon og oppsett av Wordpress

MS Windows, Linux. Smidig, Scrum, Testdreven utvikling. Tidsrom Firma Tittel Java versjon > Selvstendig konsulent 6

Får man det man betaler for?

Tjenestebeskrivelse Webhotelltjenester

Presentasjon av bachelorprosjekt 2009/2010 for Morten Hegstad og Kim Lilleberg. Prosjektnummer 2E

Kravspesifikasjon. Forord

CORBA Component Model (CCM)

Forprosjektrapport. Bachelorprosjekt i informasjonsteknologi ved Høgskolen i Oslo og Akershus, våren Pillbox Punchline

Distributed object architecture

ANBUDSFORESPØRSEL. RAMMEAVTALE IKT-tjenester m.m. Iknowbase, Oracle- applikasjonsserver og database

KRAVSPESIFIKASJON. Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni.

Forprosjektrapport. Gruppe Januar 2016

Kravspesifikasjon. Leserveiledning Kravspesifikasjonen består av følgende deler: Presentasjon Om bedriften

Agenda. Tiden som har gått Tiden som kommer Noen tips til deg

Team2 Requirements & Design Document Værsystem

Artist webside. Gruppe medlemmer Joakim Kartveit. Oppdragsgiver Tetriz Event & Management. Frode Mathiesen. Gry Anita Nilsen.

Prosjektliste Steinar Mollgard Aasheim. Sist oppdatert: CV:

360 eworker. Appen som gjør det enda enklere å jobbe i Saksbehandling og dokumenthåndtering fra ipad

Smidig metodikk, erfaringer fra NAV Fagportal

Forprosjektrapport. Feilsøkingsverktøy for Homebase AS INNHOLD

Samarbeidsløsning for FHS, Teknisk info

Programvareutvikling hos Sun Microsystems. Jørgen Austvik Sun Microsystems Database Technology Group

Derfor er forretningssystemet viktig for bedriften

Huldt & Lillevik Ansattportal. - en tilleggsmodul til Huldt & Lillevik Lønn. Teknisk beskrivelse

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen

Forprosjektrapport. Sammendrag. Hovedoppgave våren 2019 Gruppe 3

Studentdrevet innovasjon

Forprosjektrapport. Utvikle en plattform for digitalisering av foosballbord.

Forprosjektrapport Gruppe 30

Hovedprosjekt ved Høgskolen i Oslo våren 2011 CHARITY DOCTORS KRAVSPESIFIKASJON

Kravspesifikasjon. Utvikling av moduler til CMS for bonefish.no. Gruppe 08-23

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

Kontakt oss i Egroup for mer informasjon!

System Dokumentasjon. Team2. Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk

Scan Secure GTS PAS

Web Service Registry

STRATEGISK PLAN

Fri programvare i helsesektoren en realitet! Presentasjon av Enkeltoppgjør

FORPROSJEKTRAPPORT. (+47) Tore Lervik (+47)

Brukerdokumentasjon for LabOra portal - forfattere

En internett basert og fleksibel database som kan tilpasses til ethvert behov, og som vil vokse med bedriften/institusjonen.

Vedlegg 1: Oversikt over noen mulige leverandører

Brukermanual. Studentevalueringssystem

Hei! I vår digitale tidsalder representerer antallet informasjonskilder og store informasjonsmengder både utfordringer og muligheter for bedrifter.

Forprosjektrapport For gruppe 20:

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås,

KRAVSPESIFIKASJON. Gruppe 2. Hovedprosjekt, Høgskolen i Oslo og Akershus. Våren 2014 KRAVSPESIFIKASJON 1

Del VII: Kravspesifikasjon

FriKomPort - Brukerkonferanse

FORPROSJEKT KIM LONG VU DUY JOHNNY KHAC NGUYEN ADRIAN SIIM MELSOM HÅKON THORKILDSEN SMØRVIK

Hovedprosjekt. Høgskolen i Oslo data/informasjonsteknologi våren 2011 Forprosjektrapport. K-skjema og ferie kalender

Vedlegg 3 Tekniske krav til IKT-løsninger i Kongsbergregionen

Installere JBuilder Foundation i Windows XP

Kundens krav til leveranser

2. Beskrivelse av mulige prosjektoppgaver

AirDog Hovedprosjekt ved Høgskolen i Oslo 2009

Use Case Modeller. Administrator og standardbruker

Visma.net. Redefining business solutions

Kravspesifikasjon. Android app for aktivering av jakt- og fiskekort. Bacheloroppgave vår Høgskolen i Oslo og Akershus. Charlotte Sjøthun s180495

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive,

Spørsmål og svar til Konkurransegrunnlag

PROSESSDOKUMENTASJON

Forprosjektrapport Bacheloroppgave 2017

DRI2001 Offentlige nettsteder. Litt om systemutvikling Torsdag 24 aug Arild Jansen, AFIN, UiO

Dokument 1 - Sammendrag

Gruppe 43. Hoved-Prosjekt Forprosjekt

Databaser og moderne systemutvikling - dag én

SBN Enterprise Portal seminar 26.okt Morten Moa systemsjef

Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus

ephorte Integration Services (eis) produktbeskrivelse

Tilbyderkonferanse 16. april PROSJ Rammeavtale IT-utviklingstjenester

t Institutt for informatikk Erik Arisholm 13. mai 2009 INF1050-oppsummering-1

DROPS SHAREPOINT. Informasjonsskriv. Innhold

AlgDat 10. Forelesning 2. Gunnar Misund

Introduksjon til programmering og programmeringsspråk

OptimalJ-kurs UIO Oppsummering av kurset. De ulike modellene egenskaper og formål

Kravspesifikasjon MetaView

IT I PRAKSIS!!!!! IT i praksis 20XX

Transkript:

Kurs / Kompetanseportal for kommunene i Kongsbergregionen Prosjektskisse 04.11.2005 Side 1 av 20

Innhold Innledning 3 Utviklingsmodell 4 Prosjektorganisering 4 Framdriftsplan og milepæler 4 Funksjonalitet 6 Brukerhåndtering 6 Kursadministrasjon 6 Nyhetspublisering 7 Fase 2 8 Overordnet teknisk arkitektur 10 ez publish 10 Java 5 10 Tomcat 10 Spring 10 Hibernate 11 Spring MVC 11 MySQL 11 Apache 11 Skisse av teknisk arkitektur 12 Fysisk konfigurasjon 12 Figur 12 APPENDIX 13 Om leverandøren 13 Partnere 15 Prosjektgjennomføring 16 Beskrivelse av metoder, verktøy og standarder 16 Kvalitetssystem 17 Kvalitetsplan 18 Kvalitetssikring av utviklingsarbeid 18 Kvalitetsrevisjoner 18 Database-modell 19 Referanser 20 Side 2 av 20 04.11.2005

Innledning Dette dokumentet inneholder en beskrivelse av hvordan Unified Consulting Objectnet (heretter kalt leverandøren) foreslår å lage en løsning for kurs/kompetanseportal for kommunene i Kongsberg-regionen (heretter kalt oppdragsgiver). Løsningen skal baseres på åpen kildekodeteknologi. Beskrivelsen er laget med utgangspunkt i utkast til kravspesifikasjon (ref. [1]) og består av tre deler: DEL 1: Utviklingsmodell: Leverandørens forslag til utviklingsmodell og gjennomføring av Kurs/Kompetanseportal-prosjektet. DEL 2: Funksjonalitet: Foreslått funksjonalitet i løsningen, med utgangspunkt i kravene beskrevet i [1]. DEL 3: Overordnet teknisk arkitektur: Beskrivelser av åpen kildekode-teknologi som inngår i foreslått løsning. Skisse av teknisk arkitektur: Gir foreløpig arkitektur-skisse for foreslått løsning. Prosjektet skal kjøres som et åpen kildekode-prosjekt, med fokus på gjenbruk og tilgjengeliggjøring av kode i etterkant. Det legges opp til delt ressursinnsats mellom oppdragsgiver og leverandør. Dette dokumentet er ikke å betrakte som et tilbudsdokument og inneholder heller ingen estimater på de forskjellige arbeidsstykkene som inngår i prosjektet men er heller å betrakte som et utkast til utviklingsmodell, prosjektgjennomføring, løsningsarkitektur og funksjonalitet. Vi regner med at dokumentet vil gjennomgå flere iterasjoner og håper det gir et grunnlag for igangsetting av prosjektet. Nærmere beskrivelse av leverandøren og generell prosjektgjennomføring er gitt i Appendix. 04.11.2005 Side 3 av 20

Utviklingsmodell Kurs/Kompetanseportal-prosjektet har en viss finansiering fra oppdragsgiver. Leverandøren bidrar med tilsvarende antall timer slik at prosjekt-kostnadene i utgangspunktet deles likt mellom oppdragsgiver og leverandør. I tillegg forankres prosjektet i en faggruppe for åpen kildekode hos leverandøren, som også bidrar med timer og ressurser inn i prosjektet uten å belaste prosjektkostnadene. Referansegruppen bemannes med konsulenter med spesiell interesse for og kompetanse på teknologien som skal anvendes i prosjektet. Prosjektorganisering Prosjektet organiseres slik: prosjektansvarlig fra oppdragsgiver utviklingsteam fra leverandør 2 ressurser på heltid (Christian Egeberg, Henrik Rouyer-Johnsen) referanse-faggruppe: bidrar med QA (Jan Henrik Gundelsby, Klaus Stafto) Framdriftsplan og milepæler Hoved-milepæl er i begynnelsen av februar-06 da løsningen skal vises / demonstreres på et seminar i KS-regi. Det legges opp til en iterativ / inkrementell prosjektgjennomføring (se Appendix) med jevnlig brukerkontakt (helst ukentlig), hyppige leveranser (2-4 ukers basis) og tidlig arkitektur-leveranse («rød tråd» gjennom hele teknologi-kjeden som løsningen involverer). Grov fremdriftsplan Vi tenker oss en inndeling i tre iterasjoner / faser: Utdyping Konstruksjon 1 Konstruksjon 2 Iterasjon / fase Mål Leveranse Identifikasjon av brukstilfeller Basismoduler Bruker-workshops Implementere brukstilfeller Bruker-workshops Implementere brukstilfeller Bruker-workshops Grov use case-modell Grov klassemodell Grov komponentmodell Arkitektur-release Plan for neste iterasjon Mer detaljerte modeller Alfa-release Plan for neste iterasjon Beta-release Side 4 av 20 04.11.2005

Grov milepælsplan Aktivitet / fase Dato Resultat Start Utdyping 14.11.2005 Prosjektstart Slutt Utdyping 30.11.2005 Arkitektur-release Start Konstruksjon 1 01.12.2005 Slutt Konstruksjon 1 22.12.2005 Alfa-release Start Konstruksjon 2 02.01.2006 Slutt Konstruksjon 2 31.01.2006 Beta-release KS-seminar 09.02.2006 Demo / presentasjon 04.11.2005 Side 5 av 20

Funksjonalitet Funksjonelt og arkitekturmessig er løsningen tenkt som to løst koblede applikasjoner. Alt av publisering tas hånd om av ez publish [3], mens alt som omhandler kurs utføres av en Javaapplikasjon (se arkitekturdelen av dokumentet). Denne delingen er gjort fordi man da får to mest mulig frittstående applikasjoner som for eksempel muliggjør at andre interessenter som har en publiseringsløsning fra før allikevel med kun små tilpasninger vil kunne benytte seg av kursløsningen. Beskrevet funksjonalitet under er ment som klargjøringer av kravspesifikasjonen, og all funksjonalitet som ikke er nevnt under, men som er beskrevet i kravspesifikasjonen, er naturligvis med i løsningen. Brukerhåndtering Løsningen vil benytte brukerhåndteringen til ez publish. ez publish har et rikt brukerhåndteringssystem bestående av brukere, brukergrupper, roller og regler. Ved hjelp av dette systemet kan man lage en så finkornet eller grovkornet brukerinndeling som man måtte ønske. Kurs- og publiserings-delene vil bruke samme brukersesjon (single sign-on). Brukerobjektet som ligger som standard i ez publish utvides til å holde all den informasjonen vi trenger om brukeren bl.a. kommuneid, tjenesteområde, stilling, egen e-post og telefonnummer. Brukere som har fått tildelt rollen som administrator kan legge til brukere, samt tillegge brukere roller. Det er ingen begrensninger på antall brukere i en rolle med unntak av administratorrollen som må ha minst ett medlem. Man vil i første fase av løsningen ha et relativt enkelt brukerhåndteringssystem laget i ez publish. Dette brukerhåndteringssystemet kan svært enkelt utvides til å håndtere kravene som er beskrevet i kravspesifikasjonens kapittel 3. Kursadministrasjon Kursadministrasjonen lages i sin helhet i Java. Løsningen vil få tilpassede webskjema basert på kravspesifikasjonen. Under Appendix finnes utkast til grafisk DB-modell som underlag for løsningen. Dynamiske data Administratorer kan legge til/fjerne/redigere data i en rekke lister i løsningen. Dette gjøres fra et webgrensesnitt i kursadministrasjonsdelen av løsningen. Data hvor man kan legge til/fjerne/redigere innholdet er: Tjenesteområder (barnehagetjenesten, kultur m.m.) Kurssted Kurspersonell Kommuner Side 6 av 20 04.11.2005

Registrering av kurs Funksjonaliteten for å registrere et nytt kurs vil implementeres som beskrevet i kravspesifikasjonen. Som løsning på muligheten for å kopiere et tidligere kurs, vil man ved utlisting av kursene få opp et kopier kurs-ikon dersom man er pålogget i opplæringsansvarlig-rollen. Ved å trykke på dette ikonet kommer man til registrer nytt kurs-skjemaet hvor feltene er utfylt med data fra kurset man trykket kopier på. Redigering av registrert kurs For kursansvarlig vil det komme opp et rediger kurs-ikon ved siden av alle kurs vedkommende er ansvarlig for. Ved å trykke på dette ikonet vil det være mulig å redigere informasjonen (inkludert opplasting av nye filer) om det valgte kurset i et eget rediger kurs-skjema. Lese om kurs / melde seg på kurs Det implementeres en side for å søke opp kurs. Her vil man, hvis man ikke gjør noen valg, få listet ut alle kursene. Det vil være nedtrekkslister for kommune og tjenesteområde som kan brukes til å begrense søkeresultatet. Ved siden av hvert kurs i listen vil det, dersom det er ledige plasser, være en lenke brukeren kan trykke på for å starte påmeldingsprosessen. Brukeren vil etter å ha trykket på denne fylle ut info om seg selv, og bekrefte registreringen. Hvis kurset er fullt vil kurset merkes som fullt. Oppfølging av påmeldinger Opplæringsansvarlig vil ved utlisting av kursene se en påmeldingsstatuslenke ved siden av alle kurs. Ved å trykke på denne vil opplæringsansvarlig få opp en side som forteller hvem som er påmeldt til kurset, og beregnet deltageravgift til hver kommune som har deltar på kurs. Diverse kursoversikter Hvis logget inn som opplæringsansvarlig Det vil være en egen lenke for å få en utskriftsvennlig utgave av kommende kurs. Innlogget som opplæringsansvarlig får man en lenke ved siden av hvert avsluttet kurs man kan trykke for å komme til en side hvor kursinformasjon presenteres, og man blir gitt muligheten til å krysse av for at deltageravgift er betalt for alle (eller enkelte) involverte kommuner. Nyhetspublisering Nyhetspubliseringen forgår i sin helhet i ez publish. ez publish er svært god til å generere enkle skjema utfra definerte innholdsobjekter, og dette utnytter vi til å skreddersy nyhetspubliseringen slik at denne blir akkurat som beskrevet i [1]. I og med at tekstbehandleren til ez publish benyttes, er eget felt for innlasting av bilder ikke nødvendig (se avsnittet under). Å arbeide med nyheter ez publish har en avansert intern tekstbehandler 1 som vil tilgjengliggjøres i løsningen for å skrive inn nye artikler samt å redigere gamle. Denne har mange av knappene og funksjonene man er vant 1 Denne koster USD99 (ca. 650 NOK pr. 3/11-05) 04.11.2005 Side 7 av 20

til fra andre tekstbehandlere og er svært enkel å bruke. Alle typer formattering, innsetting av objekter (bilder, filmer, flashanimasjoner o.l.) gjøres direkte fra denne tekstbehandleren. Det finnes alternativer til denne tekstbehandleren som ikke er kommersielle, men disse har noe mindre funksjonalitet og er noe mindre brukervennlige. Figur 1: Tekstbehandleren i ez publish Brukerprofilen til bruker som har lov til å publisere nye artikler vil være knyttet mot en rolle publisering, og alle som er medlem av denne rollen vil se en lenke til lag nyhet i menyen. Fase 2 Vi benytter oss av de facto-standarder innenfor åpen kildekode og fri programvare eksempelvis vil vi benytte versjonshåndtering som støttes av ledende prosjektplasser for åpen kildekode på internett (eks. SourceForge [2]). Brukerhåndtering I og med ez publish sitt svært fleksible og gode brukerhåndteringssystem vil det ikke by på problemer å utvide brukerbasen kraftig. Leverandøren har erfaring fra tidligere med innlesing av brukerdata fra forskjellige systemer (alle LDAP-baserte systemer f.eks. Active Directory eller OpenLDAP) og massere disse for så å putte de inn i et nytt system, og vil kunne benytte denne kunnskapen til å lage et synkroniseringsprogram. Eksport av data Webrammeverket vi benytter støtter direkte eksport av data til bl.a. excel-format, noe som kan leses av både Open Office og Microsoft Office. Dette er med andre ord bare snakk om en mindre utvidelse. Opplæringsplaner Det er enkelt å utvide brukerbegrepet i ez publish til å inneholde stillingsområde. I tillegg må utlistingsfunksjonen for kurs utvides til å ta hensyn til en brukers eventuelle stillingsområde samt å kunne bygge opp kurs for stillingsområde og detajlering (som eksempelet gitt i kravspesifikasjonen hvor stillingsområde er lærer og detaljering er 3. trinn. Denne utvidelsen vil kreve noe arbeid. Coaching For å få med coachingfunksjonaliteten må man legge et typeobjekt man knytter mot hver kurs. Dette vil gi muligheten til å utvide med et vilkårlig antall typer kurs. Man kan tenke seg at hvis Side 8 av 20 04.11.2005

valgt kurs er coaching, så vil under registrering tjenesteområde/stillingsområde måtte oppgis, og utlisting av dette kurset vil kun være synlig for bruker fra kommunen som tilbyr kurset/coachingen. Dette er en mindre utvidelse. 04.11.2005 Side 9 av 20

Overordnet teknisk arkitektur Utkastet til kravspesifikasjon [1] er detaljert, og danner et godt bilde av hvordan kunden ønsker at løsningen skal fungere. Leverandøren baserer løsningsforslaget på en Linux-plattform med utstrakt bruk av åpen kildekodeprogramvare. Dette er i tråd med kundens ønske om en lokal webløsning basert på åpne standarder, uavhengig av operativsystem. Vi har valgt programvare med høy fokus på sikkerhet, funksjonalitet og stabilitet. Løsningen er kostnadsbesparende, stabil, og lite utsatt for virus og angrep. Flere av åpen kildekode-programvare-leverandørene anbefaler å bruke Linux som operativsystem for produksjonsmiljøet, men programvaren finnes også i versjoner for Microsoft Windows, og i en del tilfeller Macintosh OS X. Vi har valgt å sette sammen et knippe av de beste åpen kildekode-produktene til et kostnadseffektivt og fleksibelt system for kunden. Løsningen er basert på kjent, utprøvd og fremtidsrettet teknologi, og benytter eksisterende standarder i alle ledd. Løsningen er dermed lett å drifte, vedlikeholde og flytte. Løsningen er designet modulært, slik at betydelige utvidelser og endringer kan utføres uten kompleksitet. ez publish Løsningen bygges rundt det norskutviklede åpen kildekode-produktet ez publish, som plattform for blant annet innholdshåndtering, publisering og portal-funksjonalitet. ez publish er skrevet i PHP, og styres via URLer som tas imot og videreformidles via web frontend, for eksempel Apache [9]. ez publish kjernesystemet er tilgjengelig for alle under GPL (GNU General Public License), og finnes i tillegg med kommersiell lisens. ez publish online editoren som brukes til innholdsredigering, er åpen kildekode, men har en kommersiell lisens. For tiden koster online-editoren US $99 per website. Java 5 Vi ønsker å benytte Java 5 [4] med JDK 1.5 som programmeringsspråk for vår egen programlogikk. Java er populært, kraftig, multi-plattform og objektorientert et naturlig valg for prosjekter basert på åpne standarder. Java klassene som utgjør programlogikken kommer til å kjøre i en servletcontainer, og aktiveres fra en Java Servlet som også styres via URLer. Tomcat Tomcat [5] er en åpen kildekode servlet-container som kjører Java Servlets og Java Server Pages. Tomcat er referanse-implementasjonen av servlet-container for Java Servlets. Vi ønsker å bruke Tomcat 5.x som støtter Servlet-spesifikasjon 2.4 og Server Pages-spesifikasjon 2.0. Tomcat benytter Apache License version 2.0, som er kompatibel med GPL. Spring Spring [6] er et lagdelt åpen kildekode-java/j2ee/.net-applikasjonsrammeverk. Rammeverket håndterer blant annet konfigurasjonsstyring, abstraksjonslag for databasetransaksjoner, integrasjon med Hibernate, og har mange andre gode egenskaper for å koble sammen både komponenter og applikasjonslag. Spring fokuserer på å tilby en måte å kontrollere forretningsobjekter på, og utgjør en stadig viktigere integrasjonsteknologi. Spring har et overbygg som abstraherer mesteparten av kompleksiteten ved bruk av Hibernate. Med Spring får man svært gode muligheter til å styre Side 10 av 20 04.11.2005

transaksjoner deklarativt, samtidig som rammeverket inneholder hjelpeklasser for å styre laziness i Hibernate (når lasting av data skjer ved behov, ikke ved initialisering). Spring benytter Apache License version 2.0, som er kompatibel med GPL. Hibernate Hibernate [7] er et åpen kildekode-orm (Object Relational Mapping)-rammeverk som har oppnådd stor popularitet i Java-miljøer verden over. Hibernate lar oss på en enkel måte utvikle persistente Java klasser for database tilgang, med karakteristiske egenskaper som assosiasjon, arv, polymorfisme, og Java collections rammeverk. Hibernate lar oss definere databasespørringer i sin egen portable SQL utvidelse (HQL), eller i databasens egen SQL, eller ved hjelp av javabaserte kriterie og eksempel objekter. Kombinasjonen av Spring- og Hibernate-rammeverkene gir muligheter for å implementere dataaksess i Java applikasjoner på en svært effektiv måte. Hibernates LGPL (Lesser GPL) åpen kildekode-lisens gir fleksibilitet til å bruke Hibernate i både åpen kildekode og kommersielle prosjekter. Spring MVC Spring MVC [6] er et åpen kildekode-java-rammeverk for utvikling av webapplikasjoner basert på den mye brukte Model View Controller-tankegangen. Spring MVC er laget spesielt med tanke på produktivitet og enkelhet, og tilbyr robust støtte for å bygge gjenbrukbare brukergrensesnitt med forms, internasjonalisering, dynamisk parameter overføring til JavaBeans, server side-validering, klient side-validering, og mye mer. Spring MVC fjerner det meste av behovet for å forholde seg til HTML fra egenskrevet kode, og ivaretar kravet om nettleser-uavhengighet på en god måte. Spring MVC benytter Apache License version 2.0, som er kompatibel med GPL. MySQL MySQL [8] er den mest brukte av databasene basert på åpen kildekode, og kan brukes på flere ulike operativsystem. MySQL er populær som databasetjener for nettbaserte tjenester, og det finnes mange eksempeler på åpen kildekode- programvare som bruker MySQL. MySQL utgis under to forskjellige lisenser, GPL eller kommersiell lisens. Apache Vi ønsker å benytte Apache 1.3 med PHP 4 som web-frontend, for å hoste ez publish sine PHPscripts, og for å levere statiske HTML-dokumenter. Apache er åpen kildekode. Apache License version 2.0 er kompatibel med GPL. 04.11.2005 Side 11 av 20

Skisse av teknisk arkitektur Fysisk konfigurasjon Den viste konfigurasjonen benytter to brannvegger. Den ene beskytter applikasjonstjenerens porter mot tilfeldig tilgang fra Internett. Her er portene for HTTP og HTTPS åpne for tilgang utenfra. Den andre brannveggen sitter mellom applikasjonstjeneren og innhold og påmeldingsdatabasen, som et ekstra sikkerhetslag. Kun MySQL portene vil normalt være åpne her. Dersom det med tiden er behov for høyere ytelse, med mange kommuner og mye trafikk, lar en slik konfigurasjon seg lett skalere ved å sette opp kopier av applikasjonstjeneren, med en load balancer foran. Også MySQL databasen kan clustres, og kjøres på flere maskiner. Som et billigere alternativ kan man tenke seg at applikasjonstjener og database befinner seg på samme fysiske maskin, med kun brannvegg mot internett. Dette gir teoretisk litt dårligere beskyttelse av innholdsdatabasen og påmeldingene, men setter lavere krav til oppsett av maskinvare, og kan installeres nær sagt hvor som helst. Figur Tomcat 5.x Application server Spring framework Database server Java classes Spring MVC Hibernate Java Servlet Internet Apache 1.3 web server Static http pages MySQL database PHP 4 ez publish Figur. 1 Teknisk arkitektur Side 12 av 20 04.11.2005

APPENDIX Om leverandøren Unified Consulting og Objectnet er søsterselskaper. Selskapene har et utstrakt samarbeid både på faglig og forretningsmessig grunnlag, har felles adminstrasjon og salgsvirksomhet i tillegg til at de er samlokalisert i felles kontorer i Oslo. Historie Objectnet AS ble stiftet i 1999 og er et uavhengig konsulentselskap med spisskompetanse innen informasjons- og kommunikasjonsteknologi. Unified Consulting ble etablert i 2003 som et datterselskap av Objectnet, bakgrunnen for dette var ønsket om å kunne tilby de ansatte eierandeler og øvrige betingelser innenfor en mindre enhet som de selv kunne være med på å forme. Begge selskaper har spesialisert seg innen modellbasert og objektorientert systemutvikling. Selskapene har drøyt 60 aktive konsulenter og er lokalisert i Oslo, med operative lokalkontorer i Arendal og Porsgrunn. De er eid av de ansatte og har i tillegg trygghet i internasjonalt forankret venture kapital. Forretningsidé og tjenester Objectnet/Unified Consulting skal være blant Norges ledende utviklere av forretningskritiske ITsystemer. Vi skal ha et innovativt og fremtidsrettet fokus. Åpenhet gir våre kunder trygghet. Løsninger med høy kvalitet til riktig tid gir tillit og sikkerhet i et langsiktig kunde- / leverandørforhold. Vi fokuserer på langsiktige samarbeidsrelasjoner med våre kunder basert på gjensidig respekt og tillit, fundamentert på høy kompetanse hos våre konsulenter og ærlig og oppriktig behandling fra våre selgere. Skreddersydd modellbasert systemutvikling I et marked som i stadig økende grad krever konkurransekraft, ser vi at mange bedrifter velger skreddersydde IT løsninger for støtte til virksomhetskritiske forretningsprosesser. Objectnet og Unified Consulting har i alle år møtt disse utfordringene med god forretningsforståelse og dyp prosess- og teknologikunnskap. Vi har levert med riktig kvalitet til rett tid, og gjort kunden god i sitt marked. Gevinsten er betydelig for kunder som Norsk Hydro, Telenor, Toll- og avgiftsdirektoratet, Utenriksdepartementet, Norges forskningsråd, NSB og Vegdirektoratet. Avanserte mobile applikasjoner I år 2000 startet Objectnet arbeidet med å knytte mobile enheter mot virksomhetskritiske systemer. Gjennom internt fagarbeid og spennende prosjekter har vi opparbeidet oss høy kompetanse og lang erfaring på dette området. Objectnet og Unified Consulting gjennomfører i dag flere av Nordens største prosjekter på området avanserte mobile applikasjoner, bl.a. for Statens Vegvesen og NSB. Systemintegrasjon Objectnet og Unified Consulting har lang erfaring i å integrere systemer både på program-tilprogram nivå og via asynkron meldingsutveksling. Vi har jobbet med integrasjons-teknologier som Corba, RMI, COM/DCOM, IBM MQ, Java JMS, BEA Weblogic og WebServices. I tillegg har vi god erfaring med integrasjonsverktøy som SoapScope, BEA Integration og WebMethods. 04.11.2005 Side 13 av 20

Konsulentene På grunn av bedriftens faglige satsning og økonomiske situasjon virker selskapene attraktive for høyt kvalifiserte mennesker i bransjen. De fleste av konsulentene er cand.scient. / siv.ing., mens de øvrige har bakgrunn fra ulike norske og utenlandske universiteter og høgskoler. Konsulentene har i gjennomsnitt over 8 års praktisk erfaring med IT-utvikling etter endt skolegang. Sertifiseringer innen både Microsoft og Java teknologier har medført at våre medarbeidere blant annet brukes i undervisningssammenheng på universitets- og høgskolenivå, samt i styreverv. Objectnet Unified Consulting har god kompetanse og forståelse på døgnåpen forvaltning og elektronisk samhandling innen offentlig sektor. Vi kjenner godt til overordnede strategidokumenter og underliggende føringer. I denne sammenheng har vi referanseprosjekter og rammeavtaler med en rekke offentlige etater og direktorater, samt god kontakt med en rekke av Norges største bedrifter. Kompetanse Objectnet Unified Consulting tilbyr konsulentassistanse for alle faser av en systemutviklingsprosess. Våre tjenester omfatter: Prosjektledelse Arkitekturrådgivning Analyse, spesifikasjon og design av softwareløsninger Implementasjon av løsninger Internett og multimedia Kurs Leverandørens kompetanseområde strekker seg fra utvikling av virksomhetskritiske løsninger, til internett relaterte tjenester og brukergrensesnitt. Vi har lang erfaring fra prosjekter som utvikles på og for moderne, attraktive teknologier, og sterk teknisk kunnskap innen: Javabasert systemutvikling som J2ME, J2EE og Enterprise Java Beans (EJB) Applikasjonsservere som bl.a. Oracle Application Server (OAS), BEA Weblogic, IBM WebSphere og JBoss Databaser som Oracle, Sybase, MS SQL Server Microsoft/.Net-teknologi åpen kildekode-teknologier som MySQL, PostgreSQL, HSQL, Spring og Hibernate utviklingsomgivelser og verktøy som Eclipse IDE, NetBeans, IntelliJ byggeverktøy som Maven og Ant konfigurasjonsstyringsverktøy som CVS, Subversion og Clearcase designverktøy som Adobe Photoshop og Macromedia DreamWeaver Side 14 av 20 04.11.2005

Vår kompetanse fordeler seg som vist i tabellen under. Funksjon Antall konsulenter Prosjektledelse (1-5 år erfaring) 12 Prosjektledelse (5 år eller mer i erfaring) 8 Aminnelig konsulentbistand 56 Ekspertbistand 46 Spesifikasjonsarbeid 49 Programmering (1-5 års erfaring) 13 Programmering (5 år eller mer i erfaring) 43 Driftsstøtte 5 Opplæring 29 Business Consulting 2 Fast / Mobiltelefoni 6 Mobile løsninger 16 Sikkerhet *) Nettverk *) Grafisk design 4 *) = i samarbeid med partnere Tilgjengelighet Som et ledd i kunnskapsbygging og fornying har vi etablert rutiner og forutsetninger som sikrer at kunnskap ikke blir knyttet til enkeltpersoner alene, men overført til andre via organisert fagarbeid og erfaringsdeling. Dette er med på å redusere risiko og kostnader for våre kunder som trenger tilgang på et varierende antall konsulenter over tid. Objectnet Unified Consulting gjennomfører både interne og eksterne prosjekter. I tillegg har selskapet en årlig organisk vekst på mellom 20 30 %. Dette gir oss gode muligheter og fleksibilitet til å stille kvalifiserte medarbeidere til disposisjon ved behov. Vi har lykkes svært godt i å tilfredsstille kunder både med hensyn til antall konsulenter når kunden har behov, og kvaliteten på tjenestene. Åpen kildekode Leverandøren har høy fokus på faglig utvikling og har etablerte faggrupper på tvers av prosjekter og avdelinger. Flere av disse befatter seg med åpen kildekode-teknologi, i tillegg til at mange av våre konsulenter har vært involvert i kundeprosjekter som gjør bruk av denne teknologien (bl.a. JBoss, Spring, Hibernate, MySQL). I oktober-2005 arrangerte leverandøren et fagseminar der åpen kildekode var tema. Flere av våre konsulenter er involvert i åpen kildekode-prosjektet XRadar (ref. [2]). Partnere Leverandøren har partnere som Linpro og ez systems, som i dette prosjektet utfyller oss godt. Linpro er spesialister på åpen programvare, og kan i tillegg tilby drifting av løsninger. ez systems er leverandør av publiseringssystemet ez publish som foreslås som en sentral komponent i løsningen. 04.11.2005 Side 15 av 20

Prosjektgjennomføring Beskrivelse av metoder, verktøy og standarder Objectnet Unified Consulting deltar aktivt i forskningsprosjektet SPIKE, som har som formål å bedre utviklingsprosesser i norsk IT-industri. Selskapet benytter et gjennomarbeidet rammeverk for gjennomføring av denne typen utvikling. Dette bygger på anerkjente systemutviklingsmetoder som Rational Unified Process (RUP), extreme Programming (XP), lettvektsmetodikken Scrum, samt egne erfaringer. Figuren under viser arbeidsinnsats over fasene i utviklingen og er en tilpasning fra RUP s rammeverk. Figur : Fordeling av arbeidsinnsats over fasene i et prosjekt Den mest fremtredende egenskapen ved rammeverket er at prosessen er iterativ. Til forskjell fra en ren fossefallsmetode finnes ikke et strengt skille mellom de tradisjonelle systemutviklingsfasene. I stedet deler vi opp systemet etter brukstilfeller (use cases / user stories), og gjennomfører analyse, design, implementasjon og test på hver av disse. Fordelene med en slik tilnærming er mange: Håndterer krav som endrer seg Mulighet for del-leveranser underveis Identifiserer og møter risikofaktorer tidligere Gir større mulighet for gjenbruk Visuell modellering er en sentral del av utviklingsmetodikken. For å beskrive alle aspekter av systemet kan flere typer modeller lages. De viktigste er: Forretningsmodell for beskrivelse av organisasjon og arbeidsprosesser UseCase modell for beskrivelse av systemets brukere og funksjoner Dialogmodell for beskrivelse av systemets brukergrensesnitt Side 16 av 20 04.11.2005

Objektmodell for den statiske beskrivelse av systemet Komponentmodell for beskrivelse av systemets fysiske arkitektur Kvalitetssystem Et iterativt utviklingsløp muliggjør gjennomgang og testing av ferdig funksjonalitet gjennom hele utviklingsløpet. Etter hver iterasjon gjennomføres fullstendige enhets- og integrasjonstester. Teknikkene som brukes er kjente, slik som kodegjennomgang, black-box og white-box testing. Tidligst mulig i prosjektet implementeres en kjørende arkitektur, og deretter implementeres en representativ funksjon for å teste både arkitekturene og f.eks. ytelse der det kan være en flaskehals. Metoden sikrer at de største risikofaktorene avdekkes på et tidlig tidspunkt slik at det er mulig å gjennomføre korrigerende tiltak i tide. Som en konsekvens av vårt engasjement innen problemstillinger knyttet til prosess og prosjektgjennomføring, har Objectnet Unified Consulting utviklet et rammeverk hvor egen dokumentasjon, anbefalinger og erfaringer samles. Figuren viser hvordan bedriften organiserer informasjon om prosesselementene i den elektroniske prosessguiden. Prosessguiden samler erfaringer fra tidligere prosjekter, og gir dessuten informasjon og anbefalinger om teknikker og hjelpemidler som bør vurderes brukt i nye prosjekter. Prosesselementene er i stor grad uavhengige av hverandre, og kan kombineres i samsvar med de behovene et spesifikt prosjekt har. På denne måten oppnår vi stor fleksibilitet i prosjektgjennomføringen. Vi kan f.eks. bruke en anerkjent prosess (RUP / XP / Scrum) og supplere denne med våre eller kundens prosesselementer. Prosessguiden er tilgjengelig for lesing og oppdatering via Internett. Rammeverket kan benyttes av våre konsulenter både ved interne og eksterne oppdrag. Informasjon i prosessguiden er passordbeskyttet og kryptert. Prosessrammeverket benyttes og oppdateres løpende i samsvar med prosjektenes behov. I særlig grad skjer oppdateringer når prosjekter avsluttes. Vi benytter ofte PMA-teknikker (Post Mortem Analyser) for å fokusere problemstillinger og konkretisere erfaringer fra prosjektene som bedriften gjennomfører. De viktigste elementene i kvalitetssikringsopplegget er aktiv kommunikasjon og enkel formalisme rundt avklaringer og beslutninger, samt formelle prosedyrer for oppfølging av resultater fra alle former for gjennomganger og tester. Viktige ingredienser i kvalitetsopplegget er: regelmessige avklaringsmøter mellom kunden og utvikler formelle referater som gjennomgås og godkjennes fra alle møter 04.11.2005 Side 17 av 20

muntlige avklaringer dokumenteres og kvalitetssjekkes med ansvarlig person dialoger (skjermbilder) modelleres og prototypes før de programmeres modeller kvalitetssjekkes av kompetente personer meldinger loggføres og følges opp Som ledd i egenkontrollaktivitetene planlegges inspeksjonsaktiviteter for relevante deler av oppdrag for å sikre riktig kvalitet på alle deler av arbeidet (kvalitetssikringsplan). Kvalitetsplan Som et ledd i gjennomføring av prosjekter utformer Objectnet Unified Consulting kvalitetsplaner som dekker følgende punkter: Oversikt over nøkkelpersoner og mulige erstatninger for disse Stillingsbeskrivelse for lederfunksjoner, deres ansvar, fullmakter og formelle kontaktlinjer Prosedyrer for sentrale arbeidsoperasjoner Plan for kontroll/egenkontroll Plan for verifikasjon og testing Plan for interne kvalitetsrevisjoner Sjekklister Kvalitetssikring av utviklingsarbeid For et nytt edb-system er det viktig å følge opp at systemet gir riktig kvalitet med hensyn til krav og forventninger om ytelse, tilgjengelighet og pålitelighet, sikkerhet, driftskostnader, opplæringstid, vedlikeholdsvennlighet, gjenbrukbarhet, etc. Objectnet Unified Consulting har blant sine ansatte personer med ansvar for kvalitetssikring i større prosjekter. Oppgaver som tilligger denne rolle er bl.a.: Følge opp at det lages planer Passer på at planen inneholder kvalitetssikring av viktige leveranser og resultater Kontrollerer at planlagte kvalitetssikringsaktiviteter gjennomføres Er rådgiver og sparringspartner for prosjektleder Rapporterer til oppdragsgiver Kvalitetsrevisjoner Kunden eller bemyndiget part, vil kunne gjennomføre kvalitetsrevisjoner av Objectnet Unified Consulting s arbeid gjennom hele kontraktsperioden, også arbeid som utføres av underleverandører. Side 18 av 20 04.11.2005

Database-modell Dette er et utkast til grafisk modell for DB-struktur i løsningen: 04.11.2005 Side 19 av 20

Referanser [1] Utkast til kravspek IT-løsning for regional kurs/kompetanse-portal [2] http://xradar.sourceforge.net/ [3] http://ez.no [4] http://java.sun.com [5] http://tomcat.apache.org/ [6] http://www.springframework.org [7] http://www.hibernate.org [8] http://www.mysql.org [9] http://www.apache.og Side 20 av 20 04.11.2005