1 1) Doing it in Layers - Part I - The beginners' guide to the OSI Model a) Wat is een layer? 3 b) Wat betekent OSI? 3 c) Waarom is het een model? 3 D...
Universiteit van Amsterdam. Tentamen Webtechnologie 23 december 2004. Het reguliere tentamen bevat vraag 1 t/m 3, tentamencijfer=(totaal punten)/10. Het hertentamen is 1t/m4. tentamencijfer=(totaal punten)/14. Eindcijfer is (2*tentamencijfer+practicumcijfer)/3. Schrijf netjes. Beantwoord uw vragen compact en mét motivatie. Vermeldt uw studentnummer op elke bladzijde van uw antwoord.
1) Doing it in Layers - Part I - The beginners' guide to the OSI Model a) Wat is een “layer”?
3
b) Wat betekent OSI?
3
c) Waarom is het een model?
3
De tekst (hierboven en beneden) kwam van de volgende URL: http://www.cramsession.com/articles/files/doing-it-in-layers---part-91620031302.asp?show_qod=yes&
d) Wat is een “URL”?
3
e) Welk protocol wordt er in de URL aangeduid?
3
WWW, FTP, Telnet, SMTP, JPEG, PICT, TIFF, MPEC, ASCII, AppleTalk, NetBEUI, X.25, cabling, topology, error detection, NICs, all those cables, routers and hubs – Holy Toledo there’s a lot to learn in all this internetworking!
f) Wat is “internetworking”?
4
There’s got to be an easier way. Well, if you’ve gotten this far, you may already have heard that an easier to outline these concepts was developed before some younger techs even were born. These are the layered reference models that make it easier to learn internetworking and plan and place internetworking hardware. There several benefits to having and using an accepted layered reference model: 1. Complex network concepts are divided into more manageable, more easily understood layers. 2. One part of the model can be changed without changing all the other parts of the model. 3. Defines a universally accepted standard interface for multivendor integration.
g) Leg elk punt van bovenstaande lijst uit?
3
…
The OSI Model layers When a tech refers to “Layer 2” Networking or “Layer 4 devises,” s/he almost always – without saying so – is referring to the Open Systems Interconnect (OSI) Model. The OSI Model was developed in the later 1970s by the International Organization for Standardization (and that’s ISO – don’t ask – so it’s the OSI Model developed by
Bladzijde 1 van 9
Universiteit van Amsterdam. Tentamen Webtechnologie 23 december 2004. Het reguliere tentamen bevat vraag 1 t/m 3, tentamencijfer=(totaal punten)/10. Het hertentamen is 1t/m4. tentamencijfer=(totaal punten)/14. Eindcijfer is (2*tentamencijfer+practicumcijfer)/3. Schrijf netjes. Beantwoord uw vragen compact en mét motivatie. Vermeldt uw studentnummer op elke bladzijde van uw antwoord. ISO) to deal with a vendor issue that threatened the growth of the IT industry. When networks first were created, computers talked only with computers with which it shared a manufacturer. For instance, DECnet didn’t talk to IBM and vice versa. For more information on the OSI International Organization for Standardization, click here.
h) Hoezo bestond dan dat “vendor issue” waarin elk IT bedrijf haar eigen protocollen ontwikkelde? 6 st
So here we are in the 21 Century, and the OSI Model is still doing it’s job: dividing the huge task of internetworking, into a 7-layer vertical stack that looks like this: APPLICATION PRESENTATION SESSION TRANSPORT NETWORK DATA LINK PHYSICAL …
How the layers communicate Always read these layers from bottom to top. For instance, the Physical Layer is Layer 1, Data Link Layer is Layer 2 on up to the Application layer, which is Layer 7. However, Application, Presentation and Session are called the “upper” layers while Transport, Network, Data Link and Physical are called the lower layers.
i) Waarom wordt het verschil in “upper” en “lower layers” gemaakt? 6 One thing you should get from that is data flows both ways. When data is leaving a host, it goes from the Application layer down. When data enters a host …
j) Wat gebeurt er “When data enters a host”?
Bladzijde 2 van 9
6
Universiteit van Amsterdam. Tentamen Webtechnologie 23 december 2004. Het reguliere tentamen bevat vraag 1 t/m 3, tentamencijfer=(totaal punten)/10. Het hertentamen is 1t/m4. tentamencijfer=(totaal punten)/14. Eindcijfer is (2*tentamencijfer+practicumcijfer)/3. Schrijf netjes. Beantwoord uw vragen compact en mét motivatie. Vermeldt uw studentnummer op elke bladzijde van uw antwoord.
2) Webservices en SOAP De tekst komt van http://www.webservicescenter.com/frame_Overview_WS.htm SOAP
SOAP is an XML/HTTP-based protocol for accessing services, objects and servers in a platformindependent manner. SOAP codifies the existing practice of using XML and HTTP as a method invocation mechanism (= mechanisme voor de aanroep van een service).
a) Wat is een “XML/HTTP based protocol”?
4
Basically SOAP is a simple XML-based protocol that is designed to exchange structured and typed information on the Web. The purpose of SOAP is to enable rich and automated Web services based on a shared and open Web infrastructure.
b) Bedenk een voorbeeld van“rich and automated Webservices” 4 I will have a deeper article on SOAP on this web-site soon. Meanwhile you can accept the above explanation of SOAP - as you will not be directly interfacing with it initially. Or look at the suggested links below for further info. WSDL
WSDL is a service description language i.e. it describes the Web Service being offered in greater detail. This is where using Example 1, we will know that the Web Service feature will understand a purchase order. For programmers, WSDL is similar to IDL in COM and CORBA.
Bladzijde 3 van 9
Universiteit van Amsterdam. Tentamen Webtechnologie 23 december 2004. Het reguliere tentamen bevat vraag 1 t/m 3, tentamencijfer=(totaal punten)/10. Het hertentamen is 1t/m4. tentamencijfer=(totaal punten)/14. Eindcijfer is (2*tentamencijfer+practicumcijfer)/3. Schrijf netjes. Beantwoord uw vragen compact en mét motivatie. Vermeldt uw studentnummer op elke bladzijde van uw antwoord.
c) Waarom moet een Webservice beschreven worden? 4 d) Wat wordt er dan beschreven?
4
The Different Pathways of Web Services?
There are two approaches to Web Services; using Microsoft’s .NET Framework or Java Web Services. The long-term promise of Web Services is to make platform dependence irrelevant.
Bladzijde 4 van 9
Universiteit van Amsterdam. Tentamen Webtechnologie 23 december 2004. Het reguliere tentamen bevat vraag 1 t/m 3, tentamencijfer=(totaal punten)/10. Het hertentamen is 1t/m4. tentamencijfer=(totaal punten)/14. Eindcijfer is (2*tentamencijfer+practicumcijfer)/3. Schrijf netjes. Beantwoord uw vragen compact en mét motivatie. Vermeldt uw studentnummer op elke bladzijde van uw antwoord.
e) Waarom zijn er twee kolommen in het figuur hierboven? 4 f) Waarom staan Java en Microsoft .Net Web services op de bovenste rij? 4 g) Wat is “platform independence?”
4
h) Waarvoor is “platform dependence” een obstakel?
4
i) Wie heeft er belang bij “platform dependence”?
4
j) Waarom werken leveranciers nu wel aan Webservicestandaarden? 4
3) Atom Tijdens het practicum hebben we gebruik gemaakt van RSS door middel van de RSS parser Magpie. Naast RSS zijn er echter nog enkele andere syndicatie formaten bedacht (om het makkelijk te houden). Een van deze formaten is ATOM. Ook ATOM is gebaseerd op XML en lijkt ook heel erg op RSS.
a) Wat is XML?
2
Om ATOM feeds uit te lezen gebruik ik een RSS/ATOM lezer genaamd SimplePie. Deze lezer maakt gebruik van functies om bepaald bericht uit de feed te lezen (dit gaat op basis van de index, beginnend bij 0). SimplePie plaatst dus niet zoals Magpie alle items in een array. Het bijbehorende stukje code staat hieronder. . require_once ("simplepie.inc"); $feed = simplepie("atom.xml"); $titel = get_feed_title($feed); $desc = get_feed_description($feed); $aantal_posts = get_item_quantity($feed); for ($i = 1; $i < $aantal_posts; $i++) { echo "
Universiteit van Amsterdam. Tentamen Webtechnologie 23 december 2004. Het reguliere tentamen bevat vraag 1 t/m 3, tentamencijfer=(totaal punten)/10. Het hertentamen is 1t/m4. tentamencijfer=(totaal punten)/14. Eindcijfer is (2*tentamencijfer+practicumcijfer)/3. Schrijf netjes. Beantwoord uw vragen compact en mét motivatie. Vermeldt uw studentnummer op elke bladzijde van uw antwoord.
b) De code bevat twee fouten. Welke?
4
c) De code genereert output. Waarmee kan je dat bekijken (als het foutloos zou zijn)? 2 a) Wordt deze code op een client of server geïnstalleerd? 4
Bladzijde 6 van 9
Universiteit van Amsterdam. Tentamen Webtechnologie 23 december 2004. Het reguliere tentamen bevat vraag 1 t/m 3, tentamencijfer=(totaal punten)/10. Het hertentamen is 1t/m4. tentamencijfer=(totaal punten)/14. Eindcijfer is (2*tentamencijfer+practicumcijfer)/3. Schrijf netjes. Beantwoord uw vragen compact en mét motivatie. Vermeldt uw studentnummer op elke bladzijde van uw antwoord.
Het onderstaande fragment is een simpel ATOM bestand met een entry. Voorbeeld ATOM Feed <modified>2004-12-21T22:14:34Z tag:www.uva.nl,2004://1UvA Feeder This information is not copyrighted in any way. <entry> Blackboard is bruikbaar <modified>2004-12-21T22:14:34Z 2004-12-21T14:14:34Ztag:www.uva.nl,2004://1.166162004-12-21T22:14:34Z <summary type="text/plain"> Het hoe en waarom blackboard nu op eens wel functioneel schijnt te zijn. Jeroen Bultershttp://student.science.uva.nl/~jbulters <email>[email protected] Eigenlijk is het een utopie, blackboard is beperkt functioneel.
d) Voorspel wat de uitvoer zou zijn van het eerder gegeven codefragment met deze ATOM file als invoer (atom.xml bevat dus het bovenstaande fragment)? 8
Bladzijde 7 van 9
Universiteit van Amsterdam. Tentamen Webtechnologie 23 december 2004. Het reguliere tentamen bevat vraag 1 t/m 3, tentamencijfer=(totaal punten)/10. Het hertentamen is 1t/m4. tentamencijfer=(totaal punten)/14. Eindcijfer is (2*tentamencijfer+practicumcijfer)/3. Schrijf netjes. Beantwoord uw vragen compact en mét motivatie. Vermeldt uw studentnummer op elke bladzijde van uw antwoord.
4) Session Initiation Protocol (Alleen voor inhaal/hertentamen)
Het hier bovenstaande figuur laat de output zien van een zogenaamde sniffer. Dat is een apparaat dat het netwerkverkeer afluistert. In dit geval bestaat de sniffer uit een PC en het programma Ethereal. Ethereal filtert de gegevens naar wens van de gebruiker. In de aller bovenste regel, in het window met de balk, is leesbaar >Internet Protocol, src addr: etc >User Datagram Protocol, src port : etc vSession Initiation Protocol
a) Tot welke OSI lagen behoren het Internet Protocol, User Datagram Protocol en het Session Initiation Protocol ? 3 b) Voor “Internet Protocol” en “User Datagram Protocol” staat een pijlpunt die naar rechts wijst. Voor “Session Initation Protocol” staat een pijlpunt Bladzijde 8 van 9
Universiteit van Amsterdam. Tentamen Webtechnologie 23 december 2004. Het reguliere tentamen bevat vraag 1 t/m 3, tentamencijfer=(totaal punten)/10. Het hertentamen is 1t/m4. tentamencijfer=(totaal punten)/14. Eindcijfer is (2*tentamencijfer+practicumcijfer)/3. Schrijf netjes. Beantwoord uw vragen compact en mét motivatie. Vermeldt uw studentnummer op elke bladzijde van uw antwoord.
die naar beneden wijst. Wat geven deze pijlpunten aan? 2 c) Wat wordt er in de telematica met een Sessie (“Session”) bedoeld? 3 d) Welke hoofdonderdelen van het Session Initiation Protocol worden getoond? 4 e) Wat zou een “message body” kunnen zijn?
4
f) Wat wordt er bedoeld met “IN” en “IP4” en “139.63.89.150” in het protocolonderdeel “Connection information (c): IN IP4 139.63.89.150”? 4 g) Wat wordt er bedoeld met “Active Time”?
4
h) Wat wordt er bedoeld met “Media Description”?
4
i) Er komt in elk geval twee maal “Media Description” voor. Waarom zou dat zijn? 4 j) “Waar is het Session Initiation Protocol voor”?