Utvärdering av protokollet SOAP

Storlek: px
Starta visningen från sidan:

Download "Utvärdering av protokollet SOAP"

Transkript

1 Utvärdering av protokollet SOAP Är SOAP framtidens kommunikationsprotokoll i distribuerade datorsystem över Internet? Evaluation of the SOAP protocol Is SOAP the future communication protocol in distributed computer systems over the Internet? Examensarbete inom datalogi av Magnus Hanno Stockholm 12 februari 2002 Examinator: Stefan Arnborg Kungliga Tekniska Högskolan Handledare: Per Svensson Kungliga Tekniska Högskolan Handledare: Mats Larsson Agero Creation AB Institutionen för Numerisk analys och datalogi vid Kungliga Tekniska Högskolan

2

3 Utvärdering av protokollet SOAP 3 Sammanfattning Denna rapport beskriver ett examensarbete om Simple Object Access Protocol (SOAP). Examensarbetet som utfördes på uppdrag av Agero Creation AB gick dels ut på att studera SOAP, dels att testa implementeringar av SOAP samt att med hjälp av SOAP skapa ett WAP-gränssnitt till ett tidrapporteringssystem. SOAP är ett kommunikationsprotokoll baserat på XML som ska underlätta kommunikationen mellan applikationer som är skrivna i olika programmeringsspråk och placerade på olika plattformar. Studien av SOAP gjordes framförallt med hjälp av litteraturstudier, men även vid testningen av SOAP-verktyg framkom intressanta aspekter av SOAP. Att SOAP är ett nytt protokoll visade sig bland annat när alla SOAP-verktyg inte var kompatibla med varandra. Implementeringen gjordes för att testa det som kommit fram under studien av SOAP samt vid testerna av SOAP-verktyg. Det som skulle göras vid implementeringen var att skapa ett WAP-gränssnitt till ett tidrapporteringssystem. WAP-gränssnittet skulle använda befintligt tidrapporteringssystems logik via SOAP. I rapporten har jag kommit fram till att SOAP är ett kommunikationsprotokoll som kommer att få en stark ställning. Det kommer däremot att ta några år innan SOAP får denna ställning, framför allt på grund av att det tar tid att etablera ett nytt protokoll. De SOAP-verktyg som finns nu (juni 2001) är bra men jag är säker på att det kommer komma bättre ju mer SOAP används. Nuvarande SOAP-verktyg har vissa barnsjukdomar. Implementeringen gjordes utan problem, men mycket arbete återstår för att tidrapportering ska kunna ske via ett WAP-gränssnitt.

4

5 Utvärdering av protokollet SOAP 5 Abstract Evaluation of the SOAP protocol Is SOAP the future communication protocol in distributed computer systems over the Internet? This report describes a master thesis project about Simple Object Access Protocol (SOAP). The master thesis project was commissioned by Agero Creation AB and consists of three parts; study of SOAP, testing of the SOAP toolkits and implementation of a WAP interface to a time-reporting system. SOAP is a communication protocol based on XML, which is supposed to simplify communication between applications written in different programming languages and placed on different platforms. The SOAP study was performed mainly by reading articles. However, by the testing of SOAP toolkits some interesting aspects of SOAP came to light. SOAP is a new communication protocol and it became obvious when some of the SOAP toolkits where incompatible. The implementation was made to test the information gathered during the study of SOAP and the testing of the SOAP toolkits. The aim of the implementation was to create a WAP interface for a time-reporting system. The WAP interface was supposed to use the existing time-reporting systems logic via SOAP. My conclusion in this report is that SOAP will become a leading communication protocol. However, it will take some time until SOAP gets this position as it takes time to establish a new protocol. The SOAP toolkits of today (June 2001) are good but they have some flaws and I believe that better toolkits will emerge when SOAP has become more widely used. The implementation was performed without any problems, but a lot of work remains until the WAP interface to the time-reporting system is finished.

6

7 Utvärdering av protokollet SOAP 7 Innehållsförteckning 1 INLEDNING BAKGRUND DISTRIBUERAD SYSTEMUTVECKLING AGERO CREATION AB PROBLEMSTÄLLNING PROBLEM MÅL METOD DISTRIBUERADE OBJEKTTEKNOLOGIER CORBA DCOM JAVA RMI ANLEDNINGAR TILL ATT INGEN AV DESSA BLIVIT EN INTERNETSTANDARD SOAP XML SOAPS UPPBYGGNAD SOAP OCH TRANSPORTPROTOKOLL RPC MED HJÄLP AV SOAP SOAPS FÖR- OCH NACKDELAR SOAP SOM KOMMUNIKATIONSPROTOKOLL WEBBTJÄNSTER SAMMANFATTNING SOAP-VERKTYG GLUE SOAP4J MS SOAP TOOLKIT PROBLEM MED KOMMUNIKATIONEN IMPLEMENTATIONEN BEFINTLIGT SYSTEM WAP BEGRÄNSNINGAR DET NYA SYSTEMET UTVECKLINGSARBETET SAKER SOM ÅTERSTÅR ATT LÖSA SAMMANFATTNING...42

8 Utvärdering av protokollet SOAP 8 7 REKOMMENDATION LITTERATURFÖRTECKNING BILAGOR ORDLISTA...47

9 Utvärdering av protokollet SOAP 9 1 Inledning Denna rapport sammanfattar ett examensarbete på institutionen för Numerisk Analys och Datalogi (Nada), KTH. Arbetet genomfördes under våren och sommaren 2001 och är en del av civilingenjörsutbildningen i datateknik på KTH. Uppdragsgivare var systemutvecklingsföretaget Agero Creation AB i Stockholm. 1.1 Bakgrund Agero Creation AB är ett systemutvecklingsföretag som bygger och utvecklar skräddarsydda informationslösningar för stora företag. Arbetet bedrivs på konsultbasis och de anställda rapporterar in arbetad tid i ett tidrapporteringssystem. Då de anställda börjat uttrycka önskemål att kunna tidrapportera på fler sätt än via webben och då framför allt via en WAPklient har frågan uppstått hur ett sådant WAP-gränssnitt skulle utvecklas. Önskvärt vore om de befintliga komponenterna i det webbaserade tidrapporteringssystemet skulle kunna användas även till WAP-gränssnittet. Vidare vore det bra om systemet utvecklades på ett sådant sätt att ytterligare gränssnitt t.ex. talsvar skulle kunna läggas till utan betydande ändringar av befintliga komponenter. Tanken som kom upp var att ett distribuerat system skulle utvecklas. Klienterna i systemet skulle vara gränssnitt t.ex. ett WAP-gränssnitt eller webbgränssnitt och servern skulle tillhandahålla den grundläggande logiken och databasen. Det var i detta läge som detta examensarbete kom in i bilden. Uppgiften var att undersöka hur det ovan beskriva systemet skulle kunna utvecklas samt att utvärdera det nya kommunikationsprotokollet Simple Object Access Protocol (SOAP). Slutligen skulle ett WAP-gränssnitt till delar av tidrapporteringsystemet utvecklas med hjälp av SOAP. 1.2 Distribuerad systemutveckling Betydelsen av nätverk i datorsystem har de senaste tio åren ökat enormt, speciellt sedan intresset för Internet spreds bland gemene man. Datorer måste ha möjligheten att kommunicera med varandra på ett effektivt sätt och det är där utveckling av distribuerade system kommer in i bilden. Ett system sägs vara distribuerat om datorprogram och data som bearbetas är spridda över mer än en dator, oftast via ett nätverk. Det är viktigt att komma ihåg att distribuerade applikationer fordrar en helt ny sorts design och för att den ökade komplexiteten ska vara mödan värd måste det finnas några fördelar. Vissa system är distribuerade i sin natur, till exempel telefonsystem och spel med flera användare. I dessa fall är det uppenbart att de måste vara distribuerade. Men även andra system kan med fördel vara distribuerade. De största fördelarna med distribuerade applikationer är att de skapar en ökad flexibilitet att avgöra var olika delar av applikationen

10 Utvärdering av protokollet SOAP 10 ska köras. Applikationen blir också mer skalbar. Om all logik ligger på en dator måste hårdvaran uppgraderas om man vill få bättre prestanda eller bara upprätthålla nuvarande prestanda vid ökande arbetsbörda. Är däremot applikationen utvecklad med distribuerad design behöver servern som komponenterna körs på bara flytta över en del arbete till en annan dator för att upprätthålla eller öka prestandan. 1.3 Agero Creation AB Agero Creation AB bygger och utvecklar skräddarsydda informationslösningar för stora företag. De anställda på Agero Creation har en gedigen teknisk utbildning och tillsammans besitter de mångåriga kunskaper om tekniska system och deras möjligheter. Agero Creation har lång erfarenhet av Microsofts utvecklingsmiljöer. De har på senare tid jobbat mycket med Java och RUP, och har under årens lopp arbetat med många förkortningar i datavärlden: UNIX, ASP, JSP, WAP, COM, DCOM, VB, EJB, C++, MTS och IIS. Agero Creation är ett bolag i Agerogruppen. Agero Creation har idag ett 40-tal medarbetare och hela gruppen består av cirka 50 medarbetare. Det andra bolaget i gruppen är Agero Business Consulting.

