Waarvoor gebruik je XQuery?

Maat: px
Weergave met pagina beginnen:

Download "Waarvoor gebruik je XQuery?"

Transcriptie

1 XQuery Novelties revisited Door Geert Josten, Op XML Holland 2010[1] heb ik een presentatie gegeven over de laatste nieuwtjes van XQuery [2]. Leuk en aardig, maar waarvoor gebruik je XQuery nou eigenlijk? En waarom XQuery gebruiken boven allerlei andere, al dan niet aan XML gerelateerde alternatieven? In dit artikel probeer ik hierop antwoord te geven en leg ik ook uit wat zo interessant is aan de (relatief nieuwe) uitbreidingen op XQuery. Waarvoor gebruik je XQuery? XQuery [3] staat voor XML Query Language [4]. Dat geeft al een beetje de essentie weer. Het is een taal waarmee subsets en substructuren uit een grote verzameling XML-bestanden gehaald kunnen worden. Deze kunnen daarbij bewerkt worden tot iets dat geschikt is om te verwerken in een volgend proces, of bijvoorbeeld om te tonen in een webbrowser. XQuery maakt daarbij veel gebruik van XPath [5]. xquery version '0'; 2. (: Een voorbeeldje XQuery code dat zoekt naar 4. boeken met XQuery in de titel.. :) <html> 7. <body> 8. <ul>{ (: Doorzoek alle boeken :) 1 for $b in collection('books')/book (: Pak degene met XQuery in de titel :) 14. where contains($b/title, 'XQuery') (: Maak van het resultaat een HTML lijstje :) 17. return 18. <li>{ data($b/title) }</li> }</ul> 2 </body> 22. </html> <30> 14 Alle XML-standaarden kennen zo hun eigen toepassingsgebied. Om nog een aantal voorbeelden te noemen: XSLT [6] is een taal om XML om te zetten naar een ander formaat. XPointer [7] is een uitbreiding op XPath om met meer precisie substructuren of nog kleiner te adresseren. XLink [8] is een standaard om relaties vast te leggen. XInclude [9] is een standaard om op basis van relaties samenstellingen uit losse stukken XML te realiseren. En XProc [10] is een standaard waarmee in XML beschreven kan worden hoe XML-documenten in één of meerdere stappen met behulp van zogeheten XML-Pipelines verwerkt moeten worden tot het gewenste eindresultaat. Daarbij kan gebruik gemaakt worden van bijvoorbeeld XQuery, XSLT en XInclude en indirect dus ook van XPath, XPointer en XLink. Alle standaarden hangen met elkaar samen, ze vormen één geheel. De samenhang tussen een aantal van deze XML-standaarden wordt heel aardig samengevat in figuur 1 dat je op W3Schools [11] kunt vinden:

2 XQuery versus XSLT XQuery heeft dus van oorsprong een tamelijk specifiek doel: stukjes XML extraheren uit een grote(re) verzameling. Dit is heel wat anders dan XSLT, een taal die zich specifiek richt op het omzetten van een XML-document in ander XML-document, een HTML-document of een document in een nog ander formaat. Je zou denken dat het vrij duidelijk zou moeten zijn wanneer en waarvoor je welke standaard moet gebruiken. Toch hoor je vaak de vraag wanneer je beter XSLT kunt gebruiken en wanneer je beter kunt kiezen voor XQuery. Het punt is namelijk dat deze twee talen, meer dan de andere, een grote overlap vertonen. Er zijn veel taken die je in XSLT kunt doen, die je ook in XQuery kunt doen, en vice versa. Deze vraag is in zekere zin onterecht en in andere zin niet altijd van belang. Toch zal ik hier wat dieper op ingaan, dan wordt vanzelf duidelijk waarom. Als je iets op meerdere manieren kunt aanpakken en beide manieren doen het met vergelijkbaar gemak, dan is er niet echt reden om een van de twee boven de ander te verkiezen. Toch zal je zien dat bepaalde mensen voorkeur hebben voor XQuery. De syntax van XQuery is namelijk veel compacter, aangezien het niet in XML wordt uitgedrukt zoals XSLT. XSLT werkt echter heel anders en dat maakt bijvoorbeeld het doen van bepaalde structuurwijzigingen veel eenvoudiger. In deze zin komt het dus vooral neer op enerzijds persoonlijke smaak en anderzijds de specifieke uitdagingen van de taak die voor handen ligt, welke van de twee door iemand gebruikt wordt. Figuur 1: Samenhang XMLstandaarden 2. (: Een vergelijking tussen XQuery en XSLT code :) 4. (: For-each in XQuery.. :) for $b in $books 7. order by $b/title 8. return 9. $b/title (: For-each in XSLT.. :) <xsl:for-each select="$books"> 14. <xsl:sort select="title"/> 15. <xsl:copy-of select="title"/> 16. </xsl:for-each> 17. Nu is het echter zo dat XQuery veel toegepast wordt in combinatie met databases. Dat brengt extra overwegingen met zich mee. Ten eerst zijn XSLT-fans niet altijd mensen die zich ook bezighouden met databases. XSLT kom je vaker tegen bij bijvoorbeeld documentconversies. Ten tweede brengen databases extra uitdagingen met zich mee, vaak ook van een totaal andere orde. De XQuery Extensions spelen hier op in, terwijl XSLT geen (officiële) Extensions kent en die ook niet echt nodig heeft. Kortom, XQuery en XSLT laten zich moeilijk vergelijken dat is dan ook meestal zinloos. XQuery relatief onbekend Het feit dat XSLT al veel langer bestaat dan XQuery heeft overigens ook invloed gehad. In het begin had men niet zoveel keus; later was men gewend aan het snel volwassen geworden XSLT en stond XQuery nog de nodige jaren in de kinderschoenen. < > 15

