Samenvatting Internettechnologie. Daan Pape 3e bachelor informatica UGent

Maat: px
Weergave met pagina beginnen:

Download "Samenvatting Internettechnologie. Daan Pape 3e bachelor informatica UGent"

Transcriptie

1 Samenvatting Internettechnologie 3e bachelor informatica UGent 31 mei 2014

2 1 Inleiding 1.1 Basisprincipes van netwerkgebaseerde computersystemen Een systeem is opgebouwd uit verschillende interagerende deelsystemen die zelf opgebouwd zijn uit deelsystemen of atomaire componenten. De architectuur van een systeem is de structuur en organisatie van het systeem en deze bestaat uit 3 componenten: Decompositie: het opsplitsen in deelsystemen zoals LAN, WAN, routers, hosts,... Functionaliteit: de functionaliteit van een bepaalde server is bv. Interactie: hoe de communicatie tussen deelsystemen in elkaar zit. 1.2 Infrastructuur van netwerkgebaseerde systemen De infrastructuur is een platform voor specifieke applicatiesoftware en verzorgt communicatie, opslag, dataverwerking en interactie met de gebruiker. De hardware en softwareinfrastructuur kan men zien als een gelaagd systeem: applicatie middleware (ipc library, databank abstractie software) besturingssysteem (netwerkstack, bestandssysteem) hardware (netwerk, opslag) Iedere host heeft een OS voor netwerk, GUI, opslag,... de middleware is echter optioneel. De communicatiediensten zijn vandaag zeer belangrijk en moeten rekening houden met verschillende soorten communicatie. Zo kan men communicatie hebben in LAN s waarbij de servers op dezelfde fysieke locatie staan of WAN s waarbij dit niet zo is. Ook zijn de communicatienetwerken niet homogeen zoals mobiele netwerken. Een netwerk interpreteert geen data maar er wordt onderzoek gedaan op cognitive networking. Men wil vandaag vooral dat er geen congestion optreed op punten zoals de internetlijn, serverbelasting, peering punten,... Het bestandssysteem verzorgt veel taken: Organisatie van bestanden in directories Centralisatie van gegevens in server hosts (fysisch of logisch) wat backuppen makkelijker maakt. Het toekennen van permissies aan gebruikers File sharing Vaak zijn bestandssystemen over meerdere fysieke hosts gespreid en men spreekt dan van Distributed File System of DFS. De gebruiker ziet dit niet en men kan replicatiesoftware gebruike nvoor backups en beveiligde netwerkcommunicatie toepassen. Het gebruik van een DFS zorgt voor een lagere Total Cost of Ownership of TCO omdat het beheer eenvoudig en dynamisch is waardoor alles efficiënter kan. De meeste applicaties maken gebruik van databanken die met een DBMS worden beheerd zoals MySQL, MSSQL, PostgreSQL, SQLite,... en er bestaan standaardbewerkingen die alle DMBS systemen kunnen zoals opslag van nieuwe data, verwijderen van data, zoeken naar data (filters),... Het is niet wenselijk deze standaardbewerkingen voor elk DBMS opnieuw te implementeren en daarom kan men van een middleware softwarelaag gebruik maken. Dit is een API die DBMS, OS en programmeertaal onafhankelijk is, voorbeelden: 1

3 ODBC of Open DataBase Connectivity: initieel enkel voor Windows maar nu voor de meeste besturingssystemen en het wordt door veel DBMS leveranciers ondersteund. JDBC of Java DataBase Connectivity: een software API voor Java en als de DBMS software geen JDBC gebruikt is er een ODBC naar JDBC bridge. De veelgehoorde term the cloud is nogal vaag en kan software, gegevensopslag of infrastructuur betreffen. 1.3 Client/Server architecturen Deze architectuur is per definitie asymmetrisch wat wil zeggen dat vele clients één server aanspreken. De server is hierbij reactief omdat hij reageert op aanvragen van de clients die actief zijn. In dit soort architectuur wordt de business application gecentraliseerd en kan men zo goede beveiliging, onderhoud, bescherming,... aanbieden. De gebruiker heeft echter minder controle over de gebruikte versie van de software. Een server moet dus altijd beschikbaar zijn en weet niet wanneer een client een request zal sturen. Afhankelijk van wat de vereisten zijn voor de applicatie moet er dus aan redundantie gedacht worden en van aangepaste hardwareplatformen gebruik worden gemaakt. Clients mogen aan- en afgezet worden volgens behoefte van de gebruikers en we maken onderscheid tussen 3 soorten clients: 1. Fat client: zeer veel functionaliteit. 2. Thin client: uitsluitend presentatie en gebruikersinterface zoals een webbrowser. 3. Ultra-thin client: een apparaat enkel voor de grafische weergave van applicatieresultaten en verwerking van input van de gebruiker. Zoals remote desktop en Citrix. De presentatie wordt ook door de server gedaan. In een C/S architectuur hebben we typische verschillende lagen: Presentation layer: de volledige gebruikerservaring met bv. een GUI zit hierin. Ook de formattering van data als die van de server wordt verkregen. De browser vervult meestal alle taken in de presentatielaag bij webtoepassingen. Application layer: ook wel application logic of business logic. Deze laag omvat de applicatieservers die de applicatiefunctionaliteit implementeren, input ontvangen, beslissen welke acties er moeten worden ondernomen, data verwerken,... Veiligheid is zeer belangrijk in deze laag, zeker als men op het gevaarlijke internet moet. Data layer: ook wel database layer of Enterprise Information System (EIS). Deze laag ontvangt en stockeert data uit de applicatielaag en verzorgt ook het opvragen en doorgeven van data terug aan de applicatielaag. Onder data verstaan we records, bestanden,... en voorbeelden zijn ERP systemen en andere MIS of Management Information System systemen. Men kan diverse lagen redundant uitvoeren. Zo kan men op de datalaag data repliceren en partitioneren met fileservers, DBMS systemen,... Op de applicatielaag kan men gaan voor modulaire of redundante applicatielogica. Men kan zo een indeling van architecturen maken: One tier: de 3 lagen zijn in 1 entiteit geïntegreerd en de clients zijn terminals die zowel presentatie, applicatie en data vanop de server benaderen. Typisch is dit een mainframe architectuur die zeer gecentraliseerd is wat onderhoud gemakkelijk en goedkoop maakt. 2

4 Two tier: De clients worden steeds krachtiger en de presentatielaag bevindt zich nu op de client. Op deze manier kunnen meer veeleisende presentatiemanieren worden gebruikt en het netwerk moet enkel nog data doorsturen. Een API (zoals REST) wordt mogelijk. Dit is voldoende voor veel netwerkgebaseerde systemen maar als informatie kritisch is, is dit systeem ontoerijkend. Three tier: de drie lagen draaien nu elk op hun eigen machine. De presentatielaag bevindt zich bij de clients en zowel de applicatielaag als de datalaagdraaien op verschillende servers. Dit zorgt voor een hoge schaalbaarheid en beveiliging, de clients hebben namelijk geen rechtstreekse connectie met de datalaag. Ook kunnen verschillende applicaties dezelfde data gemakkelijk aanspreken. Men kan zowel logisch (firewall) als fysisch (verschillende datacenters) de data beveiligen. Men kan met contentnetwerken voor de data de performantie ook verbeteren. Four tier: dit wordt gebruikt in webapplicaties. De applicatielaag wordt nu verder opgesplitst in: Web layer of Integratielaag gericht op presentatie Business logic zoals regels, sessiebeheer,... Grote webapplicaties hebben vaak deze architectuur en.net en J2EE platformen hebben dit type architectuur. De Business logic gaat dan vaak via API invokatie terwijl de web layer in de browser draait. Interactie tussen de weblaag en business logic gebeurt met RMI of Remote Method Invokation. Dit laat toe dat gedistribueerde objecten met elkaar communiceren en er zijn heel wat techologieën zoals Java/RMI met Java Remote Method Protocol (JRMI), Distributed Component Object Model (DCOM) met Object Remote Procedure Call (ORPC), Common Object Request Broker Architecture (CORBA) met Internet InterORB Protocol (IIOP),.NET Remoting,... Onder business logic verstaan we: Business objecten: bv. een cataloog, een winkelkarretje, een account,... Business logic voor een object: bv. elke klant heeft een uniek account, een account bestaat uit naam, en adres,... Soms spreken we van multi-tier als we de applicatielaag of middle tier verder opdelen. Een extra component is dan vaak de Data Access Layer (DAL). Het meerdere aantal lagen laat gemakkelijker onderhoud toe met een lagere TCO. Dit wordt typisch voor complexe software gebruikt waar meerdere personen onderhoud en beveiliging doen. De applicatieserver is dan vaak gedistribueerd en databankservers wordt door veel applicatieservers bevraagd. Een E-comerce platform zal typisch N-tier zijn opgebouwd. 1.4 Het opzetten en beheren van netwerkgebaseerde systemen Bij het opzetten van een dergelijk systeem moet men met enkele parameters rekening houden: Is het wenselijk een systeem netwerkgebaseerd te maken, vaak wel. Schaalbaarheid: het systeem moet goed kunne nomgaan met veranderlijke capaciteit en activiteit. Meestal zijn hiervoor verschillende hosts nodig wat de applicatie dus netwerkgebaseerd maakt. Administratie: er is nood aan automatisatie om alles op orde te houden. Netwerkgebaseerd kan men dit gespecialiseerd doen door een goede scheiding van de componenten. 3

5 Men moet dan een architectuur ontwerpen. Informatie is het basisproduct welke door data wordt voorgesteld. Men moet bij het ontwerp van de architectuur gemengt decompositie en assemblage toepassen. Decompositie is het opsplitsen in deelsystemen waarbij elk systeem onafhankelijk kan worden ontwikkelt en assemblage is de aanschaf en integratie van bestaande deelsystemen. Hoe meer deelsystemen hoe modulairder het systeem is. Bij het beslissen over de locatie van de data en de dataverwerking moet men rekening houden met 4 fundamentele taken qua data: 1. Verwerven 2. Opslaan 3. Verwerken 4. Presenteren Het toekennen van welke taken door welke host worden gedaan zal de performantie en communicatie bepalen. Steeds moet men zich afvragen hoe dicht de data zich bevindt, hoeveel gebruikers er zullen zijn, hoe veranderlijk de data is, Hoe Google werkt Het doel van Google is om het internet doorzoekbaar te maken en reclame te verkopen met AdWords en AdSense. Het werd opgericht door Larry Page en Sergey Brin na hun onderzoek aan Stanford University. Het google zoekmodel is gebaseerd op meer dan 100 verschillende parameters maar de belangrijkste is PageRank: Gebaseerd op citations wat wil zeggen dat men kijkt hoe populair een url is door het aantal verwijzingen te tellen. Het is een maat voor de waarschijnlijkheid dat een willekeurige surfer op die pagina terecht komt. De PageRank P R(A) van een webpagina A wordt als volgt berekent: [ P R(T1 ) P R(A) = (1 d) + d C(T 1 ) + + P R(T ] n) C(T n ) (1) waarin: T 1,..., T n : deze pagina s bevaten een hyperlink naar A, de citations. d: de damping factor : dit is de waarschijnlijkheid dat een gebruiker een bepaalde pagina verlaat voor een andere, meestal d = C(x): het aantal linken dat vanuit pagina x vertrekt naar een andere pagina Er is steeds behoud van PageRank vanuit een bepaalde pagina. De berekening van PageRank is een iteratief proces en er zijn tools op het web die de PageRank kunnen berekenen. Soms gebeurt deze berekening via theoretische modellen of simulaties of soms is het gewoon een look-up service bij Google. Om te vermijden dat er SEO wanpraktijken gebeuren is niet bekend hoe de echte PageRank wordt berekend. Vanuit SEO standpunt wil men zoveel mogelijk inkomende links, citations. Hoe minder uitgaande links in de pagina die verwijzen naar je webpagina hoe beter, want de citations moeten uniek zijn. 4