11 Utvärdering av protokollet SOAP 11 2 Problemställning De problem och mål som detta examensarbete kommer att behandla beskrivs kortfattat nedan: 2.1 Problem 2.2 Mål 2.3 Metod Två problemområden behandlas i detta examensarbete. Är SOAP den kommande standarden för distribuerade system över Internet? Distribuerade system är inget nytt. Däremot har ingen av föregångarna till SOAP lyckats bli en Internetstandard. Frågan är nu om SOAP, som är uppbyggt av Internetstandarder, kan bli det kommunikationsprotokoll som blir standarden för distribuerade system över Internet. Är SOAP och de SOAP-verktyg som finns användbara i Ageros fall? Agero vill skapa ett WAP-gränssnitt till sitt tidrapporteringssystem. Frågan är om SOAP är lämpligt att använda för detta. För att få ett svar på de två ovan nämnda problemen har tre mål satts upp för detta examensarbete. Målen är att åstadkomma: en studie av SOAP, en undersökning av de SOAP-verktyg som finns på marknaden, en implementation av ett WAP-gränssnitt till det befintliga tidrapporteringssystemet med hjälp av SOAP. För att uppnå de tre målen med detta examensarbete delades arbetet upp i flera delar. Det första målet, att studera SOAP, handlade till stor del om informationsinsamling. De två andra var däremot mer av praktisk karaktär. De moment som arbetet delades upp i var följande: 1. Informationsinsamling 2. Analys 3. Test av SOAP-verktyg 4. Utvärdering 5. Planering av implementation 6. Test av grundidén 7. Implementation 8. Rapportskrivande

12 Utvärdering av protokollet SOAP 12 Det första momentet (1) gick ut på att samla information om protokollet SOAP och andra distribuerade protokoll. Målet med informationsinsamlandet var att få en så bred kunskap om SOAP som möjligt. I nästa moment (2) analyserades materialet. Vad är tanken med SOAP, vad är det tänkt att det ska gå att göra med hjälp av protokollet SOAP, hur står det sig mot andra protokoll och har SOAP möjlighet att bli en Internetstandard? Svaren på de här frågorna finns i kapitel 4 SOAP. Efter utvärderingen av SOAP testades tre SOAP-verktyg (3). Det som undersöktes var bland annat hur lätta de var att använda, vad de klarar och om de är kompatibla med varandra. Detta följdes av en utvärdering (4). I kapitel 5 SOAP-verktyg beskrivs och utvärderas de testade SOAP-verktygen. Med kunskap om SOAP och verktyg som implementerar SOAP gjordes en grundlig planering av implementeringen (5). Vad exakt som skulle göras och lösningsförslag utarbetades. När ett lösningsförslag fastställts, genomfördes en del implementeringsarbete för att testa (6) och säkerställa att alla leden i det nya systemet fungerade. Detta följdes av viss implementering av funktioner till det nya systemet (7). Hur implementeringen gick kan läsas om i kapitel 6 Implementationen. Avslutningsvis sammanställdes allt som kommit fram under arbetet (8).

13 Utvärdering av protokollet SOAP 13 3 Distribuerade objektteknologier Det finns ett flertal olika protokoll för distribuerade objektsystem. De fyra som tas upp i detta examensarbete är CORBA, DCOM, Java RMI och SOAP. CORBA, DCOM och Java RMI tas kort upp i detta kapitel. Meningen är inte att läsaren ska få en heltäckande kunskap om de tre teknologierna utan få en kort introduktion. Denna introduktion ska ge läsaren tillräcklig kunskap för att förstå anledningarna till att ingen av dessa tre teknologier blivit en Internetstandard. Dessa tas upp under rubriken 3.4 Anledningar till att ingen av dessa blivit en Internetstandard. 3.1 CORBA The Object Management Group (OMG) har tagit fram Common Object Request Broker Architecture (CORBA). CORBA är en standard för distribuerad objektorientering. OMG består av drygt 800 företag och OMGs uppgift är att diskutera framtida versioner av objektorientering och framför allt distribuerad objektorientering och CORBA [14]. ORB är kärnan av CORBA och den fungerar som en buss. Objekt kan använda ORBen för att kommunicera med andra objekt oberoende av om de ligger lokalt eller ej. Det övergripande målet med CORBA är att applikationer ska kunna kommunicera med varandra oavsett var de är placerade och hur de är implementerade [14] Metodanrop ORB är det objekt som etablerar kontakten mellan en klient och en server. Genom att använda en ORB kan en klient aktivera en metod på en server. ORBen ser till att paketera metodanropet med dess parametrar och att lokalisera servern där metoden finns (information om metoden finns hos en på klienten placerad procedurstomme (eng. stub), vilken fungerar som ett gränssnitt mot metoden). Servern kan antingen ligga lokalt eller på samma nätverk. På servern är ORBen ansvarig för att ta emot anropet, aktivera metoden och returnera resultatet. Klienten behöver inte veta var metoden fysiskt är placerad, dess programmeringsspråk, operativsystem eller några andra aspekter av systemet [14]. Tanken med CORBA är att standarden ska vara oberoende av operativsystem. Det har dock visat sig att CORBA fungerar bäst under UNIX [1]. Både det binära kommunikationsformatet Common Data Representation (CDR) och adresseringsformatet Interoperable Object Reference (IOR) är specifika för CORBA. Med hjälp av IOR kan alla CORBA-produkter avgöra var en metod är placerad och CDR är det format all kommunikation sker med.

14 Utvärdering av protokollet SOAP 14 CORBAs kommunikationsprotokoll heter General Inter-ORB Protocol (GIOP). TCP/IP versionen av GIOP heter Internet Inter-ORB Protocol (IIOP). GIOP specificerar ett antal meddelanden som ORBar kan skicka mellan sig. Ett meddelande innehåller information såsom storlek, typ, version och bitordning på meddelandet [14]. 3.2 DCOM Component Object Model (COM) är en standard som gör det möjligt för objekt att tillhandahålla tjänster till andra objekt. Standarden togs fram av Microsoft när de utvecklade operativsystemet Windows 3.0. Problemet med COM var att objekten var tvungna att ligga på samma dator för att kunna användas. Detta löste Microsoft genom att utveckla Distributed COM (DCOM). DCOM kan lokalisera objekt oberoende av om de ligger lokalt eller på nätverket. DCOM är den mest komplexa distribuerade objektteknologin som tas upp i detta examensarbete [9] Metodanrop Metodanrop till ett via nätverk åtkomstbart objekt (metod) sker via ett ombud (eng. proxy). Ombudet ligger lokalt på en klient och objektet finns på en server. Vid ett metodanrop behöver ombudet en referens till objektet. Service Control Manager (SCM) etablerar kontakten mellan en klient och en server. Med hjälp av SCM får klienten möjlighet att skapa en instans av det via nätverket åtkomstbara objektet. Klientens SCM tar kontakt med serverns SCM. SCM på servern aktiverar då objektet och skickar tillbaka en referens. Det på klienten liggande ombudet kan sedan skapa en instans av objekt på servern. Efter detta kommer klienten att ha direktkontakt med det på servern placerade objektet via ombudet. DCOM är en Microsoft-standard och fungerar därför bäst under operativsystemet Windows [1]. Både det binära kommunikationsformatet Network Data Representation (NDR) och adresseringsformatet OBJREF är specifika för DCOM. Med hjälp av OBJREF håller DCOM reda på var en metod är placerad och NDR är det format all kommunikation sker med [9]. DCOMs kommunikationsprotokoll heter Object Remote Procedure Call (ORPC). ORPC består av flera olika paket som ORPC kan skicka mellan sig. Paketen innehåller information såsom objektets id-nummer, flaggor, räknare och säkerhetsinformation [9]. 3.3 Java RMI Java Remote Method Invocation (Java RMI) är, som namnet avslöjar, en Javabaserad distribuerad objektteknologi. RMI tillhandahåller en enkel modell för distribuerad

