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=" SOAP-ENV:encodingStyle=" <SOAP-ENV:Header> <From SOAP:mustUnderstand= 1 > sender@somebody.com </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

XML-produkter. -Registret över verkliga huvudmän (RVH) Teknisk handledning för webbtjänst mot RVH (Web Services) Datum: Version: 1.

XML-produkter. -Registret över verkliga huvudmän (RVH) Teknisk handledning för webbtjänst mot RVH (Web Services) Datum: Version: 1. XML-produkter -Registret över verkliga huvudmän (RVH) Teknisk handledning för webbtjänst mot RVH (Web Services) Datum: 2018-09-18 Version: 1.0 Innehållsförteckning 1. Inledning... 3 1.1. Syfte 3 1.2. Målgrupp

Läs mer

Kärnfunktionalitet. Middleware. Samverkande system. Service Oriented Architecture. Kommunikationsmekanismer. Tjänsteorienterade arkitekturer

Kärnfunktionalitet. Middleware. Samverkande system. Service Oriented Architecture. Kommunikationsmekanismer. Tjänsteorienterade arkitekturer Samverkande system Tjänsteorienterade arkitekturer Hur får vi mjukvarukomponenter som är distribuerade över internet att enkelt upptäcka, utnyttja, och interagera med, varandra? Vi vill ha Komponenter

Läs mer

Förra föreläsningen: Olika nivåer av meddelanden. Från oblockad sändning till. RPC: Parameterpassning, registrering, felhantering, säkerhet, kompilering ONC RPC: XDR, portmapper Brandväggar, dynamisk brandväggskonfigurering,

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 API er

Webbtjänster med API er Webbtjänster med API er Mål med lektionen! Veta kursmålen. Lite grunder om WCF Vem är jag? Mitt namn är Björn Jönsson och jobbar på Tahoe Solutions, ni når mig via mail: bjorn.jonsson@tahoesolutions.se

Läs mer

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1. Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning

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

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

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

Webbtjänster med API er

Webbtjänster med API er Webbtjänster med API er Mål med lektionen! Titta på hur service:ar fungerar och hur vi programmerar dem. Vad lektionen omfattar WCF Service WCF Services Vad är en WCF service? En WCF Service är ett program

Läs mer

Distribuerade System, HT03

Distribuerade System, HT03 UMEÅ UNIVERSITET 21 oktober 2003 Institutionen för Datavetenskap Laborationsrapport Laboration Middleware Distribuerade System, HT03 Jini Namn: Anders Holm, c00asm@cs.umu.se Kjell Johansson, c00kjn@cs.umu.se

Läs mer

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Introduktion till integrering av Schenkers e-tjänster. Version 2.0 Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen

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

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av

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

Johan.Sall.2535 Thomas.Wahlsten Distribuerade System HT 2002

Johan.Sall.2535 Thomas.Wahlsten Distribuerade System HT 2002 Johan.Sall.2535 Thomas.Wahlsten.1711 Distribuerade System HT 2002 Sammanfattning Vår uppgift har varit att skriva en rapport om CORBA, en av de tidigaste och mest använda arkitekturerna för distribuerade

Läs mer

Skriftlig tentamen i kursen TDTS04 Datornät och distribuerade system 2008-08-21 kl. 8 12

Skriftlig tentamen i kursen TDTS04 Datornät och distribuerade system 2008-08-21 kl. 8 12 LiTH, Tekniska högskolan vid Linköpings universitet (6) IDA, Institutionen för datavetenskap Juha Takkinen 2008-08-9 Skriftlig tentamen i kursen TDTS04 Datornät och distribuerade system 2008-08-2 kl. 8

Läs mer

Regelverk. Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag. Bilaga A. Tekniska ramverk. Version: 1.0

Regelverk. Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag. Bilaga A. Tekniska ramverk. Version: 1.0 Regelverk Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag Bilaga A Tekniska ramverk Version: 1.0 Innehållsförteckning 1 Bakgrund och syfte... 1 1.1 Definitioner 1 2 Inledning...

Läs mer

Webbserverprogrammering

Webbserverprogrammering Webbserverprogrammering WES Webbserverprogrammering Ämnet webbserverprogrammering behandlar funktionalitet för webblösningar och samspelet mellan beställare, användare, formgivare och utvecklare. Ämnets

Läs mer

Enterprise Java Beans Assignment 1