6 PageRank is uiteraard niet het enige criterium en moet gezien worden als een vermenigvuldigingsfactor in het hele zoekproces. De meeste zoekmachienes associeerden de tekst van een hyperlink, de anchor text, enkel met de pagina waarop hij voorkomt. Google associeert de anchor text ook met de webpagina waarnaar hij verwijst. Dit omdat anchors vaak goede beschrijvingen bevatten. Ook kunnen links naar afbeeldingen, video of audio wijzen die anders niet tekstgebaseerd kunnen worden geanaliseerd. Het is de enige manier om te crawlen op sommige dingen. Het gebruik van anchor text houdt ook risico s in zoals een Google Bom. De gebruikers registreren veel domeinen die allemaal naar een site verwijzen met dezelfde anchortekst xyz. Als men dan de term xyzïntikt in Google is de kans groot dat men op die pagina terecht komt. Als veel gebruikers samenspannen kan dit effect ook optreden. Een voorbeeld zijn de woorden miserable failure. Naast de anchor text wordt ook de volledige raw HTML van een pagina bijgehouden en de visuele presentatie van de woorden. Algemeen gebeuren volgende 4 stappen bij een zoekopdracht: 1. Zoek alle webpagina s die de trefwoorden van de zoekactie bevatten. 2. Rangschik volgens de features per pagina zoals trefwoorden en opmaak ervan. 3. Breng het principe van anchor text in rekening. 4. Pas PageRank toe als vermenigvuldigingsfactor. Google gebruikt dus een zeer sterk gelaagde architectuur omdat men een goede kwaliteit wil aanbieden met een zeer goede performantie. Er is een instantaan resultaat voor zoekacties in een systeem met honderden miljoenen webpagina s. Het Google-datacenter in België zorgt voor enkele milliseconden betere performantie in Europa. We bekijken nu de verschillende lagen: 1. Crawling: de GoogleBot download automatisch webpagina s en kan dit snel en efficiënt doen. Een URL server stuurt een lijst van de te downloaden URL s naar de crawlers. De gedownloade pagina s krijgen een unieke ID en worden gecomprimeert opgeslagen. 2. Indexing en Sorting: elk document wordt omgezet in een set van hits die in barrels of databases worden opgeslagen. Een hit is een woord met metadata zoals opmaak. Alle hyperlinks worden geparsed en in een Anchors database opgeslagen met de oorsprong, het doel en de anchor text. De sorter sorteert de inhoud van de barrels zodat de docid s en wordid s gemakkelijk gevonden kunnen worden. 3. Interne operaties: de URL resolver haalt URL s uit de anchor databae en converteert ze naar absolute URL s waarna ze aan de docid s in de barrels worden gelinkt. Er wordt dan een database met alle docid s opgebouwd en er wordt een checksum berekend van de URL s gelinkt aan de docid s en daarop wordt gesorteerd. Zoeken kan nu met binary search worden gedaan. Een database met alle links wordt gebouwd wat dus een verzameling van paren docid s is, daaruit wordt dan de PageRank berekend. 4. Searching: het Google Query Evaluation Process verloopt in 5 stappen: (a) Interpreteer de query. (b) Zet zoekwoorden om in wordid s. (c) zoek in de documentenlijst naar docid s die alle zoektermen bevatten. (d) Bepaal pagina rank op basis van hit-types (title, anchor,...) met hun gewicht. (e) Combineer het resultaat met PageRank. 5

7 1.6 Hoe Amazon werkt Amazon wil een plaats zijn waar mensen alles kunnen vinden. Ze werken daarvoor samen met e-commerce partners en bieden vele diensten aan. Amazon heeft ook andere diensten zoals IMDB. De Amazon Web Services of AWS zijn cloud diensten: EC2 of Elastic Compute Cloud: dit is aanpasbare rekencapaciteit aangerekend in CPUuur en dataverkeer. Er kunnen binnen minuuten servers aangemaakt worden met AMI s of Amazon Machine Images. Je kan publieke gebruiken met linux of windows, private met eigen app s of betalende door third party. S3 of Simple Storage Service: men kan objecten tot 5Gb opslaan in de cloud. Dit kan zowel publiek en privaat door URL met ACL (Acces Control List). Er is een hoge beschikbaarheid van 99,99% en ondersteuning voor BitTorrent en verschillende API s. De objecten zitten in buckets. SimpleDB SQS of Simple Queue Service: een schaalbare berichtenservice die zeer betrouwbaar is en tot miljoenen berichten per dag kan gaan. Inter Process Communicatie, buffering,... zijn mogelijkheden en er is een simpele 10 methoden platformonafhankelijke API. Mechanical Turk: sommige taken zijn moeilijk voor een computer maar makkelijk voor een mens zoals beeldherkenning, spraakverwerking,.... De Mechanical Turk API stelt ontwikkelaars in staat gemakkelijk menselijke intelligentie toe te passen. De developer geeft een Human Intelligence Task op die aan echte mensen worden overgelaten. Voorbeelden zijn vertalingen, the sheep market,... Deze diensten worden aangeboden om de rompslomp en kosten van web development weg te namen. Het beheer van servers, voorzien van koeling, bandbreedte, stroom en het voorbereiden op schaalvergroting is vaak moeilijk en duur. Men moet grote investeringen doen op voorhand indien men wil voorbereid zijn. Obstakels zijn schaalvergroting zoals een continue stijging in gebruik (youtube, facebook). Andere opstakels zijn pieken zoals Slashdot of de jaarlijkse belastingsaangifte. De oplossing is Web-scale computing waarbij vaste kosten voor een hoge capaciteit variabel worden omdat er schaalbaarheid op aanvraag is. Er is een hoge beschikbaarheid en betrouwbaarheid. En de envoudige API s en lage TTM (Time To Market) maken het kost-effectief. Amazon bekijkt welke delen van zijn techologie het aan ontwikkelaars kan aanbieden, dan worden obstakels om ermee aan de slag te gaan verwijderd of verkleind en zo bekomt men een verzameling API s en businessmodellen voor Amazon services. Ze bieden zowel data aan, infrastructuur (SQS, S3, EC2), zoeken tot zelfs mensen. 1.7 Energieverbruik Webapplicaties vereisen veel rekenkracht en dus moeten meer machines worden ingezet. Datacenters zetten daarom massaal in op groene energie en datacenters worden strategisch geplaatst in koude gebieden dicht bij water. 2 Clustering Bij de karakterisering van de werklast bij een goede capaciteitsplanning is clustering zeer belangrijk. Deze algoritmen kunnen het optimaal aantal basiscomponenten bepalen en ze geven waarden voor de parameters die deze basiscomponenten karakteriseren. We vermelden hier twee basisprincipes MST of Minimum Spanning Tree en het k-gemiddelden algoritme. 6

8 2.1 MST-algoritme Dit is een hiërarchisch algoritme dat start met het beschouwen v an alle individuele gebeurtenissen als zijnde clusters. Twee clusters die het dichtst bij elkaar liggen worden dan samengevoegd tot een nieuwe cluster totdat het gewenst aantal bereikt is. Meer formeel: 1. Als de performantiedata van P gebeurtenissen gekend is waarbij elk meetpunt uit K metingen bestaat. We hebben danp meetpunten van de vorm (D p1, D p2,..., D pk ) met p = 1,..., P. 2. Kies J als het gewenste aantal clusters. 3. Stel het actuele aantal clusters j gelijk aan het aantal meetpunten, dus j = P. 4. Herhaal volgende stappen totdat j = J: (a) Bepaal de parameterwaarden van de centroïden C 1,..., C j voor elk van de j actuele clusters. Deze zijn gemiddelden van de parameterwaarden van alle meetpunten van de cluster. (b) Bereken de (bv. euclidische afstand) tussen elk paar centroïden en bouw de j j- interclusterafstandsmatrix op. Element (m, ) stelt dan de afstand voor tussen clusters m en n. (c) Bepaal het minimale van nul verschillende element (q, r) in de interclusterafstandsmatrix. (d) Voeg de clusters q en r samen en verminder het actuele aantal clusters j met k-means Het k-gemiddeldenalgoritme is een niet-hiërarchisch clusteringsalgoritme dat start met het kiezen van J meetpunten/gebeurtenissen. Deze worden als beginschatting gebruikt voor de centroïden van de J clusters die moeten worden gevonden. De andere meetpunten worden toegevoegd aan de dichtstbijzijnde clusters. Deze allocatieprocedure wordt iteratief uitgevoerd totdat geen enkel meetpunt meer van cluster verandert, of tot een vooraf vastgelegd maximum aantal iteraties is bereikt. Meer formeel: 1. Als de performantiedata van P gebeurtenissen gekend is waarbij elk meetpunt uit K metingen bestaat. We hebben danp meetpunten van de vorm (D p1, D p2,..., D pk ) met p = 1,..., P. 2. Kies J als het gewenste aantal clusters. 3. Kies I het maximum aantal iteraties. 4. Kies J startpunten die zullen gebruikt worden als initiële schattingen voor de clustercentroïden. Men kan bv. de eerste J meetpunten kiezen of de J meetpunten die zich mutueel het verst van elkaar bevinden. 5. Beschouw elk meetpunt en vloeg het toe aan de cluster met de dichtstbijzeijnde centroïde. Herbereken de parameterwaarden van deze centroïde met het nieuwe meetpunt erbij. 6. Herhaal iteratiestap 4 tot geen enkele meetpunt meer van cluster verandert of tot I iteraties werden gedaan. Voor een voorbeeld van het clusteringalgoritme zie het bijbehorende clusterdocument. 7

