Datalagringsmetodik och arkitektur i Java. Projektdefinition. Projektdefinition. Björn Brenander. 7 maj 2001

Relevanta dokument
Rafel Ridha Projektdefinition

Björn Åstrand

Examensarbeten, litteraturstudier och teoretisk geoekologi / geografi. Gemensamma riktlinjer för hela institutionen

Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen.

BION03, Biologi: Examensarbete - masterexamen, 60 högskolepoäng Biology: Master s Degree Project, 60 credits Avancerad nivå / Second Cycle

Javautvecklare. Utbildningsfakta. 400 YH-poäng, 2 år

Mälardalens högskola

Webbserverprogrammering

Projektplan. LiTH Segmentering av MR-bilder med ITK Anders Eklund. Version 1.0. Status. Bilder och grafik projektkurs, CDIO MCIV LIPs

Portfolio Johan Brink

WEBBSERVERPROGRAMMERING

DATALAGRING. Ämnets syfte

Enterprise Java Beans Assignment 1

Kursplanen är fastställd av Naturvetenskapliga fakultetens utbildningsnämnd att gälla från och med , höstterminen 2017.

archive En produkt från Ida Infront - a part of Addnode Group

Utbildningsplan. Systemvetenskapliga programmet. 180 högskolepoäng. System Science Program. 180 Higher Education Credits *)

KONSTRUKTION. Ämnets syfte. Kurser i ämnet

KONSTRUKTION. Ämnets syfte

Examensarbeten på institutionen. Industriell ekonomi

Elektroteknik GR (C), Examensarbete för högskoleingenjörsexamen, 15 hp

PROJEKTLEDNING OCH KANDIDATARBETET APPLICERING OCH PRAKTISKA RÅD

Examensarbete DATATEKNIK. Lunds Tekniska Högskola examensarbete

Titel: Undertitel: Författarens namn och e-postadress. Framsidans utseende kan variera mellan olika institutioner

Exempel på verklig projektplan

LiTH Autonom styrning av mobil robot Projektplan. Martin Elfstadius & Fredrik Danielsson. Version 1.0

135 poäng inom programmet 2 st askultationer Håll ögon och öron öppna. Fråga, fundera

Information om examensarbetet för studenter och examinatorer

Senaste version kan hämtas från Internet i PDF 1 format

Dokumentation och presentation av ert arbete. Kursens mål. Lärare Projektmedlemmar. Studenter Extern personal. Projektfaser. Projektroller.

archive En produkt från ida infront - a part of Addnode

Datalagringsmetodik i J2EE. Björn Brenander

Mätare - beskrivning av olika typer och samband mellan olika typer

LIPS 1, 2002 Lätt Interaktiv Projektstyrningsmodell

Kurs-PM fo r HI1028, Projektkurs inom programvaruutveckling, VT16

Datamodeller och databaser, avancerad kurs

Examensarbete DATATEKNIK & INFOCOM. Lunds Tekniska Högskola examensarbete

Systemanalys och arkitektur på Tillväxtverket 2012

Examensarbete DATATEKNIK & INFOCOM. Lunds Tekniska Högskola examensarbete

HE110X / HI110X HE111X/HI111X Examensarbete. Bedömningsgrunder och kriterier Process

EAs krav vid ackreditering av flexibel omfattning

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg

Kandidatarbetets planeringsrapport och planeringen (Projektplanering 2)

Examensarbete hos företag

Examensarbete DATATEKNIK. Lunds Tekniska Högskola examensarbete

ekorren e-tjänst Teknisk målbild

Projektdirektiv Oskar Ljungqvist Sida 1. Kund/Examinator: Daniel Axehill, Reglerteknik/LiU

Studieplan för utbildning på forskarnivå i datalogi

Gemensamma riktlinjer fo r genomfo rande av Examensarbete Hing Elkraftteknik

Riktlinje. Riktlinje för genomförande av medborgardialoger. Beslutas av kommunstyrelsen och gäller för samtliga nämnder och förvaltningar

