Object-Relational Mapping

Størrelse: px
Starte visningen fra side:

Download "Object-Relational Mapping"

Transkript

1 Databaser for udviklere () Datamatiker TietgenSkolen Underviser: Allan Helboe

2 Problemformulering Denne opgave er et forsøg på at beskrive problemerne der opstår ved anvendelsen af en relationel database som persistenslag, for en objektorienteret applikation. Først og fremmest vil jeg undersøge hvorfor man egentlig anvender relationelle databaser frem for objektorienterede databaser, når de umiddelbart fremstår som et bedre alternativ. Jeg vil derefter undersøge hvordan man kan løse de problemer som objektorienteret data giver i forhold til en relationel database, og vil især gå i dybden med NHibernate som en færdig løsning på problemet. Under dette afsnit vil jeg undersøge hvad der egentlig ligger bag værktøjet, mht. dets historie samt de mønstre der anvendes. Til sidst vil jeg forsøge at anvende NHibernate i en simpel applikation, og hermed få et indblik i processen at arbejde med et ORM-værktøj. Indledning Langt de fleste enterprise applikationer har behov for en løsning til persistent lagring af data. Oftest er det også et krav for disse applikationer, at det samme lager kan anvendes af op til flere samtidige instanser af applikationen, hvilket kan føre til en række af problemer. Dette løses ofte ved at anvende en database til lagring af data, hvilket også medvirker til at der kommer kontrol over samtidigheden i systemet. Nu til dags anvendes der oftest relationelle databaser, men ved anvendelsen af en sådan database indføres dog endnu et stort problem for programmøren: Objektorienterede programmer og relationelle databaser er to ting, der i praksis kan være svære at kombinere. Jeg vil i denne rapport forsøge at finde ud af hvorfor man egentlig ønsker at anvende relationelle databaser, frem for de objektorienterede. Jeg vil derudover undersøge hvilke problemer det medfører at anvende en relationel database, samt hvordan man kan løse disse problemer. Objektorienteret data I den objektorienterede verden anvendes objekter flittigt til opbygningen af en arkitektur med indkapsling af de enkelte kodeelementer. Der er mange fordele ved at programmere objektorienteret, men de største fordele må være følgende: Overskueligheden af koden bliver øget væsentligt ved at ansvaret bliver delt ud. Man har mulighed for at reducere mængden af kode der skal vedligeholdes ved at anvende koncepter som f.eks. nedarvning mellem klasser. Det er muligt at lave en lag-deling af koden som gør refaktorering af eksisterende kode, og tilføjelse af ny funktionalitet sideløbende med det eksisterende, væsentlig lettere. Databaser for udviklere 2

3 Alt i alt har objektorienteret programmering givet meget i forhold til at gøre kodebasen mere overskuelig, håndterbar og udbygningsvenlig. Styrken i OOP er dog samtidig den største ulempe. Alle data lagres i variabler på objekter, hvilket er meget bekvemt når disse data skal bearbejdes i hukommelsen for en kørende applikation. Når denne applikation skal lukkes ned opstår der dog et problem. Vi ønsker ikke at smide objekterne ud og dermed miste de ændringer der er foretaget, men tværtimod ønsker vi at få persisteret disse objekter sådan at de kan indlæses næste gang applikationen starter. Dette er muligt ved f.eks. en serialisering af det samlede objekt-træ til en fil, men da dette umiddelbart kun fungerer for en enkeltstående applikation, er det ret få enterprisesystemer der kan bruge denne løsning. Vi ønsker i stedet at anvende en database. Databaser Databaser har igennem mange år været anvendt til håndtering af data, både indenfor forretnings- og forskersegmentet. Når vi ser på databaser og objektorienteret data, lyder det meget logisk at man ville anvende en objektorienteret database som persistenslag for en objektorienteret applikation. DBMS en på en OODB er bygget til at håndtere mange af de ting man kunne få brug for når man programmer objektorienteret. Det vil sige at man som udgangspunkt har mulighed for at lagre sine objekter i databasen, samt anvende OO-koncepter, som f.eks. nedarvning mellem klasser, direkte i databasen. En objektorienteret database er derfor umiddelbart, en rigtig god løsning som persistenslag for OO-applikationer. Objektorienterede databaser blev dog først opfundet noget senere end behovet for lagring af data opstod, og derfor har det primært kun været forskerverdenen som har taget dem i brug. Den objektorienterede database er meget velegnet til lagring af komplicerede objekter, da den navigerer og behandler disse objekter væsentlig hurtigere end man ville kunne i en relationel database. Dette er meget velegnet til netop forskerverdenen, men derimod nærmest irrelevant i forhold til enterprise-applikationer. Her anvendes databaser normalt til lagring af væsentlig simplere datastrukturer, hvorfor en relationel database er mere anvendelig. I modsætning til den konceptuelle datamodel man anvender i objektorienterede databaser, findes den relationsbaserede datamodel 1 som anvendes i relationelle databaser. Relationsbaseret data består af data med interne relationer mellem de forskellige dele af dataene. Databaserne har en del fordele ved bl.a. ved at være hurtige at søge i, man kan lave meget specifikke forespørgsler på kryds og tværs af tabeller og en korrekt normaliseret relationel database gør det endda muligt at opdatere dele af det samlede data uden at låse uberørte dele af databasen. Den relationelle databasemodel blev opfundet i 1969 og har siden hen dannet grundlag for langt de fleste enterprise-systemer. Det er uden tvivl indenfor forretningsverdenen at der er 1 Relationel Model (se kildeangivelse side 7) Databaser for udviklere 3

4 flest penge at tjene, hvilket også har ført til at der gennem tiden er blevet fokuseret meget på udviklingen indenfor dette segment. Optimeringerne af databaserne er sket både ydelsesmæssigt f.eks. i form af optimerede algoritmer og indeks-strukturer, samt sikkerhedsmæssigt hvor transaktionsstyringen bliver bedre og bedre til at sikre mod inkonsistens under samtidige operationer i databasen. Det at de relationelle databaser har et så kraftigt segment i ryggen, gør altså at de på mange punkter, er de objektorienterede databaser overlegne. Det er derfor også meget attraktivt at kunne anvende de relationelle databaser, selvom man faktisk anvender objektorienteret programmering. De relationelle databaser og den konceptuelle datamodel er dog to ting der ikke umiddelbart kan kombineres. Nedenfor ses et klassediagram over klasserne Skole og Elev. Der kan under en skole tilknyttes et vilkårligt antal elever. Dette ville i en konceptuel model oftest implementeres ved hjælp af en collection af Elev på Skole klassen. Ser vi på samme eksempel oprettet i en relationel database ville det fremstå som nedenstående. Første tabel vil indeholde alle skolerne i systemet. Derudover ville man skulle bruge en tabel til elevernes data. For at indikere tilknytningen til den enkelte skole, er det nødvendigt at lave en fremmednøgle til Skoler-tabellen. Denne oprettes som en ekstra attribut på Elever-tabellen og man vil derefter så kunne joine Skoler-tabellen på Elever-tabellen. Som ovenstående eksempel illustrerer, er det to vidt forskellige måder at arbejde på, selv når man taler om opbevaring af simple datastrukturer. Hvis man så begynder at tænke på koncepter som f.eks. lagring af nedarvede objekter, bliver problemet kun endnu større. Data mapping For at løse problemet med forskellen fra den relationelle model til den konceptuelle model, har man gennem tiden opfundet forskellige løsninger. Fælles for dem alle er, at det arbejde der udføres, er en mapning mellem databasens tabeller og de objekter man arbejder med i hukommelsen. Disse løsninger betegnes som data abstraktions lag, og placeres mellem domænelaget og selve databasen. Man kan betegne data abstraktions laget som en tolk der kan arbejde med objekter i applikationen, og med et vilkårligt sprog i den underliggende datakilde. Databaser for udviklere 4