15 Utvärdering av protokollet SOAP 15 systemutveckling med Java. Idén med RMI är att Javaobjekten efter implementation ska kunna köras var som helst och överallt, d.v.s. objektet ska kunna anropas oberoende av operativsystem där objektet är placerat och var objektet fysiskt är placerat, lokalt eller åtkomligt via ett nätverk [10] Metodanrop Det första en Javaklient gör vid ett metodanrop är att fråga ett register i RMI var metoden är placerad. Med hjälp av adressen kan sedan RMIn hämta en procedurstomme som klienten använder för att anropa metoden via nätverket. Det som gör RMI unikt jämfört med CORBA och DCOM är att procedurstommen kan hämtas vid anropet. CORBA och DCOM kräver att procedurstommen (eller ombud i DCOM) finns lokalt före anropet [10]. Java RMI Wire-Protocol (JRMP) är RMIs kommunikationsprotokoll. Det är ett relativt enkelt protokoll som består av tio olika meddelanden. JRMP paket består av en header följt av ett eller fler meddelanden. Headern består av ASCII koden för JRMI, versionsnummer och vilket underprotokoll som ska användas. Det finns totalt tre underprotokoll: SingleOpProtocol, StreamProtocol och MultiplexProtocol. SingleOpProtocol anger att headern följs av ett enstaka meddelande och att förbindelsen kan brytas efter att meddelandet skickats. StreamProtocol och MultiplexProtocol anger att headern följs av ett eller fler meddelanden och att förbindelsen mellan klient och server ska upprätthållas [10]. All information som JRMP förmedlar paketeras enligt Javas Object Serialization Protocol som är specifikt för Java. RMI kan använda HTTP som transportprotokoll [10]. 3.4 Anledningar till att ingen av dessa blivit en Internetstandard Ett grundläggande krav för att en distribuerad objektteknologi (protokoll) ska bli en standard är att det ska vara möjligt att använda protokollet oberoende av vilken plattform som används. Vidare måste protokollet vara implementerat på ett sådant sätt att oberoende vilken plattform protokollet är implementerat på ska det vara möjligt att kommunicera med andra plattformars implementeringar. T.ex. ska Windows- och UNIX-versionerna fungera tillsammans utan problem. Dessutom måste det vara möjligt att använda protokollet oberoende av programmeringsspråk. För att det ska kunna bli en Internetstandard krävs även att kommunikationen kan ske över Internet. Ett problem som kan uppstå med detta är brandväggar. De flesta nätverk har någon sorts brandvägg som stoppar kommunikationen på alla portar utan vissa förbestämda, t.ex. port 80 för HTTP. En del protokoll (t.ex. CORBA) använder sig däremot av dynamisk tilldelning av vilken port som ska användas och kommer att stoppas av brandväggen om inte den porten är öppen [1].

16 Utvärdering av protokollet SOAP 16 Hur klarar då CORBA, DCOM och Java RMI detta? Inte särskilt bra och anledningarna till detta tas upp nedan. Trots att många tillverkare av CORBA- och DCOM-baserade mjukvaror anser att de täckt in ett flertal operativsystem fungerar det inte tillfredsställande när en CORBA implementering körs på ett Windows-system eller DCOM på ett UNIX-system [1]. DCOM är framtaget av Microsoft och fungerar därför bäst på ett Windows-system och CORBA är konstruerat på ett sånt sätt att det lämpar sig bäst på ett UNIX-system. Java RMI fungerar däremot utan problem på olika operativsystem men då måste all implementering ske i Java och oberoendet av programmeringsspråk faller. Inte heller fungerar CORBA, DCOM eller Java RMI tillsammans, främst beroende på att de har olika sätt att ange adresser och paketera metodanrop. CORBA har IOR och CDR, DCOM OBJREF och NDR och Java RMI JRMP. Slutligen är det inte något av protokollen som på ett tillfredsställande sätt klarar brandväggar, vilket man kan kräva av ett protokoll som ska användas över Internet.

17 Utvärdering av protokollet SOAP 17 4 SOAP Simple Object Access Protocol (SOAP) är ett kommunikationsprotokoll baserat på XML som ska underlätta kommunikationen mellan applikationer som är skrivna i olika programmeringsspråk och placerade på olika plattformar. Den första versionen av protokollet utarbetades av utvecklare på DevelopMentor, Microsoft och Userland software. SOAP 1.1 som när detta skrevs var den senaste versionen av SOAP har lämnats in till World Wide Web Consortium (W3C) [17]. W3C ska avgöra om SOAP ska bli en Internetstandard. Tidigare erfarenheter av de protokoll som blivit Internetstandarder (HTTP, TCP/IP) är att de varit de enklaste protokollen som fått arbetet gjort [1]. SOAP definierar inte någon programmeringsmodell eller specifik implementationssemantik utan tillhandahåller en modell för hur meddelanden ska paketeras och data kodas. Detta gör att SOAP kan användas i olika system från meddelandesystem till RPC-system 1 [17]. Huvudmålet med SOAP är att det skall vara enkelt och utbyggbart. Detta har lett till att fler finesser, som andra distribuerade objektteknologier har, inte finns med i SOAPspecifikationen. Sådana finesser är [15]: Distribuerad automatisk minneshantering (eng. garbage collection), Referenser till objekt, Funktioner som kräver de ovan nämnda finesserna. 4.1 XML Innan SOAP beskrivs ingående är det på sin plats att först ta upp XML. Detta för att läsaren lättare ska förstå SOAP och dess uppbyggnad. XML är ett standardiserat sätt att representera data på ett strukturerat sätt. Vidare är XML en Internetstandard som fått ett stort genomslag inom Internetapplikationer. Anledningar till att XML blivit så framgångsrikt är att det är enkelt, det är textbaserat och det är ett utvecklingsbart språk. Vidare är det mycket praktiskt att spara data som ska presenteras på en webbsida i XML. Detta på grund av att ingen datamanipulation måste föregå presentationen [4]. Två grundläggande begrepp inom XML är namndomäner och XML-scheman. Dessa är också av stor vikt inom SOAP. 1 RPC står för Remote Procedure Call. I ett RPC-system kan metoder anropas via ett nätverk.

18 Utvärdering av protokollet SOAP Namndomän I XML har namndomäner (eng. namespace) till uppgift att skilja på element/attribut som har samma namn. I en organisation kan det t.ex. finnas XML-dokument med information som har samma namn. T.ex. kan titel såväl beskriva en position inom organisationen som titeln på en bok. För att skilja på dessa finns namndomäner som anger vilken information som gäller [15] XML-schema Ett XML-schema är ett XML-dokument som anger hur ett specifikt XML-dokument ska byggas upp, t.ex. vilka element/attribut som ska ingå och deras placering. Vidare kan schemat specificera vilka datatyper dessa element ska ha. Syftet med att använda XMLscheman är att kunna kontrollera om ett XML-dokument är giltigt, med avseende på schemat. Denna kontroll utförs av en XML-parser. En parser används för att tolka/översätta ett XML-dokument åt en applikation [15] XML via HTTP Det finns flera förslag på att använda XML i RPC-anrop via HTTP. Gemensamt för dessa är att de alla använder ett litet antal HTTP-headers och XML för att anropa metoder över ett nätverk. I XML-dokumentet finns information om metoden och dess parametrar. Svarsmeddelandet på ett anrop har även det en fördefinierad XML-struktur. Det finns ungefär femton olika förslag på protokoll som använder XML vid RPC-anrop. Fler av dessa protokoll beskrivs av W3C på deras webbplats [21]. Några av dessa protokoll är XML-RPC, SOAP, WDDX och ebxml. Trots att alla dessa protokoll skulle kunna bli en Internetstandard är det SOAP som fått störst genomslag. En stor anledning till att RPC-anrop med hjälp av XML via HTTP blivit en så stor framgång är XMLs spridning. Ett problem med metodanrop över distribuerade system är namnkollision. Olika metoder kan ha samma namn och dessa måste skiljas åt. Detta har lösts i XML (som nämnts ovan) med namndomäner. Namndomäner kan även användas för att undvika namnkollision vid distribuerade metodanrop. Ett metodnamn blir därmed otvetydigt. SOAP definierar två namndomäner. 4.2 SOAPs uppbyggnad SOAP-meddelanden är i grunden envägskommunikation från sändare till mottagare. SOAPmeddelanden kan dock kombineras för att implementera mönster som förfrågan/svar (eng.

19 Utvärdering av protokollet SOAP 19 request/response) i t.ex. RPC-anrop [17]. Mer om detta under kapitel 4.4 RPC med hjälp av SOAP. Nedan visas ett exempel på ett SOAP-meddelande. Ett sådant har tre delar: ett obligatoriskt Envelope-element, ett frivilligt Header-element och ett obligatoriskt Body-element. <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <SOAP-ENV:Header> <From SOAP:mustUnderstand= 1 > </From> </SOAP-ENV:Header> <SOAP-ENV:Body> <m:getlasttradeprice xmlns:m="some-uri"> <symbol>def</symbol> </m:getlasttradeprice> </SOAP-ENV:Body> </SOAP-ENV:Envelope> SOAP Envelope XML-elementet Envelope måste vara det första elementet i ett SOAP-meddelande. Detta element indikerar att aktuellt XML-dokument är ett SOAP-meddelande och inkapslar övriga delar av meddelandet. I Envelope anges även vilken namndomän som ska användas. Namndomänen för Envelope är: [17]. Om en felaktig namndomän anges ska en SOAP-applikation ignorera SOAP-meddelandet Avkodningsregler Avkodningsregler används för att serialisera data i SOAP-meddelanden. Reglerna används även av applikationen som tar emot meddelandet för att återskapa datat. Attributet encodingstyle i elementet Envelope används för att ange de avkodningsregler som ska användas i meddelandet. Värdet på attributet är en URI som identifierar adressen till avkodningsreglerna. URIen till SOAPs avkodningsregler är: soap/encoding/ [17] SOAP Header Om ett Header-element ingår i SOAP-meddelandet skall det följa direkt under Envelopeelementet. Detta element kan innehålla extra information som hjälper till vid t.ex. kryptering, transaktionshantering eller behörighetskontroll. Även applikationsspecifik data kan placeras i Header.