Enterprise Java Beans Assignment 1 Enterprise Java Beans Assignment 1 Distribuerade System HT 02 Fredrik Lundgren Andreas Nyberg fredrikbjurefors@hotmail.com goca8363@student.uu.se frlu4469@student.uu.se andreas.nyberg@hushmail.com Innehållsförteckning

Läs mer

Swedbank Mobile Loadtesting. LoadRunner 11.04 Mobile App protocol

Swedbank Mobile Loadtesting. LoadRunner 11.04 Mobile App protocol Swedbank Mobile Loadtesting LoadRunner 11.04 Mobile App protocol Bakgrund Mission: Prestandatesta mobilt backend Typ: RESTful tjänst Underlag: Dokumenterat URI och API (Uniform Resource Identifier, Application

Läs mer

WEBBSERVERPROGRAMMERING

WEBBSERVERPROGRAMMERING WEBBSERVERPROGRAMMERING Ämnet webbserverprogrammering behandlar funktionalitet för webblösningar och samspelet mellan beställare, användare, formgivare och utvecklare. Ämnets syfte Undervisningen i ämnet

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

En snabb titt på XML LEKTION 6

En snabb titt på XML LEKTION 6 LEKTION 6 En snabb titt på XML Bokstaven x i Ajax står för XML, ett mycket användbart beskrivningsspråk som gör det möjligt för Ajax-tillämpningar att hantera komplex strukturerad information. I den här

Läs mer

Regelverk. Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag. Bilaga A. Tekniska ramverk. Version: 3.0

Regelverk. Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag. Bilaga A. Tekniska ramverk. Version: 3.0 Regelverk Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag Bilaga A Tekniska ramverk Version: 3.0 Innehållsförteckning 1 Bakgrund och syfte... 1 1.1 Definitioner 1 2 Inledning...

Läs mer

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo Objektorienterade språk Historik Simula 67 Smalltalk 80 Procedurorienterad programmering Subprogram Programbibliotek Dataorienterad programmering Abstrakta datatyper Objektbaserade språk, föregångare till

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

SOA. Länkar +ll sidor om SOA h3p:// h3p://dsv.su.se/soa/

SOA. Länkar +ll sidor om SOA h3p://  h3p://dsv.su.se/soa/ SOA Länkar +ll sidor om SOA h3p://www.soaprinciples.com/p3.php h3p://dsv.su.se/soa/ Vad är SOA? h3p://www.soaprinciples.com/p3.php Standardized Service Contracts Service Loose Coupling Service Abstrac+on

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

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

Testdriven utveckling av Web Services. Ole Matzura

Testdriven utveckling av Web Services. Ole Matzura Testdriven utveckling av Web Services Ole Matzura eviware 1 Vad är Test-Driven utveckling? 2 Test Driven Utveckling 2 Grundregler (Kent Beck) Skriv aldrig kod utan ett fallerande test Eliminera duplicering

Läs mer

Hantera informationspaket i system för bevarande

Hantera informationspaket i system för bevarande Kompetensutveckling har erbjudits deltagare inom projektet Elektroniskt bevarande i form av en kurs i XML. Kursen har genomförts av Riksarkivet och haft en praktisk inriktning. Ett 10-tal personer deltog

Läs mer

Laboration 1 XML-RPC

Laboration 1 XML-RPC UMEÅ UNIVERSITET 22 september 2003 Institutionen för datavetenskap Laboration 1 XML-RPC David Granström http://www.cs.umu.se/ ei01dgm/rapport_lab1.pdf kommentarer Handledare: Magnus

Läs mer

Webbtjänster med API er

Webbtjänster med API er Webbtjänster med API er Mål med lektionen! En lite djupare inblick i RESTfulla tjänster Vad lektionen omfattar RESTful Services Överblick SOAP kan vara lite overkill för vissa specifika web service scenarion.

Läs mer

Retrieve a set of frequently asked questions about digital loans and their answers

Retrieve a set of frequently asked questions about digital loans and their answers GetFAQ Webservice name: GetFAQ Adress: https://www.elib.se/webservices/getfaq.asmx WSDL: https://www.elib.se/webservices/getfaq.asmx?wsdl Webservice Methods: Name: GetFAQ Description: Retrieve a set of

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

Systemutvecklare SU14, Malmö

Systemutvecklare SU14, Malmö Systemutvecklare SU14, Malmö Tentamen, Tenta Utveckling med ramverket.net(35 YH-poäng) Plats: Plushögskolan Malmö Tid: 2 februari 2015, kl. 9.00-12.00 Tillåtna hjälpmedel: Papper, penna, suddgummi. Ej

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

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv

Läs mer

Objektorienterad Programkonstruktion

Objektorienterad Programkonstruktion Objektorienterad Programkonstruktion Föreläsning 9 Projektuppgift Collection, Iterator, Composite Christian Smith ccs@kth.se 1 Projektuppgift IM, skickar meddelanden mellan datorer En lite större labbuppgift,

Läs mer

Laboration 1 Distribuerade system C, 5p. Middleware.NET

Laboration 1 Distribuerade system C, 5p. Middleware.NET UMEÅ UNIVERSITET 21 oktober 2003 Institutionen för Datavetenskap Laborationsrapport Laboration 1 Distribuerade system C, 5p Middleware.NET Inlämning 2 Namn E-mail Rickard Sjöström, Tomas Skott Christian

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

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.7

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.7 för version 1.7 Innehållsförteckning Innehållsförteckning... 2 Krav för... 3 Systemskiss... 3 Systemkrav Server... 4 Operativsystem*... 4 Program i servern... 4 Databas... 5 SMTP inställningar för mail....

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

Facit Tentamen 17/3 Informationsinfrastruktur

Facit Tentamen 17/3 Informationsinfrastruktur Facit Tentamen 17/3 Informationsinfrastruktur Teoridel (30 p) 1) Svar Application infrastructure innehåller system och tjänster som tillhandahåller funktionalitet och information till olika verksamheter.