5 Mapning går derfor ud på at man laver et led imellem værdierne som gemmes på objekterne i hukommelsen, ned i de tilsvarende tabeller i databasen. Selvom denne mapning lyder ret simpel, har den også potentiale til at give virkelig meget arbejde. Afhængigt af hvor kompliceret en domæne-model man arbejder med, kan vedligehold af ens mapninger til databasen hurtigt blive et utroligt omfattende og uoverskueligt stykke arbejde. Det kan desuden være svært at få anvendt begreber som transaktionsstyring og lazy-loading, hvis man selv programmerer ens SQL kald direkte i data abstraktions laget. Heldigvis er det et kendt problem, og der er derfor kommet adskillige værktøjer som har til formål at hjælpe med at få gjort mapningen mellem modellen og databasen, altså udarbejdelsen af data abstraktions laget, så smertefri som muligt for udvikleren. Disse værktøjer bliver betegnet som ORM-værktøjer (). Et af de mere kendte værktøjer er Hibernate-frameworket til Java, som blev udgivet i første udgave i Dette værktøj er et framework til at indbygge i applikationer, som gør det muligt at få mappet rækker i tabellen over til data der kan arbejdes med i applikationen. Hibernate frameworket blev hurtigt ret populært idet det er open source, og selvom der findes utallige alternativer må Hibernate anses som værende en af de mest kendte. Da Hibernate er baseret på Java, er det ikke muligt at anvende det i.net miljøet. Heldigvis er projektet dog blevet porteret til.net platformen under navnet NHibernate. Udviklingen er på nuværende tidspunkt drevet af et meget aktivt community, hvilket vil sige at der konstant bliver lavet forbedringer og rettelser, når der opdages fejl eller nye gode ideer. NHibernate anses derfor som værende et af de førende ORM værktøjer til.net platformen, ved siden af produkter som SubSonic, Persistor, Linq-2-SQL og Microsofts Entity Framework. Bag om NHibernate NHibernate blev udgivet i 2005, af Tom Barrett. Det er efterfølgende blevet kastet lidt frem og tilbage mellem en række forskellige udviklere som har været ansvarlige for projektet, for til sidst at ende som et community-drevet open-source projekt. Værktøjet består af en række.dll-filer man indlejrer i sit projekt og herefter har man et framework til data adgang man kan programmere op imod. NHibernate understøtter en række forskellige databaser, hvilket faktisk gør det muligt at have den samme kodebase til at understøtte forskellige databaser uden at skulle ændre i programkoden. Man programmerer imod NHibernate-laget og NHibernate klarer så adgangen til databasen via de konfigurationer man angiver. NHibernate er baseret på XML-filer til både konfiguration og mapning, hvilket for nye brugere kan virke en smule uoverskueligt at komme i gang med. Det er også et af de meget store kritikpunkter for NHibernate, at indlæringskurven kan virke rimelig stejl. Som alternativ til XML-filerne kan man hente Fluent NHibernate 2, der gør det muligt at konfigurere NHibernate 2 Fluent NHibernate (se kildeangivelse på side 8) Databaser for udviklere 5

6 direkte i stærkt typet kode, med en mere programmør-venlig syntaks. Denne tilgang er noget mere overskuelig og fleksibel, hvilket har gjort det til praksis at man ofte anvender Fluent i begyndelsesfasen hvor man har mange ændringer i arkitekturen, for så at skifte til den XMLbaserede konfiguration, når arkitekturen er fastlagt. Der findes en række forskellige mønstre der kan anvendes, når man taler om database mapning. De to mest brugte er Active Record 3 og Repository 4. Det er derfor også de to typiske løsninger der bruges med NHibernate. Repository kan anses som værende en database-controller som sørger for al kommunikation med databasen. Den adskiller i høj grad modellen fra selve datalaget, da man har en hel separat klasse der arbejder med objekter på den ene side, og persistenslaget (via NHibernate) på den modsatte side. Ønsker man at gemme data i databasen, sendes dette objekt til Repository et som så tager sig af resten. Det er også igennem Repository et at updates og deletes foretages. Ønsker man at hente data ud af databasen, kalder man Repository et med de kriterier ens query har. Repository et udfører så et query via NHibernate og sender objekter retur til kalderen. Active Record er en smule anderledes, da man i dette mønster gør de enkelte objekter ansvarlige for at opdatere sig selv i databasen. Det vil sige at foretages der en ændring, er det objektet selv der kender til databasen og hermed er ansvarlig for at ændringen persisteres. Når objekter indlæses, indeholder de også selv koden til at indlæse deres attributter direkte fra databasen. Forskellen mellem de to mønstre er primært hvor man placerer kendskabet til persistenslaget. Repository fremlægges af Martin Fowler som værende bedre til større og mere komplicerede systemer, hvor Active Record er fint til mindre systemer. Jeg finder det dog mere overskueligt at anvende Repository selv i mindre systemer, og med NHibernate som en hjælp til udarbejdelsen af koden, er det virkelig ikke meget mere arbejde man lægger i at få en væsentlig mere overskuelig løsning. Transaktioner er også væsentlig lettere at implementere i en Repository-baseret løsning frem for en Active Record løsning. Begge dele er muligt, men eftersom man under Repository, samler alle databaseoperationer i én klasse, er det noget nemmere at implementere transaktioner ved udførsel af flere handlinger, i dette mønster. Anvendelse af NHibernate Under sammenligningen mellem den konceptuelle og den relationelle model, anvendte jeg et eksempel med skoler og elever. Dette er et godt eksempel til at demonstrere brugen af NHibernate, da det har relationer mellem data, og samtidig kan laves uden at der behøver programmeres andet end skelettet af en model samt selve datalaget. Jeg har valgt at 3 Martin Fowler Patterns of Enterprise Application Architecture (s. 160) 4 Martin Fowler Patterns of Enterprise Application Architecture (s. 322) Databaser for udviklere 6