20 Utvärdering av protokollet SOAP Header-attribut I Header-element finns två fördefinierade Header-attribut, mustunderstand och soapactor. MustUnderStand-attributet används för att ange om mottagaren av meddelandet måste behandla Header-elementet eller om detta är valfritt. Att utelämna mustunderstand-attributet anger att det är valfritt att behandla Headern. SoapActor-attributet anger vilken mottagare som Header-elementet är avsett för. Värdet på soapactor-attributet är en URI, som motsvarar adressen till avsedd mottagare. Att utelämna soapactor-attributet betyder att den slutliga mottagaren av SOAP-meddelandet är den avsedda mottagaren för Header-elementet [17] SOAP Body I SOAP Body finns själva informationen av meddelandet. I Body är all data som applikationerna utväxlar placerad. Det kan vara ett RPC-metodanrop eller någon annan sorts informationsutväxling mellan applikationer. Body-elementet återfinns som första element efter Envelope-elementet, såvida inget Header-element ingår för då följer Body-elementet Headern. Body-elementet består av Body Entries. Dessa element kan vara godtyckliga, egendefinierade XML-element. SOAP definierar en Body Entry vid namn Fault, som används för felhantering SOAP Fault Fault-elementet används för felhantering. Ett SOAP Fault-element måste förekomma som ett SOAP Body-element och får inte förekomma fler än en gång i ett meddelande. Ett SOAP Fault-element består av fyra underelement [17]: Faultcode. Används för att identifiera vilken typ av fel som uppstått. Faultcode måste finnas i ett SOAP Fault-element och specifikationen SOAP definierar ett litet antal faultcodes som täcker in några grundläggande fel. Faultcode är framför allt tänkt att användas av applikationer. Faultstring. En beskrivning av felet som inte är tänkt att användas av applikationer. Faultstring måste finnas i ett SOAP Fault-element och bör beskriva felet på ett sådant sätt att orsaken till felet kan fastställas. Faultactor. Ska ge information om var felet uppstod. Värdet av Faultactor-attributet är en URI som identifierar källan. Detail. Tillhandahåller applikationsspecifik felinformation relaterad till informationen i Body-elementet. Detail måste finnas med i Fault-elementet om informationen i Bodyn inte bearbetas framgångsrikt. Fel i Headern tas inte upp i Detail utan dessa fel tas upp i Headern. Om Detail elementet inte finns med i ett SOAP Fault-element betyder det att felet inte är relaterat till bearbetningen av informationen i Bodyelementet.

21 Utvärdering av protokollet SOAP SOAP Encoding SOAPs avkodningsregler baseras på ett enkelt typsystem, liknande det som finns i programmeringsspråk. XML tillåter en mycket flexibel avkodning av data medan SOAP definierar hårdare regler vid avkodning. SOAPs typsystem är kompatibelt med XML Schema Definition Language (XSD). En typ i SOAP kan antingen vara enkel/skalär eller sammansatt av flera delar som i sin tur är av godtycklig typ [17] Enkla typer SOAP tillåter och använder de enkla typer som definieras som inbyggda datatyper för XMLscheman. Exempel på sådana typer är heltal, decimaltal och strängar. Dessa typer kan användas direkt i element-scheman. Även typer som byggs upp av dessa enkla typer kan användas Sammansatta typer De sammansatta datatyperna är mer komplexa datastrukturer, såsom vektorer. Ett exempel på en komplex datastruktur kan vara en produkt som består av ett namn, ett produktnummer samt ett pris. Den här informationen kan definiera en sammansatt typ. Sammansatta typer kan även ha element som består av sammansatta typer och så vidare. 4.3 SOAP och transportprotokoll SOAP-specifikationen specificerar inte vilket transportprotokoll som ska användas vid kommunikationen mellan två applikationer. Enligt specifikationen kan SOAP kopplas till olika transportprotokoll, såsom HTTP, SMTP och FTP. Däremot beskrivs bara kopplingen till HTTP i specifikationen av SOAP 1.1. Vidare klarar de implementeringar som gjorts av SOAP bara HTTP (juni 2001). En stor fördel med att SOAP kan använda sig av HTTP som transportprotokoll är att SOAP i och med detta fungerar utmärkt i system med brandväggar. En brandvägg släpper bara igenom trafik på vissa förbestämda portar, t.ex. HTTP-trafik på port 80. Detta gör att när SOAP använder sig av HTTP fungerar SOAP utan problem med en brandvägg [17]. 4.4 RPC med hjälp av SOAP Ett av målen med SOAP-specifikationen är att genomföra RPC-anrop. I det fall SOAP kopplas till HTTP görs ett RPC-anrop med hjälp av en HTTP-förfrågan och RPC-svaret levereras med ett HTTP-svar meddelande. Det ska däremot påpekas att SOAP RPC-anrop

Web Services. Cognitude 1

Web Services. Cognitude 1 Web Services 1 Web Services Hur ska tillämpningar integreras? Hur ska tillämpningar integreras (via nätet ) för att erbjuda tjänster åtkomliga på nätet? SVAR: Web Services (Enligt Microsoft, Sun, IBM etc.)

Läs mer

Distribuerade affärssystem

Distribuerade affärssystem Distribuerade affärssystem Kursens mål Bygga upp, strukturera och programmera distribuerade system med en flerskiktsarkitektur Beskriva och förklara teorier och uttryck som används inom affärskritiska

Läs mer

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011 Webbteknik II Föreläsning 4 Watching the river flow Web Service XML-RPC, SOAP, WSDL, UDDI HTTP Request, Response, Headers, Cache, Persistant Connection REST Hype or the golden way? Web Service / Webbtjänst

Läs mer

Webbtjänster med SOAP, uppbyggnad och implementation

Webbtjänster med SOAP, uppbyggnad och implementation Webbtjänster med SOAP, uppbyggnad och implementation David Smedman Institutionen för informationsbehandling Åbo Akademi, Åbo, Finland E-post: dsmedman(snabela)abo.fi Abstrakt Denna uppsats kommer att ta

Läs mer

PM 01 En jämförelse av två analysmodeller för val av komponentteknik

PM 01 En jämförelse av två analysmodeller för val av komponentteknik MÄLARDALENS HÖGSKOLA Institutionen för Ekonomi och Informatik v PM 01 En jämförelse av två analysmodeller för val av komponentteknik Eskilstuna, 2002-12-12 EI0230 Komponentbaserad applikationsutveckling

Läs mer

Business to business (B2B) communication - Integrering av system

Business to business (B2B) communication - Integrering av system Business to business (B2B) communication - Integrering av system Jonas Liinamaa 20 november 2003 Department of Computer Science Åbo Akademi University, FIN-20520 Åbo, Finland e-mail: jliinama@abo. URL:

Läs mer

Christer Scheja TAC AB

Christer Scheja TAC AB Byggnadsautomation för ingenjörer Byggnadsautomation för ingenjörer VVS-tekniska föreningen, Nordbygg 2004 Christer Scheja TAC AB resentation, No 1 Internet/Intranet Ihopkopplade datornät ingen ägare Internet

Läs mer

Middleware vad, hur, varför när?