3 Het idee voor een XML Query Language is al ten tijde van de opkomst van XML ontstaan, maar het heeft veel langer geduurd voor het tot een W3C Recommendation is gekomen. Je zou dus kunnen zeggen dat XQuery, ten opzichte van bijvoorbeeld XSLT en XPath, nog maar net om de hoek komt kijken. Een van de oorzaken hiervoor is dat men, na de lancering van XPath in 1999, al snel in de gaten kreeg dat zo n taal grotendeels gebaseerd kon worden op XPath. Dit heeft in 2001 tot de eerste Working Draft van zowel XQuery 0 als XPath 2.0 geleid. XSLT kon en moest hier natuurlijk ook van profiteren. De Working Draft voor XSLT 2.0 werd in diezelfde tijd opgepakt. De Recommendations van deze drie zijn uiteindelijk min of meer tegelijk gelanceerd. We spreken dan inmiddels over 2007! XQuery is dus pas sinds 2007 een Recommendation, terwijl XSLT en XPath al sinds 1999 een Recommendation zijn en al snel volop in gebruik waren. XQuery heeft nog altijd achterstand in te halen op XSLT en XPath. Daar komt bij dat in 1999 XML en alles wat daar bij hoorde booming business was. Tegenwoordig lopen de ontwikkelingen op XML-gebied langzamer en trekken nieuwe hypes als JSON [12] en NoSQL [13] alle aandacht. XQuery heeft wat dat betreft ook achterstand in te halen op XML-databases. Deze databases ontstonden in velerlei vormen na de opkomst van XML, maar het idee voor één generieke Query Language kwam pas een aantal jaar later. Ook het feit dat XQuery pas sinds enkele jaren een Recommendation is heeft brede ondersteuning in commerciële database-producten afgeremd. Enkele grote partijen zoals IBM waren vanaf begin betrokken bij XQuery, andere partijen zoals Oracle volgden pas later. Met commerciële XML-databases ging het ook zo: er waren enkele early adopters maar vooral partijen die liever de kat uit de boom keken. Relatie met databases Dat XQuery populair is in combinatie met databases is overigens geen toeval. Het is voor de hand liggend om grote verzamelingen XML in een (XML-)database te stoppen. Databases zijn immers bedoeld voor grootschalige opslag en efficiënte extractie daaruit. Dat sluit dus perfect aan op het doel van XQuery. En ook dat is geen toeval. XQuery is namelijk (indirect) ontstaan uit databasetalen als SQL. Met de komst van XML ontstonden ook de eerste ideeën voor XML-opslag in databases. In eerste instantie deed men dat vooral in relationele databases. Talen zoals SQL zijn niet toegerust op het ontsluiten van XML, dus ontstonden als vanzelf allerlei uitbreidingen en varianten daarop. Tegen de tijd dat de XSLT- en XPath- Recommendations een feit waren, werd ingezien dat er ook behoefte was aan één generieke Querytaal. Dit resulteerde in 2000 in de taal Quilt [14]. Na adoptie door W3C werd dit omgedoopt tot de naam XQuery. Het volgende schema dat ik aan sheets van een lesprogramma over XML en databases [15] ontleend heb, geeft een en ander beknopt weer. <30> 16 Figuur 2: Ontstaansgeschiedenis XPath en XQuery

4 Het is dus geen toeval dat XQuery en databases zo goed samengaan. XQuery is juist voor een belangrijk deel ontwikkeld en bedoeld voor databases. Wel is door W3C bewust gekozen het daartoe expliciet niet beperkt te houden. Relatie met database-functionaliteit De ontwikkeling rond XQuery heeft dan wel lang geduurd, maar heeft al die jaren geenszins stilgestaan. XQuery kent de nodige uitbreidingen, die de kracht van de taal flink vergroten. Deze uitbreidingen komen voor een deel voort uit toepassingen binnen databases. Ronald Bourret heeft in het verleden een zeer informatieve website opgezet, waarin XML en databases [16] uitgebreid aan bod komen. Daarin noemt hij een aantal basisfunctionaliteiten waar elke database aan moet voldoen. De belangrijkste zijn: n Efficiënte opslag en extractive. n (Full-tekst) zoeken. n Transactionele updates. n Data-integriteit en triggers. n Parallelle toegang en bewerking. n Beveiliging en crash recovery. n Versionering van gegevens. Opslag is natuurlijk inherent aan databases. En zo horen bij een goede database ook voorzieningen voor parallelle toegang en updates, beveiliging en crash recovery. Extractie correspondeert met XQuery 0. Voor het zoeken is een Full-Text zoekstandaard ontwikkeld, voor updates een Update standaard. En ook voor dataintegriteit en versioning zijn uitbreidingen bedacht, zij het nog onofficieel. Uitbreidingen op XQuery XQuery 0 leunt op XPath 2.0, het is in feite een uitbreiding daarop. XPath is een krachtige taal om substructuren te adresseren, maar voor zoeken is het niet bedoeld. XQuery biedt daar zelf ook niet de juiste functionaliteit voor. Dat draait meer rond bewerking voor vervolgstappen. Daarom is een extra uitbreiding op deze talen ontwikkeld: de XQuery and XPath Full Text 0 [17] standaard, die sinds maart dit jaar een W3C Recommendation [18] is. 2. (: Een voorbeeldje XPath Full Text.. :) 4. (: Zoek boeken waarvan titel begint met XQuery novelties :) 5. //book[ 6. title contains text 'XQuery' ftand 'novelties' 7. ordered distance at most 2 words at start 8. ] 9. XQuery is geschikt om gegevens te extraheren en te bewerken, maar niet om wijzigingen door te voeren. Sinds maart dit jaar is de XQuery Update Facility 0 [19] standaard een W3C Recommendation. Dat is een uitbreiding die wel blijvende aanpassingen op de XML-structuren mogelijk maakt. 2. (: Een voorbeeldje Update Facility.. :) 4. (: Voeg nieuw boek toe.. :) 5. insert node 6. <book><title>xquery novelties revisited</title></book> 7. as last into doc('books.xml')/books 8. Voor data integriteit is een (onofficieel) voorstel [20] gepresenteerd op XML Prague 2010 [21]. Deze uitbreiding maakt het mogelijk definities van datacollecties, indexen en data-constraints in je XQuery-code op te nemen. In plaats van dit bijvoor- < > 17

5 beeld in de databaseconfiguratie te moeten vastleggen, wordt het onderdeel van de applicatiecode zelf. Dat maakt onderhoud veel overzichtelijker, zodat het door de ontwikkelaar zelf gedaan kan worden, zonder al te veel kennis van de achterliggende database. 2. (: Voorbeeld XQuery Data Definition Facility :) 4. (: definitie voor een users collectie :) 5. declare collection users as element()*; (: index defintie voor users op basis :) 8. declare automatically maintained index users-by-id 9. on nodes xqddf:collection( xs:qname("users") ) 10. as xs:string; (: collectie vullen en uitlezen via index :) 1 xqddf:insert-nodes( 14. xs:qname("users"), <user id="geert"/>); xqddf:probe-index-point( 17. xs:qname("users-by-id"), "geert"); 18. Versioning wordt veel gebruikt bij Content Management, maar wordt ook voor andere doeleinden ingezet zoals traceability. Ook hiervoor is een (onofficieel) voorstel [22] gepresenteerd op XML Prague Deze uitbreiding gaat tamelijk ver. Volgens de Update Facility-standaard worden alle mutaties verzameld in een zogeheten Pending Update List. Aan het einde van het script wordt het resultaat van alle mutaties in dat script opgeslagen. Dit voorstel beschrijft het idee om de gegevens op alle opslagmomenten te bewaren. Om dit efficiënt te doen wordt gesproken over zogeheten Pending Update List compositions. Het resultaat is in ieder geval dat de volledige historie ter beschikking komt. Om deze te ontsluiten worden onder andere twee nieuwe assen aan XPath toegevoegd, waarmee je integraal door alle versies heen kunt navigeren. 2. (: Voorbeeld benutting versiehistorie :) 4. (: zoek naar oudere versies van huidige boek 5. : waarvan de prijs dubbel zo duur was. 6. :) past::book[(price div 2) ge current()/price] 9. Het opslaan van al die gegevens kost veel schijfruimte, maar die is tegenwoordig dusdanig goedkoop, dat kosten niet meer het probleem zijn. Beyond scope <30> 18 XQuery beperkt zich echter niet alleen tot databasefunctionaliteit. Naast de al genoemde uitbreidingen zijn er nog twee die daar bovenuit gaan. Zo is er de opvolger van XQuery 0: XQuery 1 of eigenlijk XQuery 0 [23], momenteel nog een W3C Working Draft. Deze opvolger voegt een aantal mogelijkheden toe die de expressiekracht flink vergroten, zoals try/catch-constructies, outputdeclaraties, groeperen in de for-loop, maar ook dynamisch aanroepen van functies, of anders gezegd: functies als datatype. Dit tilt XQuery naar een geheel nieuw niveau. Ook is de zogeheten XQuery Scripting Extension 0 [24] standaard in ontwikkeling. Deze uitbreiding kent een aantal nieuwe mogelijkheden die de taal veel meer het allure van een (procedurele) programmeertaal geven, zoals een while-constructie,