Läs mer

Mål med lektionen! Repetera och befästa kunskaperna.

Mål med lektionen! Repetera och befästa kunskaperna. Entity Framework Mål med lektionen! Repetera och befästa kunskaperna. Vad lektionen omfattar Repetera och gå igenom kursen lite snabbt. Vilka problem vill vi lösa? Vi arbetar med Webbapplikationer Vi kommer

Läs mer

Datasäkerhet och integritet

Datasäkerhet och integritet Chapter 4 module A Networking Concepts OSI-modellen TCP/IP This module is a refresher on networking concepts, which are important in information security A Simple Home Network 2 Unshielded Twisted Pair

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

Geodataportalen - Metadata - Dokumentation av tjänster

Geodataportalen - Metadata - Dokumentation av tjänster PM 1(13) Geodataportalen - Metadata - Dokumentation av tjänster Organisation Postadress Besöksadress Telefon E-post Internet Lantmäteriet 801 82 Gävle Lantmäterigatan 2 0771-63 63 63 geodatasekretariatet@lm.se

Läs mer

UC API Teknisk referens för UC:s svenska personinformation

UC API Teknisk referens för UC:s svenska personinformation UC API Teknisk referens för UC:s svenska personinformation Innehåll Innehåll... 2 Tjänstebeskrivning... 3 Referenser... 3 Operationer... 4 Exempel... 5 Exempel anrop för personfråga... 5 Fråga... 5 Svar...

Läs mer

Tentamen, Distribuerade System/Programvaruarkitektur 2001-08-24

Tentamen, Distribuerade System/Programvaruarkitektur 2001-08-24 Tentamen, Distribuerade System/Programvaruarkitektur 2001-08-24 FÖRSÄTTSBLAD Inlämnas ifyllt tillsammans med tentan. Skriv namn på samtliga blad. Ange nedan vilka uppgifter du besvarat. Uppgift Besvarad

Läs mer

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, 1971. Internet började med ARPANET

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, 1971. Internet började med ARPANET Olika slags datornätverk Förberedelse inför laboration 4. Historik Protokoll, / Adressering, namnservrar WWW, HTML Föreläsning 5 Internet LAN Local Area Network student.lth.se (ganska stort LAN) MAN Metropolitan

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

Objektorienterad programmering, allmänt

Objektorienterad programmering, allmänt Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 juni 2005 1 Vilka egenskaper vill vi att program ska ha? Förslag (en partiell lista): De ska... gå snabbt att skriva vara

Läs mer

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha? Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 mars 2005 1. Korrekthet 2. Robusthet 3. Utökbarhet 4. Återanvändbarhet 5. Kompatibilitet

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015

Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015 Objektorienterad Programkonstruktion Föreläsning 10 7 dec 2015 Nätverksprotokoll - OSI Open Systems Interconnection model (ISO standard) definierar 7 lager för nätverkskommunikation: 1 - Physical Layer:

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

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