Anvisningar för skriftlig rapport av fältstudien Hälsans villkor i HEL-kursen

Dokumentation och presentation av ert arbete

INFOMET. Projekt. Projektmetodik I

Projektplan, Schemaläggning/lokalbokning för Linnéuniversitetet 2012

1 Bakgrund. 2 Föreslagna förändringar. Förslag 1 (5)

INFN45, Informatik: Business Intelligence, 7,5 högskolepoäng Informatics: Business Intelligence, 7.5 credits Avancerad nivå / Second Cycle

Dnr N 2008/549. Regler och rekommendationer för examensarbeten på avancerad nivå vid naturvetenskapliga fakulteten fr.o.m

Kursens mål. Databasteknik TDDB48. Lärare. Kursorganisation. Laborationsinformation. Inlämning av laborationer. Responsible:

SP:s projektrutiner Magnus Holmgren

Uppstartsmöte: Examensarbete KTS

Datavetenskapligt program, 180 högskolepoäng

Att vara teknikledande är stort, att vara tankeledare är större.

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg niklas.broberg@chalmers.

Alla rättigheter till materialet reserverade Easec

Rutiner för opposition

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Förvaltningsåtagande. Provisum

Projektplan. LiTH Reglering av Avgaser, Trottel och Turbo Fredrik Petersson Version 1.0. Status. Reglerteknisk Projektkurs RATT LIPs

Digital Conversion Manager

Projektmodell. 1. Riktlinjer projektmodell 1 (6)

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg

Examensarbeten vid civilingenjörsutbildningen i Energisystem. Information till företaget

Valinfo SL2 Exjobbsinfo SL3. Stefan Engevall, SL/FTL,

Anvisningar för examensarbete vid avdelningen för produktionsekonomi

Distribuerade affärssystem

SKOLFS. beslutade den XXX 2017.

CIVILINGENJÖRSEXAMEN MASTER OF SCIENCE IN ENGINEERING

Examensarbeten på dataingenjörsprogrammet

LIPs Daniel Axehill ChrKr Projektdirektiv_Saab_v3 CKr

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Core Data Permanent datalagring

PARALLELLISERING AV ALGORITMER PROCESSORER FÖR FLERKÄRNIGA

Decentraliserad administration av gästkonton vid Karlstads universitet

EMG:s väg till examensarbeten av mycket hög kvalitet

STATSVETENSKAPLIGA INSTITUTIONEN

Kontroll av internethandel 2014

Examensarbete DATATEKNIK. Lunds Tekniska Högskola examensarbete

PROGRAM FÖR SAMVERKAN STOCKHOLMSREGIONEN

<RUBRIK> <DATUM> <presentatör>

HUMANISTISKA FAKULTETSNÄMNDEN. Avancerad nivå/second Cycle

HÖGSKOLEINGENJÖRSEXAMEN BACHELOR OF SCIENCE IN ENGINEERING

Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt

Människa- datorinteraktion, MDI, ht 2011, anvisningar för projekt- /grupparbete

Utbildningsplan Dnr CF 52-66/2007. Sida 1 (7)

Ramverk för: Marknadsstudie. Datum: Företag: Brand : Kontaktperson: Uppgjord av: Copyright Pyramid Communication AB

Information om examensarbete 15 hp (10 veckor) Examensarbetsprocessen ht-15

Testning av Sambi. Testplan. Version PA5. Fil namn: SAMBI_TP.docx Senast sparad: Copyright (c) 2014 IIS

Metod i kandidatarbetet M3

Transkript:

Datalagringsmetodik och arkitektur i Java Projektdefinition Dokumenttitel Projektdefinition Dokumentansvarig Dokumentförfattare Björn Brenander Dokumentnamn Projektdefinition.doc Version 16 Ref. nr. Skapades 18 april 2001 Sparades 7 maj 2001 Box 576, SE-581 07 Linköping, phone +46 (0)13 37 37 00, fax +46 (0)13 37 37 90, www.idainfront.se