7 programmere en løsning 5 baseret på Repository-pattern, da denne virker som den mest anvendte løsning, samt den der formår at give den mest klare adskillelse af datalag og model. Til løsningen bruger jeg Fluent NHibernate tilføjelsen, da den gør det væsentligt lettere for nybegyndere at starte med NHibernate. De grundlæggende klasser der arbejdes ud fra er Skole og Elev, hvor methods bliver erklæret som virtual så de senere kan overrides. Når disse klasser er defineret, oprettes der mapninger som beskriver hvordan værdierne på klasserne, skal gemmes i databasen. Her defineres ved hjælp af lambda udtryk at der skal oprettes et ID som svarer til ID et på objektet, samt at der oprettes mapninger til de enkelte attributter. I mapningen for Skoleobjektet defineres desuden en 1-til-mange relation på Elever, hvilket hjælper NHibernate til at vurdere hvordan tabellerne skal opbygges. Jeg anvender i denne løsning Eager-loading da der ikke umiddelbart er et behov for lazy-loading. De klasser vi har nu, fortæller NHibernate hvordan objekterne skal gemmes. Det eneste der så umiddelbart mangler er selve konfigurationen til NHibernate som beskriver hvor vi ønsker at den skal arbejde. Dette gøres i repository klassens constructor, hvor vi både opretter en konfiguration samt et session factory. 5 Den færdige løsning kan hentes via link i kildeangivelsen (side 9) Databaser for udviklere 7

8 Da Repository et har til formål at være ansvarlig for adgangen til databasen, er det desuden nødvendigt at der er implementeret funktioner til at lave CRUD 6 -operationer. Disse er ret simple og anvender en session fra Session Factory et til at oprette en transaktion hvori der så bliver udført de nødvendige operationer. Idet der anvendes using sætninger, lukkes både transaktionen og sessionen ned igen. Vælger man ikke at bruge using, er det vigtigt at huske at lukke forbindelserne igen, da forbindelser til serveren er dyre og bør lukkes ved endt brug. Vi har nu defineret selve data adgangen, og der er derfor kun tilbage at anvende repository et. Jeg har lavet en simpel test hvori jeg opretter en række objekter og derefter anvender instanser af repository-klassen til at gemme disse objekter i databasen. En instans af repository-klassen er ansvarlig for at gemme en bestemt slags objekt i databasen, og det er derfor nødvendigt at oprette et repository både for Skole og Elev. Repository-klassen er dog generisk og kan derfor anvendes med vilkårlige klasser som arbejdsobjekter, uden at der skal ændres i den. Til sidst oprettes der nye objekter i modellen, som oprettes via et query gennem repositoryklassen og man kan dermed konstatere at NHibernate har hentet objekterne fra databasen. Hvis man tager et kig på databasen via Management Studio ser man også at NHibernate automatisk har oprettet tabeller meget lig de tidligere nævnte i rapporten, med de korrekte data. 6 Create-Read-Update-Delete basis funktioner for et datalag. Databaser for udviklere 8

9 Konklusion Jeg har gennem udarbejdelsen af rapporten fået øget mit kendskab til de problemer der kan opstå under anvendelse af objektorienteret programmering og relationelle databaser. Jeg har desuden fået læst om de tilgængelige værktøjer til afhjælpning af denne problematik og konkluderet at NHibernate angiveligt virker som det mest anvendte ORM-værktøj indenfor.net verdenen. Dette værktøj valgte jeg at afprøve for at se hvordan det virkede samt om det var til at finde ud af, eller om der var hold i de kritikpunkter der har været nævnt mht. sværhedsgraden. Efter at have arbejdet med værktøjet kan jeg konkludere at det ved hjælp af Fluent NHibernate faktisk er rimelig overskueligt at komme i gang med at bruge NHibernate. Det virker som det skal, og løser rigtig meget af det manuelle arbejde der ville være i at skrive en database-mapper selv. Desuden er det rigtigt nemt at omkonfigurere Fluent NHibernate hvis der opstår en ændring i opbygningen af databasen, hvilket ville være et større stykke arbejde med en manuel datamapper. Min konklusion er at NHibernate bestemt er besværet værd da det løser utrolig mange af de problemer der måtte være. Det kan være svært at komme i gang med, men når man først har fået fat i det, virker det som et rigtig godt og gennemført værktøj. Databaser for udviklere 9

10 Kildeangivelser Anvendelse af NHibernate (NHibernateEksempel.zip) Patterns of Enterprise Application Architecture Martin Fowler (Addison Wesley) ISBN-13: Relationel Model Wikipedia NHibernate Forge Fluent NHibernate NHibernate Wikipedia ADO.NET Entity Framework - Wikipedia Databaser for udviklere 10

Object-Relational Mapping

Object-Relational Mapping Object-Relational Mapping Skriftligt arbejde i forbindelse med eksamen i Databaser for udviklere Studerende: Henrik Rossen Jakobsen Vejleder: Allan Helboe 07-06-2010 Indhold Indledning... 2 Problemformulering...

Læs mere

Database for udviklere. Jan Lund Madsen PBS10107

Database for udviklere. Jan Lund Madsen PBS10107 Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated

Læs mere

Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net)

Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net) Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net) Kim Harding Christensen EOS A/S Margrethepladsen 3 8000 Århus TLF: 8732 8787

Læs mere

Casper Fabricius http://casperfabricius.com. ActiveRecord. O/RM i Ruby on Rails

Casper Fabricius http://casperfabricius.com. ActiveRecord. O/RM i Ruby on Rails Casper Fabricius http://casperfabricius.com ActiveRecord O/RM i Ruby on Rails Casper Fabricius Freelance webudvikler - casperfabricius.com 9 års erfaring med webudvikling 6 år med ASP/ASP.NET/C# 3 år med

Læs mere

Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5

Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5 Databaser og SQL Introduktion til SQL Kap 1-5 1 Dagens gang Databaser Database begreber Mapning af klasser til relationel model Normalisering Opgaver til næste gang 2 Databasebegreber A database is a:

Læs mere

Dygtig.NET / C# udvikler med stor erfaring fra både offentlige organisationer og private virksomheder.

Dygtig.NET / C# udvikler med stor erfaring fra både offentlige organisationer og private virksomheder. .NET UDVIKLER NATIONALITET: DANSK PROFIL Dygtig.NET / C# udvikler med stor erfaring fra både offentlige organisationer og private virksomheder. Stor erfaring omkring databasedesign, datahåndtering og MS

Læs mere

Studieordning del 3-2014

Studieordning del 3-2014 Studieordning del 3-2014 Valgfag Datamatiker AP Graduate in Computer Science Version 1.1 Revideret august 2014 Side 0 af 6 del 3 Valgfag 1. Valgfrie uddannelseselementer...2 2. Valgfaget Android...2 3.

Læs mere

Sammenligning af Objekt-orienteret databaser og Relationelle databaser.

Sammenligning af Objekt-orienteret databaser og Relationelle databaser. Sammenligning af Objekt-orienteret databaser og Relationelle databaser. Af Louis Fleron Databaser OODBMS og RDBMS PBS10101 Louis Fleron Side 2 Af 11 Indholdsfortegnelse 1. Forord....3 2. Hvad er et OODBMS?...3

Læs mere

Data Warehouse Knowledge is Power - Sir Francis Bacon -

Data Warehouse Knowledge is Power - Sir Francis Bacon - Data Warehouse 4. sem. datamatiker uddannelse Tietgen Skolen Odense Skrevet af Troels Markvard Andersen (DM08228) Knowledge is Power - Sir Francis Bacon - Troels Markvard Andersen Side 1 af 8 Forord /

Læs mere

Software Projekt NoSQL vs RMDB