Filöverföring i Windowsmiljö

Filöverföring i Windowsmiljö Linnéuniversitetet Projektrapport Grundläggande Operativsystem 1DV415 Filöverföring i Windowsmiljö Erik Ljungqvist, Viktor Hjertman 10 januari 2014 Sammanfattning I detta projekt undersöks skillnaden i

Läs mer

Skriftlig tentamen i kursen TDTS0604 och TDTS43 Datornät och distribuerade system kl. 8 12

Skriftlig tentamen i kursen TDTS0604 och TDTS43 Datornät och distribuerade system kl. 8 12 LiTH, Linköpings tekniska högskola (6) IDA, Institutionen för datavetenskap Juha Takkinen 008-03-3 Skriftlig tentamen i kursen TDTS0604 och TDTS43 Datornät och distribuerade system 008-03-3 kl. 8 Lokal

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

Handbok Dela Skrivbord. Brad Hards Översättare: Stefan Asserhäll

Handbok Dela Skrivbord. Brad Hards Översättare: Stefan Asserhäll Brad Hards Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Protokollet Remote Frame Buffer 6 3 Använda Dela Skrivbord 7 3.1 Dela Skrivbords huvudfönster............................... 7 3.1.1

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

Ändringar i samband med aktivering av. Microsoft Windows Vista

Ändringar i samband med aktivering av. Microsoft Windows Vista Ändringar i samband med aktivering av Microsoft Windows Vista Volume Activation 2.0 Rutinerna som rör hantering av licensnycklar och aktivering finns nu i en ny version. I den tidigare versionen behövde

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

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

Institutionen för datavetenskap

Institutionen för datavetenskap Institutionen för datavetenskap Department of Computer and Information Science Examensarbete Tjänstebaserat informationssystem på en flygplats en undersökning kring säkerhet hos olika mellanprogram samt

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

Webbtjänster med API er

Webbtjänster med API er Webbtjänster med API er Mål med lektionen! Titta på WCF klienter och förstå dessa. Vad lektionen omfattar WCF Clients Komma åt endpoints Vi har pratat om WCF i stort och vi har pratat om hur vi bygger

Läs mer

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion Webbteknik En kort introduktion Innehåll Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender 1 Historisk återblick 89 CERN Tim Berners Lee Ett plattformsoberoende sätt att sprida

Läs mer

www.skillspartner.com

www.skillspartner.com Mål Deltagarna ska förstå: Vad XML är Hur XML fungerar Vilka problem XML löser Hur XML används Känna till begrepp: DTD, DOM, XSL etc. Känna till verktyg Innehåll Vad är XML XML i relation till HTML XML

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar hur mjukvaror skapas, anpassas och utvecklas samt programmeringens roll i informationstekniska sammanhang som datorsimulering och praktisk datoriserad problemlösning.

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

Säkerhet. Säker kommunikation - Nivå. Secure e-mail. Alice wants to send secret e-mail message, m, to Bob.

Säkerhet. Säker kommunikation - Nivå. Secure e-mail. Alice wants to send secret e-mail message, m, to Bob. Säkerhet Förra gången Introduktion till säkerhet och nätverkssäkerhet Kryptografi Grunder Kryptografiska verktygslådan Symmetriska algoritmer Envägs hashfunktioner Asymmetriska algoritmer Digitala signaturer

Läs mer

Webbtjänster med API er

Webbtjänster med API er Webbtjänster med API er Repetera kunskaperna Mål med lektionen! Vad lektionen omfattar Repetition av kursen. Webbtjänster? En webbtjänst är en tjänst som erbjuds av en elektronisk anordning till en annan

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

Undervisningen i ämnet webbutveckling ska ge eleverna förutsättningar att utveckla följande:

Undervisningen i ämnet webbutveckling ska ge eleverna förutsättningar att utveckla följande: WEBBUTVECKLING Ämnet webbutveckling behandlar de tekniker som används för att presentera och bearbeta information i webbläsaren samt utifrån dessa tekniker skapa och vidareutveckla statiska och dynamiska

Läs mer

URVAL AV UTFÖRDA HOBBYPROJEKT

URVAL AV UTFÖRDA HOBBYPROJEKT URVAL AV UTFÖRDA HOBBYPROJEKT Här följer information om ett urval av utförda hobbyprojekt. ÄVENTYRARNAS SKATTJAKT Ett strategiskt brädspel i fantasymiljö som jag tillverkat. Spelarna spelar som olika fraktioner