9 3 Operationele aspecten 3.1 Performantie van webgebaseerde toepassingen Bij het meten van de tijd die verstrijkt om een webrequest te beantwoorde zijn 3 componenten belangrijk: 1. Client (browser): de eidgebruiker klikt op de link waarna de browser in lokale cache kijkt. Indien de pagina gevonden werd is de antwoordtijd R c. Anders moet er een IP-adres aan de DNS server worden gevraagd, een TCP connectei gemaakt worden en een HTTP request verzonden en ontvanen worden. 2. Newerk: transport van de data 3. Server (webserver): de server ontvangt de HTTP-vraag en voert deze uit waarna het antwoord wordt verstuurd en afhankelijk van persistent of niet de connectie wordt gesloten. Er zijn dus heel wat verschillende tijden om te meten: R r : de totale antwoordtijd R N1 : de transfer van de HTTP-vraag (client naar server) R N2 : de transfer van het HTTP-antwoord (server naar client) R S : de server residentietijd (tijd voor serveractiviteit) R C : de client residentietijd (tijd voor clientactiviteit) Als we stellen dat R N = R N1 + R N2 dan geldt: R r = R C + R N + R S (2) Hierbij is R C << R N + R S. Indien we met caching te maken waarbij hebben we: p C = N C N P (3) met p C de succesrate wat het aantal cache hits gedeeld door het totaal aantal aanvragen is. De totale antwoordtijd R r wordt nu dus: De cachegrootte heeft dus een grote impact op de browsesnelheid. R r = p C R C + (1 p)r r (4) Een succesvolle webtoepassing heeft een sterke verhoging van het aantal clients en servers. Schaalbaarheid is dus zeer belangrijk zeker als men weet dat de globale performantie wordt beperkt door de traagste component in het systeem. Een bottleneck is een deelsysteem dat de globale performantie beperkt en identificatie daarvan is zeer belangrijk en deze moeten het eerst worden aangepast bij upscaling. Het is belangrijk om een inschatting te kunnen maken van de benodigde resources. Zo kan men schatten heoveel objecten en welk type er zullen worden opgeslagen, hoeveel requests met welke omvang er zullen zijn,... Voor een publieke applicatie is dit veel moeilijker dan voor een interne applicatie. Voor een systeemadministrator is performantie gelijk aan de verreiste bandbreedte, de gegarandeerde uptime,... voor gebruikers is dat de beschikbaarheid, de snelheid van antwoorden,... Hoe performant een applicatie is, is ook grotendeels perceptie en er moeten dus kwantitatieve performantiematen zijn. Bij webtoepassingen heb je niet steeds alles onder controle (flash crowds, 8

10 slechte verbindingen,... ) Enkele belangrijke performantiematen zijn de volgende: Throughput: de verwerkingscapaciteit vande connectie tussen client en server. Dit wordt in aantal HTTP-requests/sec of bps uitgedrukt. Latency: de tijd die de server nodig heeft om antwoord te formuleren. De totale antwoordtijd hnagt af van de latency en de throughput en de verwerkingstijd van de clients. Afgeleide maten zijn packet loss in procent wat het aantal fouten per seconde betekent. De populariteit van de toepassing komt overeen met het aantal gevraagde connecties met de server. Service Levels zijn niveau s die aangeven welke mate van dienstverleningskwaliteit wordt geleverd. Periodiek wordt gemeten wat de performantiematen zijn om adequate capaciteitsplanning te kunnen uitvoeren op piekmomenten. Een SLA of Service Level Agreement is een overeenkomst tussen provider en afnemer over de geleverde kwaliteit. Gebruikers ervaren 0.1 seconde als instantaan, 1 seconde als traag maar doenbaar en vanaf 10 seconden is het zeer slecht. Proxy servers die dichter bij de user staan kunen latency korter maken en bandbreedtevereisten verlagen door ze te spreiden. De Content Delivery Netwerken of CDN s doen dit. De proxy server is nu een client en server tegelijk met een lokale cache. Voor een proxyserver kan men volgende performantiematen gebruiken: De succesverhouding p C = N C N P : dit zecht niets over de bandbreedte. De byte-succesverhouding: dit zegt wel iets over de bandbreedte. Hoeveelheid getransfereerde data: het totaal aantal verstuurde bytes uit de cache. Scripting voegt veel functionaliteit toe en maakt websites dynamisch. De keuze over welke scripts op de server lopen en welke op de client kan een grote impact hebben op de globale performantie. De distributie van de te verwerken objecten (bv. bestandsgrootte) en de populariteit ervan zijn twee belangrijke aspecten van de performantie. De invloed van de bestandsgrootte-distributie (of bijhorende verwerkingstijd) heeft volgende aandachtspunten: Een niet te verwaarlozen staart wat wil zeggen dat de kans op zeer grote bestanden niet te verwaarlozen is. Afgeleide grootheden zoals gemiddelde vertonen grote variabiliteit. De betekenis van individuele performantiemetingen op basis van bestandsgrootte moeten geminimaliseerd worden. De verwerkingstijd van bestandsgrootte-distributie of bijhorende verwerkingstijd volgt veelal een pareto-distributie: 9

11 We kunnen de CPU-belasting indelen in klassen en dan daarover het gewogen gemiddelde nemen. Stel volgende verdeling van de CPU-tijd van 10 HTTP-requests reeds gesorteerd: t < 1s t 6s t 6s De gemiddelde CPU tijd over alle klassen is dan 6,7s. De algemeen gewogen CPU tijd wordt echter: = De 2,71 seconden is nu wel de meest relevante waarde. Niet enkel de bestandsgrootte is belangrijk maar ook de populariteit van de objecten. Dit is ook een goed gedocumenteerd fenomeen en er bestaat de wet van Zipf die stelt dat hoe groter de populariteitsrang p hoe minder populair (f = frequentie van optreden) het object is: f 1 p (5) De populariteitsrang is gewoon het volgnummer van de pagina indien deze op dalende populariteit worden gesorteert. Stel dat je paginas A en B hebt waarbij pagina B 100 bezoekers per dag heeft en pagina A 10 bezoekers, dan krijgt pagina B populariteitsrang 1 en pagina A populariteitsrang 2. Ter volledigheid geven we nog eens de netwerkkarakteristieken weer: Latentie of vertraging: dit is de tijd nodig om één pakket van client naar server of omgekeerd te transfereren. De Round Trip Time of RTT is een maat om latentie uit te drukken in seconde en telt de totale tijd voor een pakket om aangevraagd en teruggezonden te worden. Bandbreedte: een paat voor de snelheid waarmee data kan worden verzonden, in bps uitgedrukt. Bandbreedte-latentieproduct een capaciteit voor datatransfer van de client naar de server of omgekeerd in aantal bit of byte. Er is altijd een groot verschil tussen gemiddelde activiteit en piekactiviteit, daarom is het aan te raden om met percentielen te werken. 3.2 Capaciteitsplanning Een belangrijk begrip bij capaciteitsplanning is adequate capaciteit en er is een methodologie nodig voor capaciteitsplanning met: Efficiënte (deel)systeemconfiguratie Geschikte netwerk- of systeemconfiguratie Kostefficiëntie met personeel- en investeringskosten Een SLA is het contractueel vastleggen van performantievereisten zoals een server die minimum zoveel tijd beschikbaar moet zijn of zoveel requests per seconde moet aankunnen. Als er geen SLA is geldt een best-effort approuch waarbij men een zo goed mogelijke dienstverlening nastreeft. Bij het kiezen van de goede technologie speelt niet alleen de performantie een rol maar ook de kennis, de kost,... Hoe strenger de SLA is hoe hoger de kosten typisch zijn en er zijn 2 types kosten: CAPEX: dit zijn de opstartkosten en omvatten hard- en software, installatie, personeel,... OPEX: operationele kosten met administratie, onderhoud, telecomkosten 10

12 Schaalbaarheid is belangrijk maar niet altijd eenvoudig te realiseren. De definitie van adequate capaciteit is nu dus: Het continu realiseren van de SLA s. Dit gebruik makende van vooraf gedefinieerde technologieën/standaarden De realisatie gebeurt binnen de beperkingen van de kosten. De heterogeniteit aan diverse deelsystemen maakt het soms moeilijk, zo zijn er veel OSen, hardwaresooften,... Er zijn 3 modellen om de adequate capaciteit bij C/S-gebaseerde systemen te bepalen: 1. Werklastmodel: dit model beschrijft de vraag naar middelen binnen een representatieve tijdsspanne. 2. Performantiemodel: dit voorspelt de systeemperformantie als functie van de systeembeschrijving en de werklastparameters. De antwoordtijden en verwerkingssnelheid komen dan uit het model en deze kunnen met de SLA vergeleken worden. 3. Kostenmodel: de kosten voor soft- en hardware, telecom en administratie van het systeem worden bekeken Werklastmodellen De werklast wordt beschreven door een systeem in deelsystemen op te splitsen en deze dan met kwantitatieve parameters te beschrijven. Twee basisparameters zijn: Workload Intensity (WI): een maat voor de globale load op het systeem. Service Demand (SD): een maat voor tijd nodig voor elke resource component (bv. CPU, RAM). Veel parameters worden afgeleid of geschat omdat ze niet rechtstreeks kunnen worden gemeten. Bij een hoge werklast zijn er veel gebeurtenissen en alle individuele werklastparameters van de gebeurtenissen bekijken is dan niet altijd relevant. Daarom gebruiken we een compacte representatie, namelijk het werklastmodel. We splitsen door middel van clustering de werklast op en berekenen de gemiddelden van de clusters omdat het globaal gemiddelde niet veel zegt. Het aantal clusters beïnvloed de nauwkeurigheid van het werklastmodel en clusteringsalgoritmen berekenen 11

13 het optimaal aantal clusters. Idealiter geven performantiemonitors een waarde aan voor elke werklastparameter. In de realiteit zijn er vaak geen goede performantiemonitors beschikbaar en noodgedwongen wordt er te weinig tijd aan performantiemonitoring besteed. Sommige monitors geven globale parameter waarden zoals het totaal aantal getransfereerde pakketten in LAN, totale CPU benutting,... opsplitsing is dan beter en vuistregels om dat te doen werken vaak al goed. Vaak is het afdoende enkel de performantieparameters van de bottlenecks te meten en deze dan te vertalen naar andere omstandigheden en types van hardware. Best kiest men een vastgelegde benchmark als maatstaf. Op die manier kan men een syntetisch model gebruiken om het model te calibreren indien het verschil tussen de syntetische en werkelijke werklast te groot wordt. Op basis van de huidige toestand en de historiek kan men de toekomstige werklast en pieken voorspellen. Op deze manier kan men een strategie uitstippelen en eventueel hardware aanpassen. Een correcte trendanalyse is dus zeer belangrijk Performantiemodellen In dit model is het systeem een black box. Interne details worden niet gemodelleerd en enkel verwerkingscapaciteit wordt gemodelleerd met de verwerkingsfunctie of throughput function: X 0 (k) met k het aantal aanwezige aanvragen (6) Het toestandstransitiediagram (TDD) of State Transition Diagram (STD) bevat de mogelijke toestanden van (deel)systemen en de transities tussen toestanden waarin het systeem zich kan bevinden. Een alternatief is het modelleren van individuele componenten/deelsystemen. Het eerste servermodel gaat uit van een oneindige populatie en oneindige wachtlijn. We nemen nu een aantal parameters op in het model: λ (aanvragen/s): de aankomstsnelheid van de aanvragen X 0 (k) = µ: we modelleren een homogene werklast waarbij alle aanvragen statistisch gelijk zijn en enkel het aantal een invloed heeft. We hebben dus een constate verwerkingsfunctie. De oneindige wachtlijn in het model zorgt ervoor dat alle aanvragen worden behandeld en er dus geen verloren gaan. We gaan dan ook uit van een operationeel overzicht waarbij het aantal aanvragen bij het begin van de observatie gelijk is aan dat van het einde van de observatie. Tijdens de observatie kan het wel schommelen. We hebben dus: λ (aanvr/s) µ (aanvr/s) aankomst request server aanvraag in wachtlijn aanvraag wordt behandeld Het model berekent: Het model moet nu p k berekenen, dat is de fractie van de tijd dat er k aanvragen in de server aanwezig zijn. Het gemiddeld aantal aanwezig aanvragen. De gemiddelde response tijd. De benuttiging van de server. De verwerkingssnelheid van de server. 12