Software Projekt NoSQL vs RMDB Software Projekt NoSQL vs RMDB Skrevet af Carsten Sørensen, Hans Jørgen Frandsen, Peter Haislund Department of Computer Science, University of Aarhus Aabogade 34, 8200 Arhus N, Denmark 201200089, 19960442,

Læs mere

Skriftlig opgave. Designtanker i database-nære systemer

Skriftlig opgave. Designtanker i database-nære systemer Skriftlig opgave til eksamen for faget»databaser«designtanker i database-nære systemer Martin Ancher Holm Juni 2010 1 Intro Denne skriftlige opgave indeholder kort de daglige tanker jeg har omkring design

Læs mere

Database "opbygning"

Database opbygning Database "opbygning" Dette områder falder mest under en DBA's ansvarsområde. Det kan sagtens tænkes at en database udvikler i nogle situationer vil blive nød til at oprette produktions og test) databaser,

Læs mere

Version Dato Beskrivelse 1.0.0 26/11/2012 Initial version 1.2.0 05/03/2013 Tilføjet eksempel med Template Agent, generelt udvidet dokumentet.

Version Dato Beskrivelse 1.0.0 26/11/2012 Initial version 1.2.0 05/03/2013 Tilføjet eksempel med Template Agent, generelt udvidet dokumentet. MOX og APOS2 Forord Dette dokument er en del af APOS version 2 manualerne. APOS version 2 (APOS2 herefter) er et organisation, klassifikation og personale system baseret på Sag & Dokument standarderne.

Læs mere

Udfordringer og problemstillinger. En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling

Udfordringer og problemstillinger. En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling Java og JEE 1 2 Udfordringer og problemstillinger En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling 3 Generelt om Java og JEE 4 Generelt, I Man undervurderer hvor mange

Læs mere

PHP Quick Teknisk Ordbog

PHP Quick Teknisk Ordbog PHP Quick Teknisk Ordbog Af Daniel Pedersen PHP Quick Teknisk Ordbog 1 Indhold De mest brugte tekniske udtryk benyttet inden for web udvikling. Du vil kunne slå de enkelte ord op og læse om hvad de betyder,

Læs mere

educasoft - en professionel samarbejdspartner med speciale i uddannelse!

educasoft - en professionel samarbejdspartner med speciale i uddannelse! Velkommen til educasoft's hjemmeside educasoft - en professionel samarbejdspartner med speciale i uddannelse! Professionelle undervisere Undervisning i virksomheden Undervisning dag/aften eller week-end

Læs mere

Installation og Drift. Aplanner for Windows Systemer Version 8.15

Installation og Drift. Aplanner for Windows Systemer Version 8.15 Installation og Drift Aplanner for Windows Systemer Version 8.15 Aplanner for Windows løsninger Tekniske forudsætninger Krav vedr. SQL Server SQL Server: SQL Server 2008 Express, SQL Server 2008 R2 eller

Læs mere

PHP kode til hjemmeside menu.

PHP kode til hjemmeside menu. PHP kode til hjemmeside menu. Home Hovedmenu 1 Hovedmenu 2 Hovedmenu 3 Hovedmenu 4 Undermenu 1 Breadcrumb Her vises indholdet af den valgte side Undermenu 2 Undermenu 3 Undermenu 4 Evt. en mulighed for

Læs mere

Grundlæggende OOA - OOD

Grundlæggende OOA - OOD Grundlæggende OOA - OOD Dette kursus henvender sig til personer, der har lille eller ingen erfaring med softwareudvikling. Med udgangspunkt i UML opbygges et solidt kendskab til softwareudviklingens kunst

Læs mere

Optimering af fraværsregistrering

Optimering af fraværsregistrering Journal Optimering af fraværsregistrering Eksamensprojekt i Programmering C, klasse 3.4, 2011 AFLEVERET 09-05-2014 Indhold Abstract... Fejl! Bogmærke er ikke defineret. Problemformulering... 2 Produktet...

Læs mere

Udvikling af DOTNET applikationer til MicroStation i C#

Udvikling af DOTNET applikationer til MicroStation i C# Udvikling af DOTNET applikationer til MicroStation i C# Praktiske tips for at komme i gang. Gunnar Jul Jensen, Cowi Hvorfor nu det? Mdl og Vba kan det hele Fordelene er : udviklingsmiljøet er eksternt

Læs mere

Procesbeskrivelse - Webprogrammering

Procesbeskrivelse - Webprogrammering Procesbeskrivelse - Webprogrammering Indholdsfortegnelse Forudsætninger... 1 Konceptet... 2 Hjemmesiden... 2 Server-side... 3 Filstrukturen... 3 Databasehåndtering og serverforbindelse... 4 Client-side...

Læs mere

Internet Information Services (IIS)

Internet Information Services (IIS) Internet Information Services (IIS) Casper Simonsen & Yulia Sadovskaya H1we080113 06-11-2013 Indholdsfortegnelse Problemformulering... 2 Hvorfor:... 2 Hvad:... 2 Hvordan:... 2 Problembehandling... 3 Introduktion...

Læs mere

Curriculum vitae. Personlige oplysninger. Præsentation. Projekterfaring

Curriculum vitae. Personlige oplysninger. Præsentation. Projekterfaring Curriculum vitae Personlige oplysninger Navn: Michael Sig Adresse: Hesseløgade 4, 3.th. 2100 København Ø Telefonnr.: 40 97 50 49 www: www.sig-logik.dk Email: michael@sig-post.dk Alder: 32 år (født d. 21.9.1974)

Læs mere

15. oktober. Maskine Udlejning. Jacob Weng, Jeppe Boese og Mads Anthony. Udlejningsvirksomhed. Roskilde Tekniske Gymnasium 3.4

15. oktober. Maskine Udlejning. Jacob Weng, Jeppe Boese og Mads Anthony. Udlejningsvirksomhed. Roskilde Tekniske Gymnasium 3.4 Maskine Udlejning 15. oktober 2010 Jacob Weng, Jeppe Boese og Mads Anthony Roskilde Tekniske Gymnasium Udlejningsvirksomhed 3.4 Indholdsfortegnelse Problemformulering:... 2 Planlægning:... 2 Analyse af

Læs mere

Anvend dine SAS -programmer som SAS Stored Processes

Anvend dine SAS -programmer som SAS Stored Processes Anvend dine SAS -programmer som SAS Stored Processes Christina Johansson & Thomas Bjerggaard SAS Institute A/S indicates USA registration. Emner Hvad er en STP? Hvordan danner man en STP? Hvem kan bruge

Læs mere

KIH Database. Systemdokumentation for KIH Databasen. 1. maj 2013. Side 1 af 13

KIH Database. Systemdokumentation for KIH Databasen. 1. maj 2013. Side 1 af 13 KIH Database Systemdokumentation for KIH Databasen 1. maj 2013 Side 1 af 13 Indholdsfortegnelse Indholdsfortegnelse... 2 Indledning... 3 Systemoverblik... 3 KIH Database applikationsserver... 5 Forudsætninger

Læs mere

Educasoft 2010 Side 1. Søgemaskineoptimering