Innehåll 1 Inledning...1 1.1 Syftet med detta dokument...1 1.2 Målgrupp...1 1.3 Personer i projektet...1 1.4 Revisionshistoria...2 2 Projektbeskrivning...3 2.1 Bakgrund...3 2.2 Syfte...3 2.3 Problemanalys...3 2.3.1 Entitets-EJB och Container-managed persistence... 3 2.3.2 Entitets-EJB och Bean-managed persistence... 4 2.3.3 Skalbarhet... 4 2.3.4 Prestanda... 4 2.3.5 Transaktionssäkerhet... 4 2.3.6 Sökning... 4 2.3.7 Utvecklingstid... 4 2.4 Mål och begränsningar...4 2.5 Projektdisposition...5 2.5.1 Projektdefinition... 5 2.5.2 Informationsinsamling... 5 2.5.3 Utredning och teori... 5 2.5.4 Provimplementering... 5 2.5.5 Resultat och slutsatser... 5 2.5.6 Färdigställande... 6 2.5.7 Rapportskrivning... 6 3 Organisation...7 3.1 Projektorganisation...7 3.2 Resurser...7 3.3 Tidplan...7

1 Inledning Detta dokument är en beskrivning av examensarbetet Datalagringsmetodik och arkitektur i Java som utförs av Björn Brenander på Ida Infront AB (Ida) sommaren 2001. 1.1 Syftet med detta dokument Syftet med projektdefinitionen är att beskriva projektet samt planera och beskriva när och på vilket sätt arbetet kommer att bedrivas i projektet. 1.2 Målgrupp Målgruppen som detta dokument vänder sig till är personer som på ett eller annat sätt är inblandade i examensarbetet. Detta innefattar, förutom författaren själv, handledare, examinator och andra intressenter. 1.3 Personer i projektet Examensarbetare Handledare Examinator Björn Brenander 013-260753 (hem) 013-373517 (Ida) bjorn.brenander@idainfront.se Fredrik Samson, Ida 013-373749 fredrik.samson@idainfront.se Johan Söderqvist, Ida 013-373743 johan.soderqvist@idainfront.se Tomas Byström, Ida 013-373745 tomas.bystrom@idainfront.se Olof Johansson, IDA, Linköpings universitet 013-282390, 070-6577608 olojo@ida.liu.se Ida Infront Ab 1

1.4 Revisionshistoria Version Datum Anmärkning Författare Granskat av 0.1 2001-04-18 Preliminär projektdefinition skapad 0.2 2001-04-23 Ändringar föreslagna av handledare 0.3 2001-05-04 Reviderad och mer detaljerad tidplan BB BB BB Ida Infront Ab 2

2 Projektbeskrivning I detta kapitel presenteras bakgrunden till projektet och vilket syfte projektet har. En mer detaljerad redovisning av de underliggande frågeställningarna presenteras också, tillsammans med en projektdisposition och projektets begränsningar. 2.1 Bakgrund Ida utvecklar iipax, ett ramverk för flexibla, integrerade och utbyggbara system inom funktionsområdena dokumenthantering, ärendehantering, workflow och meddelandehantering. Senaste tillskottet i produkten är ett Java-ramverk om används för att bygga klienter och affärslogik. Idag sker all datalagring i relationsdatabaser via tjänster i BEA Tuxedo och Jolt. Dessa produkter är i vissa tillämpningar långt mer avancerade än vad som behövs, och de är ofta inte önskvärda ur vare sig kommersiellt eller tekniskt perspektiv. Ida vill nu undersöka hur iipax Java-ramverk kan utökas med arkitektur, riktlinjer och produktdelar för datalagring direkt från Java-miljön med bibehållna egenskaper såsom skalbarhet, prestanda, transaktionssäkerhet och flexibilitet. 2.2 Syfte Syftet är att kartlägga tekniker, standarder och arkitekturer inom området datalagring i Java och beskriva dem med lämpliga tillämpningsområden, för- och nackdelar och andra relevanta egenskaper. Genom provimplementation av ett par olika tekniker kan teoretiska slutsatser verifieras. En beskrivning av de för Idas behov mest lämpade alternativen samt praktiska erfarenheter av deras användande är av värde för vidareutvecklingen av iipax, och kan tjäna som underlag för migrering. 2.3 Problemanalys I EJB-arkitekturen (Enterprise JavaBeans) finns en särskild sorts bönor som används för att modellera och representera persistenta databasobjekt: entitetsbönor (entity EJB). För att koppla ihop dessa med databasen finns ett par olika metoder, vilka återfinns beskrivna nedan. För att slippa den overhead och de befarade prestandaproblem som hänger ihop med entitets-ejb kan man även ha vanliga Java-klasser som pratar med databasen genom t ex JDBC. Denna metod skall också tas med i utredningen. Tre huvudaspekter kommer skall undersökas: skalbarhet, prestanda och transaktionssäkerhet. Utvecklingstiden för Java-baserad datalagring är en annan intressant aspekt. 2.3.1 Entitets-EJB och Container-managed persistence Container-managed persistence innebär att entitetsbönorna själva inte behöver innehålla databasberoende kod, utan att ansvaret för lagring och uppdatering lagts på en EJB Ida Infront Ab 3

