Solution Makers A/S – Gruppe 4 Lars Wolter Nils Martinsen Rasmus Seye Tobias Kjeldsen 1
2 Solution Makers er en - IT virksomhed med 80 ansatte - Virksomheden har succes, vokser 20 % pr. år Solution Makers har bedt om følgende - Et management system der - Effektiviserer arbejdsprocessen - Sikre bedre kompetencestyring Hvorfor - Overblik over virksomhedens kompetencer - Identificere kompetenceflaskehalse - Øge konkurrenceevne - Effektivisere arbejdsprocessen Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur
3 Solution Makers Management System: - Et human ressource management system - Sikre styring af - Projekter - Ansatte - Kunder - Kompetencer - Central samling af data SM > Arkitektur > Desingbeslutninger Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur
4 Generel oversigt - Kommunikation i 2 trin - Al kommunikation foregår igennem klienten - Aktør går aldrig direkte til database Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur
5 Filosofi - Så få databasekald som muligt Designbeslutninger & patterns - Arvehierarki - Sortering af data i Java - Singleton pattern - Optimistic Offline Lock pattern - Facade pattern - Datamapper pattern Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur
6 Arkitektur Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur
Arkitektur 3-lags arkitektur - GUI - Domæne - Data Highlights - Arv - Singleton - Facade - Datamapper - Sortering 7 Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur
Arvehierarki - Undgå fletning af lister - Java - Database 8 Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur
Singleton - Anvendt på lister og databaseforbindelse - Sikring af kun én instans - Global visibility 9 public class Projektliste { private static Projektliste projektliste; private Projektliste() { } public static Projektliste getInstance() { if (projektliste == null) { projektliste = new Projektliste(); } return projektliste; } Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur
Datamapper - Java objekt relativ data / relativ data Java objekt - Identity Map Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur 10
Datamapper - Optimistic Offline Lock Eksempel på Optmistic Offline Lock: - With Check Option Eksempel på ”With Check Option”: "update projekter set godkendt = ?, opgavetilstand = ?, version = OLDVALUE+1 where pid = ? and version = OLDVALUE" "insert into (select * from projektansatte where aid = (select aid from ansatte where aid = ? and version = ?) with check option) values (?, ?, ?)" Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur 11
Facade - Wrapper og isolerer subsystem - Lav kobling og høj binding - Implementeringsændringer 12 Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur
Relationel model - Ingen arv på databasen - 3 normal former - Undgå inkonsistent og redundant data Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur 13
ArrayLists - Lineær søgning - Sortering af data - Sortering håndteres i Java - Fordele: - Simple SQL queries - Færre kald til databasen - Ulemper: - Kan ikke hamle op med Oracles Query Optimizer - Forældet data - Længere udviklingstid HashMap - Konstant søgetid - Ingen dubletter - Ingen sortering Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur 14