14 De toestand van de server wordt door 1 parameter gekarakteriseerd, namelijk het aantal aanvragen aanwezig in de server. Dit heeft als gevolg dat het gedrag onafhankelijk is van de manier waarop de toestand werd bereikt en dat het gedrag onafhankelijk is van de huidige toestand. We hebben een geheugenloos of Markov-systeem met een aftelbaar oneindig aantal toestanden k en kunnen dit in een TTD voorstellen: Het operationeel evenwicht stelt nu dat de flow in en uit elke toestand (de pijlen) gelijk is, dit noemen we het global balance principle. Dit geeft ons een evenwichtsvoorwaarde aan de grenzen: Dit heeft als gevolg: λp 0 = µp 1 µp 1 = λp 0 (λ + µ)p 1 = λp 0 + µp 2 µp 2 = λp 1 (λ + µ)p 2 = λp 1 + µp 3 µp 3 = λp 2 µp k = λp k 1 p k = p 0 ( λ µ) k met k = 0, 1, 2,... (7) en dus is p 0 de fractie van de tijd dat het systeem idle is. Het systeem bevindt zich steeds in een toestand en dus: ( [ k λ ( ) ] k 1 λ p k = p 0 = 1 p 0 = = 1 µ) λ µ µ k=0 k=0 k=0 (8) De voorwaarde voor convergentie is nu dat de snelheid van de aankomst van de vragen λ kleinder is dan de verwerkingssnelheid µ en dus: λ < µ De benuttiging U van de server wordt gegeven door: U = 1 p 0 = λ µ p k = (1 U)U k (9) De toestandsdistributie is dus enkel afhankelijk van de benuttiging en niet van de individuele waarden. Het gemiddeld aantal aanvragen in de server is nu dus gelijk aan: N = kp k = (1 U) ku k U = (1 U) (1 U) 2 = U 1 U k=0 k=0 (10) en de gemiddelde verwerkingssnelheid van de server is dus gelijk aan: X = Uµ + (1 U) 0 = λ (11) 13