container. När mappningen mellan bönans attribut och databasen definierats kan den nödvändiga logiken genereras mer eller mindre automatiskt, och programmeraren kan lägga sin energi på bönans funktion istället. 2.3.2 Entitets-EJB och Bean-managed persistence I fallet Bean-managed persistence måste varje entitetsböna själv sköta kommunikationen med databasen, t ex genom JDBC. Detta ger större kontroll över hur objekt-relationmappningen går till, men kräver också att bönan vet precis hur databasen ser ut och fungerar. 2.3.3 Skalbarhet Hur skalar de olika teknikerna? Vad händer om en sökning ger riktigt många träffar? Hur fungerar de olika teknikerna med relativt små datamängder? Hur klarar systemet av hög parallellitet, d v s många samtidiga transaktioner? 2.3.4 Prestanda Prestanda hos de olika teknikerna skall jämföras, både i ytterlighetsfall och under mer typiska förutsättningar. Hänsyn bör tas inte bara till exekveringshastighet utan även till mängd förbrukade systemresurser. 2.3.5 Transaktionssäkerhet Finns stöd för globala transaktioner? 2.3.6 Sökning Hur går sökningar till i de olika teknikerna? Kan man söka på vad som helst, eller måste de sökbara attributen specificeras i förväg? 2.3.7 Utvecklingstid Hur komplicerat är det att utveckla för de olika alternativen? Måste man lära sig mycket? Hur enkelt eller svårt är det att gå över från dagens system till de Java-baserade? 2.4 Mål och begränsningar Följande skall ingå i projektet: Studerande av litteratur, dokumentation och diskussioner i ämnet. Teoretiska förutsägelser om några olika tekniker. Provimplementering och mätningar. Färdigställande av en slutrapport. Ida Infront Ab 4

Följande begränsningar kommer att göras (men kan komma att minskas i mån av tid): Endast relationsdatabaser kommer att användas. Objektdatabaser kommer alltså inte att tas upp. Säkerhetsaspekter (autentisering och auktorisering) kommer inte att behandlas. 2.5 Projektdisposition Projektet är uppdelat i några olika faser, vilka beskrivs nedan. 2.5.1 Projektdefinition Den första fasen har som syfte att definiera projektets bakgrund, syfte och problemställningar. Dessa sammanställs i ett projektdefinitionsdokument (detta!) där även projektets avgränsningar och en detaljerad tidsplanering finns med. 2.5.2 Informationsinsamling Själva projektet börjar med en omfattande informationsinsamling. Dokumentation och litteratur om såväl befintliga produkter som de specifikationer och arkitekturer som ska undersökas kommer att studeras. Några exempel: EJB, JDBC 2.0, Tuxedo och relevanta delar av iipax. 2.5.3 Utredning och teori I den här fasen skall de olika alternativen analyseras grundligt och deras egenskaper redovisas. Teoretiska förutsägelser skall göras om hur de fungerar under olika förutsättningar och ur olika aspekter. En specifikation för testning/mätning på provimplementationer skall skrivas. 2.5.4 Provimplementering För att verifiera de teoretiska resultatens riktighet skall intressanta provimplementationer göras. Dessa skall baseras på verkliga scenarion, gärna kopplade till någon av Idas kunders verksamheter. Testning och mätning skall sedan utföras på provimplementationerna. 2.5.5 Resultat och slutsatser När såväl teoretiska som praktiska resultat har tagits fram skall de analyseras och utvärderas. Denna fas skall resultera i en sammanställning av resultaten tillsammans med dragna slutsatser och rekommendationer för vidare arbete. Ida Infront Ab 5