Middleware vad, hur, varför när? Middleware vad, hur, varför när? Anders Kingstedt Askus AB Ersättas med en bild 1 Disposition Vad? Hur? Varför? När? Målsättning Ge er möjlighet att skilja på och 2 Vad? - är Middleware Ersättas med en

Läs mer

Repetition DK2 Middleware, P2P, Multimediatransport. Stefan Alfredsson 18 Mars 2005

Repetition DK2 Middleware, P2P, Multimediatransport. Stefan Alfredsson 18 Mars 2005 Repetition DK2 Middleware, P2P, Multimediatransport Stefan Alfredsson 18 Mars 2005 Några definitioner på middleware Klistret som gör det möjligt för en klient att få betjäning av en server / i klient/server

Läs mer

Utvecklingen av ett tidregistrerings- och faktureringssystem

Utvecklingen av ett tidregistrerings- och faktureringssystem Datavetenskap Opponenter: Anders Heimer & Jonas Seffel Respondenter: Daniel Jansson & Mikael Jansson Utvecklingen av ett tidregistrerings- och faktureringssystem Oppositionsrapport, C-nivå 2006:10 1 Sammanfattat

Läs mer

Grundläggande datavetenskap, 4p

Grundläggande datavetenskap, 4p Grundläggande datavetenskap, 4p Kapitel 4 Nätverk och Internet Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-23 IT och medier 1 Innehåll Nätverk Benämningar Topologier Sammankoppling

Läs mer

Tekniskt ramverk för Svensk e- legitimation

Tekniskt ramverk för Svensk e- legitimation Tekniskt ramverk för Svensk e- legitimation ELN-0600-v1.4 Version: 1.4 2015-08-14 1 (10) 1 INTRODUKTION 3 1.1 IDENTITETSFEDERATIONER FÖR SVENSK E- LEGITIMATION 3 1.2 TILLITSRAMVERK OCH SÄKERHETSNIVÅER

Läs mer

Elektronisk tullräkning Sid 1(9) Samverkansspecifikation. Version: 1.0 SAMVERKANSSPECIFIKATION. för. e-tullräkning

Elektronisk tullräkning Sid 1(9) Samverkansspecifikation. Version: 1.0 SAMVERKANSSPECIFIKATION. för. e-tullräkning Elektronisk tullräkning Sid 1(9) SAMVERKANSSPECIFIKATION för e-tullräkning Elektronisk tullräkning Sid 2(9) Innehållsförteckning 1 Inledning...3 1.1 Introduktion...3 2 Identifikation av parterna...4 2.1

Läs mer

Plattform as a Service, leverantör tillhandahåller plattformen, jag tillhandahåller applikation och ansvarar för denna.

Plattform as a Service, leverantör tillhandahåller plattformen, jag tillhandahåller applikation och ansvarar för denna. Modul 1: Molntjänst Publikt moln Privat moln Hybrid moln IaaS PaaS SaaS DaaS DaaS SLA Infrastructure as a Service, leverantör tillhandahåller infrastrukturen, jag tillhandahåller virtuella maskiner eller

Läs mer

Integrering med.net Examensarbete 20p Jonas Forsberg 2003-01-22

Integrering med.net Examensarbete 20p Jonas Forsberg 2003-01-22 Integrering med.net Examensarbete 20p Jonas Forsberg 2003-01-22 Abstract Integration of different systems is a common problem for most companies. This thesis investigates the possibility to use Microsoft

Läs mer

Introduktion till webbtjänster

Introduktion till webbtjänster Datavetenskap Christine Andersson & Hanna Karlsson Introduktion till webbtjänster Examensarbete, C-nivå 2003:14 Introduktion till webbtjänster Christine Andersson & Hanna Karlsson 2003 Christine Andersson,

Läs mer

Skärmbilden i Netscape Navigator

Skärmbilden i Netscape Navigator Extratexter till kapitel Internet Skärmbilden i Netscape Navigator Netscape är uppbyggt på liknande sätt som i de flesta program. Under menyraden, tillsammans med verktygsfältet finns ett adressfält. I

Läs mer

WEBBTEKNIK. Ämnets syfte

WEBBTEKNIK. Ämnets syfte WEBBTEKNIK Webbteknik används för att utveckla och vidareutveckla statiska och dynamiska webbsidor, webbplatser, webbapplikationer eller andra applikationer där webbtekniker används, till exempel applikationer

Läs mer

WEBBTEKNIK. Ämnets syfte

WEBBTEKNIK. Ämnets syfte WEBBTEKNIK Webbteknik används för att utveckla och vidareutveckla statiska och dynamiska webbsidor, webbplatser, webbapplikationer eller andra applikationer där webbtekniker används, till exempel applikationer

Läs mer

Litteratur. Nätverk, Internet och World Wide Web. Olika typer av nätverk. Varför nätverk? Anne Diedrichs Medieteknik Södertörns högskola

Litteratur. Nätverk, Internet och World Wide Web. Olika typer av nätverk. Varför nätverk? Anne Diedrichs Medieteknik Södertörns högskola Litteratur Nätverk, Internet och World Wide Web Anne Diedrichs Medieteknik Södertörns högskola Beekman kap 9-11 Varierar i olika upplagor. Läs alla kapitel om nätverk och Internet och webb Olika typer

Läs mer

Säker e-kommunikation 2009-04-22

Säker e-kommunikation 2009-04-22 Säker e-kommunikation 2009-04-22 Leif Forsman Logica 2008. All rights reserved Agenda - Inledning - Bakgrund och historik - Vilka risker och hot finns? - Vilka säkerhetslösningar finns det för att skydda

Läs mer

Datakommunika,on på Internet

Datakommunika,on på Internet Webbteknik Datakommunika,on på Internet Rune Körnefors Medieteknik 1 2015 Rune Körnefors rune.kornefors@lnu.se Internet Inter- = [prefix] mellan, sinsemellan, ömsesidig Interconnect = sammanlänka Net =

Läs mer

Javautvecklare. Utbildningsfakta. 400 YH-poäng, 2 år

Javautvecklare. Utbildningsfakta. 400 YH-poäng, 2 år Javautvecklare 400 YH-poäng, 2 år Utbildningsfakta Kurser (12 stycken) Grundläggande programmering och javaverktyg 50 yhp Grafiskt gränssnitt och interaktion 20 yhp Internet, webb och webbramverk 40 yhp

Läs mer

Webbservrar, severskript & webbproduktion

Webbservrar, severskript & webbproduktion Webbprogrammering Webbservrar, severskript & webbproduktion 1 Vad är en webbserver En webbserver är en tjänst som lyssnar på port 80. Den hanterar tillgång till filer och kataloger genom att kommunicera

Läs mer

Undervisningen ska ge eleverna tillfälle att arbeta i projekt samt möjlighet att utveckla kunskaper om projektarbete och dess olika faser.

Undervisningen ska ge eleverna tillfälle att arbeta i projekt samt möjlighet att utveckla kunskaper om projektarbete och dess olika faser. WEBBTEKNIK Webbteknik används för att utveckla och vidareutveckla statiska och dynamiska webbsidor, webbplatser, webbapplikationer eller andra applikationer där webbtekniker används, till exempel applikationer

Läs mer

Systemkrav och tekniska förutsättningar

Systemkrav och tekniska förutsättningar Systemkrav och tekniska förutsättningar Hogia Webbrapporter Det här dokumentet går igenom systemkrav, frågor och hanterar teknik och säkerhet kring Hogia Webbrapporter, vilket bl a innefattar allt ifrån

Läs mer

Fallstudie Den svenska Försvarsmakten Meddelandeinfrastruktur redo för det nya nätverksbaserade försvaret

Fallstudie Den svenska Försvarsmakten Meddelandeinfrastruktur redo för det nya nätverksbaserade försvaret Fallstudie Den svenska Försvarsmakten Meddelandeinfrastruktur redo för det nya nätverksbaserade försvaret Copyright 2002 - Xware AB. All rights reserved. xtrade is a registered trademark of Xware AB. Version

Läs mer

Informationssystem och databasteknik, 2I-1100

Informationssystem och databasteknik, 2I-1100 Informationssystem och databasteknik, 2I-1100 Introduktion till informationssystem - användning, teknik och utveckling Vad är ett informationssystem? Informationssystem: datoriserat system som stödjer

Läs mer

Creo Customization. Lars Björs 2014-10-16

Creo Customization. Lars Björs 2014-10-16 Creo Customization Lars Björs 2014-10-16 Norra Europas största partner och återförsäljare av PTC relaterad programvara (Windchill, Creo, Arbortext, MathCad, Relex) 70 anställda Egen utvecklingsavdelning

Läs mer

Modul 6 Webbsäkerhet