Educasoft 2010 Side 1. Søgemaskineoptimering Educasoft 2010 Side 1 Kurser: 2010 Søgemaskineoptimering Sælger din virksomhed nok via hjemmesiden? Lad kunderne finde din virksomhed - uden annoncering! Dette kursus henvender sig til virksomheder, der

Læs mere

APEX i Praksis Martin B. Nielsen. Navn. MBNDATA Emne

APEX i Praksis Martin B. Nielsen. Navn. MBNDATA Emne APEX i Praksis Martin B. Nielsen Navn MBNDATA Emne Foredragsholderen Oracle/APEX Arkitekt/udvikler/DBA Siden Oracle v.5 (1988) APEX Siden 2007, men før (Database provider, HTMLDB) MBNDATA siden 1996 MBNDATA

Læs mere

IT-Basecamp 2013. Real World Java EE Patterns Adam Bien. Real World Java EE Patterns, Adam Bien Copyright Lund&Bendsen A/S

IT-Basecamp 2013. Real World Java EE Patterns Adam Bien. Real World Java EE Patterns, Adam Bien Copyright Lund&Bendsen A/S IT-Basecamp 2013 Real World Java EE Patterns Adam Bien 1 Indhold Lidt om mig Baggrund for valg af emnet Bogens opbygning Fra J2EE til JEE 5/6 Overflødiggjorte patterns Fremhæve et par patterns 2 Kenneth

Læs mere

Indholdsfortegnelse. Systembeskrivelse kapitel 8 Administrationsdatabase

Indholdsfortegnelse. Systembeskrivelse kapitel 8 Administrationsdatabase Indholdsfortegnelse 5. Administrationsdatabase... 2 5.1 Metadata... 2 5.2 Administrationsdata... 3 5.2.1 Indstillingsmuligheder... 3 5.2.2 Webside... 4 5.2.3 Klikafgift (Udgået)... 4 5.2.4 Modtageboks...

Læs mere

ITONK1 Obligatorisk opgave 2 Badger Brewery Surveillance System

ITONK1 Obligatorisk opgave 2 Badger Brewery Surveillance System Ingeniørhøjskolen i Århus 2. juni 2006 IKT Dalgas Avenue 2 8000 Århus C ITONK1 Obligatorisk opgave 2 Badger Brewery Surveillance System Studerende: Henrik Brix Andersen, 01079 Tomas Stæhr Berg, 03539 Benjamin

Læs mere

Miniprojekt2011. Formålet er at lære og indlære god objektorienteret programudvikling og programmering med Java, samt undervejs at opfylde studiekrav.

Miniprojekt2011. Formålet er at lære og indlære god objektorienteret programudvikling og programmering med Java, samt undervejs at opfylde studiekrav. Miniprojekt2011 Projektbeskrivelse Der skal fremstilles en lille java application på PC, hvor brugeren kan foretage interaktioner med en simpel database på disken via et grafisk brugerinterface. Formålet

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

Database kursus Forår 2013

Database kursus Forår 2013 Database kursus Forår 2013 Jacob Aae Mikkelsen Database design og programmering/databaser fra Organisationsorienteret softwareudvikling 1 Praktisk info Lærebog Database Systems: The Complete Book Skema

Læs mere

Thomas Vedel, Vedel Consult email: thomas@veco.dk DAPUG erfamøde 10. november 2010. Installation af SubVersion (svn)

Thomas Vedel, Vedel Consult email: thomas@veco.dk DAPUG erfamøde 10. november 2010. Installation af SubVersion (svn) Thomas Vedel, Vedel Consult email: thomas@veco.dk DAPUG erfamøde 10. november 2010 Installation af SubVersion (svn) Hvorfor versionsstyring? Det virkede da ellers i går Den fejl rettede jeg ellers for

Læs mere

EasyIQ Opdatering 5.2.3 -> 5.4.0

EasyIQ Opdatering 5.2.3 -> 5.4.0 EasyIQ Opdatering 5.2.3 -> 5.4.0 Kunde: Forfatter: Thomas W. Yde Systemtech A/S Side: 1 af 17 1 Indholdsfortegnelse 2 GENERELT OMKRING FORUDSÆTNINGEN OG OPDATERINGS FORLØBET... 3 2.1 FORUDSÆTNINGER...

Læs mere

Tidsregistrering. Jacob E., Jacob H., Mathias, Mads H., Jonatan og Dan 3.4. Informationsteknologi B. Roskilde Tekniske Gymnasium 25-11-2014

Tidsregistrering. Jacob E., Jacob H., Mathias, Mads H., Jonatan og Dan 3.4. Informationsteknologi B. Roskilde Tekniske Gymnasium 25-11-2014 2014 Tidsregistrering Jacob E., Jacob H., Mathias, Mads H., Jonatan og Dan 3.4 Informationsteknologi B Roskilde Tekniske Gymnasium 25-11-2014 Indholdsfortegnelse 1 Indledning... 3 2 User stories... 3 3

Læs mere

Indholdsfortegnelse for kapitel 1

Indholdsfortegnelse for kapitel 1 Indholdsfortegnelse for kapitel 1 Forord.................................................................... 2 Kapitel 1.................................................................. 3 Formål............................................................

Læs mere

Opsætning af udviklerversion af Microsofts open source XDS.b fra Codeplex Projekt: Net4Care Version: V0.1, 2012-06-12

Opsætning af udviklerversion af Microsofts open source XDS.b fra Codeplex Projekt: Net4Care Version: V0.1, 2012-06-12 XDS Konfigurationsvejledning Opsætning af udviklerversion af Microsofts open source XDS.b fra Codeplex Projekt: Net4Care Version: V0.1, 2012-06-12 Indholdsfortegnelse Indledning... 2 Miljø... 2 Opsætning

Læs mere

Forår 2012 - Firewalls

Forår 2012 - Firewalls Syddansk Universitet DM830 - Netværkssikkerhed Imada - Institut for matematik og datalogi Forår 2012 - Firewalls Forfatter: Daniel Fentz Johansen Alexei Mihalchuk Underviser: Prof. Joan Boyar Indhold 1

Læs mere

Introduktion til SQL

Introduktion til SQL Introduktion til SQL Introduktion til SQL 1. udgave, 1. oplag 2013 Copyright 2013 Libris Media A/S Forfatter: Bobby Henningsen Forlagsredaktion: Peter Wiwe og Louise Peulicke Larsen Omslag: Louise Peulicke

Læs mere

Studieordning del 4-2014

Studieordning del 4-2014 Studieordning del 4-2014 Fagbeskrivelser Datamatiker AP Graduate in Computer Science Version 1.2 Revideret januar 2015 Side 0 af 10 Indhold del 4 Fagbeskrivelser 1. Faget Programmering (PRO)...2 2. Faget

Læs mere

Objektorienteret Programmering

Objektorienteret Programmering Objektorienteret Programmering Struktureret Systemudvikling Jan Bendtsen Automation and Control Indhold Lidt om programmeringssprog Klasser i Java Klasser i C++ Oversættelse og kørsel af kode Et eksempel:

Læs mere

Kom i gang med SAS STPbaserede

Kom i gang med SAS STPbaserede make connections share ideas be inspired Kom i gang med SAS STPbaserede webapplikationer Lars L. Andersson Chefkonsulent Webapplikationer Interaktion med serverbaserede data via skærmbilleder leveret gennem

