Tentamen etjänster och webbprogrammering Institutionen för informatik och media, informattionssystem Datum 14/6 Tid 9.00 13.00 Lärare Owen Eriksson Mikael Fors Maxpoäng 60 För Godkänd krävs minst 50% (30 poäng) För Väl Godkänd krävs minst 80 % (48 poäng)
Fråga 1 I avhandlingen etjänster som social interaktion via användning av IT- system hävdas det att följande 3 grundläggande egenskaper (se punktlistan nedan) ska föreligga om det skall skall vara meningsfullt att kalla en företeelse för en etjänst. Rollerna tjänsteleverantör och kund/klient Social interaktion via IT- system Kunden/klienten använder e- tjänsteleverantörens IT- system a) Beskriv dessa tre egenskaper. 3 p b) Exemplifiera dessa tre egenskaper med utgångspunkt från användningen av en Internetbank. 3 p Fråga 2 I avhandlingen etjänster som social interaktion via användning av IT- system beskrivs en regel som visar hur samexistens mellan olika etjänster kan analyseras. a) För att förstå samexisterande behöver man skilja på tre typer av samexisterande etjänster, vilka dessa tre olika typer av etjänster? 3 p b) Varför är det viktigt att analysera hur etjänster samexisterar? 3 p Fråga 3 I artikeln What is Web 2.0 beskriver O Reilly 7 rubriker (principer) som han anser vara utmärkande för Web 2.0. En av dessa rubriker kallas för Data as the next Intel Inside. Redogör för vad O Reilly menar med Data as the next Intel Inside? 6 p. Fråga 4 I artikeln What is Web 2.0 hävdar O Reilly att en central princip bakom de företag och etjänster som blivit lyckosamma och stora på Internet är att de Harnessing (Utnyttjar) Collective Intelligence. a. Ge en kort beskrivning av vad som avses med principen Harnessing (Utnyttjar) Collective Intelligence? 2 p b. Ge två exempel på etjänster som blivit en succé genom att man tillämpat denna princip? 2 p Fråga 5 I artikeln The Business of OPEN SOURCE som handlar om Second- Generation Open Source(OSSg2) beskrivs fem affärsmodeller (Business Models) dvs olika sätt att utveckla och distribuera program. Tre av dessa affärsmodeller är: Corporate Distribution Sponsored Open Source Second Generation Open Source (OssG2)
a) Beskriv dessa tre olika affärsmodeller. 3 p b) Enligt de företag som arbetar enligt OssG2 finns det tre fördelar att arbeta enligt denna affärsmodell: Accountability, Talent Base, Ecosystem. Beskriv vad som avses med dessa tre begrepp? 3 p Fråga 6 I avhandlingen etjänster som social interaktion via användning av IT- system betraktas kommunikation som utförandet av kommunikationshandlingar? a. Beskriv vad som menas med begreppet kommunikationshandling. 3 p. b. Ge exempel på två kommunikationshandlingar som utför i samband med etjänsten Blocket. 2p. c. Kommunikation och social interaktion är två begrepp som är nära förknippade med varandra men som ändå inte betyder olika exakt samma sak. Förklara vad som är skillnaden mellan dessa båda begrepp och hur de förhåller sig till varandra? 2 p.
Fråga 7 Vi har scriptet displaysales.php till vårt förfogande: <?php function display_sales($uid){ $conn = mysql_connect('localhost', 'mattias', '123456'); if (!$conn) exit; if (!mysql_select_db('mydb')) exit; $query = "Skriv SQL här"; // XXX: <A> Infoga SQL $result = mysql_query($query); if(!$result){ echo 'Ingen sådan användare finns!'; exit; $firstpass = 1; while($r = mysql_fetch_assoc($result)){ if($firstpass == 1){ $namn =???; /// XXX: <B1> Byt ut???. echo '<div class="cheader">'. $namn. '</div>'; echo <table><tr> ; echo <th>registreringsnummer</th><th>pris</th><th>mil</th>'; echo '</tr> ; $firstpass *=???; // XXX: <B2> Byt ut???. // XXX: <C> Skriv ut rader! if ($firstpass == 0) echo '</table'>; if(array_key_exists($_get, 'uid')) display_data(mysql_real_escape_string($_get['uid']));?> I databasen mydb finns följande tabeller:
Tanken är att när display_sales körs med GET- nyckel uid skall den användares annonser som finns i uid skrivas ut. Om t.ex användare uup123 skickas med som parameter till funktionen skall följande information skrivas ut i tabellform på bildskärmen (se exempel på bildskärsutskrift nedan), avsikten med detta meddelande är att användaren sak bli informerad om vilka annonser en viss användare har lagt in: Exempel på bildskärmsutskrift A) Skriv en fungerande SQL- fråga som hämtar de fält som nyttjas i while- loopen. Notera att $uid förväntas matcha Användare.Konto_Id. Din kod infogas vid <A>. Notera kravet i (b)! 5 p. B) Byt ut '???' vid <B1> så att $namn innehåller annonsörens fullständiga namn. Denna information måste alltså ingå i din fråga i (A). 1 p. C) Byt ut '???' vid <B2> så att vi bara skriver ut början på tabellen (med tillhörande <th>- taggar) en gång istället för varje gång while- loopen körs. 1 p. D) Lägg till kod vid <C> så att informationen som hämtas från tabellerna i databasen skrivs ut som en rader i tabellen på bildskärmen. 3p. E) Beskriv vilka förändringar som måste göras för att vi skall kunna begränsa antalet utskrifter genom GET- nyckeln maxprint. 5 p. Exempelvis, vid anropet usersales.php?uid=uup123&maxprint=2 skall maximalt två bilar kunna skrivas ut (oavsett hur många annonser som finns från användaren uup123). Notera att vi fortfarande vill kunna göra anrop där enbart GET- nyckeln uid anges (dvs man har inte anget något värde för Maxprint). I sådana fall skall maximalt 5 bilar visas.
Fråga 8 Studera tabellerna i mydb ovan: a) Beskriv vad som menas med en främmande nyckel? 2 p b) Vilka främmande nycklar finns i ovanstående tabeller? 2 p Fråga 9 Vad är det för skillnad på id och class, ex vis <div id='bla'> och <div class='bla2'>? 2p Fråga 10 Förklara vad funktionen mysql_real_escape_string() gör och vad för slags attack den skall förhindra. 2 p Fråga 11 Vad skriver följande program ut på bildskärmen? 2 p