Modul 6 Webbsäkerhet Modul 6 Webbsäkerhet Serverskript & Säkerhet Webbservrar & serverskript exponerar möjlighet för fjärranvändare att skicka data och köra kod vilket medför risker. Man ska aldrig lita på att alla vill göra

Läs mer

IP-baserade program. Telnet

IP-baserade program. Telnet Det här kapitlet behandlar några klassiska TCP/IP-baserade program. Främsta fokus är HTTP men även lite enklare applikationer som telnet och FTP behandlas. Kapitlet är tänkt att kunna läsas fristående

Läs mer

Decentraliserad administration av gästkonton vid Karlstads universitet

Decentraliserad administration av gästkonton vid Karlstads universitet Datavetenskap Opponent(er): Markus Fors Christian Grahn Respondent(er): Christian Ekström Per Rydberg Decentraliserad administration av gästkonton vid Karlstads universitet Oppositionsrapport, C/D-nivå

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

Instruktion. Datum. 2013-06-19 1 (12) Coverage Dokument id Rev Status? - 1.0 Godkänd. Tillhör objekt -

Instruktion. Datum. 2013-06-19 1 (12) Coverage Dokument id Rev Status? - 1.0 Godkänd. Tillhör objekt - 20130619 1 (12)? 1.0 Godkänd Secure Manager Guide Hantera användarprofiler i tjänsten Telia Secure Manager Dokumentet beskriver hur du som administratör beställer och hanterar användarprofiler i administrationsportalen

Läs mer

Skapa ett paket av TI-Nspire programvara med Microsoft SMS 2003

Skapa ett paket av TI-Nspire programvara med Microsoft SMS 2003 Skapa ett paket av TI-Nspire programvara med Microsoft SMS 2003 Detta dokument ger steg för steg-instruktioner för att skapa och implementera ett TI-Nspire nätverkspaket via plattformen Microsoft SMS 2003.

Läs mer

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved.

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved. Administrera din SAS miljö med SAS Metadata Server och SAS Management Console. Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved. SAS Intelligence Value Chain

Läs mer

GATEWAY TJÄNSTEBESKRIVNING. Webbservice. WSDL-fil. Skicka meddelanden. SMS och FastnätsSMS

GATEWAY TJÄNSTEBESKRIVNING. Webbservice. WSDL-fil. Skicka meddelanden. SMS och FastnätsSMS GATEWAY TJÄNSTEBESKRIVNING Tjänsten Messit Gateway består av ett gränssnitt som enkelt kan implementeras i en egen applikation. Det enda som krävs för att använda Messit Gateway är att applikationen som

Läs mer

Senior utvecklare/arkitekt Rama Pour Rajaei Utbildningar Certifieringar Kontaktinformation

Senior utvecklare/arkitekt Rama Pour Rajaei Utbildningar Certifieringar Kontaktinformation Senior utvecklare/arkitekt Rama Pour Rajaei Rama har jobbat mer än 12 år som IT-konsult och är en mycket skicklig konsult inom sitt område som är systemutvecklingen/arkitektur av affärskritiska system

Läs mer

Microsoft Operations Manager 2005

Microsoft Operations Manager 2005 Microsoft Operations Manager 2005 Grundläggande begrepp Syfte med artikel När jag började arbeta med MOM2K5 upplevde jag det som svårt att få en överblick över alla komponenter och hur dessa hängde ihop.

Läs mer

Daniel Akenine, Teknikchef, Microsoft Sverige

Daniel Akenine, Teknikchef, Microsoft Sverige Daniel Akenine, Teknikchef, Microsoft Sverige Quincy Invånare: 5,300 Arbete: 52% jordbruk 18 % byggsektor 18 % offentlig sektor Språk: Spanska 57% Företaget Inköp Företaget Inköp Installering Lång

Läs mer

LEFI Online, system till system (Leverera Förmånsinformation) WEBBSERVICE/SHS/SSEK

LEFI Online, system till system (Leverera Förmånsinformation) WEBBSERVICE/SHS/SSEK LEFI Online, system till system (Leverera Förmånsinformation) WEBBSERVICE/SHS/SSEK Gränssnittsspecifikation Försäkringskassan IT 1 (11) Ändringsförteckning Nedanstående tabell redovisar ändringshistoriken

Läs mer

communication En produkt från ida infront - a part of Addnode

communication En produkt från ida infront - a part of Addnode communication En produkt från ida infront - a part of Addnode Det handlar egentligen inte om kryperting, nyckelhantering, och elektroniska certifikat. innehåll communication Det handlar om trygghet och

Läs mer

WINTEXT SERVER/ WINTEXT32 integrerad texttelefoni i tele- och datornät

WINTEXT SERVER/ WINTEXT32 integrerad texttelefoni i tele- och datornät WINTEXT SERVER/ WINTEXT32 integrerad texttelefoni i tele- och datornät Projektbeskrivning och funktionsspecifikation Henrik Karlsson, AmuHadar 1 2003-11-24 Innehållsförteckning Sammanfattning sid 2 Mål

Läs mer

MBIT BREDBAND VI ÄGS AV INVÅNARNA I KARLSHAMN REGISTRERA DIG IDAG. Din lokala elleverantör. Starka på hemmaplan. Din guide till Karlshamnsporten

MBIT BREDBAND VI ÄGS AV INVÅNARNA I KARLSHAMN REGISTRERA DIG IDAG. Din lokala elleverantör. Starka på hemmaplan. Din guide till Karlshamnsporten 1000 MBIT BREDBAND VI ÄGS AV INVÅNARNA I KARLSHAMN REGISTRERA DIG IDAG Din guide till Karlshamnsporten Din lokala elleverantör Starka på hemmaplan Hej, Karlshamnsporten är en tjänstevalsportal där du själv

Läs mer

Ingenjörsfirman Stéen 2001-12-13 Java Sida 1 av 1

Ingenjörsfirman Stéen 2001-12-13 Java Sida 1 av 1 Java Sida 1 av 1 Java Mål och Syfte Målet med denna kurs i Java är att du direkt efteråt ska kunna börja utveckla dina första Javaapplikationer. Kursen ger dig många konkreta exempel på hur detta effektiva

Läs mer

TENTAMEN FÖR KURS DAV C03, DATAKOMMUNIKATION II 5p Sid 1 av 6 Torsdag 01-10-25 kl 14.00 19.00

TENTAMEN FÖR KURS DAV C03, DATAKOMMUNIKATION II 5p Sid 1 av 6 Torsdag 01-10-25 kl 14.00 19.00 !#"$ %&(')+*#,&-(*#%$-#./) %$'45%&67%&89 TENTAMEN FÖR KURS DAV C, DATAKOMMUNIKATION II 5p Sid av 6 Torsdag --5 kl 4. 9. Ansvarig lärare: Johan Garcia, Annika Wennström, Katarina Asplund Betygsgränser:

Läs mer

30 år av erfarenhet och branschexperts

30 år av erfarenhet och branschexperts 30 år av erfarenhet och branschexperts Integrerad Säkerhet Integrerad Säkerhet Varför överordnat system Användarvänlighet Kvalitet Trygghet Kostnadseffektivitet Varför ett överordnat system? Med stora

Läs mer

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a.

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a. Översikt UML Sekvensdiagram (dynamic structure) Informationsflöde genom programmet Användningsfall (use cases) Aktörers interaktion med systemet Paketdiagram Beroenden mellan paket abstrakta klasser Multipel

Läs mer

Apotekens Service. federationsmodell

Apotekens Service. federationsmodell Apotekens Service Federationsmodell Detta dokument beskriver hur Apotekens Service samverkar inom identitetsfederationer Datum: 2011-12-12 Version: Författare: Stefan Larsson Senast ändrad: Dokumentnamn:

Läs mer

Föreläsning 15: Repetition DVGA02

Föreläsning 15: Repetition DVGA02 Föreläsning 15: Repetition DVGA02 Vad handlar kursen om? Kursen kan i grova drag delas upp i tre delar: 1. Objekt-orienterad programmering 2. Grafiska användargränssnitt 3. Datastrukturer Dessutom genomsyras

Läs mer

Guide för Innehållsleverantörer

Guide för Innehållsleverantörer Library of Labs Content Provider s Guide Guide för Innehållsleverantörer Inom LiLa ramverket är innehållsleverantörer ansvariga för att skapa experiment som "LiLa Learning Objects", att ladda upp dessa

Läs mer

TMP Consulting - tjänster för företag

TMP Consulting - tjänster för företag TMP Consulting - tjänster för företag Adress: http://tmpc.se Kontakta: info@tmpc.se TMP Consulting är ett bolag som utvecklar tekniska lösningar och arbetar med effektivisering och problemslösning i organisationer.

