Waarom de nmd | HyperDrive wizard te beperkt was? Maak kennis met de nmd | HyperDrive Stageplaats: Nomadesk Stagementor: dhr. De Buf Miguel Stagebegeleider: mevr. Deraedt Ann Project aangeboden door
Gilles Van der Coelden VOOR HET BEHALEN VAN DE GRAAD VAN BACHELOR IN DE
New Media and Communication Technology Howest | Academiejaar 2014-2015
Woord vooraf Deze stage met bachelorproef is het resultaat geworden van mijn opleiding NMCT. Hierbij leerde ik verworven competenties aan te wenden voor het oplossen van specifieke problemen in de IT-wereld. Na het succesvol doorlopen van mijn middelbare studies Informatica-Beheer, die ik gevolgd heb in de Broedersschool te Sint-Niklaas, ben ik op zoek gegaan naar een richting die voldeed aan mijn interesses. Mijn stage bij Nomadesk in Sint-Martens-Latem, omvatte het vernieuwen en uitbreiden van de HyperDrive wizard. Hiervoor had ik verschillende bekende, maar ook nieuwe technologieën nodig, die ik verder in dit document zal verduidelijken. Tijdens de stage mocht ik rekenen op de steun en hulp van verschillende vakbekwame mensen, die me de steun en nodige tips en tricks gaven om het stageproject tot een goed einde te brengen. Waarvoor dank! Deze uiteenzetting betracht een bescheiden kennisbijdrage te leveren aan de geïnteresseerde gebruiker of mogelijke potentiële gebruikers van de nmd | HyperDrive van Nomadesk. Graag zou ik van deze gelegenheid nog gebruik willen maken om de mensen die me dagdagelijks gesteund hebben te bedanken. Voor elke leerkracht, leerling, stagebegeleider, stagementor en alle mensen die geïnteresseerd waren in mijn opdracht: Dank je wel! Geniet van dit document, hopelijk worden jullie er iets wijzer van.
Verklarende woordenlijst ANSI
American National Standards Institute Is verantwoordelijk voor het vastleggen van standaarden in de Verenigde Staten.
API
Application Programming Interface is een verzameling definities op basis waarvan een computerprogramma kan communiceren met een ander programma of onderdeel (meestal in de vorm van bibliotheken).
Cloud computing
Is via het internet op aanvraag beschikbaar stellen van gegevens, hardware of software.
Cross-browser
Wanneer een website op meerdere webbrowsers kan werken.
DAS
Direct Attached Storage DAS is een opslagmedium dat direct aangesloten is op een computersysteem en die gegevens vasthouden als de computer niet aan staat.
DHCP
Dynamic Host Configuration Protocol is een computerprotocol dat beschrijft hoe een computer dynamisch zijn netwerkinstelling van een DHCP-server kan verkrijgen.
DNS
Domain Name System is het systeem en netwerkprotocol dat op het Internet gebruikt wordt om namen van computers naar numerieke adressen (IP-adressen) te vertalen en omgekeerd.
FQDN
Fully Qualified Domain Name Volledige aanduiding van een domein, bvb. Nomadesk.be.
FTP
File Transfer Protocol FTP is een protocol dat uitwisseling van bestanden tussen computers vergemakkelijkt. Het standaardiseert
een aantal handelingen die tussen besturingssystemen vaak verschillen.
Hypervisor
Zorgt ervoor dat er meerdere besturingssystemen tegelijkertijd op een computersysteem kunnen draaien.
iSCSI
internet Small Computer System Interface iSCSI is een netwerkprotocol ontwikkeld door de Internet Engineering Task Force (IETF). Het wordt gebruikt om SCSI-commando’s te verzenden over TCP/IP netwerken, dit kan een Local area network, een Wide area network of het internet zijn. De bedoeling van dit protocol is om verbindingen op te stellen tussen opslagapparaten, servers en clients. Wanneer een opslagfaciliteit niet rechtstreeks verbonden is met de server, zal iSCSI dit wel zo doen lijken.
JSON
Javascript Object Notation is een gestandaardiseerd gegevensformaat. JSON maakt gebruik van voor de mens leesbare tekst in de vorm van data-objecten die bestaan uit een of meerdere attributen met bijbehorende waarde.
Mount
Het proces dat plaats vindt wanneer een computer een opslagapparaat wilt gebruiken.
Primetime
is een uit de Verenigde Staten afkomstige term die vooral gebruikt wordt binnen de televisiewereld. Hiermee wordt de tijd van de dag aangeduid die het gunstigst is voor het behalen van hoge kijkcijfers.
propriëtaire software
wordt door de Free Software Foundation (FSF)
systemen
gedefinieerd als elke software die niet aan de criteria van FSF voor vrije software voldoet.
SaaS
Software as a Service Is software die als een onlinedienst wordt aangeboden. De klant hoeft de software niet aan te schaffen, maar
sluit bijvoorbeeld een contract per maand per gebruiker af, eventueel in combinatie met andere parameters.
SMTP
Simple Mail Transfer Protocol Standaard manier om een e-mail te verzenden over het internet.
SSH
Secure Shell is een protocol uit de toepassingslaag van de TCP/IPprotocolgroep
SSL Certificaten
Secure Sockets Layer SSL Certificaten zijn kleine gegevensbestanden die een cryptografische sleutel hebben om de details van een organisatie digitaal te encrypteren.
XML
Extensible Markup Language (XML) is een standaard van het World Wide Web Consortium voor de syntaxis van formele opmaaktalen waarmee men gestructureerde gegevens kan weergeven in de vorm van platte tekst. Deze presentatie is zowel machineleesbaar als leesbaar voor de mens.
Lijst van figuren en tabellen Figuur 1: Logo Nomadesk ...........................................................................................................2 Figuur 2: Printscreen stageopdracht .......................................................................................4 Figuur 3: nmd | HyperDrive architectuur model............................................................. 10 Figuur 4: Selecteer toetsenbord instellingen ................................................................... 11 Figuur 5: Selecteer tijdzone ..................................................................................................... 11 Figuur 6: Kies een wachtwoord.............................................................................................. 12 Figuur 7: Device configuration ............................................................................................... 12 Figuur 8: Beschikbare Ethernet apparaten ........................................................................ 13 Figuur 9: DHCP configuratie.................................................................................................... 13 Figuur 10: Selecteer DNS configuratie ................................................................................ 14 Figuur 11: DNS Configuratie ................................................................................................... 14 Figuur 12: Je nmd | HyperDrive VA kan nu worden opgezet .................................. 15 Figuur 13: Geef je gekozen wachtwoord in...................................................................... 15 Figuur 14: Overzicht Storage configuratie ........................................................................ 17 Figuur 15: Overzicht beschikbare disks .............................................................................. 17 Figuur 16: Overzicht Database configuratie ..................................................................... 18 Figuur 17: Overzicht Webserver configuratie .................................................................. 19 Figuur 18: Overzicht Authenticatie configuratie ............................................................. 20 Figuur 19: Overzicht Mail configuratie ............................................................................... 21 Figuur 20: Overzicht Licentie configuratie......................................................................... 22 Figuur 21: Licentie configuratie opgehaald ...................................................................... 22 Figuur 22: Overzicht Advanced configuratie .................................................................... 23 Figuur 23: Installatie voltooid ................................................................................................. 24 Figuur 24: Cartoon databases ................................................................................................. 27 Figuur 25: Logo MS SQL Server............................................................................................. 28 Figuur 26: Logo PostgreSQL ................................................................................................... 30 Figuur 27: Logo Oracle databases ........................................................................................ 34 Figuur 28: Logo MySQL databases....................................................................................... 35
Figuur 29: Logo Windows Server Active Directory ........................................................ 36 Figuur 30: Logische structuur Active Directory ............................................................... 37 Figuur 31: GPO-Editor ................................................................................................................ 38 Figuur 32: Mythologisch figuur 'Kerberos' ........................................................................ 39 Figuur 33: Printscreens van de 'oude' nmd | HyperDrive wizard ............................ 41 Figuur 34: Structuur oude nmd | HyperDrive wizard ................................................... 43 Figuur 35: Structuur vernieuwde nmd | HyperDrive ..................................................... 43 Figuur 36: wireframe algemene pagina.............................................................................. 44 Figuur 37: Wireframe van algemene pagina met popup ........................................... 44 Figuur 38: Eerste ontwerp in HTML / CSS ........................................................................ 45 Figuur 39: Aanmelden op de nmd | HyperDrive wizard ............................................. 46 Figuur 40: Storage configuration .......................................................................................... 47 Figuur 41: Selecteer disk ........................................................................................................... 47 Figuur 42: Authentication configuration ............................................................................ 47
Tabel 1: Ondersteunende talen API's .................................................................................. 26 Tabel 2: Vergelijking MS SQL & PostgreSQL ................................................................... 31 Tabel 3: Verschillen in SQL-talen........................................................................................... 34
Inhoudsopgave Woord vooraf...................................................................................................................................... Verklarende woordenlijst ............................................................................................................... Lijst van figuren en tabellen ......................................................................................................... Inhoudsopgave ................................................................................................................................... Inleiding ....................................................................................................................... 1 1.
Nomadesk ........................................................................................................... 2 1.1
Het bedrijf ..........................................................................................................................2
1.2
Producten ...........................................................................................................................3
Public cloud ..............................................................................................................................3 On Premises .............................................................................................................................3 nmd | HyperDrive ...................................................................................................................3
2.
3.
1.2.1
De opdracht..............................................................................................................4
1.2.2
Waarom Nomadesk? ............................................................................................5
nmd | HyperDrive .............................................................................................. 6 2.1.
De mogelijkheden in het breed ...............................................................................6
2.2.
Architectuur model ..................................................................................................... 10
2.3.
nmd | HyperDrive Virtual Appliance componenten ..................................... 10
Installatie en configuratie van de nmd | HyperDrive .............................. 11 3.1.
Installatie ......................................................................................................................... 11
3.2.
Configuratie.................................................................................................................... 16
3.2.1.
Storage configuratie .......................................................................................... 17
3.2.2.
Database configuratie ....................................................................................... 18
3.2.3.
Webserver configuratie..................................................................................... 19
4.
3.2.4.
Authenticatie configuratie ............................................................................... 20
3.2.5.
SMTP configuratie ............................................................................................... 21
3.2.6.
Licentie configuratie ........................................................................................... 22
3.2.7.
Advanced configuratie ...................................................................................... 23
3.2.8.
Commit .................................................................................................................... 24
Microsoft SQL of PostgreSQL? ..................................................................... 25 4.1.
4.1.1.
Geschiedenis van de taal ................................................................................. 25
4.1.2.
Waarom werd SQL in het leven geroepen? ............................................ 26
4.1.3.
Hoe zit dit alles in elkaar? ............................................................................... 26
4.2.
Microsoft SQL................................................................................................................ 28
4.2.1.
Geschiedenis.......................................................................................................... 28
4.2.2.
Versies ...................................................................................................................... 29
4.3.
PostgreSQL ..................................................................................................................... 30
4.3.1.
Geschiedenis.......................................................................................................... 30
4.3.2.
Versies ...................................................................................................................... 30
4.4.
Vergelijking..................................................................................................................... 31
4.4.1.
Prestaties ................................................................................................................. 32
4.4.2.
SQL-syntax.............................................................................................................. 33
4.5.
5.
Wat is SQL? .................................................................................................................... 25
Zijn er alternatieven? ................................................................................................. 34
4.5.1.
Oracle ....................................................................................................................... 34
4.5.2.
MySQL ...................................................................................................................... 35
Active Directory of E-mail/paswoord? ........................................................ 36 5.1.
Waarom opsplitsen? ................................................................................................... 36
5.2.
5.2.1.
Logische structuur............................................................................................... 37
5.2.2.
GPO’s (Group Policy Object’s) ....................................................................... 38
5.2.3.
Kerberos .................................................................................................................. 39
5.3. 6.
Active Directory ............................................................................................................ 36
E-mail / Paswoord ....................................................................................................... 40
UX-Design ......................................................................................................... 41 6.1.
De “oude” nmd | HyperDrive wizard UI ............................................................ 41
6.2.
UX-design process ...................................................................................................... 42
6.2.1.
User needs ............................................................................................................. 42
6.2.2.
Site objectives ....................................................................................................... 42
6.2.3.
Information architecture................................................................................... 43
6.2.4.
Information design ............................................................................................. 43
6.2.5.
Visual design ......................................................................................................... 44
Eindbesluit................................................................................................................. 48 Referentielijst ........................................................................................................... 49
Inleiding De zoektocht naar een stageplaats liep initieel niet van een leien dakje. Laat ons zeggen dat ik 3 dagen voor het begin van de stage nog geen zekerheid had. Op vrijdagmiddag 19 september 2014 kreeg ik een verlossend telefoontje van Miguel De Buf. Later in de dag had ik een afspraak met hen en tegen ’s avonds was alles geregeld. In deze bachelorproef ga ik onderzoeken waarom de nmd | HyperDrive wizard moest worden uitgebreidt en waarom deze stage voor Nomadesk interessant is. Ik bespreek kort de voornaamste punten waaraan ik vijftien weken gewerkt heb. En toon jullie het product dat in de toekomst door Nomadesk en hun klanten zal worden gebruikt. Tevens bespreek ik de transformatie van de UI en waarom dit nuttig is voor het bedrijf Nomadesk.
1
1.
Nomadesk
Een korte kijk op het bedrijf Nomadesk. Wie ze zijn en wat ze doen.
1.1
Het bedrijf
Nomadesk is een Europees SaaS bedrijf dat in 2004 is opgericht door drie gemotiveerde ondernemers: Filip Tack, Peter Geldhof & Miguel De Buf. De focus van het bedrijf richt zich op “Enterprise File Sharing & Synchronization technology”. In de volksmond houdt dit in dat bestanden zich ‘in the cloud’ bevinden. Hierdoor kunnen gebruikers en vooral bedrijven bestanden openen, delen, synchroniseren en beveiligen van overal – online en offline!
Figuur 1: Logo Nomadesk
Nomadesk richt zich vooral op resellers, service providers en zakelijke klanten, die de producten van Nomadesk aanbieden aan hun klanten en medewerkers. Meestal onder een andere benaming, ook wel brand genoemd. De meeste cloud gebaseerde file sharing diensten bieden enkel het online opslaan van bestanden, meestal zelf niet beveiligd tegen indringers. Hierdoor zijn dikwijls bedrijfsgevoelige data onbeveiligd blootgesteld aan het wereldwijdeweb. Nomadesk daarentegen beveiligt hun data en die van alle gebruikers wel, waardoor de risico’s van het illegaal verspreiden van gebruikers hun bestanden en gevoelige informatie fel verminderd wordt. Dit doen ze door virtuele harde schijven, ook wel ‘Vaults’ genoemd, aan te maken op de computers van de gebruikers, die gemount en beveiligd zijn. Bestanden kunnen simpelweg gesleept worden in deze Vaults.
2
1.2
Producten
Nomadesk biedt hun product in drie vormen aan. Elk van deze producten kan op zijn beurt worden doorverkocht.
Public cloud Nomadesk Public Cloud fungeert als een virtuele harde schijf op je computer. Hierdoor heeft de gebruiker zowel online als offline toegang tot zijn bestanden, overal en altijd! Of hij nu op een vaste PC, laptop of GSM werkt, zijn bestanden zijn steeds beschikbaar.
On Premises Nomadesk On Premises is volledig configureerbaar zoals jij het wilt. Je data wordt opgeslagen waar jij het wilt en bovendien kan je alles verkrijgen in je eigen huisstijl. Bij On Premises maak je zoveel accounts aan als je zelf wilt. Het is 100% schaalbaar.
nmd | HyperDrive Met nmd | HyperDrive heb je dezelfde mogelijkheden als met On Premises, alleen is dit alles voor minder grote bedrijven. Het is dus minder schaalbaar. Dit alles is eenvoudig op te zetten via een wizard en kan perfect stand-alone of in een Windows omgeving werken. Althans, dat is mijn stageopdracht.
3
1.2.1 De opdracht
Figuur 2: Printscreen stageopdracht
De huidige wizard vereist gebruik van een Active Directory en MS SQL omgeving. De bedoeling van deze stage is dat bovengenoemde vereisten in de toekomst opties worden. Zo kan je i.p.v. MS SQL ook PostgreSQL gebruiken of in plaats van gebruik te maken van een Active Directory omgeving gewoon via een e-mailadres en een zelfgekozen wachtwoord gebruiken. Dit alles moet uiteraard cross-browser zijn en het eindresultaat, uw eigen nmd | HyperDrive, moet perfect werken op eender welk device het gebruikt wordt. Een hele opdracht, maar wat een uitdaging! Waarom biedt Nomadesk deze stage aan? Wel, dit is eenvoudig uit te leggen via een klein verhaaltje. We stellen ons even voor dat we een boekhouder kennen met een tiental personen die voor hem werken. Onze boekhouder beschikt in zijn IT-infrastructuur niet over een Active Directory, laat staan zijn eigen MS SQL database. Bovendien wil onze boekhouder graag zijn bestanden op zijn eigen geheugen en niet in de cloud. Al is het natuurlijk wel gemakkelijk als je de functionaliteit van ‘de cloud’ kunt gebruiken op je eigen lokale geheugen. Wel, om tegemoet te komen aan de vraag van onze boekhouder wil Nomadesk de wizard voor de nmd | HyperDrive laten aanpassen. Beschikt onze boekhouder niet over een MS SQL database? Geen probleem, PostgreSQL kan net hetzelfde en is bovendien gratis. Geen Active Directory omgeving aanwezig? Geen probleem, u kan gemakkelijk inloggen via een zelfgekozen e-mailadres en wachtwoord. De
4
functionaliteiten zijn hetzelfde, maar het doelpubliek wordt gigantisch uitgebreidt!
1.2.2 Waarom Nomadesk? Nomadesk is een innovatief bedrijf dat al sinds de start van cloud computing actief is. Cloud computing zal in de toekomst meer dan nu de IT-wereld beheren. Even deel mogen uitmaken van dit geheel kan enkel mijn kennen en kunnen verbeteren. Bovendien werken er bij Nomadesk meerdere IT’ers die echte “kraks in hun vak” zijn. Nogmaals, dit kan mij en mijn ontwikkeling als IT’er enkel ten goede komen.
5
2.
nmd | HyperDrive
Een korte kijk op de nmd | HyperDrive. Ik licht de mogelijkheden kort toe en geef wat meer uitleg.
2.1. De mogelijkheden in het breed nmd | HyperDrive is een virtual appliance server die een business file sharing en synchronisation oplossing biedt. Hierbij maak je gebruik van je eigen datacenter. Bovendien worden bij nmd | HyperDrive geen data opgeslagen op de Nomadesk infrastructuur. Alles wordt opgeslagen op je eigen storage. Om het principe van Nomadesk kort en bondig uit te leggen: een Dropbox alternatief voor bedrijven, maar dan veiliger.
ENCRYPTED LOCAL DRIVE Nomadesk maakt een beveiligde ruimte op de gebruiker zijn locale harde schijf, genaamd een Vault. Alle mappen en bestanden die op deze Vault opgeslagen staan zijn beveiligd met een 256-bit versleuteling. Wanneer de Nomadesk toepassing gesloten is, zijn de vaults onzichtbaar. Dat is zo voor niet-gemachtigde derden. Door de toepassing te starten en in te loggen met een persoonlijk wachtwoord worden je Vaults opnieuw zichtbaar. Dit alles werkt perfect in verschillende bestandsbeheer toepassingen (e.g. Windows Explorer, Mac Finder).
THEFTGUARD REMOTE WIPE Stel, je computer of mobiele toestel is gestolen. Nomadesk maakt gebruik van een uniek serienummer dat gekoppeld wordt aan elk toestel. Daardoor bestaat de mogelijkheid om alle bestanden te verwijderen van het desbetreffende toestel. Dieven kunnen dus niet aan de haal gaan met je bestanden. Bovendien is het mogelijk om je gestolen toestel te localiseren op Google Maps.
6
UNLIMITED STORAGE Harde schijven kunnen crashen en computers kunnen gestolen worden, maar dat wil niet zeggen dat je je gegevens moet verliezen. Iedere keer als er een bestand wordt toegevoegd of gewijzigd, wordt er een backup gemaakt naar de cloud. Zo kan Nomadesk ‘Instant Disaster Recovery’ toepassen.
FILE REVISIONS / BACKUP Beveiliging is ook toepasbaar wanneer bestanden toevallig worden verwijderd. Nomadesk maakt enkele backups per dag van je Vault. Zo kan je eenvoudig bestanden terugplaatsen via je online Nomadesk portal.
ONLINE TRASHCAN Wanneer een bestand verwijderd wordt op een gedeelde Vault zijn alle apparaten die deze Vault delen het bestand kwijt. Wou je dit toch niet verwijderen? Geen nood, je kan het eenvoudig terughalen via je online trashcan, ook wel de online vuilbak genoemd.
FILELINK In plaats van een groot bestand te versturen via e-mail helpt Nomadesk je door eenvoudigweg een link te sturen. Zo kan de geadresseerde het bestand eenvoudig binnenhalen. Nomadesk voorziet hiervoor ook een plugin voor Microsoft Outlook. Ook kan je verschillende instellingen bepalen, zoals de levensduur van het bestand en nog veel meer!
7
FOLDERLINK Folderlink laat je toe om toegang te geven tot een volledige map op je beveiligde server. Net zoals bij Filelink krijg je een e-mail met daarin de link naar de map. Hier kan je dan bestanden openen, bewerken en uploaden. Als de eigenaar van de map je daartoe toestemming geeft uiteraard. Folderlink is eenvoudig in gebruik en kan andere services zoals FTP vervangen.
GET LINK… Met een simpele rechtermuisknop op elk bestand in de Nomadesk Vault kan je de korte URL van dat bestand eenvoudig kopiëren. Hierdoor kan je het delen in e-mails, op Twitter, op Facebook, in documenten, …
ACCESS CONTROL Bestanden uitwisselen met mensen buiten het netwerk zorgt ervoor dat er extra beveiliging nodig is. FileLinks en FolderLinks bevatten opties om links met een wachtwoord te beveiligen, een maximaal aantal downloads toe te laten en een vervaldatum toe te passen.
FILE DOWNLOAD TRACKING Zowel FileLink als FolderLink bevatten een mogelijkheid om een e-mail te ontvangen wanneer de ontvanger een bestand downloadt. Zo blijf je altijd op de hoogte.
8
WEBSITE WIDGET De Nomadesk “Embed in your site” optie voor mappen laat je toe om een widget te maken voor je website of blog. De widget kan worden gebruikt om inhoud te delen van elke folder van je Vault. Er is zelfs een optie om gebruikers bestanden te laten uploaden naar jouw map.
AUTOMATIC SYNC Er is geen reden om je zorgen te maken over het synchroniseren van je bestanden. Sleep je bestanden en mappen eenvoudig in je Vault en Nomadesk doet de rest. Elke keer als je inlogt op je Vault scant Nomadesk de Vault en synchroniseert elk bestand dat is toegevoegd of bewerkt door andere team members.
DELTA SYNC Nomadesk maakt gebruik van Delta Sync om het synchronisatieproces te laten versnellen door enkel de delen van het bestand die veranderd zijn te updaten.
FILE NOTIFICATIONS Blijf op de hoogte van de wijzigingen aan je bestanden. Nomadesk heeft een mogelijkheid om meldingen te krijgen van een bepaald bestand, map of Vault. Zo blijf je perfect op de hoogte van wat er met je bestanden gebeurt.
9
2.2. Architectuur model Het nmd | HyperDrive architectuur model zag er oorspronkelijk zo uit:
Figuur 3: nmd | HyperDrive architectuur model
Na mijn stage kun je echter de twee blokken (Active Directory & Datastore) uit de Controller schrappen. Deze zijn nu optioneel geworden in het opzetten van de nmd | HyperDrive.
2.3. nmd | HyperDrive Virtual Appliance componenten De nmd | HyperDrive Virtual Appliance maakt gebruik van 3 hoofdcomponenten. •
De RES Automation Manager Agent wordt automatisch aangemaakt tijdens de installatie van de nmd | HyperDrive Virtual Appliance en is verantwoordelijk voor de uitvoering van de administratieve taken.
•
De Controller is verantwoordelijk voor client-authenticatie en het online dashbord. De Controller communiceert met de centrale datastore en de Microsoft Active Directory.
•
De Storage Node is verantwoordelijk voor de synchronisatie van de data. Deze ondersteund zowel DAS of iSCSI-opslag.
10
3. Installatie en configuratie van de nmd | HyperDrive 3.1. Installatie Om de nmd | HyperDrive Virtual Appliance te installeren op je hypervisor kan je de volgende stappen volgen: 1. Download het juiste archief dat geschikt is voor jouw hypervisor. 2. Importeer het op jouw hypervisor. 3. Zorg ervoor dat de netwerk adapter op het juiste netwerk is aangesloten. 4. Start de nmd | HyperDrive Virtual Appliance. 5. Selecteer de juiste toetsenbord instellingen
Figuur 4: Selecteer toetsenbord instellingen
6. In de volgende stap selecteer je de tijdzone waarin je u bevindt.
Figuur 5: Selecteer tijdzone
11
7. Daarna kies je een wachtwoord voor de nmd | Virtual Appliance.
Figuur 6: Kies een wachtwoord
8. In de volgende stappen worden IP- en DSN informatie verzameld. 9. Selecteer Device Configuration en druk op de Enter knop.
Figuur 7: Device configuration
12
10. In het volgende scherm zie je welke ethernet apparaten geconnecteerd zijn met uw appliance.
Figuur 8: Beschikbare Ethernet apparaten
11. Selecteer het juiste ethernet apparaat en druk op de enter knop. U ziet een scherm dat je toelaat om een DHCP of statisch ip-adres te gebruiken.
Figuur 9: DHCP configuratie
12. Kies tussen een statisch of dynamisch IP-adres en geef de nodige details in. 13. Klik op Ok en Save.
13
14. In het volgende scherm kies je voor DNS configuration en druk op Enter
Figuur 10: Selecteer DNS configuratie
15. Dit opent een scherm waarin je de juiste DNS informatie kan meegeven. Wanneer je geen gebruik maakt van DHCP om een hostname aan te maken moet je dit in dit scherm verduidelijken.
Figuur 11: DNS Configuratie
16. Vul de hostname (FQDN) in en, indien nodig, de secundaire en tertiaire DNS in. Alsook de correcte domeinnaam dien je in te vullen. 17. Klik op Ok. 18. Klik op Save & Quit om alle informatie te bevestigen.
14
19. De nmd | HyperDrive Virtual Appliance kan nu worden ingesteld via de web wizard.
Figuur 12: Je nmd | HyperDrive VA kan nu worden opgezet
20. Open een web browser en surf naar de url die wordt weergegeven in uw console van de Virtual Appliance. 21. Geef het wachtwoord in dat je eerder gekozen hebt.
Figuur 13: Geef je gekozen wachtwoord in
22. Selecteer Install New Appliance and klik op Login. 23. Wanneer je ingelogd bent kan je de nmd | HyperDrive configureren via de stappen op volgende pagina.
15
3.2. Configuratie De configuratie van de nmd | HyperDrive bestaat uit een aantal stappen: •
Storage configuration
•
Database configuration
•
Webserver configuration
•
Authentication configuration
•
Mail configuration
•
License configuration
•
Advanced settings
Opgelet, de data in de demo afbeeldingen is gebasseerd op demo data. Verander deze data naar de data van je eigen omgeving.
16
3.2.1. Storage configuratie
Figuur 14: Overzicht Storage configuratie
De eerste stap in het configureren van de nmd | HyperDrive is de storage configuratie. 1. In het disk veld, klik op browse om de opslagplaats te selecteren. Het laat je ook toe om een iSCSI apparaat toe te voegen.
Figuur 15: Overzicht beschikbare disks
2. In het bovenstaand voorbeeld kiezen we voor lokaal geheugen. Klik op Ok en je gaat terug naar het voorgaande scherm. 3. Optioneel: je kan kiezen om deze disk te encrypteren met een wachtwoord. Dit is niet verplicht! 4. Klik op Test om na te kijken of je configuratie correct is. 5. Klik op Next om de database te configureren.
17
3.2.2. Database configuratie
Figuur 16: Overzicht Database configuratie
1. Eerst moet je selecteren welk type database je wenst te gebruiken. Je kan kiezen tussen Microsoft SQL of PostgreSQL. 2. Afhankelijk van je keuze verschijnt er een scherm met de nodige info die nodig is om de nmd | HyperDrive database te configureren. 3. Vul alle velden in 4. Druk op Test om te kijken of je configuratie correct is. 5. Druk op Next om verder te gaan naar de webserver configuratie.
18
3.2.3. Webserver configuratie
Figuur 17: Overzicht Webserver configuratie
Na de database configuratie moet je de webserver instellingen ingeven en geldige certificaten uploaden die gebruikt worden voor je nmd | HyperDrive webserver. 1. Kies voor This is a standalone appliance wanneer je een standalone appliance aan het opzetten bent. Wanneer je appliance lid is van een farm, kies voor This appliance is a part of a farm. 2. Kies voor Generate a new self-signed certificate als je (nog) geen geldige SSL-certificaten hebt. De andere velden worden onaanpasbaar gemaakt. 3. Als je geldige SSL-certificaten hebt, verwijder het vinkje bij Generate a new self-signed certificate en geef de details van de certificaten in bij de andere velden.
19
4. In het Appliance FQDN veld vul je de domeinnaam van jouw nmd | HyperDrive in of de naam waarnaar je appliance moet luisteren. 5. Klik op Test om je configuratie te testen 6. Klik op Next om verder te gaan naar de Authenticatie configuratie.
3.2.4. Authenticatie configuratie
Figuur 18: Overzicht Authenticatie configuratie
In de authenticatie configuratie moet je kiezen of je gebruik maakt van Active Directory of de nmd | HyperDrive geintegreerde authenticatie. Dit laatste wil zeggen dat je kan inloggen door simpelweg je e-mailadres en een zelf gekozen wachtwoord in te geven. 1. Selecteer de optie die je wilt gebruiken. 2. Indien je kiest voor nmd | HyperDrive Integrated Authentication kan je meteen de configuratie testen, er zijn geen verdere gegevens vereist. 3. Indien je kiest voor Active Directory (Kerberos), vul de velden correct in om je Active Directory/LDAP te kunnen gebruiken. 4. In de Domains sectie, klik Configure om een of meerdere domeinen die lid zijn van een “forest” toe te voegen.
20
5. Test je configuratie 6. Klik op Next om door te gaan naar de mail configuratie.
3.2.5. SMTP configuratie
Figuur 19: Overzicht Mail configuratie
1. In de SMTP configuratie sectie moet je de SMTP-connectie instellingen meegeven. 2. In de Email Settings Configuration sectie geef je de e-mailadressen in die gebruikt worden door de nmd | HyperDrive. Admin email is een emailadres dat kan gebruikt worden voor het oplossen van problemen. 3. Klik op Test om je configuratie te testen. 4. Klik op next om door te gaan naar de Licentie configuratie.
21
3.2.6. Licentie configuratie
Figuur 20: Overzicht Licentie configuratie
Je moet uw exemplaar van de nmd | HyperDrive licentieren. Klik op Activate om ze te activeren en daarna op get license info om dit te testen.
Figuur 21: Licentie configuratie opgehaald
22
3.2.7. Advanced configuratie
Figuur 22: Overzicht Advanced configuratie
In de advanced configuratie sectie kan u IP ranges ingeven van waar de nmd | HyperDrive Virtual Appliance kan worden bereikt. Tevens kan u RES Automation Manager instellen en de tijdzone van uw domeincontroller ingeven, vooral nodig wanneer je met Active Directory werkt.
23
3.2.8. Commit Nadat alle vinkjes op groen staan verschijnt er rechts onderaan je wizard een commit knop. Wanneer je hierop klikt begint de setup met het opzetten van jouw nmd | HyperDrive Virtual Appliance. Eens jouw nmd | HyperDrive Virtual Appliance klaar is, verschijnt er bovenaan een bericht: You can now logon to nmd | HyperDrive.
Figuur 23: Installatie voltooid
24
4.
Microsoft SQL of PostgreSQL?
4.1. Wat is SQL? SQL staat voor Structured Query Language en wordt gebruikt voor communicatie met een database. Volgens ANSI is het de standaard taal voor relationele database management systemen. SQL-instructies worden gebruikt voor taken als het ophalen van gegevens, het bijwerken van gegevens, het deleten van gegevens of gegevens toe te voegen aan een bepaalde tabel binnen een database. De meest gebruikte database management systemen die SQL gebruiken zijn: Oracle, Sybase, Microsoft SQL Server, Access, Postgres, etc. De meeste van hen hebben ook hun eigen aanvullende merkgebonden extensies die normaal gesproken enkel worden gebruikt op hun systeem. De standaard SQL-commando’s zoals ‘select’, ‘update’, ‘insert’, ‘delete’, ‘create’ en ‘drop’ worden voor quasi alles wat je in database kan doen gebruikt.
4.1.1. Geschiedenis van de taal SQL is ontstaan ergens in de jaren zeventig. IBM, dezer dagen nog steeds actief, heeft deze taal ontwikkeld. De taal is gebasseerd op relationele wiskunde. Deze relationele wiskunde is tot stand gekomen om een theoretische basis te bieden voor de taal. Door middel van een geordende lijst van variabelen identificeert hij de aparte elementen door een naam of attribuut. Bij andere verzamelingen gebeurt de identificatie vooral door een index. Hierdoor krijg je relaties of anders gezegd: een attribuut dat een bepaalde waarde bevat. In de loop van de jaren zijn er verschillende vormen geweest van SQL. Toch was het wachten tot de jaren tachtig wanneer SQL gestandaardiseerd werd. Uiteindelijk komen er nog steeds nieuwe versies van de taal uit. Voorbeelden: SQL 1999, SQL 2003, SQL 2008 en SQL 2011. Dit is reeds de zevende versie sinds de standaardisering.
25
4.1.2. Waarom werd SQL in het leven geroepen? SQL werd hoofdzakelijk in het leven geroepen voor business mensen die graag hun bedrijf wouden analyseren om zo te weten te komen wat er in het bedrijf allemaal gebeurt. Er was wel één nadeel: om SQL te gebruiken heb je kennis over databanken nodig. En daar beschikte de meeste business mensen niet over, of toch niet voldoende. Hierdoor werd SQL vooral gebruikt door programmeurs. Programmeurs die applicaties ontwikkelde voor de business mensen die graag de analyses van hun bedrijf willen. De programmeurs maken via API’s connectie met een database. Deze API’s verschillen van programmeertaal tot programmeertaal.
API ADO
Ondersteunde talen Microsoft Visual Basic, Microsoft Visual C++, Microsoft Visual J++
URL
HTML, ASP
OLE DB
Visual C++
ODBC
Visual C++
RDO
Visual Basic, Visual J++
DAO
Visual Basic, Visual C++
ESQL
Visual C++, COBOL
DB-Library for C
Visual C++
Tabel 1: Ondersteunende talen API's
4.1.3. Hoe zit dit alles in elkaar? SQL is onderverdeeld in 3 grote blokken, namelijk: Data Manipulation Language, Data Control Language en de Data Definition Language.
26
Data Manipulation Language Deze taal wordt vooral gebruikt om gegevens aan een database toe te voegen, gegevens te verwijderen of te bewerken. De taal bevat, zoals reeds vermeld, commando’s om data te manipuleren zonder aan de structuur van de database en de tabellen aan te passen. We spreken hier over de INSERT-, DELETE- en UPDATE-commando’s. SELECT hoort hier in principe niet bij, aangezien deze geen data manipuleert in de database. Echter is er wel een vorm van SELECT die hier wél bij hoort (SELECT … IN …). Deze zit dan wel in deze groep. In het alledaags gebruikt wordt er echter geen onderscheid gemaakt tussen beide SELECT’s en zijn hierdoor een onderdeel van de DML.
Data Control Language Deze taal beheert de toegang tot de database. Het bevat commando’s om rechten toe te kennen aan bepaalde gebruikers voor die database. Om rechten toe te kennen gebruik je het GRANT-commando. Voorbeeld: GRANT CONNECT. Om rechten te verwijderen doe je net hetzelfde, vervang enkel het woordje “connect” door REVOKE. Tevens is er nog het COMMIT-commando, deze gaat de actie van een vorig commando permanent maken. ROLLBACK gaat in plaats van de actie permanent te maken, deze ongedaan maken.
Data Definition Language Deze taal definieert de database tabellen. De DDL is voor een tabel eigenlijk wat DML is voor data. Je kan een nieuwe tabel aanmaken of een bestaande tabel verwijderen. Uiteraard heeft de DDL ook enkele commando’s hiervoor, maar met een andere benaming: CREATE (aanmaken van een tabel), DROP (verwijderen van een tabel), ALTER (wijzigen van een tabel).
Figuur 24: Cartoon databases
27
4.2. Microsoft SQL Microsoft SQL is een databasebeheersysteem ontwikkeld door Microsoft. Het is een fantastisch databasesysteembeheer programma dat een mooie mix van prestaties en betrouwbaarheid combineert met eenvoud in gebruik. MS SQL server is een droom van een product om te
Figuur 25: Logo MS
gebruiken. MS SQL heeft zeer strenge licentievoorwaarden
SQL Server
en zo loopt de kostprijs meestal hoog op. Aan de andere kant heeft het een zeer gebruiksvriendelijke interface, is het gemakkelijk om te gebruiken en heeft het een instapmodel dat niet zo duur is.
4.2.1. Geschiedenis Microsoft SQL Server is een doorontwikkeling van Sybase en is het product van Microsoft voor enterprise databases. De eerste versie van MS SQL Server was voor OS/2 rond 1989 en was eigenlijk identiek aan Sybase 4.0 voor virtuele machines en Unix. Wanneer Windows NT verscheen gingen Sybase en Microsoft uiteen. Sybase veranderde hun naam in Adaptive Server Enterprise om verwarring met MS SQL Server te vermijden.
SQL Servers door de jaren heen 1998
SQL Server voor OS/2, samen met Sybase
1993
SQL Server 4.21 voor Windows NT
1995
SQL Server 6.0, SQL95 ook wel genoemd.
1996
SQL Server 6.5, Hydra
1999
SQL Server 7.0, Sphinx
1999
SQL Server 7.0 OLAP, Plato
2000
SQL Server 2000 32-bit, Shiloh
2003
SQL Server 2000 64-bit, Liberty
2005
SQL Server 2005, Yukon
28
2008
SQL Server 2008, Katmai
2010
SQL Server 2008 R2, Kilimanjaro
2012
SQL Server 2012, Denali
2014
SQL Server 2014, Hekaton
4.2.2. Versies Volgende versies van Microsoft SQL Server zijn beschikbaar: •
Express
•
Express met advanced services
•
Workgroup
•
Standard
•
Enterprise
•
Developper
•
Web
•
Compact Edition (SQL CE)
•
Azure (cloud-based)
29
4.3. PostgreSQL PostgreSQL is een databaseserver. Het is een alternatief voor propriëtaire software systemen zoals Oracle, Microsoft SQL Server en DB2. PostgreSQL wordt niet beheerd door één enkel bedrijf, maar steunt op een wereldwijde gemeenschap van ontwikkelaars en
Figuur 26: Logo PostgreSQL
bedrijven. Officieel wordt het uitgesproken als “post-gressQL”.
4.3.1. Geschiedenis PostgreSQL is ontstaan uit een project uit de Universiteit van Californië genaamd “Ingres”. Het was voornamelijk bedoeld als onderzoeksproject. Michael Stonebraker ging in 1985 aan de slag om een post-Ingres project te beginnen. Dit project moest de problemen met de hedendaagse databases aanpakken. Het nieuwe project, genaamd Postgres, liep van 1986 tot 1993. Vanaf 1994 werd het project verder gezet onder de naam Postgres95 door twee andere software ontwikkelaars, Andrew Yu en Jolly Chen. Twee jaar later werd het project opnieuw hernoemd. Ze noemde het product, tot de dag van vandaag nog steeds, PostgreSQL. Dit om de voeling met SQL te benadrukken. Vanaf dan werden er geregeld versies gereleased. Deze waren vooral bugfixes en kleine updates.
4.3.2. Versies PostgreSQL heeft al enkele nieuwe release gekregen sinds het onstaan. •
Postgres95
•
Release 7.0
•
Release 8.3
•
Release 1
•
Release 7.1
•
Release 8.4
•
Release 6.0
•
Release 7.2
•
Release 9.0
•
Release 6.1
•
Release 7.3
•
Release 9.1
•
Release 6.2
•
Release 7.4
•
Release 9.2
•
Release 6.3
•
Release 8.0
•
Release 9.3
•
Release 6.4
•
Release 8.1
•
Release 6.5
•
Release 8.2 30
4.4. Vergelijking Om de twee database systemen goed te kunnen vergelijken kijken we even naar onderstaande tabel. Uiteraard zegt deze tabel niets over de prestaties van beide systemen of de verschillen in SQL-syntax. Daar hebben we het later in dit document nog over.
Microsoft SQL Server
PostgreSQL Gebaseerd op
Beschrijving
Relationele database
Ontwikkelaar
Microsoft
Eerste release
1989
1989
Licensie
Commercieel
Open Source
Ondersteund OS
Windows
API’s Programmeertalen Foreign Key
PostgreSQL Global Development Group
HP-UX, Linux, OS X, Solaris, Unix, Windows
OLE DB, TDS, ADO.NET,
Native C Library,
JDBC, ODBC
ADO.NET, JDBC, ODBC
.NET, Java, PHP, Python,
.NET, C, C++, Java, Perl,
Ruby, Visual Basic
Python, Tcl
Ja
Ja
Datetime (vanaf SQL Datum/tijd
Server 2008 ook
ondersteuning
tijdszone ondersteuning en simple “date”).
Hoofdlettergevoelig
relationele database.
Niet hoofdlettergevoelig
Date, TimeStamp en TimeStamp met tijdszone. Wel hoofdlettergevoelig
Tabel 2: Vergelijking MS SQL & PostgreSQL
31
4.4.1. Prestaties Snelheid Is PostgreSQL even snel als MS SQL Server? Ja en nee, het zou sneller kunnen zijn! MS SQL Server heeft veel werk geleverd aan de query optimizer en daardoor lopen de queries wel iets sneller als voordien. PostgreSQL is ook net iets trager als de sterktste editie van MS SQL Server, de Enterprise Ultimate versie. Maar wie heeft deze versie? Als je al je CPU’s met al z’n kernen en al het RAM geheugen dat aanwezig is in je computer gebruikt voor PostgreSQL ben je zowieso sneller dan de meeste standaard versies van MS SQL Server. Om eerlijk te zijn verkies ikzelf PostgreSQL boven Microsoft SQL. Ik kende het niet (lees: ik gebruikte het niet) voor m’n stage, maar de eenvoud van opzetten en de snelheid voor een Open Source product zijn top. Het is wel zo dat PostgreSQL een pak sneller draait op een Linux systeem dan op een Windows platform. Heb ik hiervan grote bewijsstukken? Nee, gewoon pure ondervinding.
Kostprijs Het is vrij duidelijk dat PostgreSQL hier wint. Je moet rekenen dat je niet enkel de licentie van de database moet rekenen, maar ook het besturingssysteem waarop je de database draait en de remote access software (bvb. Citrix op Windows en gratis SSH op Linux). Als je alle functies van PostgreSQL vergelijkt met die van SQL Server, moet je ook de kostprijs naast elkaar leggen. 99% van de tijd vind je dat verschil te groot om niet voor PostgreSQL te kiezen!
Is PostgreSQL klaar voor “Prime Time”? Ja! Als je weet dat zelf Skype en WhatsApp gebruik maken van PostgreSQL databases kun je wel denken dat ze heel wat aankunnen. Alles bij elkaar denk ik zelf dat PostgreSQL er meer klaar voor is dan MS SQL Server. PostgreSQL ondersteunt XML en JSON, het laatste is onbekend bij MS SQL Server. 32
PostgreSQL ondersteunt arrays, toch iets wat in programeren veel voorkomt. Wel, MS SQL Server heeft er nog nooit van gehoord. PostgreSQL ondersteunt Ipv6, Microsoft? En dan hebben we het nog niet over het feit dat Microsoft besturingssystemen niet zo stabiel zijn als die van Linux. Ik wil maar zeggen: PostgreSQL moet echt niet onderdoen voor MS SQL Server. Althans, dat is mijn bescheiden mening.
Eenvoud in gebruik Hier moeten we eerlijk ik zijn. De gebruikersinterface van Microsoft is beter dan die van PostgreSQL’s pgAdmin. Is het verschil gigantisch groot? Neen.
4.4.2. SQL-syntax Er zijn enkele verschillen in de SQL-syntax van beide databasesystemen. Erg groot zijn ze niet, maar je moet er wel rekening mee houden als je bijvoorbeeld een MS SQL Server database wilt converteren naar een PostgreSQL database. En dat is wat ik ook heb moeten doen in mijn stage. Daar de wizard het nu toelaat om te kiezen tussen twee databasesystemen moeten alle SQL-statements uiteraard worden aangepast. Hier enkele verschillen in beide SQL-talen. PostgreSQL maakt geen gebruik van het TOP statement (SELECT TOP 10 * FROM…). Bij PostgreSQL gebruik je (SELECT * FROM … LIMIT 10). LIKE statements zijn hoofdletter gevoelig bij PostgreSQL, dit is niet zo bij MSSQL. Gebruik ILIKE om dit “uit te schakelen”. Je kan bij PostgreSQL geen gebruik maken van het + teken om tekst aan elkaar te plakken. Je maakt gebruik van || om tekst te concatineren. Bij PostgreSQL maak je gebruik van TIMESTAMP i.p.v. DATETIME SQL Server ondersteunt geen quotes bij 1 en 0 bij boolean, PostgreSQL wel. NATURAL en USING joins worden bij MSSQL niet ondersteund zoals bij PostgreSQL. 33
MSSQL maakt gebruik van “INSERT table VALUES(…)” om data aan je tabel toe te voegen. PostgreSQL doet dit met “INSERT INTO table VALUES(…)”. Tabel 3: Verschillen in SQL-talen
4.5. Zijn er alternatieven? 4.5.1. Oracle Oracle is een commercieel databasebeheersysteem dat voor het eerst gereleased is in 1980. Volgens db-engine.com is het het beste databasebeheersysteem en laat het meer bekende systemen als Microsoft SQL, MySQL & PostgreSQL achter zich. Net zoals PostgreSQL werkt Oracle op
Figuur 27: Logo Oracle databases
meerdere besturingssystemen (Linux, OSX, Windows, …), dit in tegenstelling tot Microsoft SQL. Oracle is wereldwijd bekend en niet enkel voor z’n databasebeheersysteem, maar ook voor de bijhorende support. Je vindt in quasi elke stad van elk land een Oracle specialist die je kan helpen met je vragen en problemen. Zeker een punt dat je moet afwegen in je keuze tussen de verschillende databasebeheersystemen. Uiteraard hangt er aan Oracle, net zoals bij Microsoft SQL, ook een prijskaartje. Dit in tegenstelling tot PostgreSQL en andere opensource databasebeheersystemen. De meeste (grote) bedrijven kiezen voor een Oracle of Microsoft SQL Server databasebeheersysteem i.p.v. de opensource databasebeheersystemen. Ze kiezen voor een stuk voor veiligheid en zekerheid wanneer er iets mis zou lopen. Aangezien beide databasebeheersystemen een betere support hebben
34
dan de opensource systemen. En geef toe, geen enkele IT-verantwoordelijke bij een grote firma met voldoende budget gaat ontslagen worden omdat hij voor veiligheid en meer zekerheid kiest.
4.5.2. MySQL MySQL is een opensource databasemanagementsysteem voor relationele databases. De eerste versie verscheen in 1995 en werd door de jaren heen een populair databasebeheersysteem, mede dankzij de opensourcebeweging. Een leuk weetje is dat niemand echt weet waar de naam
Figuur 28: Logo MySQL databases
“MySQL” vandaag komt. Men heeft wel een vermoeden dat het genoemd is naar het dochtertje van medeoprichter Monty Widenius, dat “My” heet. Op deze moment is MySQL een van de meest gebruike opensource databasebeheersystemen. Dit doordat het eenvoudig in gebruik is en gratis is. Bovendien heeft het een uitstekende documentatie en zijn er duizenden programmeurs die hun kennis delen met de MySQL-community. Bovendien werkt het op meerdere besturingssystemen zoals Windows, Linux, OS X, Solaris, … In de DB-Engine ranking van db-engines.com staat het op een mooie tweede plaats, na Oracle. Nadeel van MySQL is dat ze niet de volledige SQL-standaard geïmplementeerd hebben. Hierdoor loop je soms tegen beperkingen op. Aan de andere kant is het wel veilig en uitermate geschikt voor websites en andere website gerelateerde toepassingen.
35
Het feit dat MySQL gebruikt wordt door organisaties als Facebook, Google & Adobe wilt toch wel zeggen dat het een kwalitatief goed product is. Bovendien zou het deze bedrijven bakken geld kosten moesten ze met licenties werken van bvb. Microsoft SQL Server.
5.
Active Directory of E-mail/paswoord?
5.1. Waarom opsplitsen? In de huidige nmd | HyperDrive wizard kon je enkel gebruik maken van een Active Directory (Kerberos) omgeving. Active Directory staat beheerders toe om rechten en instellingen in het netwerk van een volledig bedrijf te beheren. En zoals je misschien wel weet is Active Directory een implementatie van Microsoft. Uiteraard zijn er bedrijven (groot en klein) die geen gebruik maken van Microsoft producten. Voor deze bedrijven was de nmd | HyperDrive niet interessant, aangezien de kosten om de volledige Microsoft omgeving op te zetten in je bedrijf behoorlijk kunnen oplopen. Daarom besloot Nomadesk om de wizard wat uit te breiden en meteen ook eenvoudiger te maken. Want ook mensen zonder een Microsoft omgeving moeten de nmd | HyperDrive kunnen gebruiken. Hierdoor wordt de markt alleen maar groter en wordt het eenvoudiger voor sales om het product te verkopen.
5.2. Active Directory Active Directory is eigenlijk een speciale database die gemaakt is om een groot aantal lees- en zoekacties af te handelen. Tevens staat het de Active Directory gebruikers toe om het beleid van een netwerk te beheren.
Figuur 29: Logo Windows Server Active
Het automatisch installeren van software
Directory
behoort ook tot de mogelijkheden. Alles
36
wordt opgeslagen in een centrale database. Doordat een AD-netwerk uitbreidbaar is, kan het variëren van een paar honderd tot miljoenen objecten. Active Directory werd geïntroduceerd met Windows 2000 Server. De komst van Windows 2003 Server zorgde voor een nieuwe versie van Active Directory.
5.2.1. Logische structuur De logische structuur van een Active Directory omgeving bevat volgende punten: Forest, Tree, Domains en Organizational Units.
Figuur 30: Logische structuur Active Directory
Domains of domeinen: Een domein is een verzameling gebruikers en computers met een gemeenschappelijk beveiligingsbeleid. De beheerder van een domein heeft de volledige controle over alle computers van dat domein. Domeinen zijn een middel om het beheer van Windows-computers te centraliseren. Elke persoon die computers binnen een domein gebruikt krijgt een gebruikersnaam en wachtwoord (account). Hiermee kunnen ze aanmelden op elke PC binnen het domein. De beheerder kan beperkingen opleggen per gebruiker of groep van gebruikers.
37
Trees: Een tree is een verzameling van een of meerdere domeinen.
Forests: Forests zijn het geheel van domeinen. Alle domeinen binnen een forest vertrouwen elkaar direct of indirect. Alle domeinen in een forest hebben hetzelfde schema.
Organizational Units: Een Organizational Unit (of OU) gebruik je voor het logisch indelen van objecten (computers, servers, gebruikers, groepen, …). Dit maakt het beheer makkelijker. Aan een OU kan je bevoorbeeld een Group Policy Object (zie verder) koppelen die dan geldt voor alle objecten binnen deze OU.
5.2.2. GPO’s (Group Policy Object’s) Op OU's (Organisational Units) kunnen koppelingen naar GPO's (Group Policy Object's) worden geplaatst. Elke GPO bevat twee soorten instellingen: “Computer settings” en “User settings”. In elk van deze kunnen computer- en gebruiker-specifieke instellingen worden gemaakt. Deze kunnen van verschillende aard zijn. Veelal leggen ze beperkingen op voor een gebruiker/computer of passen ze bepaalde standaardinstellingen aan. Door het gebruik van GPO’s is het mogelijk om grote delen van gebruikers- en pc-instellingen centraal te beheren.
Figuur 31: GPO-Editor
38
Op zich doet een nieuw aangemaakte GPO niets. Omdat deze effect zou hebben moet een koppeling gemaakt worden tussen de GPO en een OU. Vanaf dat moment zal de GPO van toepassing zijn op alle relevante objecten in deze, en de onderliggende, OU. Het is belangrijk op te merken dat usersettings in een GPO enkel effect hebben op users in een gekoppelde OU en computer-settings in een GPO enkel effect hebben op computer objecten in een gekoppelde OU.
5.2.3. Kerberos Kerberos is een veilige manier om gebruikers van een netwerk te laten authorizeren. Het werd ontwikkeld in het MIT (Massachusetts Institute of Technology). De naam is afkomstig van een Griekse mythologie; Kerberos was een driehoofdige hond die de poort van Hades beschermde.
Figuur 32: Mythologisch figuur 'Kerberos'
De kerberos functie betekent dat een Kerberos server aan een ingelogde gebruiker een ticket toekent Dit ticket blijft gedurende de hele sessie geldig en wordt vertrouwd door andere servers die het protocol kennen. Als de gebruiker uitlogt wordt de sessie afgebroken en is het ticket niet meer geldig.
Werking Kerberos De gebruiker heeft een gebruikersnaam en wachtwoord om zijn identiteit te bewijzen. Het Key Distribution Center (KDC) geef op basis van die gegevens een soort identiteitskaart terug, dit wordt het Ticket Granting Ticket (TGT) genoemd. Met dit ticket vraagt de Kerberos-client toegang aan voor services bij de KDC. Op basis van dit TGT geeft de KDC een zogenaamd Session Ticket voor de service af. Met dat ticket benadert de client vervolgens de services
39
om toegang te verkrijgen. Voor iedere service die de client wilt benaderen vraagt deze zo’n Session Ticket aan. Zowel de TGT als het Session Ticket blijven vrij lang geldig en kunnen meerdere keren worden gebruikt om de sessies op te bouwen. Daardoor wordt de KDC en de service minder belast.
Kerberos in Active Directory Hoewel Kerberos soms zwarte magie lijkt voor vele systeembeheerders is het een van Active Directory’s belangrijkste ondersteuningen. Kerberos wordt elke keer wanneer je je aanmeldt bij een Active Directory-machine gebruikt. Alsook wanneer u toegang probeert te krijgen tot netwerkbronnen zoals fileservers.
5.3. E-mail / Paswoord Wanneer je in de wizard kiest om E-mail / Paswoord te gebruiken als authenticatie methode heb je geen nood aan een Active Directory omgeving in je bedrijf. Na het opzetten van de wizard kan je jezelf registreren en een (of meerdere) accounts aanmaken. Elke gebruiker kan een e-mailadres en wachtwoord ingeven dat wordt opgeslagen in een database die, uiteraard, gekoppeld is aan de nmd | HyperDrive. Voor de liefhebbers, Nomadesk maakt gebruik van een PostgreSQL 8.4 database. Deze wordt gebruikt om de controller aan te koppelen. Via deze manier werkt de nmd | HyperDrive op net dezelfde manier als in een Active Directory omgeving. Dit is een 100% veilige oplossing, waardoor gebruikers of potentiële gebruikers geen nood hebben aan een Windows omgeving. Dit in combinatie met een PostgreSQL database i.p.v. een Microsoft SQL Server database zorgt ervoor dat de nmd | HyperDrive als een server in een doosje kan worden geïnstalleerd.
40
6. UX-Design Het duurde enkele jaren voor onze maatschappij begreep hoe belangrijk UXdesign is in het hedendaagse webdesign. Nu weten we dat er een goed UXdesign nodig is om een website succesvol te laten worden. En dat geldt niet enkel voor de modale websites, maar ook voor business toepassingen zoals de nmd | HyperDrive. De huidige wizard was eenvoudig en iets wat ouderwets van design. Een innovatief bedrijf als Nomadesk moet ook qua frontend mee met de tijd. Daarom kreeg ik de leuke opdracht om de nmd | HyperDrive in een jeugdig en fris kleedje te steken. Een kleedje dat niet enkel mooi en uitnodigend oogt, maar ook nog duidelijk is. Dit alles was een leuke uitdaging waar ik ongeveer 14 dagen aan gewerkt heb. Beginnend bij mockup’s op papier om zo stap voor stap verder te gaan tot wat het nu is.
6.1. De “oude” nmd | HyperDrive wizard UI De nmd | HyperDrive is een bestaand product dat, zoals ik reeds heb verteld, een UI-design had. Dit was echter niet meer uitdagend en fris om gebruikers die extra ervaring te bezorgen. Hieronder enkele screenshots van de “oude wizard”.
Figuur 33: Printscreens van de 'oude' nmd | HyperDrive wizard
41
6.2. UX-design process 6.2.1. User needs De mensen die de nmd | HyperDrive wizard gebruiken zijn niet altijd op de hoogte van informatica en dergerlijke. Uiteraard hebben sommige (grotere) bedrijven een informatica dienst die de nmd | HyperDrive kan implementeren in het huidig systeem. Maar uiteraard zijn er ook bedrijven die dit alles niet hebben. Voor de leken in de informatica onder hen moet het duidelijk zijn wat er precies moet gebeuren en wat er precies moet worden ingesteld. Voor ons, de developpers van Nomadesk, lijkt alles soms duidelijker dan het in werkelijkheid is. Het komt erop neer dat we willen duidelijk maken wat elke component in de wizard doet en hoe hij juist moet worden opgezet.
6.2.2. Site objectives Wat willen we bereiken? Enerzijds, zoals reeds vermeld, willen we duidelijk maken wat elke component van de wizard precies doet en hoe die correct moet/kan worden ingesteld. Als we dit alles dan ook nog in een mooi en aanlokkelijk kleedje kunnen steken is dit een extra punt waarmee we de klanten en potentiële nmd | HyperDrive gebruikers over de figuurlijke streep kunnen trekken. Hoe willen we dit alles bereiken? Enerzijds, uiteraard, door een aanlokkelijk design. Anderzijds door voldoende informatie punten te voorzien, waar gebruikers informatie kunnen opvragen. Dit wordt zowel op de wizard zelf als in de gebruikershandleiding (document) toegepast. Anderzijds zijn er in de oude wizard test-knoppen voorzien om de ingegeven configuratie te controlleren. Heel handig, maar enorm lastig. Want ik, als luie gebruiker, wil niet eerst op “test” klikken om vervolgens nog eens op “volgende” te klikken. Daaraan moest dus ook iets gedaan worden.
42
6.2.3. Information architecture De structuur van de nmd | HyperDrive wizard ziet er als volgt uit:
Figuur 34: Structuur oude nmd | HyperDrive wizard
Na grondig overleg met de mensen van Nomadesk zijn we tot besluit gekomen dat er enkele punten niet duidelijk waren en eventueel konden samengevoegd worden. Hierdoor is er in de nieuwe wizard één tab minder aanwezig. En door het mogelijk maken van e-mail / paswoord authenticatie is de “Active Directory”-tab hernoemd naar de “Authentication”-tab. Hieronder de vernieuwde structuur:
Figuur 35: Structuur vernieuwde nmd | HyperDrive
6.2.4. Information design Om de gebruiker duidelijk te maken welke stappen er moeten gebeuren en welke reeds (succesvol?) voltooid zijn hebben we besloten om te werken met een stappenplan dat doorlopen moet worden. Een horizontaal menu waarin de verschillende stappen die voltooid zijn oplichten en op die manier duidelijk maken dat dit reeds correct ingevuld is. Uiteraard geeft het menu aan in welke stap je momenteel zit. Ook is het mogelijk om van de ene stap naar de andere te gaan door een simpele muisklik op de gewenste stap. Uiteraard is het niet mogelijk om bepaalde stappen te doen vooralleer je de basis gelegd hebt. Via een eenvoudige melding en het niet toegankelijk maken van de velden in die stap wordt dit aan de gebruiker duidelijk gemaakt. Er is dus een bepaalde volgtijdelijkheid ingebouwd.
43
6.2.5. Visual design Na veel wikken en wegen ben ik tot de volgende wireframes gekomen:
Algemene pagina met tekstboxen en een titel / ondertitel.
Figuur 36: wireframe algemene pagina
Popup balk
Figuur 37: Wireframe van algemene pagina met popup
44
Daarna kwamen we tot het eerste ontwerp in HTML/CSS. Een waarmee ik het potentieel van een vernieuwde wizard kon aantonen bij de mensen van Nomadesk. Deze werd positief ontvangen en zo kon ik later beginnen aan het vernieuwen van de UI van de wizard.
Het eerste HTML/CSS ontwerp
Figuur 38: Eerste ontwerp in HTML / CSS
De bovenstaande HTML-pagina werkt volledig en had ook een zekere animatie bij het verder gaan van de ene stap naar de volgende. Deze animatie is er uiteindelijk uitgegaan, aangezien de nmd | HyperDrive wizard op en top professioneel moet zijn en vooral handig in gebruik. Bovendien is het niet onbelangrijk dat hij cross-browser is en door het gevorderde gebruik van Jquery was dit niet meer het geval. In oudere browsers faalde de wizard om te navigeren. Daardoor is dit extraatje geweerd uit het uiteindelijke beeld. Ook werd er in de mockup’s geen rekening gehouden met op welke pagina je je bevindt. Als je op de eerste pagina bent, werd de “previous” knop nog steeds weergegeven. Dit is, uiteraard, niet het geval in de uiteindelijke wizard.
45
Het resultaat Uiteindelijk staat er een wizard die zowel visueel als functioneel in orde is. De wizard oogt vernieuwend en is pakken handiger dan de vorige. Bovendien is de vervelende test-knop uit de vorige wizard ingewerkt in de “next” knop. Wanneer je op “next” klikt zal de configuratie getest worden en indien deze correct is zal de volgende stap worden weergegeven. Indien de test gefaald is komt er een melding tevoorschijn die aangeeft waar de fout mogelijks kan aan liggen. Bij het opnieuw drukken op “next” wordt de configuratie opnieuw getest. Indien de test goed verloopt wordt het desbetreffende onderdeel van het menu groen gekleurd. Althans, dit is zo bij Nomadesk. Want het is volledig mogelijk om de wizard te rebranden voor andere bedrijven. Er worden geen afbeeldingen gebruikt en alles wordt via een externe CSS “ingekleurd”. Er volgen enkele printscreen’s van de vernieuwde wizard:
Figuur 39: Aanmelden op de nmd | HyperDrive wizard
46
Figuur 40: Storage configuration
Figuur 41: Selecteer disk
Figuur 42: Authentication configuration
47
Eindbesluit Om te besluiten kan ik stellen dat ik een zeer interessante stageopdracht gekregen heb. Een stageopdracht die wel wat buiten mijn comfortzone ligt qua interesses en kwaliteiten die ik heb. Het is niet altijd even makkelijk geweest en op bepaalde stukken heb ik behoorlijk wat moeite gehad. Deels omdat je terecht komt in een project waar meerdere mensen (waaronder Indiërs in een ver verleden) gewerkt hebben. En ik kan je verzekeren dat de source code van Nomadesk niet bepaald beperkt is. Je kan wel stellen dat ik enorm veel geleerd heb de afgelopen vijftien weken. Niet enkel op het vlak van programmeren, maar ook hoe in een team te werken en hoe het echte werkleven er precies uitziet. Ik kan niet wachten om daar echt deel van uit te maken. Het resultaat van mijn stage voor Nomadesk is dat er een volledig vernieuwde nmd | HyperDrive wizard is die nu standalone kan werken. Met enkele klikken op de knop en een minimum ingave van gegevens kan je een volledige private cloud service opzetten met de eigenschappen van een public cloud service voor je bedrijf. Bovendien is de gehele wizard in een nieuw kleedje gestoken, waardoor hij professioneler en eenvoudiger oogt dan ooit tevoren.
48
Referentielijst Active Directory. (2015, januari 15). In Wikipedia, the free encyclopedia. Active Directory For Dummies - Steve Clines, Marcia Loughry - Google Books. (z.d.). Allen, R., & Hunter, L. (2006). Active Directory Cookbook. O’Reilly Media, Inc. Data Manipulation Language - Wikipedia. (z.d.). Desmond, B., Richards, J., Allen, R., & Lowe-Norris, A. G. (2013). Active Directory: Designing, Deploying, and Running Active Directory. O’Reilly Media, Inc. Discovering SQL: A Hands-On Guide for Beginners - Alex Kriegel - Google Books. (z.d.). Extensible Markup Language. (2014, december 21). In Wikipedia. information on database management systems. (z.d.). Van http://dbengines.com/en/systems Introducing Microsoft® SQL Server® 2012 - Ross Mistry, Stacia Misner - Google Books. Jorgensen, A., Segarra, J., LeBlanc, P., Chinchilla, J., & Nelson, A. (2012). Microsoft SQL Server 2012 Bible. John Wiley & Sons. Kerberos: A Network Authentication System - Brian Tung - Google Books. (z.d.). Kerberos (protocol). (2015, januari 13). In Wikipedia, the free encyclopedia. Kerberos: The Definitive Guide - Jason Garman - Google Books. (z.d.). Kline, K., Kline, D., & Hunt, B. (2008). SQL in a Nutshell. O’Reilly Media, Inc. Microsoft SQL Server vs. Oracle vs. PostgreSQL Comparison. (z.d.).
49
MySQL/Language/Definitions: what are DDL, DML and DQL? - Wikibooks, open books for an open world. (z.d.). MySQL Versus PostgreSQL | EnterpriseDB. (2010, december 30 van http://www.enterprisedb.com/solutions/mysql-vs-postgresql MySQL :: Why Move to MySQL from Microsoft SQL Server? (z.d.). van http://dev.mysql.com/techresources/articles/move_from_microsoft_SQL_Server.html Oracle 10g vs PostgreSQL 8 vs MySQL 5. (z.d.). Van http://it.toolbox.com/blogs/oracle-guide/oracle-10g-vs-postgresql-8-vs-mysql-55452 PostgreSQL. (2015, januari 16). In Wikipedia, the free encyclopedia PostgreSQL vs MSSQL Server: A Comparison. (z.d.). Van http://www.brighthub.com/internet/web-development/articles/118766.aspx SQL injection: Not only AND 1=1. (z.d.). Van http://www.slideshare.net/inquis/sqlinjection-not-only-and-11 Hartson, R., & Pyla, P. S. (2012). The UX Book: Process and Guidelines for Ensuring a Quality User Experience. Elsevier.
50
51