Læs mere

Drupal. Hvad er Drupal?

Drupal. Hvad er Drupal? Drupal Verdens bedste Content Management System Drupal er to år i træk blevet kåret som det bedste Open Source CMS i den såkaldte CMS Award, som årligt afholdes af det anerkendte IT-bogforlag Packt Publishing.

Læs mere

Jan Hansen, AMP CMDB Specialist

Jan Hansen, AMP CMDB Specialist Jan Hansen, AMP CMDB Specialist Hansen@ampartner.com Hvad er en CMDB? Et register over enheder (ITIL sk: Configuration Items eller CIs) CIs indeholder relevante oplysninger: attributter Sammenhænge eller

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Institution Uddannelse Fag og niveau Lærer(e) Hold Termin hvori undervisningen afsluttes: maj-juni 2013 HTX

Læs mere

Programmering I Java/C#

Programmering I Java/C# Programmering I Java/C# Dit første projekt Datatekniker Intro to C# C# (C Sharp) Et enkelt, moderne, generelt anvendeligt, objektorienteret programmeringssprog Udviklet af Microsoft, ledet af danskeren

Læs mere

APPLIKATIONSARKITEKTUR ERP INFRASTRUKTUR. EG Copyright

APPLIKATIONSARKITEKTUR ERP INFRASTRUKTUR. EG Copyright APPLIKATIONSARKITEKTUR ERP INFRASTRUKTUR EG Copyright Infrastruktur er mere end nogle servere... Den Mentale Infrastruktur Den Fysiske Infrastruktur Den Mentale Infrastruktur Vi vil jo gerne have vores

Læs mere

Dokument- og Sagsstyringssystem

Dokument- og Sagsstyringssystem Dokument- og Sagsstyringssystem Mads Nissen Kongens Lyngby 2010 IMM-B.Eng-2009-36 Technical University of Denmark Informatics and Mathematical Modelling Building 321, DK-2800 Kongens Lyngby, Denmark Phone

Læs mere

SmartFraming Et vindue til nationale sundhedssystemer. Version 3.0

SmartFraming Et vindue til nationale sundhedssystemer. Version 3.0 SmartFraming Et vindue til nationale sundhedssystemer Version 3.0 Infrastruktur i dagens sundheds IT Det sundhedsfaglige personale benytter sig i dag af en række forskellige systemer i forbindelse med

Læs mere

Studieordning del 3-2015

Studieordning del 3-2015 Studieordning del 3-2015 Valgfag, PBA i økonomi og informationsteknologi Bachelor of Business Economics and Information Technology Version 1.0 Revideret december 2014 Side 0 af 4 Indhold del 3 Valgfag

Læs mere

Studieordning del 4-2014

Studieordning del 4-2014 Studieordning del 4-2014 Fagbeskrivelser Datamatiker AP Graduate in Computer Science Version 1.1 Revideret august 2014 Side 0 af 8 Indhold del 4 Fagbeskrivelser 1. Faget Programmering (PRO)...2 2. Faget

Læs mere

Velkommen på kursus hos Microworld

Velkommen på kursus hos Microworld Velkommen på kursus hos Microworld Du ønskes velkommen på kurset Windows 8 Workshop. Dette kursusmateriale er udarbejdet for at kunne fungere som arbejdsmateriale under selve kurset, men det er også meningen,

Læs mere

Softwareserviceudbyder leverer rentabel løsning til digital forvaltning

Softwareserviceudbyder leverer rentabel løsning til digital forvaltning Windows Azure Kundeløsning Softwareserviceudbyder leverer rentabel løsning til digital forvaltning Oversigt Land: Indien Branche: It Kundeprofil leverer softwareproduktudviklingstjenester til virksomheder

Læs mere

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:... Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:... 9 Nogle HTML tags... 9 Databaser og PHP Når vi snakker

Læs mere

Objektorienteret design med arv og polymorfi:

Objektorienteret design med arv og polymorfi: Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Objektorienteret design med arv og polymorfi: Substitutionsprincippet Composite Design Pattern Finn Nordbjerg Side 1 Objektorienteret

Læs mere

Web CMS kontra Collaboration

Web CMS kontra Collaboration Web CMS kontra Collaboration Sammenligning mellem Sitecore og Sharepoint Lars Fløe Nielsen, Evangelism ln@sitecore.net Page 1 Sitecore har dyb integration til Microsoft Sitecore har integration til mange

Læs mere

Konfigurationsrobot. Studerende: Muhammet Türkcan. DTU Vejleder: Ekkart Kindler. Virksomhedsvejleder: Bent Okholm. Studienummer: s072665

Konfigurationsrobot. Studerende: Muhammet Türkcan. DTU Vejleder: Ekkart Kindler. Virksomhedsvejleder: Bent Okholm. Studienummer: s072665 Konfigurationsrobot Studerende: DTU Vejleder: Ekkart Kindler Virksomhedsvejleder: Bent Okholm Studienummer: s072665 Eksamensprojekt: Konfigurationsrobot Afsluttende Eksamensnummer: IMM-B.Eng-2010-106 Diplomingeniør

Læs mere

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Øvelse 9. Klasser, objekter og sql-tabeller insert code here Øvelse 9. Klasser, objekter og sql-tabeller Denne opgave handler om hvordan man opbevarer data fra databasekald på en struktureret måde. Den skal samtidig give jer erfaringer med objekter, der kommer til

Læs mere

Opret ODBC datakilde Vejledning

Opret ODBC datakilde Vejledning Vejledning V. 1 APRIL 2011 FOR KUNDESERVICE Indholdsfortegnelse 1 Indledning... 3 1.1 Formål... 3 1.2 Målgruppe... 3 1.3 Krav... 3 2 Opret ODBC Datakilde (Open Database Connectivity)... 3 2.1 Forbindelse

Læs mere

Curriculum Vitae & Præsentation

Curriculum Vitae & Præsentation Jakobs C.V. Version 2011_01_26 Curriculum Vitae & Præsentation Navn Jakob Krarup (født 8. maj 1972) Bopæl Ringkøbingvej 44 9220 Aalborg Øst Kontaktoplysninger Telefon: 321 123 32 Mobil: 25 18 88 91 Mail:

Læs mere

www.saskurser.dk Praktisk information Tilmelding Du tilmelder dig telefonisk på 7028 2973 eller på:

www.saskurser.dk Praktisk information Tilmelding Du tilmelder dig telefonisk på 7028 2973 eller på: Praktisk information Kursussteder Kurserne afholdes i SAS Knowledge & Education Centre på følgende adresser: København - Købmagergade 7-9, 1150 København K Skanderborg - Kr. Kielbergsvej 3, 8660 Skanderborg

Læs mere

Konsulent resume. Referencer Svend Holm Henriksen IT-udviklingschef Region Syddanmark +45/76631169 svend.holm.henriksen@regionsyddanmark.

Konsulent resume. Referencer Svend Holm Henriksen IT-udviklingschef Region Syddanmark +45/76631169 svend.holm.henriksen@regionsyddanmark. Konsulent resume Navn: Adresse: Kemal Pajevic Klingstrupvænget 105, 2-tv 5230 Odense M Telefon: 29726221 / 63130411 Email: kemal@pajevic.dk Født: 31.07.1982 Civilstand: Gift Jeg er en meget åben og udadvendt