Läs mer

Välkommen! SA S PSA S Im I puls s Mobilite t t e 8 1

Välkommen! SA S PSA S Im I puls s Mobilite t t e 8 1 Välkommen! SAPSA Impuls Mobilitet 81 Impuls sponsorer 2012 Guldsponsorer SAPSA Impuls Mobilitet 81 Mobilitet 81: Mobil reseräkningsapp med möjlighet att fotografera kvittona Christer Ingemarsson Lena Kågedal

Läs mer

F5 Exchange 2007. 2013-01-16 Elektronikcentrum i Svängsta Utbildning AB 2013-01-16 1

F5 Exchange 2007. 2013-01-16 Elektronikcentrum i Svängsta Utbildning AB 2013-01-16 1 F5 Exchange 2007 2013-01-16 Elektronikcentrum i Svängsta Utbildning AB 2013-01-16 1 Spam Control and Filtering Elektronikcentrum i Svängsta Utbildning AB 2013-01-16 2 Idag: Relaying Spamhantering och filtrering

Läs mer

Introduktion. Byggstenar TDBA63 2005-11-22

Introduktion. Byggstenar TDBA63 2005-11-22 Introduktion UML står för Unified Modeling Language. Det är tänkt att fungera som hjälpmedel vid modellering av alla tänkbara typer av utvecklingsarbeten, inte bara inom dataomdrådet. Det största värdet

Läs mer

Analys av BI-system och utveckling av BIapplikationer

Analys av BI-system och utveckling av BIapplikationer Computer Science Fredrik Nilsson, Jonas Wånggren Daniel Strömberg Analys av BI-system och utveckling av BIapplikationer Opposition Report, C/D-level 2005:xx 1 Sammanfattat omdöme av examensarbetet Vi tycker

Läs mer

Sammanfattning och specifikationer för POT

Sammanfattning och specifikationer för POT 0.2 Sammanfattning och specifikationer för POT Kornhamnstorg 61 SE-111 27 Stockholm Sweden 00 00 Telefon: +46 (0)8 791 92 Telefax: +46 (0)8 791 95 www.certezza.net Innehållsförteckning 1 SAMMANFATTNING...

Läs mer

Inledande programmering med C# (1DV402) Introduktion till C#

Inledande programmering med C# (1DV402) Introduktion till C# Introduktion till C# Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i

Läs mer

NSL Manager. Handbok för nätverksadministratörer

NSL Manager. Handbok för nätverksadministratörer apple NSL Manager Handbok för nätverksadministratörer Den här handboken innehåller information om NSL Manager (Network Services Location Manager) och om hur man konfigurerar ett nätverk för användning

Läs mer

Modul 3 Föreläsningsinnehåll

Modul 3 Föreläsningsinnehåll 2015-02-03 2015 Jacob Lindehoff, Linnéuniversitetet 1 Modul 3 Föreläsningsinnehåll Vad är ett certifikat? Användningsområden Microsoft Certificate Services Installation Laboration Ingår i Klustringslabben

Läs mer

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka Webben som verktyg Idag: Hur hänger det ihop? Viktiga tekniker Stegen i ett webbprojekt Verktyg Dreamweaver Photoshop Joomla CMS Storyboard och flödesschema Fixa webbhotell Hur hänger det ihop? För att

Läs mer

Compose Connect. Hosted Exchange

Compose Connect. Hosted Exchange Sida 1 av 15 Compose Connect Hosted Exchange Presentation av lösningen: Compose Hosted Exchange Följande möjligheter finns för hantering av e-post 1. Lokalinstallerad Outlook-klient För att kunna använda

Läs mer

Kursplan Gränssnittsdesign och Webbutveckling 1 Vårtermin 2014

Kursplan Gränssnittsdesign och Webbutveckling 1 Vårtermin 2014 Kursplan Gränssnittsdesign och Webbutveckling 1 Vårtermin 2014 Kurswebb: www.creativerooms.se/edu, välj Gränssnittsdesign eller Webbutveckling 1 Lärare: Aino-Maria Kumpulainen, aino-maria.kumpulainen@it-gymnasiet.se

Läs mer

Alternativet är iwindows registret som ni hittar under regedit och Windows XP 32 bit.

Alternativet är iwindows registret som ni hittar under regedit och Windows XP 32 bit. TNT ExpressShipper installation. Om ni redan har en ExpressShipper installation på företaget behöver ni först ta reda på vilken version som är installerad och sökvägen till databasen. Versionen ser ni

Läs mer

Säkerhet ur ett testperspektiv

Säkerhet ur ett testperspektiv Säkerhet ur ett testperspektiv (Erfarenheter efter 4 år med säkerhetstest på Microsoft) Copyright Prolore AB. All rights reserved. Viktor Laszlo - Prolore Jobbat med teknisk testning i 15 år Var med och

Läs mer

Utveckling av ett grafiskt användargränssnitt

Utveckling av ett grafiskt användargränssnitt Datavetenskap Opponenter: Daniel Melani och Therese Axelsson Respondenter: Christoffer Karlsson och Jonas Östlund Utveckling av ett grafiskt användargränssnitt Oppositionsrapport, C-nivå 2010-06-08 1 Sammanfattat

Läs mer

Taxi boknings system, inpassering och medlemshanterings system, betallösningar, realtidssystem, App utveckling

Taxi boknings system, inpassering och medlemshanterings system, betallösningar, realtidssystem, App utveckling Magnus Moberg Är en strukturerad och noggrann systemutvecklare/arkitekt som tycker om nya utmaningar. Har 17 års erfarenhet av systemutveckling, produktframställning, design och arkitekt. Har jobbat med

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

Kurskatalog 2010 INNEHÅLLSFÖRTECKNING

Kurskatalog 2010 INNEHÅLLSFÖRTECKNING SFÖRTECKNING 1. RFID-Kurser... 2 1.1. RFID Grundkurs... 2 1.2. RFID Fortsättningskurs... 3 1.3. RFID dator programmering... 4 1.4. RFID Systemadministration... 5 1.5. RFID Aktiv Systemadministration...

Läs mer

Grundläggande nätverksteknik. F2: Kapitel 2 och 3

Grundläggande nätverksteknik. F2: Kapitel 2 och 3 Grundläggande nätverksteknik F2: Kapitel 2 och 3 Kapitel 2 COMMUNICATING OVER THE NETWORK Grundstenar i kommunka;on Tre grundläggande element Message source The channel Message des;na;on Media Segmentering

Läs mer

Nya möjligheter med M3 Technology. Björn Svensson, Björn Torold

Nya möjligheter med M3 Technology. Björn Svensson, Björn Torold Nya möjligheter med Technology Björn Svensson, Björn Torold Vem är vi? 2 Copyright 2011 Lawson. All rights reserved. Nya möjligheter med Technology System Foundation Grid Förändrar basen i Installation

Läs mer

WELCOME TO. Value of IAM in Business Integrations

WELCOME TO. Value of IAM in Business Integrations WELCOME TO Value of IAM in Business Integrations WELCOME TO Value of IAM Agenda Zipper Zecurity, vilka är vi? IAM, varför och vad gör det för nytta? IBM Security Identity Manager IBM Security Role & Policy

Läs mer

WHITE PAPER. Open End TM Funktionell översikt

WHITE PAPER. Open End TM Funktionell översikt Open End TM Funktionell översikt Open End tillför verksamhetsprocesser nya möjligheter genom att kombinera avancerad teknik för automatiserad informationshantering i realtid med intuition och hög användbarhet.

Läs mer

Kunskapsbank ICARUS DB

Kunskapsbank ICARUS DB Kunskapsbank ICARUS DB K E Y L O G I C A B 1 Innehållsförteckning 1 Innehållsförteckning 1 2 SQL Server 2005 3 2.1 Installation 3 2.2 Användargränssnitt (DBMS) för SQL Express 3 2.3 Undvik att transaktionsloggen

Läs mer

QC i en organisation SAST 2008-09-16

QC i en organisation SAST 2008-09-16 QC i en organisation SAST 2008-09-16 1 Agenda Hur är vi organiserade inom test på SEB? Hur är QC uppsatt på SEB? Hur arbetar vi med QC i en stor organisation? Uppfyllde QC våra förväntningar och hur har

Läs mer

Innehåll. Dokumentet gäller från och med version 2014.3 1

Innehåll. Dokumentet gäller från och med version 2014.3 1 Innehåll Introduktion... 2 Före installation... 2 Beroenden... 2 Syftet med programmet... 2 Installation av IIS... 2 Windows Server 2008... 2 Windows Server 2012... 6 Installation av webbapplikationen

Läs mer

