Full transcript
0:01Oké, deze presentatie ga ik geven. Die
0:04gaat over ehm paragraf 1 en 2. Het
0:06herkennen van drie drieelag model en het
0:08herkennen van drieel model. En daar ga
0:11ik nu mee beginnen. Ehm allereerst is
0:14het goed om te benoemen dat er best wel
0:16veel verschillende ja digitale apparaten
0:18bestaan. Dat zijn apparaten die gebruik
0:20maken van computer, van de computer
0:22eigenlijk, die een computerchip
0:24bijvoorbeeld in zich hebben. Nou, we
0:25kennen allemaal de personal computer, de
0:27pc, maar ook de smartphone is er één.
0:30Maar ook bijvoorbeeld de thermostaat eh
0:32die bij de verwarming zit, die checkt
0:33hoe warm het is en dan besluit van oké,
0:35moet ik het dan warmer maken of kouder?
0:37En bijvoorbeeld koffiezetapparaat met
0:39allemaal verschillende kofferset
0:40programma's. Eh ja, daar moet ook wat
0:42intelligentie achter zitten om zo'n eh
0:45ja, goed bakje koffie te kunnen zetten,
0:46zeg maar.
0:47Nou, dit zijn dus best wel verschillende
0:50apparaten, maar toch hebben ze een
0:51aantal dingen met elkaar gemeen. En wat
0:53ze allemaal met elkaar gemeen hebben,
0:54daar gaan we deze presentatie ook
0:55hebben.
0:57Allereerst is kun je is het goed om te
0:59weten dat je eh ja, al die eh ja,
1:02computers of apparaten kan onderverdelen
1:04uit ten eerste hardware en dit zijn alle
1:07computeronderdelen die je als het ware
1:09kan aanraken. Het heet letterlijk hard,
1:11dus het is hard, je kan het aanraken. En
1:14where dat komt eh ja komt uit het
1:16Latijns, maar in het Nederlands zou je
1:17kunnen zeggen het lijkt op waren. Eh
1:19oftewel goederen of wat dan ook. Eh
1:22uiteindelijk hardware betekent dus
1:23gewoon de computer onderdelen die je kan
1:27aanraken die eh die echt bestaan fysiek.
1:30Het de tegenhanger daarvan is software.
1:33Dit is dus ook wel zacht zeg maar. Dit
1:35kun je ook niet aanraken. En dit zorgt
1:37voor de aansturing van het apparaat. Ehm
1:40eigenlijk is dit gewoon programmeercode,
1:42dus ik kan het wel laten zien. Stel we
1:43hebben hier eh een code editor. Ik kan
1:46bijvoorbeeld iets programmeren van mijn
1:48functie zoiets en dan eh print eh hallo
1:53class of zoiets. En dan hier eh dit gaan
1:55jullie allemaal nog leren hoor hoe eh
1:57programmeren nou precies werkt. D even
1:59een voorbeeld. Zo. Als ik dan dit
2:01uitvoer dan
2:04gaat de computer dit doen. Werkt dit?
2:07Ja. Ho, hallo class bijvoorbeeld staat
2:09hier nu onderaan. Nou, er is dus eh een
2:11stukje eh software is dit. Dit zijn
2:14instructies die ik aan de computer heb
2:15gegeven. Ik heb tegen de computer
2:17gezegd: "Ik wil dat jij eh dit
2:18uitvoert." Computer leest dat en die
2:20zegt: "Oké, dan ga ik dat doen." En al
2:23deze programmeercode, oftewel
2:24instructies voor de computer, dit noemen
2:26we ook wel software. Zoals je ziet, ik
2:28kan het niet aanraken, want het is
2:30eigenlijk niet echt tastbaar, maar het
2:31is wel degelijk eh ja, iets een
2:34onderdeel van het computersysteem.
2:38En mocht je dit nou een ingewikkeld
2:39verhaal vinden over software, ja, dat
2:41hoeft dus eigenlijk niet. Software is
2:42eigenlijk een heel simpele term. Ehm
2:45alle computerprogramma's, alle games eh
2:48die je hebt, dat is software. Dat
2:50bestaat namelijk allemaal uit eh
2:51programmeercode. Dus je magister app, je
2:54agendaapp, dat soort dingen. Ehm als ik
2:56van een ander iemand wil weten wat voor
2:58soort agenda app diegene bijvoorbeeld
2:59heeft, kan ik zeggen van wat voor
3:01software gebruik jij voor je agenda?
3:03Oftewel, wat voor app gebruik jij? Dus
3:06dat is eh even simpel gezegd wat
3:08software is.
3:12Nou, nu heeft fundament het over het
3:14drie laag model. En dit is iets wat nog
3:16best wel vaak terug gaat komen dit
3:17hoofdstuk. Dus die wil ik even goed
3:19uitleggen.
3:21Allereerst is dit een model zoals ik al
3:23zei. Nou, wat is nou eigenlijk precies
3:25een model? Waar komt dat woord vandaan?
3:28Nou, een model is in feite, als ik het
3:30even ingewikkeld zeg, een representatie
3:33van de werkelijkheid. vaak een
3:34versimpelde representatie van de
3:36werkelijkheid. Eh ik kan denk ik goed
3:39uitleggen aan hand van een voorbeeld
3:40hier bijvoorbeeld een model trein. Dit
3:42is een model van een echte NSIN. En als
3:46een model heel goed is, nou dan kun je
3:49dus ook echt in dit treintje kijken en
3:51die banken en dergelijke die kloppen dan
3:53precies zoals het ehm in het echt zou
3:55zijn. En daarmee representeert het de
3:58werkelijkheid. Oftewel, het doet de
3:59werkelijkheid eigenlijk na
4:02eh maar vaak op een simplere manier, in
4:04dit geval eh iets kleiner.
4:08Ehm jullie kennen ongetwijfeld ook eh
4:10die fashion modellen, die modellen die
4:12op catwalks eh lopen. Ja, dat is
4:14eigenlijk ook een representatie van de
4:16werkelijkheid, want daar eh de jongens
4:18of meiden die dat dragen, ja, die
4:21representeren de mensen in de echte
4:23wereld die kleren zouden kunnen dragen.
4:25Eh vaak zijn het dan wel knappe mensen,
4:28goed uitzien mensen, want dan vinden het
4:29ook nog leuk om er naar te kijken. Maar
4:31in feite is dat waar het woord model
4:33vandaan komt. En hier hebben we ook een
4:35model omdat wij hiermee in kaart willen
4:38brengen. Dus dit is een tekeningetje,
4:40modelletjes kunnen ook tekeningetjes
4:41zijn omdat we hiermee in kaart willen
4:43brengen hoe de meeste computersystemen
4:45eigenlijk werken.
4:47En dat kunnen wij best wel aardig vangen
4:49met deze drie lagen die je hier ziet. Eh
4:52ik ga die lagen even uitleggen en die
4:53pijltjes, daar kom ik later op terug.
4:55Allereerst kunnen we zeggen dat
4:57eigenlijk alle computersystemen bestaat
5:00bestaan ook uit hardware. We noemen dit
5:02de fysieke laag. Ehm dit kan
5:04bijvoorbeeld de eh een muis zijn of een
5:06beeldscherm, maar ook de de processor,
5:08de CPU of het RAM geheugen, dat soort
5:11dingen. Dus als jij eh iemand bent die
5:14eh werkt aan eh Ramgeheugen van
5:16computers, dan kun je op een
5:17verjaardagsfeesten zeggen: "Ja, ik werk
5:19in de fysieke lager." Zeg maar zo zou je
5:22dat kunnen zeggen. En iemand anders die
5:23dit model dan kent, die denkt van: "Oh,
5:25nou, dan weet ik precies wat jij doet."
5:28Eh helemaal bovenaan ga ik eerst even
5:30naartoe. Daar heb je de
5:31toepassingenlaag. Dit gaat over dit
5:33bestaat uit software, dus
5:34programmeercode. En dit gaat dus over
5:36het ehm ja, schrijven van applicaties,
5:39apps. Bijvoorbeeld het Magister. Stel je
5:42programmeert het magister, dan werk jij
5:44op dat moment in de toepassingenlaag.
5:46Nou, wat is dan die logische laag? Laat
5:48daar tussen Nou, als ik eh eventjes naar
5:52mijn bureaublad gaan, stel ik start mijn
5:54computer op, dan kan ik al van alles
5:57doen hier. Ik kan klikken op dingen. Ehm
6:01mijn computer is überhaupt al opgestart
6:03zonder dat ik ook nog maar één
6:04applicatie heb geopend. Dus die
6:06toepassingenlaag. Ja, stel hè je werkt
6:09dus aan de software die ervoor zorgt dat
6:11ik mijn computer kan opstarten, dat ik
6:13eh zo'n bureaublad heb. Ja, dat is geen
6:16toepassing op zichzelf. Dat is geen app.
6:18Dat is niet één van deze dingen. Nee,
6:20dat bestaat dan werk je in de logische
6:23laag. Want de logische laag is de
6:25software die ervoor zorgt dat de
6:29toepassingenlaag eh uitgevoerd kan
6:31worden. Dat de toepassingenlaag de
6:34hardware kan aansturen. Dat kan niet
6:36zomaar. Als ik een computer opstart, dan
6:38heb ik kan ik niet alleen maar het
6:40magister hebben. Nee, daar zit een
6:41besturingssysteem nog onder. Eh en de
6:45loosslaag bij gewoon normale computers
6:47enzo bestaat ook meestal vooral uit het
6:49besturingssysteem. Wat is dan een
6:51besturingssysteem? Nou eh jullie kennen
6:54er ongetwijfeld wel heel veel. Windows,
6:56Android, iOS, Chrome, OS. We gaan het
6:59later nog hebben over wat het
7:00besturingssysteem precies doet. Maar
7:01even in het kort een besturingssysteem
7:03die zorgt voor dat je eh bestanden op op
7:05je computer kunt opslaan en die zorgt
7:08voor dat ik überhaupt op een app kan
7:10klikken, zodat die app daarna wordt
7:12opgestart. Ehm die regelt alles
7:15eigenlijk alles om de toepassingen heen.
7:19Dus we hebben de fysieke laag gehad, de
7:22hardware, de toepassinglaag, de apps en
7:23de logische laag. Meestal
7:24besturingssysteem, maar dat zorgt dus
7:26voor dat de toepassingen eh ja,
7:29überhaupt de hardware kunnen aansturen.
7:31En dat is ook software.
7:33Goed, als we even naar een smartphone
7:35kijken, wat zouden dan eh voor wat
7:37zouden dan voorbeelden kunnen zijn in de
7:39fysieke laag? Nou, bijvoorbeeld de accu
7:41eh dat is dus eh iets wat je kan
7:43aanraken, de touchscreen, de camera
7:45enzovoort. Die is niet zo moeilijk. Die
7:48logische laag is dus wat ingewikkelder,
7:50maar dat eh is dus bijvoorbeeld de
7:52besturingssysteem. Dat is software
7:54waarmee eh onder andere de hardware
7:56aangestuurd kan worden.
7:59En de toepassingenlaag. Nou, wat zijn
8:00gewoon wat zijn apps op een smartphone?
8:02We kennen ze wel eh maar gister
8:04bijvoorbeeld Airport City ken ik zelf
8:05niet, maar dat zou ongetwijfeld ook een
8:07app zijn.
8:09Je kan ze dus kopen bij de Apple op de
8:11App Store of bij de met Android volgens
8:13mij op de Play Store. Of misschien is
8:15dat Chomo dat weet ik niet zeker.
8:18Oké. Nou, we hebben het gehad over die
8:21eh lagen. We moeten ook nog even kijken
8:23naar die pijltjes. Wat beteken dan die
8:25pijltjes in dit model? Nou, om dat uit
8:27te leggen ga ik eerst even uitleggen wat
8:29het woord interface betekent.
8:32Een interface is in feite je hebt
8:35verschillende soorten. Hardware
8:36interfaces, software interfaces, user
8:38interfaces. Een interface is iets dat
8:41ervoor zorgt dat twee verschillende
8:42dingen met elkaar kunnen eh ja
8:45communiceren of interactie met elkaar
8:46kunnen hebben, met elkaar kunnen praten,
8:48hoe je het maar wil zien. Eh een
8:51interface bijvoorbeeld tussen mij en
8:54mijn computer is eh de muis, het
8:57toetsenbord, dit bureaublad wat je hier
8:59ziet. Want doordat deze interface er is,
9:02dit ding dat ervoor zorgt dat ik in de
9:05computer met elkaar kunnen praten, kan
9:07ik op een app klikken. Bijvoorbeeld
9:10Google Chrome.
9:12Als dit er niet was geweest, dan had ik
9:14niet kunnen interacteren met de
9:16computer. Oftewel, had ik niet eh kunnen
9:18communiceren met de computer, want eh
9:20ja, dan had ik niks kunnen doen. Een
9:22interface zorgt ervoor dus voor dat twee
9:23verschillende dingen met elkaar kunnen
9:25communiceren.
9:26Voordat we dit hadden, zo'n bureaublad
9:28met knopjes enzo, hadden we eh eigenlijk
9:31vooral dit, de command line. Hier werkt
9:35de programmeurs dan in. En dit is ook
9:38een interface, ook een manier om met
9:39computer te praten. Ik kan hier
9:40bijvoorbeeld een commando geven en dan
9:43krijg ik hier van alles.
9:47Ehm nou, dus een interface is eh wat ik
9:50al zei eh heb ik nu al uitgelegd, maar
9:52er zijn verschillende soorten
9:53interfaces.
9:55En we beginnen even met de hardware
9:56interfaces. Nou, hardware interfaces dat
9:59zijn eh de dingen die het mogelijk maken
10:02voor twee verschillende hardware
10:04onderdelen om met elkaar te
10:05communiceren. Dus we hadden al gezien
10:07dat die hardware onderdelen, dat waren
10:09dus van die fysieke computeronderdelen
10:10die je kon aanraken. Alles wat er dus
10:13voor zorgt dat eh die twee eh signalen
10:15naar elkaar kunnen sturen zijn hardware
10:17interfaces. En meestal gebeurt dat met
10:20elektronische verbindingen.
10:22Eh een voorbeeld is de verbinding tussen
10:23de geheugen en de processor. En om even
10:26te laten zien wat dat is, ehm hier heb
10:29ik een voorbeeld van een moederboard. En
10:31eh dit gaan we later gaan we hier nog
10:33diep op in, maar dit zie je in bijna
10:34alle computers wel terug. Hier zit de
10:36processor. Dit is het eh ehm het brein
10:39van de computer. En eh die zorgt dat
10:42alles geregeld wordt en die stuurt alles
10:43aan. En hier zie je de RAM. Dit zijn nu
10:46nog gleuven, maar hier kun je wel echt
10:48ramuger instoppen. En die twee moeten
10:50heel vaak met elkaar communiceren. En eh
10:53je ziet dus ook wat verbindingjes
10:55daarussen. Zo tussen die twee. Eh dat
10:57gaat dus met elektriciteit. Nou, en die
10:59verbindingen, dat is dan dus een
11:01hardware interface tussen de processor
11:03en het RAMgeheugen.
11:08Nou, een voorbeeld van een hardware
11:10interface is een connector. En
11:12connectoren die zorgen voor bekabelde
11:14verbindingen tussen apparaten. Eh jullie
11:16kennen de ongetwijfeld eh al best wel
11:18een aantal. Ik zal eens even een plaatje
11:20ervan laten zien. Bijvoorbeeld de USB.
11:23Eh het dingetje dat je hier ziet, de
11:25plug noemen we dat, dat is een ehm
11:28connector en dat is dus dan ook een
11:31hardware interface. Ook de port waar je
11:34het instopt, dat is ook onderdeel van
11:36die interface. Nou ehm hier even een
11:41vraagje aan jullie. Hoe kan het zijn dat
11:45elke muis die je in de computer stopt
11:48dat die computer dat gewoon begrijpt?
11:50dat eh ik kan elke muis kopen van
11:52Mediamarkt. Kijk, de computer die is
11:54ooit gemaakt en ik kan gewoon een ander
11:56computeronderdeel kopen, erin stoppen en
11:59ik kan muizen. Stel nou dat ik een een
12:01muis op eh ja, op mijn zonnekkamertje
12:04had gemaakt zonder ooit maar te praten
12:06met Dell in dit geval,
12:08eh zou die computer dan zomaar begrijpen
12:11hoe mijn zelfgem gemaakte muis werkt,
12:14hoe die die moet aansturen? Nou nee, dat
12:16is natuurlijk niet zo. Wat er vaak
12:18gebeurt is dat wanneer je zo'n onderdeel
12:20aansluit, zoals een muis of een
12:21beeldscherm of toetsbord, dan zit daarin
12:24als stukje software een eigenlijk een
12:27handleiding
12:28die je meegeeft aan de computer. Die
12:31computer die leest die handleiding en
12:32weet dan vanaf dan: oké, blijkbaar moet
12:35ik op die manier eh de muis aansturen of
12:37het beeldscherm of het toetsenbord. Dus
12:40dat stukje handleiding noemen we een
12:42driver. Misschien heb je wel eens gezien
12:44eh op je computer dat een driver
12:46geïnstalleerd moest worden of iets
12:47dergelijks. Eh hier zie je ook een
12:50plaatje over eh dat een driver geüpdate
12:52moet worden. Nou, dat is dus die
12:54handleiding die vertelt hoe je die aan
12:56kan sturen. En dan wil ik nog wel even
12:59zeggen dat een driver hoeft niet altijd
13:01echt in ehm zo'n randapparatuur te
13:05zitten bijvoorbeeld hoeft niet per se in
13:06de muis te zitten. Vaak zijn die drivers
13:09ook al beschikbaar op het internet. En
13:12zo'n eh apparaat zoals bijvoorbeeld een
13:14muis die vertelt dan de computer. Dus
13:17dat zit dan wel echt in die muis. die
13:19vertelt dan de computer waar die ehm die
13:22driver op het internet kan vinden. En de
13:24computer downloadt dan vaak dat stukje
13:25software, die driver van het internet en
13:29weet dan op die manier hoe die de muis
13:30aan moet sturen. Eh want dat is ook
13:33bijvoorbeeld hoe zo'n driver geüpdate
13:35kan worden.
13:38En daarmee hebben we meteen iets nieuws
13:39geleerd over dat modelletje die we
13:41hadden bekeken, die drie lagen model. Eh
13:44want die pijltjes hier die stellen dus
13:47een interface voor tussen twee lagen. En
13:50die drivers die wij net hebben gezien,
13:52dat was dus een eh interface tussen de
13:55fysieke laag, bijvoorbeeld de muis of
13:58het beeldscherm en tussen het
14:00besturingssysteem. En dat valt onder de
14:03logische laag.
14:04Eh dus wij kunnen hier driver
14:08neerzetten. En dat die die communicatie
14:11kan dus wel van zowel van zo als naar zo
14:14ehm
14:16als eh een interface tussen die twee
14:18lagen.
14:21Nou, nu hebben we hardware interfaces
14:22gehad. Dat laten we zien hoe dat zijn
14:24dus een verbinding tussen twee hardware
14:27onderdelen. We hebben ook ehm een
14:29gebruikersinterface gezien. Dat is
14:32bijvoorbeeld dit. En dat zorgt ervoor
14:33dat ik als gebruiker kan communiceren
14:35met de computer. Als ik bijvoorbeeld op
14:37een knopje druk, dan gebeurt er hier
14:39iets. Ehm en dan zou je het kunnen zien
14:43als dat al die knopjes bij elkaar en
14:45alles wat je ziet, dat maakt samen de
14:47interface, want dat geeft mij een soort
14:49menukaart van dingen die je kan doen.
14:51Nou, nu is het zo dat je hebt ook
14:53software interfaces en dat zorgt ervoor
14:56dat twee verschillende software
14:58onderdelen met elkaar kunnen
14:59communiceren. oftewel twee verschillende
15:01apps met elkaar kunnen praten. Ehm ik ga
15:04uitleggen wat het is. Allereerst eh wil
15:06ik even bedoelen dat hij ook API's
15:08worden genoemd. En API staat voor
15:11application programming interface. Dus
15:13je werkt aan een applicatie, je bent aan
15:14het programmeren en je hebt behoeft aan
15:16een interface. Nou dan spreekt het woord
15:18eigenlijk al van zich en dat noemen we
15:19dus afkort een API.
15:22Ik ga jullie nu uitleggen wat een API
15:24is. Eh ik ga er best wel veel bij halen
15:27om dat jullie duidelijk te maken. Eh ook
15:29een voorbeeldje echt met
15:30programmeercode. Dat hoeven jullie niet
15:32allemaal precies te onthouden of na te
15:34kunnen doen. Eh alles wat ik nu ga
15:36vertellen is om jullie eh duidelijk te
15:39maken wat een API is. Dus zolang je weet
15:41wat een API is, is het allemaal oké.
15:44Ik ga jullie eerst vertellen hoe apps
15:47eigenlijk met elkaar communiceren en
15:48wanneer dat handig is. En dan ga ik
15:50uitleggen hoe een API werkt. Ehm en dat
15:54ga ik nu doen.
15:57Ehm nou allereerst het zou bijvoorbeeld
15:59kunnen hè. Stel we hebben onze eigen
16:01applicatie. Die zijn we nu aan het
16:02schrijven. We hebben hier al allemaal
16:04code gedaan. We hebben allemaal mooie
16:05dingen gemaakt. En op een gegeven moment
16:07willen we ook dat onze applicatie het
16:09weerbericht kan laten zien. Het huidige
16:11weerbericht van Delft. Nou eh we kunnen
16:14nu deze applicatie helemaal uitbreiden
16:16en heel veel dingen toevoegen, zodat wij
16:18zelf het weer kunnen bijhouden. Maar
16:20waarschijnlijk bestaat dat al. Het
16:22bestaat echt al wel ergens op het
16:23internet zo'n weer applicatie. Nou, wat
16:25we dan kunnen doen is in plaats van
16:27hetzelfde schrijven sturen we gewoon een
16:29berichtje naar die weerplicatie.
16:32En vaak moeten we daar geld voor betalen
16:34om dat te mogen doen. En die
16:35weerplicatie die bekijkt dat dan en die
16:38eh stuurt ons dan een berichtje terug.
16:42eh met de huidige weergegevens. En met
16:44die gegevens kunnen wij dan weer verder
16:45aan de slag. Dan kunnen wij bepalen dat
16:47we het willen laten zien bijvoorbeeld.
16:49Dit is in grote lijnen hoe het werkt eh
16:51om te communiceren tussen twee apps. En
16:53ik ga gewoon even laten zien eh een
16:55praktisch voorbeeld ga ik jullie laten
16:57zien. Eh ik heb zelf namelijk eh dit
17:00echt nu net geprobeerd met het weer
17:02bericht. Dit haal ik even weg. Stel we
17:05hebben onze eigen code eh programma.
17:07Hier staat eh hier komt het weerbericht.
17:10Dan willen we die hier plaatsen. Ja, dan
17:11moeten we dus nog even een applicatie
17:13vinden op het internet. Wat we kunnen
17:15doen is we kunnen gewoon googlen eh
17:17weather API of zoiets en laten we gewoon
17:20de bovenste kiezen. Die heb ik net ook
17:22gekozen. Dit is dus blijkbaar een
17:24applicatie die ons allemaal gegevens wil
17:27sturen als we daarom vragen. Als we even
17:30naar beneden scrollen, dan zien we hier
17:32ook een soort menukaart ehm
17:35met alle soorten gegevens die we kunnen
17:36opvragen. bijvoorbeeld de huidige
17:39weerdata eh de uur uurlijke weerdata van
17:42de komende vier dagen of van de komende
17:4416 dagen, de dagelijkse enzovoort. Nou,
17:47dit lijkt een klein beetje op die
17:50knopjes die we hier zagen in de zin van
17:53het is een menukaart, we hebben keuzes.
17:56Oké. Nou, ik wil eh dat mijn applicatie
17:58kan praten met deze applicatie. Dus ik
18:00ga even kijken hoe dat moet. De API doc,
18:02oftewel de documentation. Daar staat
18:05altijd uitgelegd hoe dit werkt. Nou, dit
18:07is altijd best wel ingewikkeld. Ehm maar
18:11eh ik hou het even simpel. Hier staat
18:14how to make een API call. Oftewels,
18:16leggen ons uit welke programmeercode
18:18moeten wij in ons eigen programma zetten
18:20om eh ja, die data op te kunnen vragen.
18:23En dat is dus deze. Nou, je moet ook nog
18:26een paar dingen vervangen. Heb ik
18:28allemaal al geregeld. Dus we gaan gewoon
18:30hier naartoe. Ik plak het erin.
18:32Uiteindelijk komt het hierop neer. Ik
18:34heb een paar dingen bij toegevoegd, maar
18:35dat maakt niet zoveel uit.
18:37Eh als wij deze code ehm
18:40in onze applicatie zetten dan en we gaan
18:43hem uitvoeren, dan gaat onze computer
18:45een berichtje sturen naar die website,
18:47naar die app. Die stuurt ons dan een
18:49berichtje terug met de weergegevens van
18:50dit moment. Ik ga hem gewoon runnen. En
18:53zoals je ziet hier, dit krijgen wij
18:55terug. Dit komt uit die website. Nou,
18:57dit is natuurlijk heel moeilijk om te
18:58lezen voor mensen, maar computers kunnen
19:00dit mak best wel makkelijk lezen. Eh je
19:03ziet hier wel wat dingen terug. Je ziet
19:04bijvoorbeeld hier clouds, dus
19:06waarschijnlijk is het bewolkt. Hier zie
19:08je iets van broken clouds, dus het is
19:10waarschijnlijk bewolkt, maar dan nog wel
19:12met wat gaten ertussen enzovoort. Nou,
19:15dat is dus hoe wij hebben gecommuniceerd
19:17met die andere app.
19:20Wat is dan nou precies die API? Nou,
19:22zoals je ziet, mensen die communiceren
19:26met de computer door op zo'n ding te
19:28klikken, op een knop. Maar applicaties
19:31die communiceren met een andere
19:33applicatie door een stukje code eh te
19:36gebruiken en dan dus op die manier over
19:39het internet een berichtje te sturen.
19:41Dit zou je dus een beetje kunnen zien
19:43als dat knopje van ons. Maar dan is het
19:45voor een applicatie een stukje code. Dat
19:47noemen we een API. We hebben heel veel
19:49keus. Ik zei al, we hebben een soort
19:50menu. Dus we hebben hier nog een keus
19:52voor de komende vier dagen. Dat is weer
19:54een ander stukje code. Die ziet er net
19:56iets anders uit.
19:57En dan hebben we ook weer deze en al die
20:00dingen bij elkaar. Dat noemen we de
20:02interface, want op die manier kunnen we
20:04dus communiceren. Eh dit en dus de
20:07software achter de schermen voor ehm die
20:10applicatie hier die dit allemaal
20:12mogelijk maakt. Dat noemen we de
20:14application programming interface.
20:18Nou, nu heb ik een voorbeeld gegeven van
20:21iets wat heet een web interface. Oh
20:23sorry, web API hier. Eh en dat heet zo
20:27omdat het over het internet ging. Het
20:29ging helemaal naar een website ergens.
20:31Eh dan noemen we het een web eh API. Nu
20:34is het zo dat niet alle eh berichten
20:37naar andere applicaties over het
20:38internet hoeven te gaan. Stel namelijk
20:41dat je een applicatie schrijft voor een
20:43Android telefoon en je wilt gebruik
20:46maken van de camera. Nou, de camera's
20:49worden altijd geregeld door het
20:50besturingssysteem. Dus je wilt praten
20:53met het besturingssysteem om dat te
20:55regelen met die camera. Eh dat betekent
20:58dus dat je gebruik moet maken van de API
21:01van dat besturingssysteem. Bijvoorbeeld
21:03Android die eh biedt een API aan
21:06waardoor je als appontwikkelaar eh ja
21:09verzoeken kan doen aan het
21:10besturingssysteem. Dus dan doe je nog
21:11steeds van jouw vanuit jouw applicatie
21:13naar een andere applicatie, namelijk het
21:15besturingssysteem. En op die manier kun
21:17je dan daarmee communiceren. En eh die
21:21een goed voorbeeld daarvan is dus als je
21:22gebruik wil maken van de camera. Want je
21:24kan niet zomaar als appontwikkelaar even
21:27regelen dat als een gebruiker de app
21:29opent dat je dan meteen de camera
21:31aanzet, want dan zou je mensen stiekem
21:33kunnen bespeden. Nee, hoe dat gaat is je
21:36besturingssysteem die regelt dat altijd.
21:38Dus je doet een verzoek eh aan het
21:40besturingssysteem, dus via die API. En
21:44dan eh wat Android vaak doet is die laat
21:47dan een pop-up zien aan de gebruiker en
21:49die zegt van: "Wil je de app toestemming
21:51geven om de camera aan te zetten?" Dan
21:52zegt hij dan zegt hij ja en dan regelt
21:55Android de rest. En er zijn ook nog wat
21:57andere redenen waarom je eh sommige
21:59dingen via de eh API van
22:01bestuuringssysteem moet doen, maar daar
22:03gaat fundament zelf dieper op in.
22:05En daarmee kunnen we direct ons
22:06modelletje aanvullen. Want ehm wat wij
22:10hier zagen was dus dat zo'n API
22:13communiceert tussen de loogste laag, in
22:16ons geval tussen het besturingssysteem
22:18en de toepassinglaag met al die apps.
22:20Dus bijvoorbeeld als zo'n app zo'n
22:21camera wil aansturen, dan communiceert
22:23hij eh eh met de besturingssysteem. Dus
22:27hieronder kunnen we zetten of hiertussen
22:30en ik gebruik even als voorbeeld de
22:31Android API, maar dit kan ook een andere
22:34API zijn. bijvoorbeeld eh de als je iOS
22:36gebruikt kan het een iOS API zijn of
22:39iets dergelijks.
22:41Ehm en dan wil ik ook nog eventjes
22:43zeggen dat eh we hebben nu in dit model
22:45heel mooi met die pijlen zien we
22:47interfaces tussen twee lagen, maar er
22:49bestaan natuurlijk ook interfaces gewoon
22:51die binnen laag vallen. Alleen die komen
22:52in dit model niet zo mooi naar voren.
22:55Maar wat we bijvoorbeeld hadden gezien
22:56met die hardwars inter sorry die
22:58hardware interfaces ehm ja dat waren dus
23:01interfaces tussen twee hardware
23:02onderdelen en dat val allemaal dus
23:04binnen één laag en dat kan dus ook.
23:08En de user interface daar hebben we het
23:10al even over gehad. Dat is een interface
23:12tussen de gebruiker en de computer. Ik
23:14zal ze even laten zien. Eh we hadden
23:16bijvoorbeeld die command line interface.
23:18Dat was dat ene met dat tekst wat ik
23:19liet zien. We hebben iets later in de
23:22tijd kwam ook de graphical user
23:24interface. Dat is de de GOI noemen we
23:26het ook wel. Eh en hier heb je dus
23:28knopjes en een mooi beeld enzo. Daarom
23:30heet het ook grafisch. En tegenwoordig
23:32wat helemaal opkomt met AI en dergelijke
23:34is de eh voice user interface. En dan
23:37kun je je stem gebruiken om te
23:39communiceren met computer.
23:43Hier nog twee voorbeelden eh waarmee we
23:45eh waarin we het lage model terugzien.
23:48We beginnen even met het bespreken van
23:50een computer netwerk. En een
23:51computernetwerk is eigenlijk hoe het
23:53internet werkt. Je hebt allemaal
23:54verschillende computers die zijn
23:56verbonden met kabels enzo. Op verre
23:58afstand zelfs eh kabels diep onder de
24:01zee. En die sturen signalen naar elkaar
24:03van de ene computer naar de andere
24:05computer. En ja, dat is hoe ze dan
24:07communiceren. Dat noemen we een netwerk.
24:09Het grootste netwerk is natuurlijk het
24:10internet.
24:12Als we kijken naar de fysieke laag. Nou,
24:14dat is dus alle eh hardware die die eh
24:17dat internet of dat netwerk mogelijk
24:18maakt. Dus dat zijn bijvoorbeeld kabels,
24:20de routers, de de switches, al die
24:23dingen.
24:25Als we kijken naar de logische laag dan
24:27nou sowieso die eh software op de
24:29apparaten die zijn of wacht, laat ik
24:31eerst even die eh toepassingenlaag
24:32pakken. Die toepassingenlaag van dat
24:34netwerk zijn dus die ja in het in in het
24:37voorbeeld van fundament noemen ze even
24:39de websites en de applicaties. Dat zijn
24:41dus de de dingen waar je het eigenlijk
24:43uiteindelijk voor doet die je gebruikt.
24:45Maar om die websites en applicaties
24:47mogelijk te maken eh heb je dus ook nog
24:49software nodig die dat die ja die
24:51daarbij helpt. Het gaat dus om die
24:53software op die apparaten zelf eh zoals
24:56de bijvoorbeeld het besturingssysteem,
24:57maar ook bijvoorbeeld
24:58internetprotocollen.
25:00Een voorbeeld van een internet
25:01netwerkprotocol is een stukje software
25:04die bepaalt hoe een berichtje van de ene
25:08computer verzonden wordt naar de andere
25:10computer. Want ik kan wel allemaal
25:12informatie uit mijn computer sturen,
25:14maar als een andere computer niet weet
25:15hoe die informatie aan gaat komen, kan
25:17die daar ook niks mee. En deze
25:18netwerkprotocollen, ja, die zorgen
25:20ervoor dat alles op precies dezelfde
25:22manier als het ware wordt ingepakt, al
25:24die informatie. En dan weet een
25:26ontvangende computer precies wat hij ehm
25:29ja eh hoe die het moet ontvangen. Dus
25:31dat is ook iets wat nodig is om dit
25:33allemaal mogelijk te maken, die
25:35applicaties. Dus dat is ook een logische
25:37laag, want je kan hier aan werken. Het
25:40is software, je kan hier echt aan
25:41werken, maar dan werk je alsnog niet aan
25:43de website ofzo. Dan werk je aan iets
25:44anders, maar draagt wel bij.
25:48Dan hebben we ook nog website en web
25:49applicaties. Ehm ja, dit hou ik even
25:53kort anders wordt het wel heel veel.
25:54Maar op het internet heb je twee rollen.
25:57Twee verschillende computers hebben
25:59verschillende rollen. Je kan een client
26:01zijn en dan vraag je om informatie of
26:04hulp of geef je een opdracht aan een
26:06ander computer en je kan een server
26:08zijn. En dan ontvang je verzoeken om
26:11iets te doen of om informatie te geven
26:13of wat dan ook. Eh hele normale
26:15computers kunnen een service zijn. Ehm
26:17ook kunnen ook hele grote computers
26:18zijn,
26:20maar het is meer een rol.
26:22Nou en als we nou even kijken naar eh
26:24drie lagen model als je die willen
26:26toepassen op de rol van de client, nou
26:28dan beginnen we natuurlijk bij de
26:29fysieke lager weer met apparaat van de
26:31gebruiken. Gewoon die
26:32computeronderdelen. Die hebben we die
26:33hebben we nodig. Dat is de hardware. Eh
26:35ik ga heel even direct naar de
26:36toepassinglaag. Als we kijken echt naar
26:38websites en web applicaties, dan gaat
26:40het uiteindelijk om de website of web
26:41applicatie. Dat is de toepassing, de app
26:43zeg maar als het ware of de web app.
26:46Nou, de loag, wat maakt het dan mogelijk
26:49om die website te laten zien? Nou,
26:50allereerst de besturingssysteem, maar
26:53ook de webbrowser. Eh je kan dus als een
26:55software engineer aan een webbrowser
26:57werken. Dan werk je aan software, maar
26:59dan werk je aan iets anders dan waar het
27:01daadwerkelijk om gaat, namelijk de
27:02websites of de web applicaties. En
27:04daarom scharen we het onder de logische
27:06laag.
27:07Nou, nu is de webbrowser natuurlijk zelf
27:09op zichzelf ook een applicatie en je zou
27:11hem ook in een toepassingenlaag kunnen
27:13zetten, maar dat kan dan alleen als wij
27:15ook eh de drieelag model toepassen
27:18vanuit het perspectief dat we de web
27:20browser in als app zien eh op zichzelf
27:23waar het uiteindelijk om gaat. Maar nu
27:25hebben we het even over websites en web
27:26applicaties. En dan is dit een stuk
27:28stukje software die dus wordt eh die dus
27:31ondersteunt eh om de web applicaties eh
27:34website te kunnen laten zien. Als we
27:36kijken naar het perspectief van de
27:37server, dus diegene die de opdrachten
27:40krijgt, nou dan zijn het ook weer
27:42computers die al server dienen voor de
27:44eh fysieke laag. En voor de logische
27:46laag zien we nu ineens heel veel dingen.
27:48We zien het besturingssysteem, maar ook
27:50data management eh database management
27:52systeem. Dit is ook software die je
27:54gebruikt om een applicatie mogelijk te
27:57kunnen maken. En bijvoorbeeld software
27:59die aanvragen afrond en daarvoor
28:00programmacode uitvoert. Ehm enzovoort.
28:04Heel even voor de duidelijkheid
28:05trouwens, een database management
28:06systeem zorgt ervoor is software dat
28:08ervoor zorgt dat heel veel data
28:09opgeslagen kan worden en ook weer
28:11opgevraagd kan worden. Maar ehm hier
28:13gaan jullie allemaal later nog eh mee
28:15aan de slag eh met client, server,
28:17internet. Het is puur even om eh een
28:20demonstratie te geven van hoe kunnen we
28:23het drielag model toepassen op
28:25verschillende dingen. En ook hier is
28:27weer die toepassing, de website en web
28:29applicatie.
28:32En dat was deze presentatie van deze
28:35paragrafen.