Læs mere

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen

Læs mere

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

PHP 3 UGERS FORLØB PHP, MYSQL & SQL PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at

Læs mere

Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 3: E-R modellering. 17. februar 2005. Forelæser: Rasmus Pagh

Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 3: E-R modellering. 17. februar 2005. Forelæser: Rasmus Pagh Databasesystemer, forår 2005 IT Universitetet i København Forelæsning 3: E-R modellering 17. februar 2005 Forelæser: Rasmus Pagh Forelæsningen i dag Datamodellering hvad, hvornår, hvorfor og hvordan? Business

Læs mere

Roskilde Tekniske Gymnasium. Eksamensprojekt. Programmering C niveau

Roskilde Tekniske Gymnasium. Eksamensprojekt. Programmering C niveau Roskilde Tekniske Gymnasium Eksamensprojekt Programmering C niveau Andreas Sode 09-05-2014 Indhold Eksamensprojekt Programmering C niveau... 2 Forord... 2 Indledning... 2 Problemformulering... 2 Krav til

Læs mere

Udveksling af data med Navision Stat ved hjælp af GIS. Lars Matthiesen, UNI C

Udveksling af data med Navision Stat ved hjælp af GIS. Lars Matthiesen, UNI C Udveksling af data med Navision Stat ved hjælp af GIS Lars Matthiesen, UNI C Emner i dette indlæg Hvad er GIS egentlig for noget? Hvilke dataformater understøttes? Hvordan kan ind/udlæsningen af data afvikles

Læs mere

Erfaringer med Information Management. Charlottehaven Jens Nørgaard, NNIT A/S jnqr@nnit.com

Erfaringer med Information Management. Charlottehaven Jens Nørgaard, NNIT A/S jnqr@nnit.com Erfaringer med Information Management Charlottehaven Jens Nørgaard, NNIT A/S jnqr@nnit.com Agenda Hvor ligger virksomhedens information gemt og hvor opstår kravet til at finde denne information. Find Find

Læs mere

PID2000 Archive Service

PID2000 Archive Service PROLON CONTROL SYSTEMS Herstedvesterstræde 56 DK-2620 Albertslund Danmark Tlf.: (+45) 43620625 Fax: (+45) 43623125 PID2000 Archive Service Bruger vejledning Juni 2002 Denne manual beskriver brugen af softwaren

Læs mere

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &.

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &. MapBasic &.NET interaktion MapBasic.NET Jakob Lanstorp IT konsulent COWI Odense 23. Juni 2011 1 MapBasic &.NET interaktion Erfaring med MapBasic.NET / Visual Studio Anden programmering 2 Program Hurtig

Læs mere

IMM-B.Eng-2010-36 NYHEDSSØGEMASKINE. Hasim Coskun. Eksamensprojekt, Diplom IT. Danmarks Tekniske Universitet. Vejleder.

IMM-B.Eng-2010-36 NYHEDSSØGEMASKINE. Hasim Coskun. Eksamensprojekt, Diplom IT. Danmarks Tekniske Universitet. Vejleder. IMM-B.Eng-2010-36 NYHEDSSØGEMASKINE Hasim Coskun Eksamensprojekt, Diplom IT Danmarks Tekniske Universitet 2010 Vejleder Finn Gustafsson Abstrakt Implementerer en parser prototype i PHP til en nyhedssøgemaskine.

Læs mere

Opsætning af MobilePBX med Kalenderdatabase

Opsætning af MobilePBX med Kalenderdatabase Opsætning af MobilePBX med Kalenderdatabase Dette dokument beskriver hvorledes der installeres Symprex Exchange Connector og SQL Server Express for at MobilePBX kan benytte kalenderadadgang via database

Læs mere

Datamodeller. 1. Elementerne. Vi betragter E/R-diagrammet, som et diagram over entiteter og relationer Tegneregler: Entitet

Datamodeller. 1. Elementerne. Vi betragter E/R-diagrammet, som et diagram over entiteter og relationer Tegneregler: Entitet Datamodeller I forlængelse af noten om normalisering, følges der her op med redskabet E/R-diagrammer til opstilling af en datamodel, opfat således dette som en alternativ metode mere end endnu et redskab

Læs mere

Radio Frequency Identification. Jonas Nobel, Nikolaj Sørensen og Tobias Petersen

Radio Frequency Identification. Jonas Nobel, Nikolaj Sørensen og Tobias Petersen Radio Frequency Identification Jonas Nobel, Nikolaj Sørensen og Tobias Petersen Hvad er RFID I starten af 70'erne blevet stregkoden opfundet til at gøre det lettere at handle. Stregkoden kunne huske et

Læs mere

Succes med intranet til Office 365. Den 13. august 2014 Webtop A/S s. 1

Succes med intranet til Office 365. Den 13. august 2014 Webtop A/S s. 1 Succes med intranet til Office 365 Webtop A/S s. 1 Hvem er jeg https://twitter.com/jeslas http://www.linkedin.com/in/jesslassen Webtop A/S s. 2 Hvad er Office 365 Office pakken (Word, Excel..) Skyudgaver

Læs mere

Dokumentering af umbraco artikeleksport:

Dokumentering af umbraco artikeleksport: Dokumentering af umbraco artikeleksport: Lav en artikel side 2-3. Installationsguide side 3-5. Opsættelse af databasen og web.config side 5-8. Umbraco: templates side 8. Umbraco: borger.dk tab side 8.

Læs mere

Indhold. Side 2 af 26

Indhold. Side 2 af 26 Tema Design Design, Programmering og test af Adressebog Fra d. 17 april til 20 april 2012 Vejledere: Gunhild Marie Andersen Kis Boisen Hansen Gruppe B Deltagere Side 1 af 26 Indhold Indledning.... 3 Kodestandard...

Læs mere

MODERNISERINGSSTYRELSEN ØSLDV WINDOWS SERVICE DOKUMENTATION, INSTALLATION OG KONFIGURERING AF ØSLDV/RAY WINDOWSSERVICE

MODERNISERINGSSTYRELSEN ØSLDV WINDOWS SERVICE DOKUMENTATION, INSTALLATION OG KONFIGURERING AF ØSLDV/RAY WINDOWSSERVICE Indhold Ændringshistorik... 2 Formål... 2 Om programmet... 2 Systemkrav... 2 Installation... 3 Event Log... 5 Installationsprogrammets skærmbillede... 6 Konfigurering af xml-opsætningsfil... 7 Beskrivelse

Læs mere

Kursuskatalog 2012 TwinCAT Basic og Extended

Kursuskatalog 2012 TwinCAT Basic og Extended Kursuskatalog 2012 TwinCAT Basic og Extended Basic Modul 1 Software Kursus K120101 K120102 K120103 K120104 K120105 K120106 Dato 31.1-1.2.12 6.-7.3.12 8.-9.5.12 21.-22.8.12 2.-3.10.12 20.-21.11.12 Modul

Læs mere

Forløb kreativ-kommunikativ toning

