Tentamen Informationsinfrastruktur Institutionen för informatik och media, Informationssystem Datum 17/3 2012 Tid 9.00 13.00 Lärare Owen Eriksson Mattias Nordlindh Maxpoäng 55 För Godkänd krävs minst 50% För Väl Godkänd krävs minst 80 % 1
Teoridel (30 p) 1) Hanseth och Lyytinen (2004) gör en horisontell indelning av e-infrastrukturen i tre olika delinfrastrukturer eller lager: applikationsinfrastruktur, serviceinfrastruktur och (data) transportinfrastruktur. a) Beskriv dessa tre delinfrastrukturer 3 p b) Med utgångspunkt från den IT-komponent (klient och gateway) som ni utvecklat under kursen i ert projektarbete, ge exempel på de olika delinfrastrukturerna 3 p. 2) Identifierare spelar en mycket viktig roll i samband med e-infrastrukturer. a) Beskriv vad som avses med en identifierare? 1 p b) Förklara varför identifierare är så viktiga i samband med e-infrastrukturer, exemplifiera också detta med utgångspunkt från den gateway som ni utvecklat i samband med projektuppgiften? 3 p c) Eriksson och Ågerfalk (2010) pekar på 3 ofta förekommande problem med identifierare: (1) The Descriptive Identifier Problem, (2) The Identifier Selection Problem, and (3) The Identifier Control Problem. Beskriv dessa 3 problem och vad dessa problem leder till 3 p 3) Standarder utgör en grundläggande del av e-infrastrukturer (informationsinfrastruktur) a) Varför är standarder så viktiga för utvecklingen av e-infratrukturer? 2 p. b) Man kan skilja på två olika typer av standarder semantiska standarder och tekniska standarder. Beskriv skillnaden mellan dessa två olika typer av standarder. 2 p c) Med utgångspunkt från den IT-komponent (klient och gateway) som ni utvecklat under kursen i ert projektarbete, ge ett exempel på en teknisk standard respektive semantisk standard som ni använde er av. 2 p 4) Eriksson och Goldkuhl (2012) beskriver i sin artikel Pre-conditions for public sector e-infrastructure development lagar ( the legal precondition) som en grundläggande förutsättningar (pre-condition) för e-infrastruktur utveckling inom e-förvaltning (e-government). a. Varför är lagar viktigare än semantiska standarder i samband med utvecklingen av e-infratrukturer inom e-förvaltning? 2 p. b. Beskriv hur lagar och förordningar både kan befrämja och förhindra informationsutbyte inom e-förvaltning 4 p 5) Viktiga IT-komponenter i en e-infrastruktur är: Gateways; System-till-System tjänster baserat på SOA; Adaptrar. Beskriv vad som menas med dessa tre begrepp. 6 p. 2
Programmerings- och modelleringsdel (25 p) Läs igenom hela frågan noggrant innan du börjar skriva din lösning! Informationsmodellering, programmering och XML-design Du ska utveckla en tjänst (gateway) som en del av ett system åt ett större logistikföretag, företagets huvudsyssla är att hålla ett centrallager för andra företags produkter. Från lagret transporteras vid behov dessa produkter ut till olika affärer, utförandet av själva transporterna gör inte företaget själv utan olika transportföretag anlitas för detta. Tjänsten som du ska utveckla ska underlätta processen att följa hur produkter transporteras från lagret och av vem. Lagret har nyligen införskaffat ett avancerat RFIDsystem där varje produkt i lagret har en RFID-tag, när produkter lastas på en lastbil skapas en XML som beskriver vilka produkter som har lastats till vilken lastbil. RFIDsystemet följer GS1-standarden och den XML som skapas kallas för ett AggregationEvent. Ett AggregationEvent (se sid 5) innehåller alltså en lista av EPC-koder som identifierar produkter som finns i childepcs-noden, dessa produkter lastas på en lastbil som identifieras av en Guid som finns i parentid-noden. Tjänsten ska producera en XML som svar, den ska representera informationsobjektet RapportOmUtlastningFrånLager vars innehåll specificeras och definieras av tabellen nedan: Termer och Information Lasttid Transport TransportLista Kolli Produkt RapportOmUtlastningFrånLager Beskrivning Tiden för utlastningen från lagret till lastbilen Det fordon som lasten transporteras med samt det ansvariga företaget och kontaktperson med kontaktuppgifter En lista med de kollin som ingår i transporten Allt som transporteras i lastbilar är kollin, produkter transporteras i kollin. En produkt ingår i ett kolli och endast identifieraren, namnet på produkten och företaget som producerat den är viktiga vid transport För att kunna implementera din tjänst behöver du ha tillgång till ytterligare information om produkter och transporter samt självfallet det AggregationEvent som skapas vid en utlastning. Den informationen förmedlas genom de redan implementerade tjänsterna/metoderna HämtaAggregationEvent, HämtaProduktInformation och HämtaTransportegister som beskrivs nedan: 3
XElement HämtaAggregationEvent(); XElement HämtaProduktInformation(string epc); XElement HämtaTransportregister(); Hämtar den senaste XML som beskriver en utlastning från lagret till en lastbil där ett antal produkter har lastats in i en viss lastbil (se sid 5) Hämtar en XML som innehåller ytterligare information om en produkt för given EPC (se sid 5) Hämtar en XML som innehåller ytterligare information om alla lastbilar som kör transporter åt företaget (se sid 5) Företaget är ännu bara i början av implementation av logistiksystemet och det finns tyvärr inga XML-scheman att tillgå för de XML-svar för metoder utan utvecklingsarbetet bedrivs med hjälp av exempel XML som beskrivs på nästa sida (sid 5). Gör implementationen av din tjänst i en metod med signaturen: XElement HämtaRapportOmUtlastningFrånLager(); Företaget har bestämda regler för vilken plattform, språk och tekniker som ska användas i utveckling av deras mjukvara. Din implementationen ska vara i C# och all hantering med XML ska ske med LINQ-To-Xml, alltså foreach-loopar är förbjudna. Uppgifter a) Gör en informationsmodell baserat på ovanstående meddelande från tjänsten och den textuella beskrivningen ovan. Till informationsmodellen ska finnas en beskrivande text finnas som både förklarar modellen och dina designbeslut (5 p) b) Implementera tjänsten (gatewayen) som är beskriven ovan i metoden HämtaRapportOmUtlastningFrånLager (20 p) 4
AggregationEvent <EPCISBody> <AggregationEvent> <eventtime>2011-06-21t09:37:38.8723177+02:00</eventtime> <eventtimezoneoffset>+02:00</eventtimezoneoffset> <parentid>bcb54b67-d47c-44b2-9246-d57f9f5f6257</parentid> <childepcs> <epc>urn:epc:id:giai:735003433.1317445522194</epc> <epc>urn:epc:id:giai:120065575.1317445522192</epc> <epc>urn:epc:id:giai:185003433.1317445522193</epc> <epc>urn:epc:id:giai:120065575.1317445522196</epc> <epc>urn:epc:id:giai:105850033.1317445522197</epc> </childepcs> <action>observe</action> <bizstep>passageo</bizstep> <readpoint> <id>urn:735999271.0001.1243</id> </readpoint> </AggregationEvent> </EPCISBody> Produktinformation <SvarProduktregisterFörfrågan> <Tid>2012-03-13</Tid> <Företag>Grillar AB</Företag> <ProduktInformation> <Id>urn:epc:id:giai:735003433.1317445522194</Id> <Namn>Kolgrill</Namn> <FarligtGods>Nej</FarligtGods> <Beskrivning>En fin kolgrill från Grillar AB.</Beskrivning> </ProduktInformation> </SvarProduktregisterFörfrågan> Transportregister <Transportregister> <Transport> <Id>bcb54b67-d47c-44b2-9246-d57f9f5f6257</Id> <Företag>Rullande transporter AB</Företag> <Kontaktperson> <Namn>Kalle Svensson</Namn> <Telefonnummer>555-555-555</Telefonnummer> </Kontaktperson> </Transport> <Transport> <Id>bcb54b67-d47c-44b2-9246-d57f9f5f6258</Id> <Företag>Berras lastbilar AB</Företag> <Kontaktperson> <Namn>Berra</Namn> <Telefonnummer>666-666-666</Telefonnummer> </Kontaktperson> </Transport> </Transportregister> 5