Säkerhet i applikationslagret och slaget om webben. John Wilander, Omegapoint, Rätt säkerhet, maj 2010

Säkerhet i applikationslagret och slaget om webben. John Wilander, Omegapoint, Rätt säkerhet, maj 2010 Säkerhet i applikationslagret och slaget om webben John Wilander, Omegapoint, Rätt säkerhet, maj 2010 John Wilander, konsult Omegapoint Forskar inom mjukvarusäkerhet Leder svenska OWASP Certifierad inom

Läs mer

Java Programmer for JDK 1.1 1997 Developer for Java 2 Platform 2002

Java Programmer for JDK 1.1 1997 Developer for Java 2 Platform 2002 Systemarkitekt/systemutvecklare Trevor Lyall arbetar som systemarkitekt och senior systemutvecklare. Han har en lång och bred erfarenhet av projekt inom flera olika branscher. Med sitt djupa intresse för

Läs mer

Statistik från webbplatser

Statistik från webbplatser Statistik från webbplatser problem och möjligheter Ulf Kronman Föredragets huvuddelar Frågorna och motfrågorna Vilka frågor ställer chefen, BIBSAM och ISO? Varför ställer webmastern krångliga motfrågor?

Läs mer

Programmering B med Visual C++ 2008

Programmering B med Visual C++ 2008 Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,

Läs mer

Delrapport DP3. FGS för paketstruktur för e-arkiv Bilaga 1 METS

Delrapport DP3. FGS för paketstruktur för e-arkiv Bilaga 1 METS Delrapport DP3 FGS för paketstruktur för e-arkiv Bilaga 1 METS Karin Bredenberg & Mats Berggren IT/SoU 010-476 71 23 2013-01-14 2.0 1(9) INNEHÅLLSFÖRTECKNING 1. BILAGA 1: METS...3 1.1 INTRODUKTION...3

Läs mer

2014-2015 Alla rättigheter till materialet reserverade Easec

2014-2015 Alla rättigheter till materialet reserverade Easec 1 2 Innehåll Introduktion... 3 Azure Client SDK Libraries... 4 Översikt: Azure Client Libraries... 5 Azure SDK... 6 Azure SDK (forts.)... 7 Azure SDK (forts.)... 8 Cloud Services... 10 Cloud Services...

Läs mer

Ärendehanteringssystem på web

Ärendehanteringssystem på web Ärendehanteringssystem på web Examensarbete inom Högskoleingenjörsprogrammet i datateknik JOHAN NILSSON HANSEN Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Göteborg, Sverige

Läs mer

EXAMENSARBETE. Tjänsteorienterad arkitektur (SOA) för integration mot upphandlingssystem. Ayman El-Jammal Johan Öhman. Luleå tekniska universitet

EXAMENSARBETE. Tjänsteorienterad arkitektur (SOA) för integration mot upphandlingssystem. Ayman El-Jammal Johan Öhman. Luleå tekniska universitet EXAMENSARBETE 2006:62 Tjänsteorienterad arkitektur (SOA) för integration mot upphandlingssystem Ayman El-Jammal Johan Öhman Luleå tekniska universitet Examensarbete, påbyggnadsutbildningar Datateknik Institutionen

Läs mer

Skalbar och flexibel systemarkitektur med Web-services och J2EE

Skalbar och flexibel systemarkitektur med Web-services och J2EE Handelshögskolan VID GÖTEBORGS UNIVERSITET Institutionen för informatik Skalbar och flexibel systemarkitektur med Web-services och J2EE - En undersökning inom det starkt föränderliga och dynamiska domännamnsregistreringsområdet

Läs mer

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1 Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1 För att 3L Pro skall fungera krävs att nedanstående hårdvarukrav och mjukvarukrav är uppfyllda. Viktigt är att tänka på att

Läs mer

ITK:P2 F1. Hemsidor med HTML HTML. FTP, HTTP, HTML, XML och XHTML

ITK:P2 F1. Hemsidor med HTML HTML. FTP, HTTP, HTML, XML och XHTML ITK:P2 F1 FTP, HTTP, HTML, XML och XHTML DSV Peter Mozelius 1 Hemsidor med HTML Hur många av er har provat på att bygga en egen hemsida med HTML eller XHTML? För hand eller med hjälpverktyg? Har ni lagt

Läs mer

När samverkan mellan affärssystemen är en besvärlig väg med många hinder

När samverkan mellan affärssystemen är en besvärlig väg med många hinder När samverkan mellan affärssystemen är en besvärlig väg med många hinder ITWorks Group System Integration Specialists Tel: 08 625 46 40 E-post: filexfilexpress ... gör vi vägen både rakare, snabbare och

Läs mer

Anvisning för Svensk Livfaktura

Anvisning för Svensk Livfaktura Anvisning för Svensk Livfaktura Bilaga B: Validering av PEPPOL BIS Svefaktura 5A 2.0 Version 1.0 Upphovsrätt Den här anvisningen för Livfaktura BIS 5A 2.0 är baserad på PEPPOL BIS 5A 2.0 som i sin tur

Läs mer

Unit testing methodology

Unit testing methodology Department of Computer Science Per Hurtig Stefan Lindberg & Fredrik Strandberg Unit testing methodology Opposition Report, C/D-level 2005:xx 1 Övergripande utvärdering Helhetsintrycket av uppsatsen är

Läs mer

DOCUMENT MANAGER FI/ NO/ SE

DOCUMENT MANAGER FI/ NO/ SE SOLUTION DESCRIPTION 1 (7) DOCUMENT MANAGER FI/ NO/ SE SOLUTION DESCRIPTION SOLUTION DESCRIPTION 2 (7) INNEHÅLL 1. DOCUMENT MANAGER... 3 2. BESKRIVNING AV DOCUMENT MANAGER... 3 2.1 Produkter... 4 2.1.1

Läs mer

EDA 390 - Datakommunikation och Distribuerade System. Peer-To-Peer system

EDA 390 - Datakommunikation och Distribuerade System. Peer-To-Peer system EDA 390 - Datakommunikation och Distribuerade System Peer-To-Peer system Andreas Bernet 810929-0018 beran@etek.chalmers.se Sektion: Elektroteknik Johan Zhang 820401-1830 zhaj@etek.chalmers.se Sektion:

Läs mer

Interoperabilitet inom GIS-domänen

Interoperabilitet inom GIS-domänen FOI-R--1226--SE Februari 2004 ISSN 1650-1942 Metodrapport Martin Eklöf, Göran Stensson, Per Söderberg, Jenny Ulriksson Interoperabilitet inom GIS-domänen Systemteknik 172 90 Stockholm TOTALFÖRSVARETS FORSKNINGSINSTITUT

Läs mer

F6 Exchange 2007. 2013-01-16 EC Utbildning AB 2013-01-16

F6 Exchange 2007. 2013-01-16 EC Utbildning AB 2013-01-16 F6 Exchange 2007 2013-01-16 EC Utbildning AB 2013-01-16 1 Kapitel 6, Sid 303-310 Antivirus and Security EC Utbildning AB 2013-01-16 2 Dagens meny Idag: Allmän uppsäkring av system Defense in-depth Verktyg

Läs mer

PROV. 13 JSP Standard Tag Library

PROV. 13 JSP Standard Tag Library 13 JSP Standard Tag Library 13.1 Bibliotek med nya JSP-kommandon 13.2 JSP Standard Tag Library (JSTL) 13.3 Filstruktur för webbapplikationer med JSTL 13.4 Deklaration av JSP-kommandon 13.5 Lägga till biblioteksfiler

Läs mer

STYRKAN I ENKELHETEN. Business Suite

STYRKAN I ENKELHETEN. Business Suite STYRKAN I ENKELHETEN Business Suite HOTET ÄR VERKLIGT Onlinehot mot ditt företag är verkliga, oavsett vad du gör. Om du har data eller pengar är du ett mål. Säkerhetstillbuden ökar drastiskt varje dag

Läs mer

Ett distribuerat system för automatisk värdepappershandel arkitektur och modell

Ett distribuerat system för automatisk värdepappershandel arkitektur och modell Ett distribuerat system för automatisk värdepappershandel arkitektur och modell Mattias Moltkesson TRITA-NA-E03152 NADA Numerisk analys och datalogi Department of Numerical Analysis KTH and Computer Science

Läs mer

Skicka och hämta filer med automatik till och från Försäkringskassan

Skicka och hämta filer med automatik till och från Försäkringskassan Skicka och hämta filer med automatik till och från Försäkringskassan 1 (25) Innehållsförteckning Revisionshistorik... 3 Inledning... 4 1 Förutsättningar... 4 1.1 Registrera... 4 1.2 Certifikat... 4 2 Skicka

Läs mer