6 het herdefiniëren van variabelen en een exit statement. Het bouwt ook voort op de XQuery Update Facility-standaard en maakt cumulatieve (sequentiële) updates mogelijk. 2. (: Een voorbeeldje XQuery 0 + Scripting Extensions.. :) 4. (: Dit voorbeeld is ontleend aan een Twitter applicatie 5. : geschreven in XQuery, met als doel een Twitter gebruiker 6. : aan de eigen contacten toe te voegen. 7. : 8. : Het maakt gebruik van het MVC design pattern. 9. :) (: Follow functionaliteit van Twitter :) 12. declare sequential function twitter:follow-friend() 1 { 14. (: Vraag user-id op van te volgen persoon.. :) 15. declare $user_id := 16. util:get-request-param("user_id"); (: Controleer gebruikersessie.. :) 19. declare $is-loggedin as xs:boolean := 20. model:is-loggedin(); (: Toon login als sessie is verlopen.. :) 2 if (not($is-isloggedin)) then 24. exit returning view:show-login("session expired") 25. else (); (: Pas data-model aan.. :) 28. try { model:follow-friend($user_id); } catch * ($code, $msg, $val) { 3 (: Toon melding als update actie faalt.. :) 34. exit returning view:show-home(concat("error: ", $msg)) 35. }; (: Ververs het scherm bij succes.. :) 38. view:show-home("friend added successfully"); 39. }; 40. Dit maakt XQuery bijzonder geschikt als scripting -taal en gaat het in zekere zin de concurrentie aan met talen zoals JSP, ASP en PHP, maar in feite ook met talen als Java en.net in hun web-toepassingen. W3C kopt niet voor niets met: XQuery is replacing proprietary middleware languages and Web Application development languages. XQuery is replacing complex Java or C++ programs with a few lines of code [25] Programmeertaal XQuery 0 en de Scripting Extension tillen XQuery naar een hoger niveau. Ze geven XQuery het allure van een programmeertaal. Het is dan ook niet vreemd dat W3C zegt dat XQuery steeds meer database-specifieke talen én programmeertalen vervangt. XQuery is uitermate geschikt als taal voor database-ontsluiting, maar dankzij deze laatste uitbreidingen gaat het nog veel verder. XQuery vormt de lijm die alle applicatielagen bij elkaar kan brengen. Het is ook ruim krachtig genoeg om bekende Design Patterns [26] zonder veel problemen te ondersteunen. Niet < > 19

7 alleen het alom bekende Model-View-Controller [27] pattern, maar ook andere nuttige patterns, zoals Observer, Strategy en andere [28]. Om de werkelijke kracht van XQuery te laten zien, kan ik het beste verwijzen naar de applicatie die ik samen met 2 van mijn (oud-)collega s gemaakt heb in het kader van een programmeerwedstrijd [29]. Het doel was simpel: maak een XQueryapplicatie die aanspreekt en goed in elkaar zit. Het resultaat was Socialito [30]: een Social Media Dashboard waarin de tweets en andere informatie van je Twitter-account overzichtelijk weergegeven worden. Het gebruikersinterface maakt gebruik van HTML en JavaScript (JQuery [31]), maar voor de rest wordt uitsluitend XQuery gebruikt. De gegevens worden daarbij opgeslagen in de XML structuur van Twitter zelf. Kortom, XQuery is dus niet alleen voor Querying XML, allang niet meer. In XQuery kun je de applicatielogica uitwerken en alle applicatielagen samenbrengen. Het vormt daarmee de kern van je hele applicatie. Dit gaat veel verder dan alle andere XML-standaarden. Meer weten? Iedereen die meer wil weten en de kracht van XQuery in de praktijk zou willen zien, raad ik aan een bezoek te brengen aan XML Amsterdam 2011 op woensdag 26 oktober aanstaande. Daar komen diverse Open Standaarden aan bod en wordt een diepgaand praatje gehouden over XQuery. [1] XML Holland congres: [2] Laatste nieuwtjes van XQuery: Josten-XMLHolland2010.pdf [3] XQuery: [4] XML Query Language: [5] XPath: [6] XSLT: [7] XPointer: [8] XLink: [9] XInclude: [10] XProc: [11] W3Schools: [12] JSON: [13] NoSQL: [14] Quilt: [15] XML en databases: [16] XML en databases: [17] XQuery and XPath Full Text 0: [18] W3C Recommendation: [19] XQuery Update Facility 0: [20] Voorstel: Brantner Extending_XQuery_with_Collections_Indexes_and_Integrity_Constraints.pdf [21] XML Prague 2010 congres: [22] Voorstel: [23] XQuery 0: [24] XQuery Scripting Extension 0: [25] W3C over XQuery: [26] Design Patterns: science) [27] Model-View-Controller: [28] Observer, Strategy en andere: [29] Programmeerwedstrijd: [30] Socialito: [31] JQuery: [32] Geerts persoonlijke blog: [33] Blog van Daidalos: <30> 20 3<<< Geert Josten werkt al vanaf 2000 als IT-consultant bij Daidalos. Zijn werkterrein is breed, maar hij is het meest actief als content engineer met de nadruk op XML en gerelateerde standaarden.<<<4

Zelftest XML Concepten

Zelftest XML Concepten Zelftest XML Concepten Document: n1035test.fm 18/02/2010 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING Om een idee te hebben van wat we verwachten als voorkennis

Nadere informatie

Databases - Inleiding

Databases - Inleiding Databases Databases - Inleiding Een database is een verzameling van een aantal gegevens over een bepaald onderwerp: een ledenbestand van een vereniging, een forum, login gegevens. In een database worden

Nadere informatie

Thinking of development

Thinking of development Thinking of development Databases Arjan Scherpenisse HKU / Miraclethings Agenda voor vandaag Opdracht tussenstand State diagram / Observer pattern Bret Victor Databases 2/42 Opdracht tussenstand Slides

Nadere informatie

Javascript oefenblad 1

Javascript oefenblad 1 Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de