Forløb kreativ-kommunikativ toning Forløb kreativ-kommunikativ toning C - Interaktive test C/B - Reklamespil B Digitale Billeder B Kvidder/Fjæsbog Interaktive Test 1. Analyse af interaktive test og deres betydning for brugerens valg. 2.

Læs mere

TEKNISKE FORHOLD VEDR. ADGANG TIL VP.ONLINE. Brugervejledning

TEKNISKE FORHOLD VEDR. ADGANG TIL VP.ONLINE. Brugervejledning TEKNISKE FORHOLD VEDR. ADGANG TIL VP.ONLINE vp.online 2011 01-10-2011 Indholdsfortegnelse 1 PROBLEMER MED AT SE VP.ONLINE... 3 2 BROWSER KONFIGURATION... 6 3 SKRIVEADGANG TIL DREV... 7 4 SESSION TIMEOUT

Læs mere

PLATYPUS. Praktisk erfaring Års erfaring Erfarings niveau Senest Teknisk arkitektur 6 Høj 2005 Applikations Design 11 Høj 2004 Performance 12 Høj 2005

PLATYPUS. Praktisk erfaring Års erfaring Erfarings niveau Senest Teknisk arkitektur 6 Høj 2005 Applikations Design 11 Høj 2004 Performance 12 Høj 2005 Ledig 28. februar 2005 Født 1968 Civilstand Gift, 2 børn IT-erfaring Siden 1988 Personprofil Gunnar har gennem de seneste 15 år arbejdet med mange forskellige aspekter af systemudvikling inden for en bred

Læs mere

DM08115 DATABASE 08.06.2010

DM08115 DATABASE 08.06.2010 Hvad er OLAP OLAP er en databaseteknologi, der er blevet optimeret til forespørgsler og rapportering i stedet for behandling af transaktioner. Kildedataene for OLAP er OLTP- databaser (Online Transactional

Læs mere

Bucket Airlines. SW02 Projekt. Gruppe 2:

Bucket Airlines. SW02 Projekt. Gruppe 2: Bucket Airlines SW02 Projekt Gruppe 2: Alireza Derakhshan Frodi Hammer Lars Sønderby Jessen Michael Vestergaard Jessen kianosh@mip.sdu.dk frodi@mip.sdu.dk ljessen@mip.sdu.dk emjay@mip.sdu.dk 30. maj 2003

Læs mere

Installationsguide. Integration af erhvervsdata fra NN Markedsdata til Microsoft Dynamics NAV 2015

Installationsguide. Integration af erhvervsdata fra NN Markedsdata til Microsoft Dynamics NAV 2015 Installationsguide Integration af erhvervsdata fra NN Markedsdata til Microsoft Dynamics NAV 2015 Indledning Dette dokument indeholder vejledning til installation af modulet NN Markedsdata i Dynamics NAV

Læs mere

Model Drevet Design i Praksis

Model Drevet Design i Praksis Model Drevet Design i Praksis Dansk IT - På Vej Hjem møde d. 8/9-2009 Jeppe Cramon - TigerTeam ApS Lidt om mig 15 års erfaring som software udvikler Partner i TigerTeam Første erfaring med model drevet

Læs mere

Softwareløsninger til dit netværk

Softwareløsninger til dit netværk www.draware.dk Softwareløsninger til dit netværk Overvågning Side 4 Analyse Side 11 Sikkerhed Side 14 Administration Side 21 Asset management Side 27 Dokumentation Side 30 Kundecitater Side 35 Bedre overblik

Læs mere

Vejledning til Teknisk opsætning

Vejledning til Teknisk opsætning Vejledning til Teknisk opsætning v. 1.0 Adm4you, 2010. Indhold Kort om denne vejledning... 3 Generelt om easyourtime... 3 Installation af databasen... 3 Sikkerhed og rettigheder... 4 SQL Login... 4 Rettigheder

Læs mere

Google Maps og SAS/GRAPH software

Google Maps og SAS/GRAPH software Google Maps og SAS/GRAPH software Jens Dahl Mikkelsen, Business Advisor, Information Management Agenda Formål Introduktion til geografisk visning af data SAS/GRAPH software Google Maps, Google Earth Geokodning

Læs mere

7 Mamut Client Manager

7 Mamut Client Manager 7 Mamut Client Manager Tillægsproduktet Mamut Client Manager består af programmerne Mamut Client Start og Mamut Client Update. Ved hjælp af Mamut Client Manager kan du fra et vindue åbne, opdatere og administrere

Læs mere

Projekt i Programmering C Menu til hjemmeside.

Projekt i Programmering C Menu til hjemmeside. Projekt i Programmering C Menu til hjemmeside. 10-12-2004 Holstebro HTX Bent Arnoldsen Synopsis. Projektet her er en menu til hjemmesider, som er lavet så den er let at tilrette, når man tilføjer eller

Læs mere

Bypassing the. Brian Marick

Bypassing the. Brian Marick Bypassing the GUI Brian Marick Problemer med GUI GUI er designet for mennesker, ikke automatisering Automatiseret test af GUI kræver specialiseret værktøjer Har tildens til at bryde ned når der sker ændringer

Læs mere

BAAN IVc. Brugervejledning til BAAN Data Navigator

BAAN IVc. Brugervejledning til BAAN Data Navigator BAAN IVc Brugervejledning til BAAN Data Navigator En udgivelse af: Baan Development B.V. P.O.Box 143 3770 AC Barneveld Holland Trykt i Holland Baan Development B.V. 1997. Alle rettigheder forbeholdes.

Læs mere

Digital skriftlig aflevering med Lectio Censormodul Stedprøver installationsvejledning

Digital skriftlig aflevering med Lectio Censormodul Stedprøver installationsvejledning Digital skriftlig aflevering med Lectio Censormodul Stedprøver installationsvejledning 1. Lokalt installeret afleveringsprogram til stedprøver... 2 2. Systemkrav... 3 3. Netværksopsætning... 4 4. Installation

Læs mere

Data lagring. 2. iteration (implement backend)

Data lagring. 2. iteration (implement backend) Data lagring 2. iteration (implement backend) Emner Grundlæggende database begreber. Data definitionskommandoer ER-diagrammer og cardinalitet/relationer mellem tabeller Redundant data og Normalisering

Læs mere

Automatisk build og deploy med Maven. Geek Night hos VP SECURITIES - 26. januar 2011 Mads Pultz

Automatisk build og deploy med Maven. Geek Night hos VP SECURITIES - 26. januar 2011 Mads Pultz <mpz@trifork.com> Automatisk build og deploy med Maven Geek Night hos VP SECURITIES - 26. januar 2011 Mads Pultz 1 Agenda Introduktion til case (kontekst) Byg demoer - Bamboo, Nexus og RAD Modulopbygning

Læs mere

Rejsekort A/S idekonkurence Glemt check ud

Rejsekort A/S idekonkurence Glemt check ud Rejsekort A/S idekonkurence Glemt check ud 9. marts 2015 1 Indhold 1 Introduktion 4 1.1 Problembeskrivelse........................ 4 1.2 Rapportens opbygning...................... 4 2 Ordliste 5 3 Løsning

Læs mere