2.5.6 Färdigställande Då själva arbetet är slutfört måste troligtvis en del jobb göras för att rapporten skall bli presentabel. Inför framläggningen måste en muntlig presentation förberedas, och av examinator, handledare och opponent föreslagna ändringar i rapporten göras. 2.5.7 Rapportskrivning Det konkreta resultatet av projektet är en slutrapport. Då skrivandet av denna rapport troligtvis är en av de mer tidskrävande aktiviteterna i projektet kommer det att genomföras i delar under varje projektfas. Detta bör även göra det lättare att skriva om de enskilda faserna, eftersom de då finns i klart minne. Preliminär innehållsförteckning för slutrapporten Sammanfattning Inledning - Syfte och bakgrund - Problembeskrivning och analys Bakgrundsteori Utredning Implementering Utvärdering Slutsatser och rekommendationer Ida Infront Ab 6

3 Organisation Det här kapitlet beskriver projektets organisation och innehåller en detaljerad tidsplan. 3.1 Projektorganisation Examensarbetet utförs av Björn Brenander som en del i civilingenjörsutbildningen Datateknik vid Linköpings universitet och motsvarar 20 poäng. Examinator är Olof Johansson på Institutionen för datavetenskap på Linköpings universitet. Handledare på Ida är Fredrik Samson, Johan Söderqvist och Tomas Byström. 3.2 Resurser Den utrustning (datorer och programvara) som behövs för att genomföra projektet tillhandahålls av Ida. Ida tillhandahåller även information i form av interna och externa dokument och bibliotek, samt kompetent personal att rådfråga. Ytterligare information kommer att sökas på Internet samt i böcker och tidskrifter. 3.3 Tidplan Här följer en tidplan för projektet. Notera att rapportskrivning ingår som en parallell del i varje fas. Faserna kan komma att överlappa varandra något. april maj juni juli augusti september ID Aktivitet Varaktighet Start 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 1 Definitionsfas 5 dagar on 01-04-11 2 Projektplanering 5 dagar on 01-04-11 3 Informationsinsamling 20 dagar fr 01-04-20 4 Informationsinsamling 20 dagar fr 01-04-20 5 Rapportskrivning (inledning, bakgrund) 8 dagar to 01-05-10 6 Utredning och teori 20 dagar ti 01-05-22 7 Utredning 17 dagar ti 01-05-22 8 Testspecifikation 3 dagar ti 01-06-19 9 Rapportskrivning (teori, modell) 8 dagar ti 01-06-12 10 Implementering 30 dagar fr 01-06-22 11 Design 8 dagar fr 01-06-22 12 Programmering 13 dagar on 01-07-18 13 Testning/mätning 9 dagar må 01-08-06 14 Resultat och slutsatser 10 dagar fr 01-08-17 15 Rapportskrivning (resultat och slutsatser) 10 dagar fr 01-08-17 16 Färdigställande 15 dagar fr 01-08-31 17 Avslutande rapportskrivning 8 dagar fr 01-08-31 18 Presentation/förberedelser 4 dagar on 01-09-12 19 Ändringar i rapporten 3 dagar ti 01-09-18 Ida Infront Ab 7