Nadere informatie

Les 10 : Aanmaken van een database (deel2).

Les 10 : Aanmaken van een database (deel2). Les 10 : Aanmaken van een database (deel2). Wat is een database? Een centrale opslagruimte voor gegevens. Alle informatie wordt centraal opgeslagen en kan door iedereen geraadpleegd worden. Voordelen van

Nadere informatie

< > Introductie. Structuur extraheren met XSLT

< > Introductie. Structuur extraheren met XSLT Dataontsluiting me t XML, XQu e ry en XSLT Door Anne Schuth en Maarten Marx, anne.schuth@uva.nl maartenmarx@uva.nl Om de kracht van de combinatie van XML, XQuery en XSLT te demonstreren beschrijven we

Nadere informatie

Kleine cursus PHP5. Auteur: Raymond Moesker

Kleine cursus PHP5. Auteur: Raymond Moesker Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven

Nadere informatie

Informatie & Databases

Informatie & Databases Informatie Wat is informatie en waaruit het bestaat? Stel op een kaart staat het getal 37 geschreven. Wat kun je dan zeggen van het cijfer 37? Niets bijzonders, toch? Alleen dat het een getal is. Gaat

Nadere informatie

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database. SQL manipulatietaal We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: INSERT : toevoegen van gegevens DELETE : verwijderen van gegevens UPDATE : wijzigen van gegevens

Nadere informatie

Lekker snel XML met SQL (.nl)