15 De gemiddelde verwerkingssnelheid is dus de gemiddlede aankomstsnelheid. Dit is logisch aangezien er geen aanvragen verloren gaan. We kunnen nu ook de gemiddelde antwoordtijd gaan berekenen: ( ) ( ) U 1 N = RX R = = U /λ 1 U λ 1 U = 1 /µ 1 U = S 1 U (12) waarbij S de gemiddelde verwerkingstijd per aanvraag is. Als U laag is (naar 0 gaat) dan is de gemiddelde antwoordtijd de gemiddelde verwerkingstijd per aanvraag en is er geen verlies ten gevolg van wachten. Als U hoog is (naar 1 gaat) dan is de antwoordtijd oneindig lang en is er dus veel tijdsverlies ten gevolg van wachten in de wachtlijn. Het tweede servermodel heeft een oneindige populatie maar een eindige wachtlijn. Net zoals in het eerste model is er dus een zeer groot aantal gebruikers maar de server heeft een beperking op het aantal aanvragen dat kan worden behandeld en qua geheugen en opslag. Niet alle inkomende aanvragen kunnen in de wachtlijn worden gezet: k W (k = 0, 1, 2,..., W ) We passen het model nu aan om hiermee rekening te houden. De toestand van de server wordt nog atlijd door n parameter beschreven met de bijkomende voorwaarde dat er een eindig aantal toestanden zijn: De evenwichtsvoorwaarde aan de grenzen is dus: p k = p 0 ( λ µ) k k = 0, 1, 2,..., W (13) Om p 0 te berekenen weten we dat het systeem zich in een toestand bevindt: W W ( ) ] k λ [1 ( p k = p 0 = p λ /µ) W = 1 p µ 1 λ 0 = λ /µ /µ 1 ( λ /µ) W +1 (14) k=0 k=0 De benuttiging van de server wordt gegeven door: ( λ /µ) [1 ] ( λ /µ) W U = 1 p 0 = 1 ( λ /µ) W +1 (15) en de fractie verloren aanvragen is dan p verlies = p W. Op een gegeven punt heeft het verlengen van de wachtrij geen invloed meer op het aantal verloren aanvragen. Het is een dalend exponentieel verband. We berekenen nu het gemiddeld aantal aanvragen in de server: N = W W kp k = p 0 k ( λ /µ) k (16) k=0 14 k=0

16 Met behulp van de hulpformule: bekomen we N = W k=0 ka k = W aw +2 (W + 1)a W +1 + a (1 a) 2 (17) [ ] ( λ /µ) W ( λ /µ) W +1 (W + 1) ( λ /µ) W + 1 [ 1 ( λ /µ) W +1] (1 λ /µ) (18) Op een gegeven moment zal het gemiddeld aantal aanvragen in de server een constante worden en niet langer stijgen indien de wachtrij langer wordt. Links zien we dus de fractie verloren aanvragen in functie van de lengte van de wachtlijn en rechts het gemiddeld aantal aanvragen in de server in functie van de lengte van de wachtlijn. De gemiddelde verwerkingssnelheid van de server wordt nu gegeven door: X = U µ + (1 U) 0 = λ 1 (λ /µ) W 1 ( λ /µ) W +1 (19) De gemiddelde verwerkingssnelheid is dus kleiner dan de gemiddelde aankomstsnelheid omdat er aanvragen verloren gaan. De gemiddelde antwoordtijd wordt nu gegeven door: R = N X = S W (λ /µ) W +1 (W + 1) ( λ /µ) W + 1 [ ] 1 ( λ /µ) W (1 λ /µ) (20) Net zoals het gemiddelde aantal aanvragen zich stabiliseerd met een stijgende wachtlijn doet ook de gemiddelde verwerkingssnelheid zich en dit met hetzelfde soort verband tussen de twee, exact hetzelfde met de gemiddelde antwoordttijd, dit is zeer logisch natuurlijk. We hebben dan ook een veralgemeend servermodel met als karakteristieken: Een oneindige populatie De aankomstsnelheid van de aanvragen hangt af van de toestand De behandelingssnelheid van de aanvragen hangt af van de toestand Er is een eindige wachtlijn 15

17 We berekenen nu weer deze formules en bekomen: W k=0 k 1 λ i p k = p 0 (21) µ i+1 i=0 k 1 λ i p 0 = 1 p 0 = µ i+1 i=0 [ W k 1 λ i µ k=0 i=0 i+1 ] 1 (22) U = 1 p 0 (23) 4 Hypermedia X = N = W µ k p k (24) k=0 R = N X = W kp k (25) k=0 W kp k k=0 (26) W µ k p k De termen het internet en het web worden vaak verkeerdelijk als synoniemen gebruikt: k=0 Het internet: een internationaal computernetwerk Het web: het WWW of World Wide Web is een informatiesysteem bovenop het internet bestaande uit geconnecteerde documenten en diensten. Vroeger werden meestal adressen van ftp servers gegeven of s met commando s. Het internet was toen al goed uitgerold. Op het huidige web heb je echter geen technologische kennis meer nodig en verkrijg je een webpagina met links naar alle nodige documenten. We hebben dus: Hypertext: een document waarin kan worden gelinkt naar andere documenten. Vanop een startpagina kan men dus naar alle beschikbare data gaan. Hypermedia: het zelfde zoals hypertext maar dan voor gelijk welke media. De visie en implementatie van hypertext is veel veranderd van de originele visie van Ted Nelson. Hij had een fexibele manier van documenten linken voor ogen die multidirectioneel is en waarbij alle documenten aan elkaar hangen. Met een onderverdeling in: Chunk-style-hypertext: keuzemogelijkheden via bv. voetnoten. Collateral hypertext: annotaties over de eigenlijke tekst. Strechtext: evoluerende teksten met externe fragmenten en LOD. grand hypertext: alles wat bestaat over een onderwerp. 16

18 Het Xanadu platform van Ted Nelson alsook enkele andere platformen braken niet door omdat ze gesloten waren. De gepresenteerde informatie bevatte keuzes beperkt tot een lokale verzameling documenten. Er was n lokale databank en links naar andere systemen of software was niet mogelijk. Het idee van Tim Berners Lee werd niet enthousiast onthaald omdat het enkel tekst bevatte terwijl de andere systemen afbeeldingen, kaarten,... hadden. Het World Wide Web was echter heel simpel en had globale schaalbaarheid waardoor dit een van de snelst groeiende toepassingen was op het Internet. Het systeem bestaat uit 3 basiscomponenten: 1. Uniform Resource Locator (URL): dit is een unieke identificatie van resources bestaande uit een protocol, domein en pad. 2. HyperText Transfer Protocol (HTTP): dit werkt met een request/response paradigma en bevat standaardmethoden voor data. De server antwoordt dan met de gevraagde representatie. 3. HyperText Markup Language (HTML): deze taal wordt gebruikt om hypertextdocumenten op te stellen. De browser geeft deze weer en kan de URL s gebruiken. Bovenstaande 3 zaken die samen het Web vormen zijn toevallig zo groot geworden omdat er in het begin nog geen formele definitie en analyse van de architecturale principes was. Vandaag wordt HTTP voor veel meer dan alleen maar HTML gebruikt volgens de REpresentational State Transfer of REST manier. Dit werd in 2000 voorgesteld door Roy Thomas Fielding en het is een conceptueel framework voor het analyseren van gedistribueerde hypermediasystemen zoals het Web. Het is een manier om data te bekijken en te bewerken en is toekomstbestendig: De start is een systeem zonder grenzen Er worden constraints toegevoegd om gewenste eigenschappen te bekomen. De client en server zijn volledig ontkoppelt zodat er een onafhankelijke evolutie kan zijn. Twee bekende constraints zijn: Client-server constraint: dit leidt tot de gewenste schaalbaarheid. Cacheability constraint: antwoorden kunnen en mogen gecached worden, ook dit leidt tot schaalbaarheid. HTTP is niet de enige implementatie van REST en niet elke HTTP toepassing houdt zich aan de REST constraints. Het is echter wel belangrijk om zich aan de REST constraints te houden om alle gewenste eigenschappen ervan te bekomen. Twee unieke constraints voor REST (en dus het Web) zijn statelessness en uniforme interface. Het toestandsloos zijn wil zeggen dat de interpretatie van een request niet mag afhangen van de vorige request. Dit leidt tot volgende eigenschappen: Visibility: elke request bevat alle nodige context om het te begrijpen. De request is op zichzelf dus al voldoende om de interactie te visualiseren. Reliability: het falen van een request heeft geen impact op het al dan niet falen van een andere request Scalability: de server hoeft geen toestand bij te houden waardoor meer requests kunnen worden afgehandeld. Deze architectuur wil niet zeggen dat de server helemaal geen toestand bijhoud, we maken onderscheid tussen: Resource state: deze wordt op de server bijghouden en betreft resources. Deze toestand is de gecombineerde toestand van alle resources binnen een applicatie en wordt wel op de server opgeslagen. Dit maakt dus geen deel uit van de statelessness constraint. 17

19 Application state: deze zit vervat in de body van berichten en deels op de client. Deze toestand beschrijft waar de client zich bevind in de interactie met de resource state en bevat info zoals de user agent, welke links de client naartoe kan, of de client ingelogd is... Een resource is elk stukje informatie dat benoemd kan worden, in de web-toepassignen wereld zijn het conceptuele stukken informatie die door de server kunnen worden aangeboden. Een resource identificeert constante concepten en dus geen concrete waarden die een concept aanduiden op een bepaald ogenblik. Een resource is dus nooit gelijk aan zijn waarde. Clients kunnen de resource state bekijken en/of manipuleren en dat is net waarom een client met een server interageert. De resources zijn namelijk niet beschikbaar op de client en daarom wordt het client/server-paradigma gebruikt. Het is niet de taak van de server om de application state bij te houden. Als een antwoord verstuurd is mag de server vergeten dat dit gebeurde en dit komt de schaalbaarheid ten goede. Het maakt niet uit hoeveel clients er verbinden aangezien ze zelf hun application state bijhouden. De REST architecturale stijl benadrukt sterk de uniforme interface: 4 constraints: identificatie van resources, manipulatie van resources via representaties, zelfbeschrijvende objecten, hypermedia als moter van application state (hypermedia constraint) Dit leidt tot simplification, visibility en independent evolution Een resource moet uniek identificeerbaar zijn en elk stukje info dat uniek identificeerbaar is, is een resource. Een resource kan meerdere identifiers hebben maar elke identifier mag slechts naar één resource wijzen. Op het web zijn de URL s de identifiers. In REST hebben de clients nooit rechtstreekse toegang tot resources en alle interacties gebeuren via representaties. Een representatie representeert een resource in een formaat gekozen door de client of server (in het web bv. HTML, txt, JSON, RDF,... ). Dit formaat wordt ook wel het media type genoemd en eenzelfde resource kan soms in meerdere media types worden voorgesteld. Een representatie omvat de data en de metadate (bv. de HTML headers). Berichten moeten zelfbeschrijvend zijn en dus zonder voorgaande informatie kunnen worden geïnterpreteerd, of dus zonder out-of-band informatie. HTPP heeft hiervoor de bekende GET, POST, PUT, DE- LETE,... methoden. Out-of-band info zou bijvoorbeeld documenten leesbaar voor mensen kunnen zijn, clients kunnen daardoor moeilijker met de toepassing interageren. Hypermedia is de motor van application state. Er wordt vereist dat de interactie gegeven wordt door informatie in hypermedia representaties die door de server uitgestuurd worden. Dit is dus fundamenteel verschillend van: Out-of-band informatie zoals documentatie Een lijst met stappen zoals bij RPC interacties Een REST systeem moet de representaties van hypermedia aanbieden die elementen bevatten die een client toelaten naar een volgende stap te gaan. In HTML zijn dit links, knoppen en formulieren. Andere representaties hebben andere elementen. Men verwacht dus dat een webpagina links bevat naar alle mogelijke volgende stappen, dit is echter niet altijd zo. Zo kan een webshop niet altijd een rechstreekse productlink aanbieden en men noemt dit unidirectionele links. Hypermedia is belangrijk omdat machines niet zo gemakkelijk als mensen manieren vinden om wel tot dat product te komen. Voor een machine moet men een Web API maken zodat deze gemakkelijk met de data overweg kan. In de praktijk bevatten representaties voor machines vaak geen hypermedia controls, hierdoor moetzen ze strikt geprogrammeerd worden met vaste adressen. 18

20 REST bestaat dus uit 3 componenten: Resources: zonder constraints en dit zijn adressen. Acties: met constraints en dit is bv. GET, POST,... Representaties: met constraints en dit si bv. JSON, HTML,... Met hypermedia op het web bedoelt men de simultane presentatie van informatie en controls. De representatie moet dit dus ondersteunen, maar het is niet persé nodig dat info en controls met elkaar verweven zijn, er moet enkel simultane toegang zijn. De affordance tussen dingen stelt hoe duidelijk het is dat je een actie kan ondernemen met iets. Sommige voorstellingen hebben een slechte affordance waarbij het niet duidelijk is welke acties je kan ondernemen met de data. Er zijn 3 types van machine clients: 1. Web browsers: bestuurd door mensen en toont hypermedia en verbetert de browsing ervaring afhankelijk van de content en representatie. 2. API client: een softwaretoepassing. 3. Autonome agent: kan met meerdere API s interageren en complexe taken uitvoeren zonder daarvoor expliciet te zijn geprogrammeerd. 5 Metadata en semantiek 5.1 Metadata Er is een overload aan informatie en om informatie te filteren is er nood aan metadata, de vele multimediabestanden vereisen ook metadata. Vroeger was metadata data over data waardoor men makkelijk con categoriseren, zoeken, browsen,... en het was een onderdeel van de eigenlijke informatie. Vandaag is metadata gestandaardiseerde en gestructureerde informatie die automatische processen kunnen sturen en er zijn verschillende types metadata: identificatie beschrijvend annotaties technisch... allemaal met als doel de gevonden data te begrijpen meer dan enkel en alleen te lokaliseren. In de toekomst wil men intertwingularity of het kristalliseren van informatie. Men wil kennis over de content uitdrukken en het zoeken naar informatie wordt het bevragen van kennis. Dit heeft semantische interoperabiliteit als doel wat wil zeggen dat er een medium is waarin zowel mensen als software bij het verwerken van data en content tot dezelfde conclusies kunnen komen, men genereert dus kennis. Metadata wordt gebruikt voor het begrijpen, delen, management, zoeken, verwerken, presenteren,... van content. Een taxonomie is een classificatie waarvan de structuur op voorhand is bepaald. Het is een hiërarchie met gecontroleerde woordenlijsten, thesauri, opgesteld door experts. In het begin was er enkel een classificatie voor diersoorten, maar nu zijn er voor heel veel dingen classificaties. Dit 19

21 is een top-down aanpak. Een tag is een annotatie is een vrije tekst en het zijn sleutelwoorde die persoonlijk en informeel zijn. Waar vroeger taxonomieën of woordenlijsten werden geruikt om content te beschrijven worden nu tags of folksonomieën gebruikt die door de gebruikers worden gevormd. In een folksonomie zit geen voorafgedefinieerde structuur en/of hiërarchie en de gebruikers voegen samen metadata toe. Alle termen zijn dus evenwaardig en er wordt bottom-up gewerkt. Je hebt zowel brede en smalle folksonomieën. Het probleem met folksonomieën is dat er culturele verschillen zijn waarbij mensen data anders interpreteren, er zijn taalproblemen, er is ambiguiteit, spellingsfouten. Er kunnen subjectieve tags zijn, persoonlijke tags,... Er is een overvloed aan metadatastandaarden naar analogie met de vele multimediastandaarden. Er zijn ook standaarden die de structuur van metadata vastleggen: MODS of Medadata Object Description Schema. Dit is een XML bestand die volgens een vaste manier gestructureerd is. XML of extensible Markup Language is door de W3C gestandaardieseerd en het is een taal die de structuur van een document vastlegt. Een XML schema wordt gebruikt om de structuur van een document te beschrijven en zegt: Welke elementen er mogen voorkomen. In welke volgorde de elementen mogen voorkomen. Welke types/waarden er mogen in staan. MODS is een XML schema waarbij een textuele specificatie de semantiek van de elementen bepaalt. Het voordeel van XML is dat zowel mensen als machines de documenten kunnen lezen ben begrijpen. Men bekomt dus gedeelde informatie voorgesteld in een algemene structuur. De huidige metadatastandaarden bepalen de structuur van de data en er zijn verschillende standaarden in één systeem waardoor er mappingen nodig zijn. Een standaard lost nog niet alles op omdat er soms nog dezelfde problemen zijn als bij tags. Zo kan men een creator property op meerdere manieren invullen. Het is moeilijk om de semantiek van metadata te beschrijven aangezien dit uit pure tekst bestaat en niet verstaanbaar is voor machines. Ook is de huidige metadata voor multimedia nog niet goed te begrijpen, twee verschillende standaarden kunnen hetzelfde beschrijven maar op een totaal verschillende manier. We moeten dus onderscheid maken tussen: Het huidige web is bijna uitsluitend syntactisch opgebouwd. 5.2 Semantiek toevoegen aan data Syntax - bepaalt de representatie van metadata - XML+XML schema zorgt voor interoperabiliteit m.b.t. correctheid - XML is de facto standaard Semantiek - bepaalt de betekenis van metadata elementen - gesloten beschrijving zorgt voor interoperabiliteit m.b.t. disambiguïteit XML bevat dus geen semantiek en enkel syntax, de oplossing zijn semantische web technieken: Gebruik van RDF, RDF Schema, OWL,... Er zijn ontologieën in plaats van XML schema s 20

22 Een ontologie is een formele representatie van een verzameling concepten binnen een domein en de relatie tussen deze concepten. Het wordt gebruikt om te redeneren over eigenschappen in dat domein en het kan gebruikt worden om dat domein te definiëren. Het bevat de volgende concepten: Individuals (Instances) Classes (Concepts) Attributes Relations Functions Constraints Het bestaat uit triples zoals <note, hasauthor, Tim> die we in een graaf kunnen voorstellen. Het is essentieel dat er van URI s gebruik wordt gemaakt. Deze URI s wijzen naar een object en geven een unieke identificatie. De bedoeling is nu om meerdere bestaande data te linken en zo een enorme kennis te vergaren. Het Open Linked Data princiepe is een standaard procedure om domain ontologieën op het web te publiceren via HTTP, URI en RDF. Het is een robuuste en elegante manier om kennis te koppelen. 5.3 Het semantisch web Om een semantisch web te maken moet de beschikbare informatie begrijpbaar zijn voor machines op een ondubbelzinnige manier. Het moet gemakkelijk zijn om de informatie te combineren en uit te wisselen. We willen dus een web van data (semantisch web) in plaats van een web van documenten (syntactisch web). Dit moet in het huidige web kunnen worden geïntegreerd. Informatie moet conceptueel worden voorgesteld door middel van gerichte grafen, dit wordt in de praktijk door RDF gerealiseerd. De structuur van het semantisch web bestaat dus uit 3 lagen: De abstracte graafrepresentatie is onafhankelijk van de bestaande dataformaten en een verandering aan het schema van een lokale database breekt niets. Nieuwe informatie en connecties kunnen op een triviale manier aangebracht worden. Het semantisch web zorgt er dus voor dat niet alleen mensen het web begrijpen maar ook machines, de bezieler is weer Tim Berners-Lee. Deze metadata kan in de XHTML code worden verweven. Alles gaat dus om betekenisvolle representatie van data en traditionele technieken gaa nuit van een gecentraliseerd database systeem waarin alles staat. Dit is echter niet schaalbaar en staat haaks op het gedecentraliseerde web. 21

HOOFDSTUK 1: Performantie van webgebaseerde toepassingen

HOOFDSTUK 1: Performantie van webgebaseerde toepassingen HOOFDSTUK 1: Performantie van webgebaseerde toepassingen 1. Basisprincipes componenten en tijden is totale antwoordtijd is transfertijd is transfertijd http-request is transfertijd http-reply (data) is

Nadere informatie

The OSI Reference Model

The OSI Reference Model Telematica Applicatielaag Hoofdstuk 16, 17 Applicatielaag 4Bevat alle toepassingen die van het netwerk gebruik maken n E-mail n Elektronisch nieuws n WWW n EDI (Electronic Data Interchange) n Napster,

Nadere informatie

Zelftest Informatica-terminologie

Zelftest Informatica-terminologie Zelftest Informatica-terminologie Document: n0947test.fm 01/07/2015 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTIE Deze test is een zelf-test, waarmee u

Nadere informatie

1. Proloog webtechno, rauwkost

1. Proloog webtechno, rauwkost 9 1. Proloog webtechno, rauwkost Voor men kan beginnen met het maken het aanpassen van een website is het nuttig om eerst eens een kijkje te nemen naar bestaande sites. Bij deze, mogelijk hernieuwde, kennismaking

Nadere informatie

Three Ships CDS opschalingsdocument Overzicht server configuratie voor Three Ships CDS

Three Ships CDS opschalingsdocument Overzicht server configuratie voor Three Ships CDS CDS opschalingsdocument Overzicht server configuratie voor CDS 1. Algemeen Dit document geeft een overzicht van een aantal mogelijke hardware configuraties voor het inrichten van een serveromgeving voor

Nadere informatie

Waarom automatiseren?

Waarom automatiseren? Chris De Clercq Waarom automatiseren? Wanneer u uw manier van werken hebt geautomatiseerd, zal u zich afvragen hoe u het vroeger zonder heeft gedaan Automatiseren helpt u bij: - communicatie efficiënter

Nadere informatie

Cloud Computing. Bart van Dijk

Cloud Computing. Bart van Dijk Cloud Computing Bart van Dijk (b.van.dijk@hccnet.nl) Cloud Computing Wat is Cloud Computing, en waarom Geschiedenis Cloud Computing Techologie Service modellen Voor en nadelen Cloud Computing voor consumenten

Nadere informatie

Van Small Business Server naar Cloud Small Business Services. Uw vertrouwde Small Business Server in de cloud

Van Small Business Server naar Cloud Small Business Services. Uw vertrouwde Small Business Server in de cloud Van Small Business Server naar Cloud Small Business Services Uw vertrouwde Small Business Server in de cloud Oud scenario - Small Business Server 2011 Waarom afscheid nemen? Alweer 6(!) jaar oud Kans op

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

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

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

1 Client/Server. 2 Geschiedenis. 3 Toekomst

1 Client/Server. 2 Geschiedenis. 3 Toekomst Deel 1 Inleiding 1 Client/Server 2 Geschiedenis 3 Toekomst Het client-server model is een model voor de samenwerking tussen twee of meer programma's, die zich op verschillende computers kunnen bevinden.

Nadere informatie

Cloud Computing. Definitie. Cloud Computing

Cloud Computing. Definitie. Cloud Computing Cloud Computing Definitie In de recente literatuur rond Cloud Computing zijn enorm veel definities te vinden die het begrip allemaal op een verschillende manier omschrijven. Door deze diversiteit zijn

Nadere informatie

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access Gebruik van cryptografie voor veilige jquery/rest webapplicaties Frans van Buul Inter Access 1 Frans van Buul frans.van.buul@interaccess.nl 2 De Uitdaging Rijke en veilige webapplicaties Een onveilig en

Nadere informatie

PUBLIEKE, PRIVATE OF HYBRIDE CLOUD?

PUBLIEKE, PRIVATE OF HYBRIDE CLOUD? North Trade Building Noorderlaan 133/8 B-2030 Antwerpen T +32 (0) 3 275 01 60 F +32 (0) 3 275 01 69 www.nucleus.be PUBLIEKE, PRIVATE OF HYBRIDE CLOUD? HOE MAAK IK DE KEUZE? NUCLEUS Hosting Solution Builder

Nadere informatie

Application interface. service. Application function / interaction

Application interface. service. Application function / interaction Les 5 Het belangrijkste structurele concept in de applicatielaag is de applicatiecomponent. Dit concept wordt gebruikt om elke structurele entiteit in de applicatielaag te modelleren: softwarecomponenten

Nadere informatie

Monitoring. SolidBE B.V. Maarten Schoutenstraat SV Waddinxveen

Monitoring. SolidBE B.V. Maarten Schoutenstraat SV Waddinxveen Monitoring SolidBE B.V. Maarten Schoutenstraat 19 2741SV Waddinxveen 1 Inhoudsopgave Monitoring...3 Introductie...3 Netwerkcomponenten...4 Back-up...4 Discovery...4 Poller...5 SNMP-traps...5 Maintenance...5

Nadere informatie

Kennissessie INSPIRE. Algemene vereisten & architectuur Metadata View Services Download Services Ondersteuning vanuit Geonovum.

Kennissessie INSPIRE. Algemene vereisten & architectuur Metadata View Services Download Services Ondersteuning vanuit Geonovum. Kennissessie Algemene vereisten & architectuur Metadata View Services Download Services Ondersteuning vanuit Geonovum Thijs Brentjens Inhoud Download Services Pre-defined datasets via Atom feeds Pre-defined

Nadere informatie

Software Engineering Groep 4

Software Engineering Groep 4 Software Engineering Groep 4 Software Design Description Jeroen Nyckees (Design Manager) Jan-Pieter Hubrecht (Project Manager) 3 e Bachelor Computerwetenschappen se4-1112@wilma.vub.ac.be 11 december 2011

Nadere informatie

SD-WAN, de nieuwe IT- Infrastructuur. Een functionele en technische uitleg waarom SD-WAN zo populair is.

SD-WAN, de nieuwe IT- Infrastructuur. Een functionele en technische uitleg waarom SD-WAN zo populair is. SD-WAN, de nieuwe IT- Infrastructuur Een functionele en technische uitleg waarom SD-WAN zo populair is. 01 Waarom SD-WAN Blz. 1 02 Uitleg SD-WAN Blz. 2 03 Functionaliteiten Blz. 3-4 04 Veilige toegang

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

Waarmaken van Leibniz s droom

Waarmaken van Leibniz s droom Waarmaken van Leibniz s droom Artificiële intelligentie Communicatie & internet Operating system Economie Computatietheorie & Software Efficiënt productieproces Hardware architectuur Electronica: relais

Nadere informatie

informatie architectuur 9 december 2010 IAM V1. 2010-2011

informatie architectuur 9 december 2010 IAM V1. 2010-2011 informatie architectuur 9 december 2010 IAM V1. 2010-2011 IAM informatie architectuur Herkennen, structureren en vindbaar maken van informatie. IAM informatie architectuur Herkennen, structureren en vindbaar

Nadere informatie

Cloud Computing: Het concept ontrafeld

Cloud Computing: Het concept ontrafeld pagina 1 van 5 XR Magazine - Platform en online vakblad over Enterprise-, Bedrijfs- en ICT-architectuur http://www.xr-magazine.nl Artikel Cloud Computing: Het concept ontrafeld Gepubliceerd: 09 september

Nadere informatie

4IP = Internet Protocol 4Protocol gebruikt op netwerk laag in het internet 4Geen betrouwbaarheid

4IP = Internet Protocol 4Protocol gebruikt op netwerk laag in het internet 4Geen betrouwbaarheid Internet Protocol Telematica Quality Of Service (Netwerk laag) Hoofdstuk 5 4IP = Internet Protocol 4Protocol gebruikt op netwerk laag in het internet 4Geen betrouwbaarheid n Pakketten kunnen verloren raken

Nadere informatie

Vraag 1. Vraag 1a TERUGKOPPELING PROEFTENTAMEN. Software architecture

Vraag 1. Vraag 1a TERUGKOPPELING PROEFTENTAMEN. Software architecture Software architecture IM0203 TERUGKOPPELING PROEFTENTAMEN Vraag 1 Vraag 1a Veel van de in het werkboek besproken patterns kunnen ingezet worden voor het referentiesysteem. We lopen de patterns hier stuk

Nadere informatie

Hoe zet u virtualisatie slim in bij forensische onderzoeksomgevingen?

Hoe zet u virtualisatie slim in bij forensische onderzoeksomgevingen? Hoe zet u virtualisatie slim in bij forensische onderzoeksomgevingen? ir. Ronald van Vugt ronald@netwell.eu Aanleiding Deze presentatie is ontstaan naar aanleiding van een nieuw architectuur ontwerp voor

Nadere informatie

API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8

API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8 API API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8 Identificatie Alle programma's communiceren met elkaar door gebruik te maken van JSON objecten. Het normale

Nadere informatie

In de meeste netwerkomgevingen staan de firewalls het browsen of surfen op internet toe.

In de meeste netwerkomgevingen staan de firewalls het browsen of surfen op internet toe. m:\helpdesk\vgmbox\documenten\handleiding - inzet binnen beveiligd netwerk (dmv proxyserver) - 20110112 - tbv pdf.doc Inzet van De VGM Box binnen een beveiligd netwerk Dit document beschrijft het functioneren

Nadere informatie

Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003

Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003 Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003 Page 1 1 Kees Vianen Senior Sales Consultant Technology Solutions Oracle Nederland Agenda Geschiedenis van Oracle Portal Portal

Nadere informatie

Internet Marketing Termen

Internet Marketing Termen Internet Marketing Termen Als beginnend Internet Marketeer ga je veel termen tegen komen, die je in verwarring zullen brengen. Hieronder heb ik een lijst met termen voor je samengesteld om jouw leven als

Nadere informatie

Zelftest Internet concepten en technieken

Zelftest Internet concepten en technieken Zelftest Internet concepten en technieken Document: n0832test.fm 25/01/2017 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTIE ZELFTEST INTERNET CONCEPTEN EN

Nadere informatie

Portability, Interoperability of toch maar Connectivity Portability, Interoperability of toch maar Connectivity.

Portability, Interoperability of toch maar Connectivity Portability, Interoperability of toch maar Connectivity. Portability, Interoperability of toch 1 Even Voorstellen Diploma s: 1980 Bachelor of Science Civil Engineering (Cairo, Egypte) 1986 Doctoraal in Geodesie (TU Delft, Nederland) Enige Automatiseringservaring:

Nadere informatie

HTML. Media. Hans Roeyen V 3.0

HTML. Media. Hans Roeyen V 3.0 Media Hans Roeyen V 3.0 12 maart 2015 Inhoud 1. (Multi)Media op websites... 3 2. Flash en Websites... 4 3. Video op je website... 4 3.1. YouTube insluiten op de pagina... 4 3.2. Video zonder YouTube...

Nadere informatie

De 3 bovenstaande worden onderhouden door mensen beheerd Dus meer kwaliteit dan machine

De 3 bovenstaande worden onderhouden door mensen beheerd Dus meer kwaliteit dan machine Internet Sheet 1 Goed zoeken - Wat, waar en hoe je moet zoeken Startpagina's - Verzamel pagina en woord onderhouden door personen. ( Redactueren ) Direcotries - Is een verzamelen pagina met structuur doormiddel

Nadere informatie

Computernetwerken Deel 2

Computernetwerken Deel 2 Computernetwerken Deel 2 Beveiliging Firewall: toegang beperken IDS: inbraak detecteren en alarmeren Encryp>e: gegevens verbergen Firewall Waarom? Filteren van pakkeben Wildcard mask: omgekeerd subnetmasker

Nadere informatie

TEST JE WEBKENNIS: Smarty or dummy www.blaucapel.nl >vakken> informatiekunde> test je webkennis

TEST JE WEBKENNIS: Smarty or dummy www.blaucapel.nl >vakken> informatiekunde> test je webkennis TEST JE WEBKENNIS: Smarty or dummy www.blaucapel.nl >vakken> informatiekunde> test je webkennis Deelnemen? Opdracht Voorbeeld : combineer de eerste kolom met de tweede. : 1 = B of 2 = LL (dit zijn niet

Nadere informatie

Offerte voor het bouwen van een website Klant: Ideefiks, IdeeKids

Offerte voor het bouwen van een website Klant: Ideefiks, IdeeKids Offerte voor het bouwen van een website Klant: Ideefiks, IdeeKids Consultant: Dirk Derom Inhoudstafel Algemene structuur van de website...6 Front pagina...6 Pagina IDEEFIKS/IDEEKIDS...6 Functionaliteit...10

Nadere informatie

emaxx Systeem eisen ManagementPortaal voor de ZakenMagazijn database

emaxx Systeem eisen ManagementPortaal voor de ZakenMagazijn database emaxx Systeem eisen ManagementPortaal voor de ZakenMagazijn database Datum: 25-09-2007 Auteur: ing. E.L. Floothuis Versie: 0.1 Status: Concept Kopersteden 22-4 Postbus 157 7500 AD Enschede Tel: 053 48

Nadere informatie

Zelftest Java EE Architectuur

Zelftest Java EE Architectuur Zelftest Java EE Architectuur Document: n1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST JAVA EE ARCHITECTUUR Nota:

Nadere informatie

ZOEKMACHINE-OPTIMALISATIE,

ZOEKMACHINE-OPTIMALISATIE, ZOEKMACHINE-OPTIMALISATIE, OFWEL SEO: WAT VERANDERT ER IN 2010? AUTEURS: EDUARD BLACQUIÈRE, JOOST DE VALK DATUM: JANUARI 2010 Pagina 1 van 5 SEO: WAT VERANDERT ER IN 2010? Het begin van het nieuwe jaar

Nadere informatie

Temperatuur logger synchronisatie

Temperatuur logger synchronisatie Temperatuur logger synchronisatie Juni 10, 2010 1 / 7 Temperatuur logger synchronisatie Introductie Twee of meerdere ontvangers van het Multilogger systeem kunnen met de temperature logger synchronisatie

Nadere informatie

EIGENSCHAPPEN CONVERGED HARDWARE

EIGENSCHAPPEN CONVERGED HARDWARE EIGENSCHAPPEN CONVERGED HARDWARE Eigenschappen Converged Hardware 1 van 8 Document Informatie Versie Datum Omschrijving Auteur(s) 0.1 29-09-2015 Draft Remco Nijkamp 0.2 29-09-2015 Volgende Versie opgesteld

Nadere informatie

Zelftest Java concepten

Zelftest Java concepten Zelftest Java concepten Document: n0838test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST JAVA CONCEPTEN Om de voorkennis nodig

Nadere informatie

Ontsluiten iprova via Internet Voorbeeld methoden

Ontsluiten iprova via Internet Voorbeeld methoden Ontsluiten iprova via Internet Voorbeeld methoden 12-12-2016 Inhoudsopgave 1 Inleiding... 3 2 Algemene aandachtspunten... 4 3 Voorbeeld methoden... 6 3.1 Ontsluiten via een (bestaande) telewerken oplossing

Nadere informatie

BeCloud. Belgacom. Cloud. Services.

BeCloud. Belgacom. Cloud. Services. Cloud Computing Steven Dewinter Steven.Dewinter@belgacom.be February 13 th, 2012 Cloud computing is niet nieuw. Het is een evolutie, geen revolutie! Personal Computer, Tekstverwerker, Rekenblad, MS DOS,..

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

Naar de cloud: drie praktische scenario s. Zet een applicatiegerichte cloudinfrastructuur op. whitepaper

Naar de cloud: drie praktische scenario s. Zet een applicatiegerichte cloudinfrastructuur op. whitepaper Naar de cloud: drie praktische scenario s Zet een applicatiegerichte cloudinfrastructuur op whitepaper Naar de cloud: drie praktische scenario s Veel bedrijven maken of overwegen een transitie naar de

Nadere informatie

Gebruikershandleiding GO search 2.0

Gebruikershandleiding GO search 2.0 Gebruikershandleiding GO search 2.0 1 Gebruikershandleiding Product: GO search 2.0 Documentversie: 1.1 Datum: 2 februari 2015 Niets uit deze uitgave mag zonder toestemming van GemeenteOplossingen worden

Nadere informatie

Oplossingen overzicht voor Traderouter > 02/11/2010

Oplossingen overzicht voor Traderouter > 02/11/2010 Oplossingen overzicht voor Traderouter > 02/11/2010 Netconnex is opgericht in 2004 (Gezeteld in Belgie maar het hoofd datacenter gelegen in Nederland [omgeving Amsterdam]). Zeer gestaag groeiende onderneming

Nadere informatie

SEO Plan 14/6/2017 Wouter Roozeboom DP41T

SEO Plan 14/6/2017 Wouter Roozeboom DP41T SEO Plan 14/6/2017 Wouter Roozeboom DP41T Inleiding Dit is het SEO plan voor de website http://wouterroozeboom.nl/ Op de website heb ik mijn bevindingen en ervaringen van Techno beschreven en zelfs wat

Nadere informatie

Prijslijst 2015. Algemeen. Reparaties. Installaties. Voorrijkosten binnen gemeente Bedum: 5,- Voorrijkosten buiten gemeente Bedum: 20,-

Prijslijst 2015. Algemeen. Reparaties. Installaties. Voorrijkosten binnen gemeente Bedum: 5,- Voorrijkosten buiten gemeente Bedum: 20,- Prijslijst 2015 Algemeen Voorrijkosten binnen gemeente Bedum: 5,- Voorrijkosten buiten gemeente Bedum: 20,- Advisering: 10,- per uur. Reparaties Onderzoekskosten: 10,- Reparatiekosten: 10,- Installaties

Nadere informatie

Technische architectuur Beschrijving

Technische architectuur Beschrijving A gemeente Eindhoven Technische architectuur Beschrijving Specificatiecriteria Versie 1.1 A. van Loenen Technisch Beleidsadviseur B&E 21-Sep-2011 avl/fd11027578 Colofon Uitgave Gemeente Eindhoven Realisatie

Nadere informatie

Wijzigingen volledig onder controle en geborgd

Wijzigingen volledig onder controle en geborgd Installation Management Platform IMProve 2014 is het ultieme hulpmiddel om het beheer van uw (terminal) serverfarm continu, stap voor stap, op een hoger niveau te brengen. Gedocumenteerd, geborgd en reproduceerbaar

Nadere informatie

Tilaa client case Dutchdrops Altijd beschikbaar door geclusterde oplossing

Tilaa client case Dutchdrops Altijd beschikbaar door geclusterde oplossing Tilaa client case Dutchdrops Altijd beschikbaar door geclusterde oplossing Tilaa client case Dutchdrops Voor veel van onze klanten, zoals Dutchdrops, is continuïteit cruciaal. Een geclusterd platform kan

Nadere informatie

Research & development

Research & development Research & development Publishing on demand Workflow ondersteuning Typesetting Documentproductie Gespecialiseerd document ontwerp Web ontwerp en onderhoud Conversie Database publishing Advies Organisatie

Nadere informatie

SHAREPOINT ONLINE (SAMEN-)WERKEN IN DE WOLKEN. http://www.ie-net.be - Workshop SharePoint 1

SHAREPOINT ONLINE (SAMEN-)WERKEN IN DE WOLKEN. http://www.ie-net.be - Workshop SharePoint 1 SHAREPOINT ONLINE (SAMEN-)WERKEN IN DE WOLKEN 1 WIE ZIJN WIJ? 2 WIE BENT U? Professional Op zoek naar productiviteit Samenwerken met Collega s Externe partijen Onderaannemers 3 WAT IS ONS PLAN? 1. Wat

Nadere informatie

ONTWERP VAN GEDISTRIBUEERDE SOFTWARE ACADEMIEJAAR 2009-2010 1 STE EXAMENPERIODE, 15 JANUARI 2010, 14U 17U30 VRAAG 1: INLEIDENDE BEGRIPPEN[20 MIN]

ONTWERP VAN GEDISTRIBUEERDE SOFTWARE ACADEMIEJAAR 2009-2010 1 STE EXAMENPERIODE, 15 JANUARI 2010, 14U 17U30 VRAAG 1: INLEIDENDE BEGRIPPEN[20 MIN] ONTWERP VAN GEDISTRIBUEERDE SOFTWARE ACADEMIEJAAR 2009-2010 1 STE EXAMENPERIODE, 15 JANUARI 2010, 14U 17U30 Naam :.. Richting :.. Opmerkingen vooraf : - werk verzorgd en duidelijk, zodat er geen dubbelzinnigheden

Nadere informatie

Blackboard. Jan Willem van der Zalm Director EMEA, Blackboard Managed Hosting DATE

Blackboard. Jan Willem van der Zalm Director EMEA, Blackboard Managed Hosting DATE Blackboard Managed Hosting SURF Cloud Vendordag Jan Willem van der Zalm Director EMEA, Blackboard Managed Hosting DATE 2 Agenda SURF Cloud strategie Blackboard Managed Hosting & Private Cloud Blackboard

Nadere informatie

Technologieverkenning

Technologieverkenning Technologieverkenning Videocontent in the cloud door de koppeling van MediaMosa installaties Versie 1.0 14 oktober 2010 Auteur: Herman van Dompseler SURFnet/Kennisnet Innovatieprogramma Het SURFnet/ Kennisnet

Nadere informatie

OpenText RightFax. Intuitive Business Intelligence. Whitepaper. BI/Dashboard oplossing voor OpenText RightFax

OpenText RightFax. Intuitive Business Intelligence. Whitepaper. BI/Dashboard oplossing voor OpenText RightFax OpenText RightFax Intuitive Business Intelligence Whitepaper BI/Dashboard oplossing voor OpenText RightFax Beschrijving van de oplossing, functionaliteit & implementatie Inhoud 1 Introductie 2 Kenmerken

Nadere informatie

GETTING THE BEST OUT OF YOUR SOURCE CODE MODERNISEREN MET UNIFACE

GETTING THE BEST OUT OF YOUR SOURCE CODE MODERNISEREN MET UNIFACE GETTING THE BEST OUT OF YOUR SOURCE CODE MODERNISEREN MET UNIFACE 2 OMNEXT IN HET KORT Broncode als bron van informatie Gevestigd in NL, UK en USA Kennis van meer dan 40 diverse technologieën Verschillende

Nadere informatie

Snel en efficiënt informatie archiveren en delen met anderen

Snel en efficiënt informatie archiveren en delen met anderen Snel en efficiënt informatie archiveren en delen met anderen Wat is DocToKeep? Als gebruiker van de computer krijgt u massa's informatie te verwerken. De informatiestroom aan internetpagina's, e-mails,

Nadere informatie

Backup bestaat niet meer

Backup bestaat niet meer Backup bestaat niet meer Reno van der Looij Account Manager De Ictivity Groep Dennis Zuiderwijk Channel Manager Benelux Seagate Cloud systems & Solutions Backup bestaat niet meer! Backup bestaat niet meer

Nadere informatie

innocent Cookie Beleid

innocent Cookie Beleid innocent Cookie Beleid Dit innocent Cookie Beleid beschrijft de verschillende typen cookies die mogelijk gebruikt worden met de website die eigendom is van, en beheerd wordt door, ons en vanaf welk jij

Nadere informatie

vra + NSX and it all comes together

vra + NSX and it all comes together vra + NSX and it all comes together Even voorstellen Viktor van den Berg Technology Officer @ PQR Focus: SDDC / CMP @viktoriousss www.viktorious.nl vbe@pqr.nl Ronald de Jong Senior Consultant @ PQR Focus:

Nadere informatie

React en React Native voor websites en apps

React en React Native voor websites en apps React en React Native voor websites en apps H A N S-PE T E R H ARMSEN HEEFT DI T GE SCH R E V EN IN APRI L 2017 Deze whitepaper is bedoeld voor product owners en beslissers. Hij gaat over React, een JavaScript

Nadere informatie

De Outlook en SharePoint integratie

De Outlook en SharePoint integratie Direct vanuit Outlook e-mailberichten en/of bijlagen opslaan in SharePoint ( drag and drop ). GeONE is uw partner voor SharePoint Informatie Management. Alle document management functionaliteiten beschikbaar

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

High Availability & Disaster Recovery

High Availability & Disaster Recovery Disaster Recovery Problematiek en denkpistes voor oplossingen Cevi Usernamiddag 8 december 2009 9 december 2009 Cevi bedrijfspresentatie High Availability & Disaster Recovery Een theoretische benadering

Nadere informatie

ONTWERP VAN GEDISTRIBUEERDE SOFTWARE ACADEMIEJAAR 2011-2012 1 STE EXAMENPERIODE, 23 JANUARI 2012, 8U30 12U00 VRAAG 1: VERDEELDE SYSTEMEN [10 MIN]

ONTWERP VAN GEDISTRIBUEERDE SOFTWARE ACADEMIEJAAR 2011-2012 1 STE EXAMENPERIODE, 23 JANUARI 2012, 8U30 12U00 VRAAG 1: VERDEELDE SYSTEMEN [10 MIN] ONTWERP VAN GEDISTRIBUEERDE SOFTWARE ACADEMIEJAAR 2011-2012 1 STE EXAMENPERIODE, 23 JANUARI 2012, 8U30 12U00 Naam :.. Richting :.. Opmerkingen vooraf : - werk verzorgd en duidelijk, zodat er geen dubbelzinnigheden

Nadere informatie

computernetwerken - antwoorden

computernetwerken - antwoorden 2015 computernetwerken - antwoorden F. Vonk versie 4 24-11-2015 inhoudsopgave datacommunicatie... - 2 - het TCP/IP model... - 3 - protocollen... - 4 - netwerkapparatuur... - 6 - Dit werk is gelicenseerd

Nadere informatie

Google PageRank Unplugged

Google PageRank Unplugged Dit werk is gelicenseerd onder een Creative Commons Naamsvermelding- NietCommercieel-GelijkDelen 4.0 Internationaal licentie. Bezoek https://creativecommons.org/licenses/by-nc-sa/4.0/deed.nl om een kopie

Nadere informatie

Software Mobiliteit. UAMS - 6 maart 2001. Theo D'Hondt Lab voor Pogrammeerkunde Vrije Universiteit Brussel http://prog.vub.ac.

Software Mobiliteit. UAMS - 6 maart 2001. Theo D'Hondt Lab voor Pogrammeerkunde Vrije Universiteit Brussel http://prog.vub.ac. Software Mobiliteit Theo D'Hondt Lab voor Pogrammeerkunde Vrije Universiteit Brussel http://prog.vub.ac.be/~tjdhondt p. 1 Overzicht Stelling Objecttechnologie Distributie Mobiliteit Evolutie Besluit p.

Nadere informatie

Module II - Enkele Begrippen

Module II - Enkele Begrippen Module II - Enkele Begrippen Wanneer we spreken over het Internet, het bekijken van websites, komen we al gauw een aantal begrippen tegen. Enkele van de veelgebruikte begrippen binnen de Internet wereld

Nadere informatie

Cookies beleid. 1. Wat is een cookie? 2 Waarom gebruiken we Cookies? 3 Wat zijn de verschillende soorten Cookies die we gebruiken?

Cookies beleid. 1. Wat is een cookie? 2 Waarom gebruiken we Cookies? 3 Wat zijn de verschillende soorten Cookies die we gebruiken? Cookies beleid Dit cookies beleid (de "Cookies Policy") beschrijft hoe Pernod Ricard België, naar Belgisch recht, gevestigd in Chaussée de Charleroi 112, 1060 Brussel ( "Pernod Ricard" of "wij"), vastbesloten

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

Thinking of development

Thinking of development Thinking of development Netwerken en APIs Arjan Scherpenisse HKU / Miraclethings Thinking of Development, semester II 2012/2013 Agenda voor vandaag Netwerken Protocollen API's Opdracht Thinking of Development,

Nadere informatie

Zelftest Internet concepten en technieken

Zelftest Internet concepten en technieken Zelftest Internet concepten en technieken Document: n0832test.fm 10/02/2010 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTIE ZELFTEST INTERNET CONCEPTEN EN

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

Gebruikersvriendelijke beheer van bestanden in SharePoint

Gebruikersvriendelijke beheer van bestanden in SharePoint #1 Oplossing wereldwijd. Bewezen in omgvangrijke omgevingen 100+ en 10.000+ gebruikers. GeONE is uw partner voor SharePoint Informatie Management. GeONE levert het volledige pakket aan SharePoint toepassingen

Nadere informatie

Welkom bij Interconnect. Maartje van Alem Marketing Manager

Welkom bij Interconnect. Maartje van Alem Marketing Manager Welkom bij Interconnect Maartje van Alem Marketing Manager Agenda Introductie Interconnect Outsourcing is niet meer weg te denken in de datacenterwereld Wat zijn de laatste marktontwikkelingen? Technologische

Nadere informatie

Security bij de European Registry for Internet Domain Names

Security bij de European Registry for Internet Domain Names Security bij de European Registry for Internet Domain Names Peter Janssen Technical Manager EURid vzw/asbl Computable Security Seminar 25/09/2008 Wie is EURid? Not for profit organisatie Naar Belgische

Nadere informatie

Software Test Plan. Yannick Verschueren

Software Test Plan. Yannick Verschueren Software Test Plan Yannick Verschueren November 2014 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 1 Inhoudstafel 1 Introductie 3 1.1

Nadere informatie

OPENTEXT RIGHTFAX 16.4

OPENTEXT RIGHTFAX 16.4 RIGHTF.2901 OPENTEXT RIGHTFAX 16.4 SYSTEEMVEREISTEN Het volgend document bevat de minimale en de aanbevolen systeemvereisten om Rightfax versie 16.4 te laten draaien op een server of netwerk. ECMsolutions

Nadere informatie

Herleid uw downtime tot het minimum met een multidatacenter. Uniitt www.unitt.com

Herleid uw downtime tot het minimum met een multidatacenter. Uniitt www.unitt.com Herleid uw downtime tot het minimum met een multidatacenter concept Leg uw bedrijfskritische activiteiten in goede handen 2 Als het voor uw omzet cruciaal is dat uw servers continu beschikbaar zijn, dan

Nadere informatie

AFO 653 RSS Nieuwsfeeds

AFO 653 RSS Nieuwsfeeds AFO 653 RSS Nieuwsfeeds 653.1 Inleiding 653.1.1 Wat zijn RSS News Feeds en hoe worden ze in Vubis Smart gebruikt? RSS News Feeds RSS (Really Simple Syndication) is een XML-gebaseerd formaat voor het distribueren

Nadere informatie

Frontend performance meting

Frontend performance meting Frontend performance meting als aanvulling op de traditionele manier van performancetesten René Meijboom rene@performancearchitecten.nl Introductie Uitdaging bij huidige klant Succesvolle performancetest

Nadere informatie

Monitoring as a Service

Monitoring as a Service Monitoring as a Service APERTOSO NV Guido Gezellaan 16 9800 Deinze Tel.: +32 9 381 64 50 Probleemstelling IT diensten kampen vaak met het probleem van een gebrek aan een duidelijke, allesomvattende monitoringoplossing.

Nadere informatie

Naam project Lost And Found Animals Lokaal gehost Percentage van het totaal geleverde werk 1 Cindy Jansen 50% 2 Eline Steyvers 50%

Naam project Lost And Found Animals Lokaal gehost Percentage van het totaal geleverde werk 1 Cindy Jansen 50% 2 Eline Steyvers 50% Naam project Lost And Found Animals Url Lokaal gehost Groepsleden Percentage van het totaal geleverde werk 1 Cindy Jansen 50% 2 Eline Steyvers 50% 1. Beveiliging in de toepassing Naam gebruiker Wachtwoord

Nadere informatie

Whitepaper. Personal Targeting Platform. De juiste content Op het juiste moment Aan de juiste persoon

Whitepaper. Personal Targeting Platform. De juiste content Op het juiste moment Aan de juiste persoon Whitepaper Personal Targeting Platform De juiste content Op het juiste moment Aan de juiste persoon Introductie 2 Geïntegreerde personalisering 2 Het opbouwen van een profiel 2 Segmenteren en personaliseren

Nadere informatie

Online Marketing. Door: Annika Woud ONLINE MARKETING

Online Marketing. Door: Annika Woud ONLINE MARKETING Online Marketing Door: Annika Woud 1 Inhoudsopgaven 1 Wat is online marketing? 2 Hoe pas je online marketing toe op een website? Hoe pas je het toe? SEO Domeinnaam HTML Google Analytics Advertenties op

Nadere informatie

Marktscan Digikoppeling 2017

Marktscan Digikoppeling 2017 Testrapport Marktscan Digikoppeling 2017 Versie: 1.0 Datum: 18-6-2015 Auteur: egem Datum : 2 juni 2017 Versie : 1.0 Inhoudsopgave 1. Inleiding... 2 2. Managementsamenvatting... 3 3. Testopzet... 4 3.1

Nadere informatie

Technische implementatie De infrastructuur rondom Transit kent de volgende rollen:

Technische implementatie De infrastructuur rondom Transit kent de volgende rollen: Transit Herkent u het? Steeds dezelfde uitdagingen in migratieprojecten; meerdere variabelen, in verschillende stadia en in een blijvend veranderende omgeving, managen. Grote hoeveelheden gegevens over

Nadere informatie

ManualMaster Systeem 6.1 (ManualMaster Administrator, ManualMaster WebAccess en ManualMaster WebEdit)

ManualMaster Systeem 6.1 (ManualMaster Administrator, ManualMaster WebAccess en ManualMaster WebEdit) Let op: de versie op de gebruikerswebsite kan worden bijgewerkt! Het kan dus zijn dat uw geprinte versie verouderd is. Van toepassing op ManualMaster Systeem 6.1 (ManualMaster Administrator, ManualMaster

Nadere informatie

DE PRIVATE CLOUD. Johan Bos & Erik de Meijer

DE PRIVATE CLOUD. Johan Bos & Erik de Meijer DE PRIVATE CLOUD Johan Bos & Erik de Meijer Agenda Wat is Cloud? Waarom Private Cloud? Wanneer Private Cloud? Een stappenplan Vragen Quiz Ga naar www.kahoot.it of download de app Gefeliciteerd! 2017 EXACT

Nadere informatie

COMPUTERVAARDIGHEDEN EN PROGRAMMEREN

COMPUTERVAARDIGHEDEN EN PROGRAMMEREN COMPUTERVAARDIGHEDEN EN PROGRAMMEREN 3 e les Prof. Dr. Frank De Proft 12 oktober 2004 Tweede les : Inleiding Computerwetenschappen vs. computervaardigheden - Algoritmen 1 Derde les : Enkele basisbegrippen»

Nadere informatie

BackupAgent Cloud Backup

BackupAgent Cloud Backup Vergroot uw toegevoegde waarde met een dienst voor veilige cloud backup en recovery Version 1.0 Disclaimer This document is compiled with the greatest possible care. However, errors might have been introduced

Nadere informatie

Functionele beschrijving: scannen naar Exact Globe.

Functionele beschrijving: scannen naar Exact Globe. Functionele beschrijving: scannen naar Exact Globe. Algemeen Met de KYOCERA scannen naar Exact Globe beschikt u over een efficiënte oplossing om uw documenten te scannen naar Exact Globe. Met deze oplossing

Nadere informatie