Läs mer

Innehåll. 1 Om detta dokument. 1 Om detta dokument 1. 2 Kundnytta 2 2.1 Introduktion till BACnet 2

Innehåll. 1 Om detta dokument. 1 Om detta dokument 1. 2 Kundnytta 2 2.1 Introduktion till BACnet 2 Innehåll 1 Om detta dokument 1 2 Kundnytta 2 2.1 Introduktion till BACnet 2 3 Vad ska du tänka på vid projektering? 3 3.1 IP-plan 3 3.2 PICS 3 3.3 BIBBar 4 3.4 Profiler 4 3.5 Certifiering 4 3.6 EDE-filer

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

Handbok Dela Skrivbord. Brad Hards Översättare: Stefan Asserhäll

Handbok Dela Skrivbord. Brad Hards Översättare: Stefan Asserhäll Brad Hards Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Protokollet Remote Frame Buffer 6 3 Använda Dela Skrivbord 7 3.1 Hantera inbjudningar i Dela Skrivbord.......................... 9 3.2

Läs mer

Services + REST och OAuth

Services + REST och OAuth Services + REST och OAuth Syftet med Services Skapa ett Drupal API för att exponera webb- API:er. Officiella versionen - Create a unified Drupal API for web services to be exposed in a variety of different

Läs mer

Testtentamen i kursen TDTS04 Datornät och distribuerade system vt 2009

Testtentamen i kursen TDTS04 Datornät och distribuerade system vt 2009 LiTH, Tekniska högskolan vid Linköpings universitet (6) IDA, Institutionen för datavetenskap Juha Takkinen 009-03- Testtentamen i kursen TDTS04 Datornät och distribuerade system vt 009 Lokal Valfri. Tillåtna

Läs mer

Introduktion till Entity Framework och LINQ. Källa och läs mer https://msdn.microsoft.com/en-us/data/aa937709.aspx

Introduktion till Entity Framework och LINQ. Källa och läs mer https://msdn.microsoft.com/en-us/data/aa937709.aspx Introduktion till Entity Framework och LINQ Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Vad är Entity Framework? The Microsoft ADO.NET Entity Framework is an Object/Relational Mapping

Läs mer

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? TDDD78, TDDE30, jonas.kvarnstrom@liu.se 729A85 jonas.kvarnstrom@liu.se

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

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Designmönster Adapter, Factory, Iterator,

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

Classes och Interfaces, Objects och References, Initialization

Classes och Interfaces, Objects och References, Initialization Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class

Läs mer

Elektronisk tidredovisning

Elektronisk tidredovisning Elektronisk tidredovisning Presentation av gränssnitt mot tidrapporteringssystem Sid 1 Elektronisk tidredovisning Tekniskt gränssnitt för tidredovisning Försäkringskassan tillhandhåller ett webbtjänstegränssnitt

Läs mer

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? jonas.kvarnstrom@liu.se 2014 2017 jonas.kvarnstrom@liu.se

Läs mer

SKOLFS. beslutade den XXX 2017.

SKOLFS. beslutade den XXX 2017. 1 (11) Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:247) om ämnesplan för ämnet programmering i gymnasieskolan, inom kommunal vuxenutbildning på gymnasial nivå och inom vidareutbildning

Läs mer

INNEHÅLL. Konfigurering av SQL Server. Egenskaper Kommunikationsprotokoll

INNEHÅLL. Konfigurering av SQL Server. Egenskaper Kommunikationsprotokoll INNEHÅLL Konfigurering av SQL Server Egenskaper Kommunikationsprotokoll 1 KONFIGURERING AV SQL SERVER SQL Server är nästan självkonfigurerande. Minne, anslutningar och buffrar hanteras dynamiskt. Man kan

Läs mer

SKOLFS. beslutade den -- maj 2015.

SKOLFS. beslutade den -- maj 2015. SKOLFS Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:247) om ämnesplan för ämnet programmering i gymnasieskolan och inom kommunal vuxenutbildning på gymnasial nivå; beslutade den -- maj

Läs mer

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:

Läs mer

FileMaker Pro 13. Använda Fjärrskrivbord med

FileMaker Pro 13. Använda Fjärrskrivbord med FileMaker Pro 13 Använda Fjärrskrivbord med FileMaker Pro 13 2007-2013 FileMaker, Inc. Med ensamrätt. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Kalifornien 95054, USA FileMaker och Bento är

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