Lekker snel XML met SQL (.nl) Lekker snel met SQL (.nl In steeds meer opdrachten kom je als requirement tegen. Omdat het lekker makkelijk is of omdat de interface die je moet aanspreken het vereist. Dit is zeker het geval wanneer je

Nadere informatie

Technisch Ontwerp W e b s i t e W O S I

Technisch Ontwerp W e b s i t e W O S I Technisch Ontwerp W e b s i t e W O S I WOSI Ruud Jungbacker en Michael de Vries - Technisch ontwerp Website Document historie Versie(s) Versie Datum Status Omschrijving / wijzigingen 0.1 20 nov 2008 Concept

Nadere informatie

LES 1: AAN DE SLAG MET WORDPRESS. Lesoverzicht: Aan de slag Wat is WordPress CMS Front-end Back-end Samenvatting. Tijd: 5 minuten

LES 1: AAN DE SLAG MET WORDPRESS. Lesoverzicht: Aan de slag Wat is WordPress CMS Front-end Back-end Samenvatting. Tijd: 5 minuten LES 1: AAN DE SLAG MET WORDPRESS Lesoverzicht: Aan de slag Wat is WordPress CMS Front-end Back-end Samenvatting Tijd: 5 minuten Doel: Aan het einde van deze les weet je wat WordPress is en kun je benoemen

Nadere informatie

ProjectHeatmap. Onderzoeksrapport v0.5 11-03-11 Dennis Wagenaar

ProjectHeatmap. Onderzoeksrapport v0.5 11-03-11 Dennis Wagenaar ProjectHeatmap Onderzoeksrapport v0.5 11-03-11 Dennis Wagenaar 1 Inhoudsopgave Inleiding...3 Gheat...4 Info...4 Voordelen...4 Nadelen...4 Google Fusion Tables...5 Info...5 Voordelen...5 Nadelen...5 OLHeatmap...6

Nadere informatie

Sparse columns in SQL server 2008

Sparse columns in SQL server 2008 Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG

Nadere informatie

XAMPP Web Development omgeving opzetten onder Windows.

XAMPP Web Development omgeving opzetten onder Windows. XAMPP Web Development omgeving opzetten onder Windows. Inhoudsopgave 1. Lees dit eerst... 2 2. Inleiding... 2 1 Xampp downloaden... 2 2 Installatie Xampp 1.7.4 op externe harddisk... 3 3 XAMPP herconfiguren...

Nadere informatie

Secure Application Roles

Secure Application Roles Secure Application Roles Beheer de toegang tot de database 1. Inleiding Het realiseren van geautoriseerde toegang tot een database lijkt eenvoudig. Echter, vaak blijkt dat dezelfde combinatie van gebruikersnaam

Nadere informatie

Een website maken met databasetoegang.

Een website maken met databasetoegang. Hoofdstuk 5 Een website maken met databasetoegang. In dit hoofdstuk gaan we het weblog dat je in hoofdstuk 4 hebt gemaakt verder uitbreiden. Een belangrijk onderdeel wordt toegevoegd aan de applicatie,

Nadere informatie

PHP-OPDRACHT SITE BOUWEN

PHP-OPDRACHT SITE BOUWEN PHP-OPDRACHT SITE BOUWEN PERIODE 4 LEERJAAR 1 Opleiding: Duur: Applicatieontwikkelaar 1 onderwijsperiode (4-8 weken) Voorkennis: Basiscursus PHP 5.4 Victor Peters (978 90 125 8499 9) Basiscursus XHTML,

Nadere informatie

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB Connect Social Business Plan van Aanpak voor mijn stage bij ConnectSB Joey Kaan September 21, 2014 Inhoudsopgave 1 Achtergronden 4 2 Probleemstelling & Doelstelling 5 2.1 Leren Professioneel Functioneren..................

Nadere informatie

Object Oriented Programming

Object Oriented Programming Object Oriented Programming voor webapplicaties Door Edwin Vlieg Waarom OOP? Basis uitleg over OOP Design Patterns ActiveRecord Model View Controller Extra informatie Vragen OOP Object Oriented Programming

Nadere informatie

Les 2 Eenvoudige queries

Les 2 Eenvoudige queries Les 2 Eenvoudige queries XAMP Apache server ( http ) mysql server PHP myadmin IAM SQL oefeningen Database phpmyadmin Import : sql_producten.sql, sql_winkel.sql, sql_festival.sql SAMS SQL in 10 minuten

Nadere informatie

Project plan. Erwin Hannaart Sander Tegelaar 61849 62407

Project plan. Erwin Hannaart Sander Tegelaar 61849 62407 Project plan Erwin Hannaart Sander Tegelaar 61849 62407 I4C2 I4C1 1 Inhoudsopgave Doel en doelgroep van het project... 3 Beschrijving van het project... 4 Benodigde materialen... 5 Te verwachten resultaten,

Nadere informatie

Business Proces en Social Media

Business Proces en Social Media Business Proces en Social Media G L O M I D C O 1 1 1.1 Inleiding Social media zoals Facebook, LinkedIn en Twitter hebben een stormachtige ontwikkeling doorgemaakt. Sterker nog, ze zijn niet meer weg te

Nadere informatie

Dynamiek met VO-Script

Dynamiek met VO-Script Dynamiek met VO-Script Door Bert Dingemans DLA Ontwerp & Software bert@dla-architect.nl Inleiding Op de SDGN nieuwsgroep voor Visual Objects ontstond laatst een draad van berichten over de nieuwe libraries

Nadere informatie

XML. Alle tekortkomingen op een rijtje! (en een paar pluspunten...) Marc de Graauw http://www.marcdegraauw.com/

XML. Alle tekortkomingen op een rijtje! (en een paar pluspunten...) Marc de Graauw http://www.marcdegraauw.com/ XML Alle tekortkomingen op een rijtje! (en een paar pluspunten...) De geschiedenis van XML SGML Standard Generalized Markup Language IBM: back to the sixties... Markup: structuur, niet processing HTML:

Nadere informatie

Versieperikelen. Bijlage C

Versieperikelen. Bijlage C Bijlage C Versieperikelen In dit boek beschrijven we PL/SQL aan de hand van Oracle versie 11g. Alle eigenschappen die in dit boek behandeld worden, zijn in deze versie van Oracle (en in nog te verschijnen

Nadere informatie

16. Back-up en Restore

16. Back-up en Restore 16. Back-up en Restore Een back-up gebruik je pas als iets verkeerd is gegaan. Dan moet je de backup terugzetten doormiddel van een restore. In dit hoofdstuk worden de statements voor het maken en terugzetten

Nadere informatie

Waarom een Independent Software Vendor voor XForms kiest. Johan Blok CM Pro www.cmprofessionals.eu

Waarom een Independent Software Vendor voor XForms kiest. Johan Blok CM Pro www.cmprofessionals.eu Waarom een Independent Software Vendor voor XForms kiest Johan Blok CM Pro www.cmprofessionals.eu CWI Wikipedia An independent software vendor (ISV) is a company specializing in making or selling software,

Nadere informatie

A.C. Gijssen. 0.3 PHP en MySQL

A.C. Gijssen. 0.3 PHP en MySQL PHP en MySQL A.C. Gijssen 0.3 PHP en MySQL PHP en MySQL 0.4 Inhoudsopgave Voorwoord Deel 1 Over PHP 1.1 Inleiding...13 1.2 Wat is PHP?...14 1.3 De geschiedenis van PHP...15 1.4 Editor...16 1.5 PHP en websites...17

Nadere informatie

Tinus Plotseling 29-12-2002. MySQL

Tinus Plotseling 29-12-2002. MySQL Tinus Plotseling 29-12-2002 MySQL Inhoudsopgave Inleiding... 3 MySQL Geschiedenis... 3 MySQL Toepassingen... 3 MySQL Voordelen... 4 MySQL Nadelen... 4 MySQL bij ASCI... 4 PostgreSQL... 5 ORACLE... 6 MS

Nadere informatie

Stappenplan. De ontwikkeling van een interface doorloopt bij Studio Wolf vier stappen. Deze stappen verduidelijken de weg naar het eindresultaat.

Stappenplan. De ontwikkeling van een interface doorloopt bij Studio Wolf vier stappen. Deze stappen verduidelijken de weg naar het eindresultaat. Stappenplan Een interface is in principe alles wat de communicatie tussen de gebruiker en de computer bepaalt of vorm geeft. Het is het deel van de website of webapplicatie dat de interactie met de gebruiker

Nadere informatie

Dit voorbeeldproject beschrijft het gebruik van web services (open standaarden) voor de ontsluiting van kernregistraties bij de gemeente Den Haag.

Dit voorbeeldproject beschrijft het gebruik van web services (open standaarden) voor de ontsluiting van kernregistraties bij de gemeente Den Haag. Voorbeeldproject Een Haagse SOA Dit voorbeeldproject beschrijft het gebruik van web services (open standaarden) voor de ontsluiting van kernregistraties bij de gemeente Den Haag. Aanleiding Vanuit de visie

Nadere informatie

Geert Dekkers Web Studio info@nznl.net +31(0)6 27 224 301

Geert Dekkers Web Studio info@nznl.net +31(0)6 27 224 301 Geert Dekkers Web Studio info@nznl.net +31(0)6 27 224 301 Persoonlijk Geert Dekkers, geb 1955, opleidingen in educatie en de kunsten. Programmeert websites sinds 1998. Als programmeur grotendeels autodidact,

Nadere informatie

9. MYSQL. Daarin zien we het administratie paneel van mysql.

9. MYSQL. Daarin zien we het administratie paneel van mysql. 9. MYSQL We kunnen ook in dit systeem gebruik maken van de gekende ACCESS databanken. Zolang het maar relationale databanjken zijn kunnen we er gebruik van maken. In PHP echter maakt men meestal gebruik

Nadere informatie

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous 2006-2007 Inhoudsopgave 1 2 1.1 Programmeertaal PHP5..................... 2 1.2 MySQL database......................... 3 1.3 Adobe Flash...........................

Nadere informatie

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB Connect Social Business Plan van Aanpak voor mijn stage bij ConnectSB Joey Kaan September 28, 2014 Inhoudsopgave 1 Achtergronden 1 2 Probleemstelling & Doelstelling 2 2.1 Leren Professioneel Functioneren..................

Nadere informatie

Versiecontrole in de keten

Versiecontrole in de keten Versiecontrole in de keten Het probleem we hebben een keten, en een uitwisseling, met berichten, documenten et cetera iedereen is gelukkig... en nu komt versie 2.0 moet iedereen tegelijk over naar 2.0?

Nadere informatie

Websitecursus deel 3 JavaScript

Websitecursus deel 3 JavaScript Websitecursus deel 3 JavaScript A Eskwadraat WebCie www@a-eskwadraat.nl 12 oktober 2015 Introductie Twee weken geleden HTML Vorige week CSS Deze week JavaScript Javascript JavaScript (ook wel JS) is een

Nadere informatie

Capita Selecta Design Patterns voor administratieve applicaties

Capita Selecta Design Patterns voor administratieve applicaties Capita Selecta voor administratieve applicaties Bij afstudeerproject: Generiek framework voor administratieve toepassingen in een webgeörienteerde omgeving Henk van de Ridder 26 augustus 2006 Inhoud 26

Nadere informatie

INFITT01 - Internettechnologie WEEK 8

INFITT01 - Internettechnologie WEEK 8 INFITT01 - Internettechnologie WEEK 8 Programma Databases (JDBC, JNDI, ORM, JPA) MVC & Spring/Struts EJB Databases Veel web applicaties moeten informatie over langere tijd op kunnen slaan. Een voor de

Nadere informatie

asp.net / c# / Sql Server programmeur Persoonskenmerken: geduldig, sociaal, integer, innemend, vastberaden, buiten eigen denkkader denken.

asp.net / c# / Sql Server programmeur Persoonskenmerken: geduldig, sociaal, integer, innemend, vastberaden, buiten eigen denkkader denken. Jaap Goddijn en architect asp.net / c# / Sql Server programmeur Persoonlijke gegevens Naam: Jaap Goddijn Geboortedatum: 20 juli 1974 Woonplaats: Utrecht Email: jaap.goddijn@quebuss.nl Telefoon: 06 151

Nadere informatie

Cover Page. The handle http://hdl.handle.net/1887/20358 holds various files of this Leiden University dissertation.

Cover Page. The handle http://hdl.handle.net/1887/20358 holds various files of this Leiden University dissertation. Cover Page The handle http://hdl.handle.net/1887/20358 holds various files of this Leiden University dissertation. Author: Witsenburg, Tijn Title: Hybrid similarities : a method to insert relational information

Nadere informatie

DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1

DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1 DATAMODEL SQL Middelbare School Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1 INHOUDSOPGAVE 1. Informatiedomein 3 1.1 Informatiedomein 3 1.2 Toepassingen 3 2.

Nadere informatie

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat:

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat: Training Trainingscode Duur Gepubliceerd Taal Type Leermethode Kosten SF2015V8 4 dagen 02/02/2015 Nederlands & Engels Developer, basis Invidueel & klassikaal Op aanvraag Deze training richt zich op het

Nadere informatie

Leerjaar 1/2 ICT-Academie. Niveau 4. Applicatie ontwikkeling

Leerjaar 1/2 ICT-Academie. Niveau 4. Applicatie ontwikkeling Databases SQL Leerjaar 1/2 ICT-Academie Niveau 4 Applicatie ontwikkeling Auteur: R. Meijerink Datum: Januari 2013 0. Inleiding Databases / SQL In deze lessen wordt je geleerd databases te bouwen in SQL-code.

Nadere informatie

SMART- Leerdoel Mathijs de Bok Emotion - RMM42

SMART- Leerdoel Mathijs de Bok Emotion - RMM42 SMART- Leerdoel Mathijs de Bok Emotion - RMM42 Inhoudsopgave 1.0 Inhoudsopgave 1 1.0 Inleiding 2 1.1 Algemeen 2 1.2 Mijn leerdoelen 2 2.0 Beschrijving leerdoel 2 3 2.1 Responsive 3 2.2 Up- to- date HTML&CSS

Nadere informatie

Xampp Web Development omgeving opzetten onder Windows.

Xampp Web Development omgeving opzetten onder Windows. Xampp Web Development omgeving opzetten onder Windows. Inhoudsopgave 1. Lees dit eerst... 2 2. Inleiding... 2 3. Installatie Xampp... 3 1.1 Installatie Xampp Launcher... 7 1.2 Controle geïnstalleerde bestanden...

Nadere informatie

Bottleball Onderzoeksverslag MovingMonsters. Uitgevoerd door Arno Classens a.classens@student.fontys.nl

Bottleball Onderzoeksverslag MovingMonsters. Uitgevoerd door Arno Classens a.classens@student.fontys.nl Bottleball Onderzoeksverslag MovingMonsters Uitgevoerd door Arno Classens a.classens@student.fontys.nl 1 1. Inhoudsopgave Wat? Bladzijde 1. Introductie 3 2. Methodologie 4 3. Resultaten 3.1 Oriëntatie

Nadere informatie

XML Introductie. joost.vennekens@kuleuven.be http://www.cs.kuleuven.be/~joost

XML Introductie. joost.vennekens@kuleuven.be http://www.cs.kuleuven.be/~joost XML Introductie joost.vennekens@kuleuven.be http://www.cs.kuleuven.be/~joost extensible Markup Language Aanbrengen van extra informatie in tekst Betekenis van de tekst beschrijven Uitbreidbaar: afhankelijk

Nadere informatie

15. Google Tag Manager

15. Google Tag Manager W H I T E P A P E R I N 5 M I N U T E N J U N I 2 0 1 5 15. Google Tag Manager Introductie Marketeers zijn dol op statistieken en big data. Hoe meer hoe beter! Google Analytics wordt hier veel voor gebruikt,

Nadere informatie

Open SQL Server Management Studio en log in als Administator. Je ziet dan wat je in figuur 2.1 ziet.

Open SQL Server Management Studio en log in als Administator. Je ziet dan wat je in figuur 2.1 ziet. Hoofdstuk 2 Een ASP.NET applicatie met ADO.NET opzetten In dit hoofdstuk ga je een eenvoudige website opzetten, waarbij je een aantal gegevens uit een database ophaalt. Je moet je kennis van ADO.NET dus

Nadere informatie

1. Databanken. Wat is een databank? Verschillende opslagmethodes

1. Databanken. Wat is een databank? Verschillende opslagmethodes 1. Databanken Wat is een databank? Verschillende opslagmethodes Tekst bestanden Spreadsheet Relationele gegevensbanken Relationeel model De gestandaardiseerde opvraagtaal SQL Beheer van een mysql databank

Nadere informatie

6. De sitemap of stamboom van uw website

6. De sitemap of stamboom van uw website 6. De sitemap of stamboom van uw website Dynamisch of statisch? CMS of Dreamweaver? Een databankgestuurde website en CMS Grotere websites hebben nood aan een eenvoudiger manier om informatie toe te voegen,

Nadere informatie

6. Het maken van een database

6. Het maken van een database 6. Het maken van een database 6.1. Inleiding In hoofdstuk 5 heb je de oefendatabase gemaakt doormiddel van een script. In dit hoofdstuk ga je zelf een database maken en deze vullen met tabellen. Hiervoor

Nadere informatie

Rapporten. Labels en Rapporten in Atlantis 1. Atlantis heeft twee manieren om output te genereren: 1. labels 2. rapporten (reports)

Rapporten. Labels en Rapporten in Atlantis 1. Atlantis heeft twee manieren om output te genereren: 1. labels 2. rapporten (reports) Labels en Rapporten in Atlantis 1 Atlantis heeft twee manieren om output te genereren: 1. labels 2. rapporten (reports) Rapporten Een rapport is eigenlijk altijd een tekst bestand, die vorm wordt gegeven

Nadere informatie

Connect Social Business

Connect Social Business Connect Social Business Joey Kaan September 2014 Inhoudsopgave 1 Achtergronden 4 2 Probleemstelling & Doelstelling 5 2.1 Leren Professioneel Functioneren.................. 5 2.2 Facebook API leren door

Nadere informatie

Formulieren maken met Dreamweaver CS 4/CS 5

Formulieren maken met Dreamweaver CS 4/CS 5 Formulieren maken met Dreamweaver CS 4/CS 5 In deze handleiding leer je om een formulier en elementen die je binnen een formulier kunt gebruiken, te ontwerpen met Dreamweaver. Het uitgangspunt is dat dit

Nadere informatie

Wat kan er allemaal in Design Studio 1.4

Wat kan er allemaal in Design Studio 1.4 Wat kan er allemaal in Design Studio 1.4 In Berlijn was de Teched && Dcode en heb ik veel nieuwe dingen kunnen leren over Design Studio. In deze lange tekst zal ik bij een aantal nieuwe functionaliteiten

Nadere informatie

De mogelijkheden van XML voor de langdurige bewaring van digitale documenten. DAVID studiedag 30 nov 2000

De mogelijkheden van XML voor de langdurige bewaring van digitale documenten. DAVID studiedag 30 nov 2000 De mogelijkheden van XML voor de langdurige bewaring van digitale documenten DAVID studiedag 30 nov 2000 Prof. Jan Engelen, Steven Depuydt K.U.Leuven - ESAT Onderzoeksgroep Document Architecturen Waarom

Nadere informatie

Software Design Document

Software Design Document Software Design Document Mathieu Reymond, Arno Moonens December 2014 Inhoudsopgave 1 Versiegeschiedenis 2 2 Definities 3 3 Introductie 4 3.1 Doel en Scope............................. 4 4 Logica 5 4.1

Nadere informatie

We moeten de accommodaties selecteren die 3 sterren hebben, en in land met ID 10 zitten.

We moeten de accommodaties selecteren die 3 sterren hebben, en in land met ID 10 zitten. MySQL talk Trage website? Het optimaliseren van een bestaande website die een MySQL database heeft is niet altijd even makkelijk. Het probleem kan namelijk op veel verschillende plekken zitten: de database

Nadere informatie

Powerpoint presentatie College 5 Gilbert van Lierop & Farshad Salamat

Powerpoint presentatie College 5 Gilbert van Lierop & Farshad Salamat Powerpoint presentatie College 5 Gilbert van Lierop & Farshad Salamat Wat is een database? Een verzameling van georganiseerde data Een database bestaat uit applicaties, SQL en het DBMS Watis eendbms? EenDBMS

Nadere informatie

Gimme Five! Op weg naar TYPO3 5.0 'Phoenix'

Gimme Five! Op weg naar TYPO3 5.0 'Phoenix' Gimme Five! Op weg naar TYPO3 5.0 'Phoenix' Waarom TYPO3 5.0? Waarom TYPO3 5.0? Enkele redenen: Waarom TYPO3 5.0? Enkele redenen: Complexiteit De TYPO3 Core architectuur heeft zijn limiet bereikt en is

Nadere informatie

Ik weet dat het soms best wel allemaal wat ingewikkeld kan lijken.

Ik weet dat het soms best wel allemaal wat ingewikkeld kan lijken. WELKOM Bedankt om dit gratis e-book te downloaden! J Ik weet dat het soms best wel allemaal wat ingewikkeld kan lijken. Als anderen vertellen over de hosting van hun website, en updates doen en backups

Nadere informatie

Calligra. Algemene inleiding. Raphael Langerhorst Jost Schenck Vertaler/Nalezer: Natalie Koning

Calligra. Algemene inleiding. Raphael Langerhorst Jost Schenck Vertaler/Nalezer: Natalie Koning Algemene inleiding Raphael Langerhorst Jost Schenck Vertaler/Nalezer: Natalie Koning 2 Inhoudsopgave 1 Inleiding 5 1.1 Calligra-componenten................................... 5 1.2 Overzicht van de eigenschappen

Nadere informatie

Intranet: content-beheersystemen 1

Intranet: content-beheersystemen 1 Intranet: content-beheersystemen 1 een web-applicatie waarmee men zonder veel technische kennis op het internet/intranet kan publiceren er is een verschil tussen inhoud en presentatie inhoud verandert

Nadere informatie

Les 15 : updaten van gegevens in de database (deel2).

Les 15 : updaten van gegevens in de database (deel2). Les 15 : updaten van gegevens in de database (deel2). In de volgende reeks lessen zal alle vorige leerstof uitgebreid aan het bod komen. Zie ook de vorige lessen en documenten om informatie op te zoeken

Nadere informatie

Technisch Ontwerp Stylin s

Technisch Ontwerp Stylin s Technisch Ontwerp Stylin s Inhoudsopgave Inhoudsopgave... 1 Introductie... 2 Technieken... 2 Ontwerprichtlijnen... 3 Activity Diagram... 3 Sitemap... 4 Wireframes / Content Area s... 5 Visueel... 6 Database...

Nadere informatie

APEX en JasperReports

APEX en JasperReports APEX en JasperReports een Dream Team! Spreker(s) : Datum : E-mail : Vincent Deelen 28 mei 2013 vincent.deelen@transfer-solutions.com WWW.TRANSFER-SOLUTIONS.COM Outline APEX en rapporten Oracle BI publisher

Nadere informatie

Adlib Gebruikersdag 2012. adlibxml/xslt in de praktijk Breukelen 2 mei 2013 Solino de Baay s.debaay@adlibsoft.com

Adlib Gebruikersdag 2012. adlibxml/xslt in de praktijk Breukelen 2 mei 2013 Solino de Baay s.debaay@adlibsoft.com Adlib Gebruikersdag 2012 adlibxml/xslt in de praktijk Breukelen 2 mei 2013 Solino de Baay s.debaay@adlibsoft.com Programma XML en adlibxml Transformeren XSL Elementen Functies Xpath De praktijk 2 XML XML

Nadere informatie

Les 11 : Basis SQL (deel2).

Les 11 : Basis SQL (deel2). Les 11 : Basis SQL (deel2). Wat is SQL? SQL gaan we gebruiken voor het raadplegen van de database. We gaan gegevens invoegen in de database, selecteren, aanpassen en verwijderen van de database. Om dit

Nadere informatie

Flexibiliteit en Duurzaamheid: Teksttechnologie en Museumdocumentatie

Flexibiliteit en Duurzaamheid: Teksttechnologie en Museumdocumentatie Flexibiliteit en Duurzaamheid: Teksttechnologie en Museumdocumentatie Spectrum in een nieuw jasje Edward Vanhoutte & Ron Van den Branden Centrum voor Teksteditie en Bronnenstudie Koninklijke Academie voor

Nadere informatie

Inhoudsopgave. Stappen 1 Ervaringen 2 Wireframes 3 PIOTR TEKIEN HKU GAME ART GAR-1B

Inhoudsopgave. Stappen 1 Ervaringen 2 Wireframes 3 PIOTR TEKIEN HKU GAME ART GAR-1B Inhoudsopgave Stappen 1 Ervaringen 2 Wireframes 3 PIOTR TEKIEN HKU GAME ART GAR-1B PORTFOLIO 1 - STAPPEN Stappen INTRODUCTIE Voordat ik over mijn stappen vertel, wil ik kort toelichten dat ik eerder een

Nadere informatie

1. Inleiding... 2 1.1. Inleiding SQL... 3 1.1.1. Inleiding... 3 1.1.2. Database, databaseserver en databasetaal... 4 1.1.3. Het relationele model...

1. Inleiding... 2 1.1. Inleiding SQL... 3 1.1.1. Inleiding... 3 1.1.2. Database, databaseserver en databasetaal... 4 1.1.3. Het relationele model... 1. Inleiding... 2 1.1. Inleiding SQL... 3 1.1.1. Inleiding... 3 1.1.2. Database, databaseserver en databasetaal... 4 1.1.3. Het relationele model... 4 1.1.4. Wat is SQL?... 6 1.1.5. Verschillende categorieên

Nadere informatie

De principes van unobtrusive JavaScript. Peter-Paul Koch (ppk) http://www.quirksmode.org PFCongrez, 12 april 2008

De principes van unobtrusive JavaScript. Peter-Paul Koch (ppk) http://www.quirksmode.org PFCongrez, 12 april 2008 De principes van unobtrusive JavaScript Peter-Paul Koch (ppk) http://www.quirksmode.org PFCongrez, 12 april 2008 Unobtrusive JavaScript Bescheiden? Onopvallend? Unobtrusive JavaScript Volgens Wikipedia

Nadere informatie

Selenium IDE Webdriver. Introductie

Selenium IDE Webdriver. Introductie Selenium IDE Webdriver Het Wielsem 10, 5231 BW s- Hertogenbosch, telefoon 073-6409311 e- mail info@testwork.nl internet http://www.testwork.nl 1 Inhoudsopgave 1 Inhoudsopgave... 2 2 Selenium IDE... 3 3

Nadere informatie

VERENIGINGSWIJZER.NL PROJECTPLAN

VERENIGINGSWIJZER.NL PROJECTPLAN Vrije Universiteit Amsterdam Faculteit der Exacte Wetenschappen Project Multimedia Peter van Ulden Studentnr. 1494759 VERENIGINGSWIJZER.NL PROJECTPLAN INHOUDSOPGAVE 1 Inleiding...3 2 Project omschrijving...4

Nadere informatie

Oefenvragen OMI 2005-2006 eerste helft

Oefenvragen OMI 2005-2006 eerste helft Oefenvragen OMI 2005-2006 eerste helft Hoewel de beide toetsen uitsluitend uit multiple-choice-vragen zullen bestaan, volgen hieronder onder zowel een aantal open vragen als meerkeuzevragen. De eerste

Nadere informatie

Technisch ontwerp. Projectteam 6. Project "Web Essentials" 02 april 2009. Versie 2.1.0

Technisch ontwerp. Projectteam 6. Project Web Essentials 02 april 2009. Versie 2.1.0 Projectteam 6 Faculteit Natuur en Techniek Hogeschool Utrecht Projectleider: Hans Allis, hans.allis@student.hu.nl Technisch ontwerp Project "Web Essentials" 02 april 2009 Versie 2.1.0 Teamleden: Armin

Nadere informatie

Shared Data Store. Tom Demeyer, tom@waag.org Taco van Dijk, taco@waag.org

Shared Data Store. Tom Demeyer, tom@waag.org Taco van Dijk, taco@waag.org Shared Data Store Tom Demeyer, tom@waag.org Taco van Dijk, taco@waag.org Shared Data Store (SDS) De afgelopen jaren is de hoeveelheid slimme applicaties en de gebruikers die er toegang toe hebben enorm

Nadere informatie

Het ontwikkelen van XML-tools

Het ontwikkelen van XML-tools Het ontwikkelen van XML-tools Johan Jeuring Abstract XML wordt in veel situaties gebruikt, en voor dat gebruik worden talloze tools gebouwd. Er zijn verschillende manieren om XML-tools te ontwikkelen,

Nadere informatie

Enabling Mobile. Een whitepaper over het ontsluiten van data en systemen voor gebruik met en door mobiele applicaties

Enabling Mobile. Een whitepaper over het ontsluiten van data en systemen voor gebruik met en door mobiele applicaties Enabling Mobile Een whitepaper over het ontsluiten van data en systemen voor gebruik met en door mobiele applicaties Door Rutger van Iperen Mobile Developer bij AMIS Services Introductie Het gebruik van

Nadere informatie

De Kleine WordPress Handleiding

De Kleine WordPress Handleiding Introductie Dit is geen uitgebreide handleiding om een WordPress website of blog mee te bouwen. Het is ook geen overzicht van alle aspecten die een WordPress website zo bijzonder maken en geen verhandeling

Nadere informatie

Je hoeft je maar met twee bestanden bezig te houden:

Je hoeft je maar met twee bestanden bezig te houden: 1 2 3 Deze set Sushi Kaarten leert je hoe je een web-app maakt met een nogte-doen lijst. Als je op enig moment wilt zien hoe de web-app kan worden, kijk dan op dojo.soy/js-todo. Deze app kun je gebruiken

Nadere informatie

Waarom WordPress? Wat is WordPress? Bloggen en website Uniek design is mogelijk Makkelijk zelf te beheren

Waarom WordPress? Wat is WordPress? Bloggen en website Uniek design is mogelijk Makkelijk zelf te beheren Waarom WordPress? Wordpress is een bijzonder gebruiksvriendelijk systeem, zowel voor de gebruiker als de webbouwer. Iedereen kan er redelijk snel mee leren werken. Het zelf beheren van pagina s, nieuws,

Nadere informatie

Software Design Document

Software Design Document Software Design Document PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar 2014-2015 Jens Nevens - Sander Lenaerts - Nassim Versbraegen Jo De Neve - Jasper Bevernage Versie

Nadere informatie

LinkedIn - hoe meld ik mij aan?

LinkedIn - hoe meld ik mij aan? LinkedIn - hoe meld ik mij aan? Inhoud 1. Wat is LinkedIn?... 2. Aanmelden bij LinkedIn... 2.1 Registreren... 2.2 Uw profiel opbouwen... 3. De eerste handelingen op LinkedIn... 3.1 Navigeren met de menubalk...

Nadere informatie

Web building gevorderden: CSS & JavaScript. Karel Nijs 2008/11

Web building gevorderden: CSS & JavaScript. Karel Nijs 2008/11 Web building gevorderden: CSS & JavaScript Karel Nijs 2008/11 Webbuilding gevorderden les 3 JavaScript intro JavaScript invoegen JavaScript statements JavaScript popup berichten JavaScript functies JavaScript

Nadere informatie

Exercise assistant on-line

Exercise assistant on-line Exercise assistant on-line Onderwerpen - Introductie Exercise Assistant - On-line volgens MVC principe - Problemen bij MVC principe - Mogelijke oplossing - Richtingen onderzoek - Mogelijkheid tot meedoen

Nadere informatie

MODULEBESCHRIJVING Databases DBS1

MODULEBESCHRIJVING Databases DBS1 MODULEBESCHRIJVING Databases DBS1 Samensteller(s): Richard van den Ham Datum: 30-08-2012 Versie: 1.0 Module: Databases Identificatie Progresscode: DBS1 Semester: 1 Omvang: 140 SBUs/ 5 ECTS-punten Lestijd:

Nadere informatie

Koppeling met een database

Koppeling met een database PHP en MySQL Koppeling met een database 11.1 Inleiding In PHP is het eenvoudig om een koppeling te maken met een database. Een database kan diverse gegevens bewaren die met PHP aangeroepen en/of bewerkt

Nadere informatie

OpenIMS 4.2 Portaal Server

OpenIMS 4.2 Portaal Server OpenIMS 4.2 Portaal Server Inhoudsopgave 1 WAT IS EEN ENTERPRISE INFORMATIE PORTAAL?...3 1.1 BESPARINGEN...3 1.2 GERICHT OP EEN SPECIFIEKE DOELGROEP...3 2 OPENIMS PORTAAL SERVER (PS)...4 2.1 CENTRAAL BEHEER...4

Nadere informatie