Stikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client. Studenter: Magnus Skomsøy Bae, Marius Eggen, Magnus Krane Klasse: 3ING, Systemutvikling
Produserer redaksjonelle artikler for bedrifter Artiklene fremstår som avisreportasjer og samles til en felles katalogutgivelse pr. kommune Artiklene publiseres også på nettet, og ligger publisert der i fire år før de enten fornyes eller tas ned. Kundene har mulighet til å få gjort endringer i denne perioden
Erstatte dagens system som er: Manuelt Alle artiklene publiseres som statisk HTML Tidkrevende og har mange rom for feil
Det nye systemet skal: Lagre all informasjon i en sentral database Forenkle kundeoppfølging Forenkle artikkelpublisering Forenkle korrekturlesing Forenkle prosessen rundt behandling av bilder Kvalitetssikre prosessen Tilby ny funksjonalitet
Separat klient og tjener (ikke web-app) Server skal kjøres i unix-miljø Klientprogramvare skal kunne kjøres i Windows og OS X HTML-kode skal følge kodestandard (HTML4) så langt som mulig Nettsiden skal vises riktig i IE9 Bruk av klient krever innlogging
Oppgaven ble valgt fordi det virket som en spennende og utfordrende problemstilling Gruppen hadde også god kjennskap til problemdomenet og oppdragsgiver fra før Systemet skal benyttes i produksjon og det var en sterkt motiverende faktor å kunne lage et reelt produkt fra bunnen av.
Prosjektet ble løst ved å benytte Java EE teknologier og Glassfish som applikasjons-server. Bruken av Java EE gjorde at gruppen kunne bruke kunnskaper fra Java, samtidig som portabilitet over plattformer gjør at man ikke er låst til enkelte leverandører, samtidig som det er veldig enkelt å gjenbruke bedriftslogikk i presentasjonslagene.
Datamodellen ble realisert som JPAentiteter, og databasen er PostgreSQL 9.1 Generering av tabeller direkte fra en javamodell gjør at fokus har kunnet blitt rettet på programvareimplementasjonen og endringer i disse objektene har vært enkle å implementere og teste for. Man slipper behovet for å skrive kode flere ganger.
Datamodell:
Bruker EJB-er for størsteparten av bedriftslogikken Bruken av EJB gjør at man lett kan bygge opp komplisert arkitektur med frittstående modeller og har gjort det enkelt å bygge applikasjonen og gjøre endringer underveis i prosessen. EJB kan injiseres i JSF/CDI beans og i servlets.
JSF for presentasjon mot internett Tillater enkel gjenbruk samtidig som man tilpasser dataene for visning på internett.
Bruker servlets for å tilby asynkron tilgang. Servlets henter bilder og lokasjonsdata Bruker Remote Interface lookup for å koble klient mot tjener Bruker JavaMail APIet til å sende e-post til kunder.
Google Site Search benyttes til å tilby søkefunksjonalitet. For å oppdatere søket generes sitemaps en gang i døgnet. Google Analytics brukes for å tilby statistikk Google Translate brukes for å tilby autooversatte versjoner av siden.
I løpet av prosjektet har gruppen designet og laget et skreddersydd publiseringssystem for redaksjonelle artikler. Med systemet er det enkelt å opprette, redigere, og behandle artikler og bilder knyttet til artikler. Man kan enkelt administrere kunder og salg, og genere rapporter for fakturering.
Man kan eksportere kontaktinformasjon for kunder, sende meldinger (e-post) direkte til kunder fra systemet og legge inn kunders geografiske lokasjon. På nettsiden kan man lett bla blant artiklene, søke etter de, eller vise de i et kart slik at man kan se hvilke som er nærmest.
Kunder får tilsendt en link til reportasjen sin slik at de kan lese korrektur og har muligheten til å godkjenne artikkelen om den ikke har feil som må rettes.
Når prosjektet avsluttes leveres kildekode og dokumentasjon til Kommunenvår Mulighetene for å videreutvikle systemet er mange og enkle. Systemet har god dekningsgrad i tester, og vi ser for oss at utvidet kartfunksjonalitet og oppfriskninger av layout kan være aktuelle endringer for organisasjonen fremover.
Når systemet skal tas i bruk vil nettsidene i første omgang leve side om side med de eksisterende sidene, derfor er også layouten lik den gamle slik at det for besøkende ikke skaper forvirring Når layouten skal forandres er det enkle grep å endre templatene eller css-filene for å endre oppbygging og/eller design.