Tentamen Webtechnologie 19-augustus-2003, 9.30-12.30 zaal P.016. Pagina 1 van 6
Lees de vragen goed door, beantwoord daarna pas de subvragen in één à twee zinnen. Schijf netjes! Achter de vragen staat de waardering. In totaal zijn er 100 punten te verdienen. Het etentamencijfer is het aantal punten / 10.
1. SPDE, een ontwikkelomgeving voor diensten. Hieronder ziet u, ingekaderd, een aantal fragmenten uit een productbeschrijving uitgebracht in juni 2002 door IBM. Het document gaat over een nieuwe IBM ontwikkeling, SPDE, oftewel de Service Provider Delivery Environment. U zult lezen dat SPDE bedoeld is voor netwerk operators als Vodafone en KPN met vaste en/of mobiele netwerken alsmede voor xSP’s. xSP’s zijn bedrijven, Service Providers (SP’s), die diensten via netwerken aanbieden. Voorbeelden hiervan zijn: Internet Service Providers, SMS Service Providers, Payment Service Providers. Men spreekt over een “framework”, een aantal soft- en hardware componenten waarmee het ontwikkelen van diensten gemakkelijker wordt. SPDE is dus bedoeld om SP’s te helpen bij het ontwikkelen van hun elektronische telefonie en/of internet diensten. De componenten van SPDE kunnen SP’s via het internet in samenhang of apart koppelen aan hun eigen systemen. SPDE moet dan wel door een bedrijf als Vodafone of KPN worden aangeschaft. IBM SPDE is an open standards based framework for the rapid delivery of new services for Network Operators and xSPs.
IBM is in a unique position to leverage its industry leadership and expertise, global reach and extensive offerings and relationships with industry leaders to help service providers (xSPs) in this embryonic market find ways to bring new revenue-generating services to market faster and more cost-effectively. To answer these needs, IBM developed SPDE, an open standards-based framework designed to give mobile and fixed network operators and xSPs the flexibility to introduce new voice, text and fully integrated Internet services to their customers faster, easier and at a lower cost.
a. Wat is de relatie tussen SPDE en het vak webtechnologie? (4) b. Waarom noemt IBM de markt waarin telefonie- en internetdiensten ontwikkelt worden embryonaal, “embryonic”, oftewel pril?(3) c. Voor welk netwerk heeft IBM een bedrijf als Vodafone en KPN nodig? (2) The IBM SPDE architecture incorporates key telecommunications and Internet standards such as Parlay, OSA, UDDI, WSDL and SOAP. IBM SPDE lets organizations play in any one or all of its domains.
SPDE provides this comprehensive environment for next-generation service delivery through multiple transport environments that do not require significant modification to existing infrastructure. SPDE is based on open telecom and IT standards, including telecom standards such as Parlay and Open Service Architecture (OSA) (om telefoongesprekken op te zetten, te verbreken, door te verbinden), as well as key Internet standards, important for Web services such as Universal Description, Discovery and Integration (UDDI), Web Services Description Language (WSDL) and Simple Object Access Protocol (SOAP).
d. Waarom adverteert IBM het feit dat er geen significante modificaties in de (telefonie)infrastructuur nodig zijn? (3) e. Waarom noemt IBM de webservices standaarden in één adem met die voor telefonie? (2) Hieronder ziet u een architectuur van SPDE.
Tentamen Webtechnologie 19-augustus-2003, 9.30-12.30 zaal P.016. Pagina 2 van 6
Schijnbaar kan je met SPDE diensten maken voor mobiele telefoons, laptops, PDA’s en computers met een vaste (breedband) aansluiting. f. Wat wordt bedoelt met multiple devices, multiple channels, multiple sources? (3) De vaste telefoon ontbreekt, maar dat heeft uitsluitend grafische redenen, een dergelijke telefoon paste niet meer erbij. g. Waarom zijn klanten met een vaste telefoon toch een interessante doelgroep? (4) In SPDE wordt “network delivery”, oftewel het telecommunicatie- en internetdeel in eerste instantie onderverdeeld in twee delen. h. Welke? (2) Bij “multiple sources” staat dienstontwikkeling en dienstproductie (of te wel het uitbaten van een dienst) genoemd ten behoeve van eindgebruikers, de users. Een bouwblok voor lokalisatie is volgens de tekening aanwezig. i. Noem twee informatiebronnen of twee methoden waarmee SPDE de positieinformatie van een gebruiker zou kunnen weten? (4) j. Wat voor een nut zou een bouwblok voor “financial services” kunnen hebben? (3) In het college hebben we multi tier client service model behandeld. Bijvoorbeeld een pc met webbrouwser die via een webserver een telefoonnummer in een bestand zoekt is een “three-tier” client server model k. Leg uit waarom dit een “five-tier” client server model kan zijn? (4)
Tentamen Webtechnologie 19-augustus-2003, 9.30-12.30 zaal P.016. Pagina 3 van 6 De “service brokerage” (dienstmakelaar) module heeft als taak om er voor te zorgen dat het goede dienstbouwblok of en dienst wordt aangesproken. Het kan natuurlijk niet zo zijn dat iedereen alles mag, of dat elke dienst (b.v. videostreaming) zo maar over elk netwerk kan. De broker regelt dergelijke kwesties door gebruikmaking van een aantal bouwblokken. l. Welke? (3) U ziet hier Internet standaarden in één adem genoemd met telecommunicatie standaarden. SPDE kan schijnbaar Internet diensten combineren met telecommunicatiediensten. m. Beschrijf twee diensten waarin webtechnologie en telefonie gecombineerd worden? (2) Ook kan met SPDE webservices worden gemaakt. Stel U werkt voor een Mobiele Operator zoals Vodafone of KPN Mobile. Uw computersystemen hebben informatie waar een mobiele telefoon zich bevindt. U besluit daarvan een dienstbouwblok te maken die SP’s via Internet kunnen integreren in hun applicaties. n. Beschrijf in vier zinnen het gebruik van UDDI, WSDL en SOAP in dit dienstbouwblok? (3) o. Wat is een belangrijk privacy gerelateerd probleem? (3) p. Beschrijf een dienst die met behulp van dit dienstenbouwblok kan worden gemaakt? (2)
Tentamen Webtechnologie 19-augustus-2003, 9.30-12.30 zaal P.016. Pagina 4 van 6
2. Java / de Google API. Beschouw het volgende stukje JAVA code, dat gebruik maakt van de Google API. GoogleSearch s = new GoogleSearch(); s.setKey(clientKey); s.setQueryString("garnalensalade"); GoogleSearchResult r = s.doSearch(); GoogleSearchResultElement results[] = r.getResultElements(); for (i=0; i
a. Wat is een API? Gebruik eventueel de Google API als voorbeeld. (2) b. Beschrijf in eigen woorden wat dit stukje code doet? (3) c. Op welk moment (in welke regel) wordt de daadwerkelijke zoekactie gedaan, dwz, wanneer wordt er met de Google-server gecommuniceerd? (3) d. Welk type heeft de variabele 'results'? (3) e. Wat is de rol van de variabele 'clientKey'? (3) f. Schrijf een regel die vlak voor de for-loop komt, waarin het aantal van de teruggegeven resultaten wordt uitgeprint? (3) g. Waarom mag je de Google API maar een paar duizend keer per dag gratis gebruiken? (4) h. Waarom wordt de ’clientKey’ per email toegezonden aan de programmeur en wordt het niet, na het invullen van het webformulier, op een webpagina vermeld? (4)
Tentamen Webtechnologie 19-augustus-2003, 9.30-12.30 zaal P.016. Pagina 5 van 6
3. HTTP a. Wat betekent de afkorting HTTP? (2) b. Waarom is het een applicatie georiënteerd protocol? (2) Hieronder staat een voorbeeld van het gebruik van het protocol. To retrieve the file at the URL http://www.somehost.com/path/file.html
c. Wat wordt er met bovenstaande zin bedoeld? (2) first open a socket to the host www.somehost.com, port 80 (use the default port of 80 because none is specified in the URL). Then, send something like the following through the socket: GET /path/file.html HTTP/1.0 From:
[email protected] User-Agent: HTTPTool/1.0 [blank line here]
d. Wat is een socket? (2) e. Waarom wordt de regel beginnende met GET naar de server gestuurd? (2) f. Wat is de bedoeling van de lege regel “[blank line goes here]”? (2) The server should respond with something like the following, sent back through the same socket: HTTP/1.0 200 OK Date: Fri, 31 Dec 1999 23:59:59 GMT Content-Type: text/html Content-Length: 1354
Happy New Millennium!
(more file contents) . . .
g. Wat is de bedoeling van de eerste regel van de response (hierboven de regel die begint met HTTP), in het algemeen? (2) h. Wat geeft de eerste regel van de response, in dit specifieke geval aan? (2) i. Wat geeft in de response aan? (2)
Tentamen Webtechnologie 19-augustus-2003, 9.30-12.30 zaal P.016. Pagina 6 van 6
After sending the response, the server closes the socket.
j. Wat bedoelt de bedenker van het voorbeeld met deze zin? (2) Als een webbrowser heel veel http requests verstuurt naar de zelfde webserver, is het niet handig dat een dergelijk socket wordt gesloten bij elk verzoek. k. Waarom niet? (2) To familiarize yourself with requests and responses, manually experiment with HTTP using telnet.
l. Wat is telnet? (2) m. Wat wordt er bedoeld met manually experiment with HTTP using telnet? (2) n. Naar welke poort moet dan worden getelnet? (2)