Web Services. 1. Vad är Web Services?

Storlek: px
Starta visningen från sidan:

Download "Web Services. 1. Vad är Web Services?"

Transkript

1 Web Services Magnus Söderström Department of Computer Science Åbo Akademi University, FIN Åbo, Finland URL: Abstrakt Web Service är ett försök att standardisera RPC metoden som förut varit beroende av plattform och språk, allt från CORBA till RMI och bygger på redan tillgängliga och standardiserade byggstenar nämligen XML och HTTP. Web Service kan delas upp i tre olika delar, SOAP protokollet vilket definierar vad som flyttas. WSDL beskriver hur data handlas och till sist UDDI som berättar vilka services som finns tillgängliga. Web Service är en plattform oberoende metod att transportera och söka data från geografiskt distribuerade system. Klassificering C.2.2, C2.4, C.2.6, I.7.2, SIGecom, SIGIR 1. Vad är Web Services? Web Services är ett brett begrepp som kan definieras på många olika sätt. Bland annat har Web Services definierats som...a network-accessible interface to application functionality, built using standard Internet technologies eller...any service that is available over the Internet, uses a standardized XML messaging system, and is not tied to any one operating system [TilleyEtAl02]. Det centrala delarna i definitionerna ovan är nätverk, plattform oberoende samt XML. Web Services kan sägas på ett sätt revolutionera det sätt vi ser applikations funktionalitet. Den gör

2 det genom att möjliggöra funktionsanrop över nätet oberoende av sändarens och mottagarens teknik, om det sen är det lokala nätet eller över internet. I och med att Web Services tekniken fungerar runt XML och HTTP som är standarder så betyder det att man samtidigt uppnår plattform oberoende som är problemet med bla. RMI, CORBA, RPC and andra liknande teknologier. Dessa är oftast bundna till en viss plattform eller leverantör vilket binder en till en viss teknologi vilket inte alltid är önskvärt. Web Services är en 4-5 år gammal teknik som kom i början av 1999 av adopterades snabbt av Microsoft [ElPaLu02]. Ett par år senare kom IBM med en liknande specifikation som lämnade in till W3C konsortiet som om ut med en standard runt vilket tekniken nu kan användas. Trots att de centrala delarna i Web Services har standardiserats så som SOAP (Simple Object Access Protocol), WSDL (Web Services Definition Language) och UDDI (Universal Description, Discovery and Integration) så finns det en hel del ny teknik som fortsätter där de ovan givna teknikerna slutar. Dessa tekniker (så som WSFL (Web Services Flow Language)) tävlar nu om en plats i solen för att kanske inom sitt område bli en standard [AMS02, Sta03]. Web Services kan komma att revolutionera sättet på hur vi i en snar framtid ser, kör och anropar distribuerade objekt samt hur kod kan modulariseras samt återanvändas effektivt. Just genom att Web Services är återanvändbara, öppna, plattform oberoende och baserar sig på redan existerande standarder så har de en mycket bra chans att bli framgångsrika. Genom texten kommer det att antas att läsaren har en insikt om XML samt hur XML fungerar. 2. Web Services en översikt WS kan delas in i tre olika områden: 1. Web Services 2. Service klienten 3. UDDI registret

3 UDDI WSDL WSDL Client XML/SOAP/HTTP Bild 1. Web Service översikt [Va-Ni02, RoRa01] Web Service WS definierar sina funktioner samt data typer ett dokument via WSDL (Web Services Definition Language) som är en vanlig XML fil. WSDL dokumentet registreras sedan i UDDI (Universal Description, Discovery and Integration) som ett tecken på att en viss funktion eller funktionalitet är färdig att användas. Förrän en klient kan använda sig av, eller för att ta reda på vilka services som finns tillgängliga, så måste den ta kontakt med UDDI servern. UDDI servern svarar ifall att en match hittas med att skicka WSDL dokumentet till klienten. Klientens uppgift blir sedan att gå igenom dokumentet för att få reda på funktionsanropen och datatyperna. När det är färdigt är klienten färdig att plocka ihop ett XML dokument med funktionsanropen och variablerna. XML dokumentet packas in i ett SOAP kuvert som sedan skickas iväg till Web Servicen via HTTP protokollet. där det processeras. Beroende på om ett fel uppstått vid processeringen eller vid exekveringen av anropet skickas ett felmeddelande eller funktionens resultat tillbaka i ett XML dokument som är inpaketerat i ett SOAP kuvert. 3. Web Service Definition Language Web Service Definition Language (WSDL) är det medel med vilket man definierar gränssnittet till den service som finns tillgänglig. Detta görs med ett XML dokument. I dokumentet finns definierat följande [CCMW01]: Definitioner Typer Meddelanden Operationer Port typer Bindnings information

4 Port Service 3.1 Definitioner Definitionerna i WSDL dokumentet associerar namnen med specifika web services. 3.2 Typer Typ elementet definierar de typer som finns i ett meddelande. Eftersom dokumentet är i XML format kan också XSD (XML Schema) användas för att specificera data typerna. Datatyper som kan användas är bla. double, boolean, string, Array, base64binary (binära filer, tex bilder), datetime samt complex type (strukturer). 3.3 Meddelanden Meddelandena består av en eller flera logiska delar. Varje del är associerad med en typ. WSDL definierar meddelandena via XSD att innehålla ett namn, element samt en typ. Förutom dessa kan ett meddelande också innehålla en del (part) vilket gör att meddelandena kan användas som en flexibel väg att beskriva abstrakta delar av ett meddelande. Ett meddelande är per antagande abstrakt men kan göras konkret genom att binda meddelandet till den konkreta typ definitionen. 3.4 Operationer Operationerna (här vore det bättre att tala om funktioner eller procedurer) definierar ett abstrakt gränssnitt till de funktioner och eller procedurer som Web Servicen erbjuder. 3.5 Port typer En port typ är en mängd abstrakta operationer (en kanske dåligt vald term eftersom det kunde vara mera naturligt att tala om funktioner eller procedurer) och de abstrakta meddelanden som hör ihop med dessa. WSDL har fyra olika typer av transport primitiv (transmission primitives) som en ändpunkt kan ha för att flytta dessa meddelanden: 1. En vägs kommunikation (One-way) 2. Förfrågan Svar (Request-Response) 3. Svar Förfrågan (Solicit-response) 4. Notifikation (Notification)

5 Ändpunkten definieras dock inte ännu i detta skede En vägs kommunikation En vägs kommunikationen kan användas till att flytta data från en klient till tex en databas. Data flödar från klienten till servicen som då lagrar eller behandlar det på något sätt. Inget svar kommer tillbaka om hur vida operationen varit lyckad eller misslyckats totalt. Vi har endast sekvensen indata Förfrågan Svar Förfrågan torde vara den mest allmänna använda metoden eftersom den möjliggör att en funktion ger tillbaka ett svar till klienten. Det kan vara frågan om ett felmeddelande eller ett returvärde till indata. Vi har sekvensen indata, utdata Svar Förfrågan Servicen skickar ett meddelande åt klienten som svarar med ett meddelande. Det bör noteras att det är servern som initialiserar kommunikationen med att skicka ett meddelande åt klienten som sedan initialiserar sin egen kommunikation. Exempelvis autentikering där servern frågar efter ett på förhand bestämt kodat ord eller dylikt. Vi har sekvensen utdata, indata Notifikering Vid notifikering skickar servern ett meddelande till klienten. Det kan vara fråga om en nyhet, dvs data skuffas till klienten, tex som nyhets uppdatering en gång per 15 minuter. Vi har sekvensen utdata. 3.6 Bindnings Information En bindning definierar meddelandets format, protokoll detaljer för operationer och meddelanden för skilda porttyper. Ett meddelande inom en bindning specificerar därför grammatiken eller utseendet för indata, utdata och felmeddelanden. Här binds meddelandena ihop med den abstrakta definitionen. Åtminstone ett protokoll måste definieras för en bindning där protokollet i de flesta fall när man talar om Web Services är SOAP protokollet men det är också möjligt att använda tex CORBA eller DCOM.

6 3.7 Portar En port bestämmer ändpunkten eller slut adressen för meddelandena. En port får inte definiera mera än en adress. 3.8 Service En service grupperar ihop relaterade portar till en helhet. Portarna i en service har följande relationer [CCMW01]: Ingen av portarna kan kommunicera med varandra Om en service har flera portar som delar en viss porttyp men har skilda bindningar eller adresser så är portarna alternativ. Möjliggör för användaren av WSDL dokumentet att välja port beroende på data, mängd etc. Genom att granska porttyperna kan en användare av WSDL dokumentet bestämma om den vill kommunicera med en viss service eller inte. 3.9 Exempel Man kunde skriva flera sidor om WSDL dokumenten samt alla attribut som finns att tillgå. Detta kommer inte att göras här utan läsaren refereras till WSDL specifikationen [CCMW01]. Istället belyses WSDL dokumentet med ett exempel på hur ett dokument kan se ut.

7 <message name= GetFlightInfoInput > <part name = airlinename type= xsd:string /> <part name = flightnumber type= xsd:int /> </message> <message name= GetFlightInfoOutput > <part name = flightinfo type= fixed:flightinfotype /> </message> <message name= CheckInInput > <part name= body element= eticketxsd:ticket /> </message> <porttype name= AirPortServicePortType > <operation name= GetFlightInfo > <input message= tns:getflightinfoinput /> <output message= tns:getflightinfooutput /> </operation> <operation name= CheckIn > <input message= tns:checkininput /> </operation> </porttype> <binding name= AirportServiceSoapBinding type = TNS:AirportServicePortType > <soap:binding transport= /> <operation name= GetFlightInfo > <soap:operation style= rpc soap:action= /> <input> <soap:body use= encoded </input> <output> namespace= encodingstyle= /> <soap:body use= encoded </output> </operation> namespace= encodingstyle= /> <operation name= CheckIn > <soap:operation style= document <input> soap:action= /> <soap:body use= literal /> </input> </operation> </binding> Tabell 1. WSDL abstrakt och konkret bindning [CDKN02] Vi har tre meddelanden, GetFlightInfoInput, GetFlightInfoOutput och CheckInInfo. Det första meddelandet, GetFlightInfoInput tar två parametrar, airlinename som är av typ sträng samt flightnumber som är av typen integer (förkortat int). I det andra meddelandet har GetFlightInfoOutput en parameter som är definierad annanstans som FlightInfoType (det är alltså möjligt att importera egna typdefinitioner). Samma gäller det sista meddelandet som tar emot en typ av Ticket. I porttype kan vi avläsa till vilka funktioner som meddelandena binds. GetFlightInfo har ett

8 indata och ett utdata meddelande (är således av typ förfrågan-svar), medan CheckIn endast tar en indata (en vägs kommunikation). För att få den abstrakta delen och fungera i praktiken binder vi ihop den till en konkret helhet i bindnings delen av WSDL dokumentet. Det första vi gör är att berätta vad bindningen heter och (i detta fall AirportServiceSoapBinding) vi säger samtidigt till vilken port typ den skall bindas samt vilket protokoll som kommer att användas för överflyttning, nämligen HTTP protokollet. För varje operation (eller funktion/procedur) bestämmer vi vilken SOAP metod som används (mera om detta senare), här är det RPC (Remote Procedure Call) samt Document (svaret tas som ett dokument). För operationernas input, output och fault (om så finns definierat) så bestämmer vi deras kodning samt vart de pekar (namespace elementet). Det sista som vi har kvar är att bestämma service delen, dvs sammanbinda det som byggts upp till en Web Service. <service name= travelservice > <port name= travelserviceport binding= tns:airportservicesoapbinding > <soap:address location= /> </port> </service> Tabell 2. WSDL konkret Service bindning [CDKN02] Här namnger vi Servicen, säger vilken porten är och vilken bindning som skall användas. Efter det säger vi var servicen finns tillgänglig med en http adress. 4. UDDI Men sen då när ett företag definierat och byggt upp sin WSDL fil och har alla funktioner och procedurer klara. Hur skall andra företag hitta dessa på ett så lätt sätt som möjligt? Om inte annat måste företaget med sin Web Service annonsera att de har en service att erbjuda och ge ut någon sorts specifikation (närmast då WSDL dokumentet eftersom det beskriver i detalj anropen samt vad som skickas tillbaka) åt de som är intresserade. Men till detta går det åt en massa onödig tid och pengar när man skall annonsera. Där kommer UDDI in. UDDI står för Universal Description, Discovery and Integration. UDDI är en Web Services sökmaskin i stil

9 med Google och andra i den bemärkelsen att ett företag kan registrera sin WSDL fil eller filer med annan information (som beskrivs senare) som sedan finns tillgänglig för andra att söka ifrån [UDDI.ORG02]. UDDI servicen är tänkt att från början vara så öppen som möjligt. Förutom Microsoft och IBM finns ett par hundra andra företag med i att utveckla UDDI specifikationen som för tillfället är uppe i version UDDI Server Strukturen Det finns ett antal root servers som dagligen replikerar med varandra. Tanken är att UDDI server strukturen skall vara så mycket som möjligt likt DNS (Domain Name System) med root servers som andra replikerar ifrån. De största, dvs. Microsoft och IBM är bland annat sådana som har en root server. I och med att man använder ett DNS liknande system så vill man visa att UDDI är en öppen teknologi där man litar på varandra samt att plattforms oberoende är en viktig del av teknologin. 4.2 UDDI Dokumenten UDDI dokumenten kan delas in i tre olika delar som liknar telefonkatalogen med vita och gula sidor samt en service typ register (Service Type Registration). Förutom dessa två finns ännu gröna sidor. Vita sidorna innehåller kontakt information till företag, gula sidorna innehåller kategoriserings data om företag eller taxonomier för att hjälpa till att söka efter specifika sektorer av industrier. De gröna sidorna består av information som beskriver hur man skall gå till väga för att använda deras service. Där finns bland annat bindnings information samt service beskrivningar, dvs allt som man behöver för att kunna ta en service i bruk. Service typ registreringen innehåller en pekare till namn rummet (namespace) där servicen finns beskriven samt information om vem som har gett ut informationen. De fyra UDDI dokumenten bildar alltså en helhet som innehåller all den information som man behöver för att söka efter en web service, få den förklarad samt hur man skall implementera sin klient för att den skall kunna använda sig av web servicen. För att kunna använda sig av

10 UDDI servicen finns en speciell API (Application Programming Interface) som bestämmer funktionerna som man kan använda för att kunna nå och använda den information som finns lagrad i registret. 4.3 UDDI Register Strukturen UDDI registret innehåller fyra centrala strukturer [SchEtAl02]: businessentity Strukturen som innehåller information om vita sidorna samt de gula sidornas taxonomier. Här finns all information lagrad om företagen. businessservice Den här strukturen innehåller informationen om Web Servicen eller en process beskrivning. Varje businessservice struktur innehåller en eller flera bindingtemplate som beskriver hur man hittar och binder sig till Web Services bindingtemplate Finns inom ramen för businessservice strukturen och innehåller detaljerad information om hur man hittar och använder en viss Web Service. tmodel Finns inom bindingtemplate strukturen och innehåller meta data om om varje service specifikation. Kallas också för Technical Model. Här finns specifikationen namn, vem som har publicerat den, URL:er till själva specifikationen. Varje specifikation som har registrerats i en tmodel i ett UDDI register får en egen unik ID, GUID. Bild 2. UDDI dokument strukturen [SchEtAl02] Det mest intressanta här är tmodel strukturen. I och med att den innehåller meta data kan man definiera genom den just vad som helst. tmodels primära funktion är att representera information om tekniska specifikationer. Där igenom är det naturligt att lagra i tmodel specifikationer om protokoll, tex SOAP, konverterings format osv. Specifikationen kan då

11 lagras i UDDI registret och kommunicerande partners kan då referera till den genom att ge den unika GUID:en som också kallat tmodelkey. tmodelkey fungerar som ett tekniskt fingeravtryck. Den andra viktiga saken med tmodel strukturen är att den stöder sök egenskapen i UDDI vilket är en viktig del eftersom man till största delen hittar information i UDDI genom att söka efter specifik information. I tmodel finns två strukturer, identifierbag och categorybag. identifierbag innehåller ett namn/värde par där namnet är namnet på ett företag och värdet är ett unikt nummer som identifierar företaget. categorybag innehåller taxonomi uppgifter på samma sätt som identifierbag genom att para ihop ett namn och ett värde som innehåller det taxonomiska värdet. <businessservice servicekey= 894B5100-3AAF-11D5-80DC C64 servicekey= D AAF-11D5-80DC C64 > <name>electronictravelservice</name> <description xml:lang= en > Electronic Travel Service </description> <bindingtemplates> <bindingtemplate bindingkey= 6D665B10-3AAF-11D5-80DC C64 servicekey= 89470B40-3AAF-11D5-80DC C64 > <description> SOAP-based checkin and flight info </description> <accesspoint URLType= http > </accesspoint> <tmodelinstacedetails> <tmodelinstanceinfo tmodelkey= D BGF-1KJH-234C >... </tmodelinstanceinfo> </tmodelinstancedetails> </bindingtemplate> </bindingtemplates> <categorybag>... </categorybag> </businessservice> <?xml version= 1.0 > <tmodel tmodelkey= > <name> <description xml:lang= en > Standard service interface for travel service </description> <overviewdoc> <description xml:lang= en > WSDL Service Interface Document </description> <overviewurl> </overviewurl> </overviewdoc> <categorybag>... </categorybag> </tmodel> Tabell 3. Simplifierad businessservice och tmodel [CDNK02]

12 4.4 UDDI API När väl informationen som behövs för att kunna använda ens service finns ned skrivet är det dags för att skicka informationen till UDDI registret eller alternativt om man är programmerare så söka från UDDI registret efter en specifik service. Då kommer UDDI API:n väl tillhanda. API:n delas upp i två delar, förfrågnings delen samt publicerings delen. Utan att gå närmare in på detaljer om funktioner i båda delarna så finns det funktioner för att söka och publicera information om bindningar, företag, services, tmodeller etc. 4.5 UDDI kvalitet av service I UDDI finns inbyggt ett Quality of Service eller kvalitets kontroll. Om ett Web Service anrop av klinten misslyckas pga att kommunikationen till servern inte fungerar, Web Servicen har kraschat eller annars bara inte tar emot meddelanden så kan den som publicerat sin Web Service på UDDI servern updatera sin information och den som försökt kontakta Web Servicen kan ta ner den nya informationen [UDDI.ORG00]. Så om ett anrop misslyckas så bör då klienten gå till UDDI servern, ta hem den information som finns tillgänglig över den Web Service som används, jämföra den med den information som finns lagrat som proxy (se kapitel 5 om klienten). Om den just ner laddade informationen är nyare än den som finns lagrad så kan man ersätta den och försöka på nytt med ny Web Service data. Om informationen som man tog ner inte var ny, då kan man inte göra något annat än försöka på nytt. 5. Klienten Hur man implementerar klienten är upp till programmeraren. Man har åtminstone två olika alternativ. Det första är att göra en enskild klient med tex Java, Perl, C# eller Visual Basic. Det andra är att använda en web browser och implementera en www sida. Det första programmeraren gör är att han tar kontakt med ett UDDI register om han inte redan har specifikationen för en Web Service. Genom att söka efter partner företag eller via taxonomier hittar han säkert någon service som passar behoven. Efter att en passande Web Service har hittats laddas WSDL filen ner och för att göra kommunikationen bättre kan WSDL filen konverteras om till en proxy fil [MaNa02] som klienten tar kontakt med.

13 Alternativt kan man förbi gå proxyn och ta direkt kontakt med Web Servicen. Efter att WSDL filen har lästs igenom är det enda som återstår att implementera sin klient. Beroende lite på vilket språk och vilken server, tex Suns Java och Java server eller Microsofts.NET och C# eller Visual Basic så kan klienten implementeras på lite olika sätt. 6. SOAP Den bärande kraften bakom Web Services är SOAP (Simple Object Access Protocol) och är baserat på XML. SOAP är från början menat att vara lätt till specifikation och utvidningsbart [BoxEtAl00]. SOAP är menat som en envägs kommunikations modell men det är också möjligt att ha tvåvägs kommunikation så att både frågan och svaret skickas med SOAP. SOAP använder HTTP och HTTPS som transportmedel. Det är också möjligt att använda andra protokoll för att skicka SOAP meddelanden men i specifikationen för SOAP 1.2 är endast HTTP och HTTPS definierade. Andra möjliga protokoll som kunde användas är SMTP och FTP. Oberoende av vilket protokoll som SOAP använder sig av, är SOAP meddelandet skickat längs en väg (message path) vilket möjliggör att meddelandet kan processeras på flera olika ställen förrän det kommer till sin slutliga destination. Eftersom ett meddelande kan innehålla information som man inte vill att skall spridas så finns det en specifikation som definierar kryptering för SOAP meddelandena (mera om detta senare). Bild 3. Exempel på SOAP meddelande forwarding

14 Ovan ser vi en möjlig meddelande rutt. Ett meddelande skickas och kan ta vilken väg (den sträckade linjen) som helst förrän den kommer till en central hub (tex ett företags Web Service hub) som analyserar meddelandet (se nedan om processeringen) och beroende på innehållet och den fortsatta meddelande rutten skickas meddelandet vidare. 6.1 SOAP Processering En SOAP applikation som tar emot ett meddelande, om det sen är menat för det eller inte måste göra följande saker i ordning: 1. Identifierar alla delar i SOAP meddelandet som är menat för just den applikationen 2. Verifiera att alla obligatoriska delar som har blivit identifierade i steg 1 kan hanteras av applikationen och processera dem. Om inte så skall SOAP applikationen kasta bort meddelandet. 3. Om SOAP meddelandet inte var menat applikationen, ta då bort all information från meddelandet som var menat för applikationen och skicka meddelandet vidare. Processeringen av ett SOAP meddelande betyder att applikationen som gör processeringen förstår bland annat vad det betyder att ha envägs kommunikation, tvåvägs kommunikation och att det finns RPC mekanismer. 6.2 SOAP Meddelandet Ett SOAP meddelande kan delas upp i tre delar [BoxEtAl00]: Kuvert (Envelope) Huvud (Header) Kropp (Body) SOAP meddelandet måste innehålla ett kuvert, element namnet är Envelope. Kuvertet kan även innehålla andra definitioner så länge som dessa följer namn rums definitionen och är korrekta. Kuvertet i sig innehåller ett huvud och en kropp. Huvudet i SOAP meddelandet kan finns men behöver inte göra det. Om huvudet finns i SOAP meddelandet så måste det komma direkt efter kuvertet. Element namnet för huvudet är Head. Den sista delen i SOAP meddelandet, kroppen, måste existera efter ett kuvert eller ett huvud om sådant finns. Elementet som definierar kroppen heter Body. En speciell kropp existerar som heter Felmeddelande (Fault) vilken innehåller felmeddelande ifall att processeringen eller

15 exekveringen av meddelandet misslyckats Huvud elementet SOAP meddelandets huvud element är ett flexibelt element som kan användas för att förlänga SOAP meddelandets innehåll med tex autentikering, transaktions kontroll etc. Huvud elementet innehåller också två attribut som kan användas, dessa är actor samt mustunderstand actor Eftersom SOAP meddelanden kan skickas vidare via en rutt som kan innehålla en stor mängd SOAP applikationer (där en SOAP applikation som finns på vägen antas kunna ta emot och skicka vidare meddelanden) måste alla applikationer på vägen till den slutliga destinationen anges. Eftersom hela meddelandet inte troligen gäller för alla applikationer längs rutten så måste applikationen som tar emot meddelandet (om det inte är den slutliga destinationen) ta bort den information från meddelandet som angår den och skicka vidare meddelandet (som i 6.1 punkt 3). Applikationen som tagit emot meddelandet kan sätta in ett nytt huvud element men informationen som finns i det huvudet gäller endast den applikationen och den applikation som finns på ruttens slut. Actor elementet kommer med i bilden genom att det kan användas som ett globalt attribut som berättar vilken applikation som är den som i sista hand tar hand om meddelandet. Om attributet saknas så är mottagaren meddelandets slutliga destination. [BoxEtAl00] mustunderstand mustunderstand är ett globalt attribut som indikerar ifall att ett huvud element är obligatoriskt eller inte. Värdet 1 anger att det är obligatoriskt. Saknas mustunderstand så räknas det som 0 dvs som om huvud elementet kan läsas/förstås frivilligt. Om huvud elementet har ett mustunderstand attribut som är 1 betyder det att varje applikation som tar emot meddelandet måste kunna läsa och förstå det. Om inte så måste applikationen returnera meddelandet med ett felmeddelande. Detta betyder att semantiken av ett meddelande inte kan ändras utan av att man får reda på det om mustunderstand är satt till 1 [BoxEtAl00] Kroppen I SOAP meddelandet ger kroppen en metod att lätt skicka och byta information för den som är

16 mottagare av ett meddelande. Kroppen används ofta för att skicka data eller till RPC anrop. Kropp elementet kommer direkt efter kuvertet förutom om huvud elementet finns med. I så fall måste kroppen komma direkt efter huvudet. Fastän huvudet och kroppen är självständiga element så är de relaterade till varandra. Skillnaden mellan huvudet och kroppen är den att kroppen är till semantiken likt huvudet förutom att den saknar actor och mustunderstand med värdet 1 [BoxEtAl00] Fault SOAP meddelandets fault element används som namnet säger till att transportera felmeddelanden i meddelandet. Om fault elementet existerar i meddelandet så måste det existerar i kropp elementet och får inte förekomma mer än en gång. Fault elementet definierar fyra sub element: faultcode används av programvaran för att ge en mekanism med vilket man kan identifiera ett fel. Om ett fel uppståt måste det här elementet vara med i fault elementet. Elementet kan innehålla tex VersionMismatch, MustUnderstand, Client, Server. I vissa fall där tex klienten är misskonfiguerad lönar det sig inte att skicka meddelandet på nytt förrän klienten är konfigurerad på rätt sätt, i andra fall där tex servern är nere och man får ett Server felmeddelande så kan man vänta en stund och skicka meddelandet på nytt. faulstring information om vad som har gått fel. Kan jämföras med HTTP protokollets felmedelande i stil med Sidan kunde inte laddas.... detail innehåller fel information om kroppen ifall att applikationen inte kunde processera kroppen i ett SOAP meddelande och måste finns med i ett fel meddelande. Om detta element inte finns med i ett felmeddelande så är det ett direkt bevis på att felet inte gäller kroppen. På så sätt kan man avgöra om kroppen blivit processerad eller inte [BoxEtAl00]. Andra felmeddelande typer kan finns med så länge de följer namn rums standarden. 6.3 SOAP och HTTP Genom att binda SOAP till HTTP (fastän det kunde även bindas till säg SMTP eller FTP) kan man använda SOAP protokollets flexibilitet samt HTTP protokollets vida spridning. SOAP ersätter inte på något sätt HTTP protokollet utan det mappas ganska naturligt in på HTTP och

17 dess semantik [BoxEtAl00]. SOAP följer HTTP förfrågan/svar meddelande modellen vilket möjliggör att SOAP förfrågans parametrar bakas in i HTTP förfrågan och SOAP svaren i HTTP svaren. SOAP lägger till ett fält till HTTP headern som heter SOAPAction vilket kan användas för att indikera vart meddelandet är på väg. En HTTP klient måste alltid använda SOAPAction när den skickar ett SOAP HTTP meddelande. SOAPAction kan användas av tex en brandmur för att filtrera HTTP trafiken eller dylikt. <SOAP:Envelope xmlns:soap= > <SOAP:Header>... </SOAP:Header> <SOAP:Body>... </SOAP:Body> </SOAP:Envelope> Tabell 4. SOAP meddelandets sturktur [CDKN02] POST /travelservice SOAPAction: Content-Type: text/xml: charset= utf-8 Content-Length: nnnn <SOAP:Envelope xmlns:soap= > <SOAP:Body> <et:eticket xmlns:et= > <et:passengername first= Joe last= Smith /> <et:flightinfo airlinename= AA flightnumber= 1111 departuredate= departuretime= 1905 /> </et:eticket> </SOAP:Body> </SOAP:Envelope> Tabell 5. Exempel på SOAP meddelande [CDKN02] I den ovanstående tabellen har vi ett SOAP meddelande som skickats via HTTP. SOAPAction säger att vår avsikt är att nå checkin. Meddelandet saknar huvud men kroppen innehåller information om en elektronisk flygbiljett (eticket) där biljetten definierats i ett schema av den som producerar tjänsten. SOAP HTTP svaret använder sig likaså av HTTP protokollet. Status koderna för SOAP

18 meddelandena följer det som HTTP definierar. Tex ett svar med status koden 2xx betyder att SOAP meddelandet har tagits emot, blivit förstått samt processerat och accepterat. Om ett fel uppstår vid processeringen av meddelandet måst SOAP HTTP servern svara med ett HTTP 500 Internal Server Error felmeddelande samt inkludera i svaret fault elementet med all nödvändig information om felet som uppstått. 6.4 SOAP och RPC SOAP med RPC (Remote Procedure Call) fungerar i stort sätt på samma sätt som SOAP och HTTP. Funktions och procedur anropen flyttas med HTTP protokollet i SOAP format. För att göra ett anrop till en funktion eller procedur (SOAP 1.2 specifikationen talar om metod) så behövs följande information [BoxEtAl00]: URI (Uniform Resource Identifier) till objektet som anropas Funktions/procedur namn (metod namn) Parametrar till funktionen/proceduren Extra huvud data Möjlig metod signatur (method signature) RPC anropen och svaren skickas i SOAP kroppen användande följande representation: Ett funktions/procedur anrop modelleras som en struktur (jmf C språket). Anropet ses som en helhet som innehåller ett element för in eller in/ut data. Helheten är oftast nämnd efter funktionen/proceduren Svaret modelleras också som en struktur (struct). Svaret är en helhet som innehåller ett element för in eller in/ut data. Per konvention tilläggs strängen Respons till metodnamnet. Felmeddelande kodas enligt SOAP fault elementet. Ett svar kan aldrig innehålla både funktions eller procedur svar och ett felmeddelande. En SOAP applikation kan processera ett anrop till en funktion eller procedur fastän alla parametrar inte givits men applikationen kan även generera ett felmeddelande. I SOAP huvudet kan extra information läggas som tex transaktions data eller annan data som inte kan transporteras i kroppen men som man ändå vill ha transporterat med meddelandet.

19 POST /travelservice SOAPAction: Content-Type: text/xml: charset= utf-8 Content-Length: nnnn <SOAP:Envelope xmlns: SOAP= > <SOAP:Body> <m:getflightinfo xmlns:m= SOAP:encodingStyle= xmlns:xsd= xmlns:xsi= > <airlinename xsi:type= xsd:string >UL</airlineName> <flightnumber xsi:type= xsd:int >506</flightNumber> </m:getflightinfo> </SOAP:Body> </SOAP:Envelope> Tabell 6. SOAP RPC anrop [CDKN02] I meddelandet ovan har ger vi två värden åt GetFlightInfo funktionen, airlinename som är av typ sträng och flightnumber som är av typ integer. Vi har även för funktionen definierat (encodingstyle) hur meddelandet skall avkodas. Egentligen kan SOAP meddelanden endast avkodas på ett sätt, nämligen det som finns definierat i SOAP specifikationen. Ett möjligt svar på anropet ovan i tabell 6 kan ses nedan: HTTP/ OK Content-Type: text/xml: charset= utf-8 Content-Length: nnnn <SOAP:Envelope xmlns:soap= > <SOAP:Body> <m:getflightinforesponse xmlns:m= SOAP:encodingStyle= xmlns:xsd= xmlns:xsi= > <flightinfo> <gate xsi:type= xsd:int >10</gate> <status xsi:type= xsd:string >ON TIME</status> </flightinfo> </m:getflightinforesponse> </SOAP:Body> </SOAP:Envelope> Tabell 7. SOAP RPC svar [CDKN02]

20 Vi ser ovan att för det första har meddelande blivit accepterat och processerat i och med att HTTP Servern har packat in SOAP svaret med status 200. För det andra så ser vi att GetFlightInfo har blivit till GetFlightInfoResponse så vi kan förvänta oss att svaret på vår förfrågan finns inne i metod strukturen. Inne i GetFlightInfoResponse finns två nya element, våra retur värden, gate och status. Gate är definierat som en integer och status som en sträng. Vi kan låta vår klient gå igenom meddelandet och läsa det för oss. 7. Servern Server sidans implementering skiljer sig inte så mycket från klientens. Man har ett program som innehåller funktioner och procedurer. När ett SOAP meddelande kommer in till servern skickas det till SOAP applikationen som analyserar meddelandet och går igenom och ser att allt stämmer och att meddelandet verkligen var menat för det. Högst antagligen finns det nån sorts applikations server som som kör programmet med parametrarna som fåtts via meddelandet. Ett svar genereras om så är menat. Bild 4. SOAP Server struktur SOAP klienten skickar alltså ett SOAP meddelande som tar emot av SOAP Servern, må det sen vara IIS eller Apache eller nånting helt annat, men SOAP meddelandet processeras. Om meddelandet innehöll ett anrop till någon funktion så anropas funktionen eller sen kan data läsas eller alternativt skrivas till en databas eller så generaras ett nytt SOAP meddelande som

21 skickas iväg tillbaka till klienten som svar på funktions anropet den gjorde. 8. Säkerhet, autentikering, digitala underskrifter Eftersom SOAP protokollet använder sig av XML som skickas i ren text form passar SOAP dåligt som transport medel för att skicka känslig information som användar validering, bank transaktioner och dylikt vars innehåll man vill hålla hemligt för eventuella personer som lyssnar på trafiken mellan en SOAP klient och SOAP Applikation. För att möjliggöra sådana tjänster som autentikering eller skickande av användar namn och lösen så finns det en Web Service specifikation, Web Service Security som definierar kryptering av data i SOAP meddelandet samt digital underskrift. Det bör noteras att WS-Security är ännu endast ett förslag till standard för säkerhet i SOAP meddelanden. Till WS-Security hör kvaliteten av skyddet (Quality of Protection), Signaturer (Signature), dvs digital underskrift verifiering av integriteten. Meningen är att WS-Security skall uppfylla konfidentialitet, autentikering, integritet, garanti för att skickare inte kan säga att den inte skickat meddelandet samt givande av access till resurs [NHN02]. Kvaliteten av skyddet och signaturer kommer inte att behandlas här utan läsaren hänvisas till [AtkEtAl02] för en djupare insikt om ämnet. 8.1 Kryptering och SOAP WS-Security tillåter kryptering av vilken som helst kombination av kropp, huvud och deras barn element om sådana existerar samt kryptering av bilagor med antingen med en symmetrisk nyckel som delas av den som sänt meddelandet samt den som tar emot det eller sedan en nyckel som transporteras krypterad i själva meddelandet [AtkEtAl02]. WS-Security stöder sig helt på XML Encryption standarden vilken definierar tre element: ReferenceList EncryptedKey EncryptedData När man krypterar element eller elementets innehåll i ett SOAP meddelande kan man använda sig av ReferenceList elementet som beskriver de delar som är krypterade i meddelandet. Ett element eller element innehåll som skall krypteras måste ersättas med ett motsvarande

22 EncryptedData element. Alla EncryptedData element borde således vara listade inom ReferenceList elementet. Genom att koppla ihop ReferenceList och EncryptedKey kan man kryptera olika delar av ett SOAP meddelande med olika nycklar. När ett meddelande krypteras eller enskilda element innehåller en nyckel som i sin tur är krypterad med mottagarens nyckel och lagd till i meddelandet så kan EncryptedKey elementet användas för att transportera denna nyckel. Detta element borde listas i ReferenceList elementet och ha en motsvarighet till den listningen så att mottagaren vet vilka delar av meddelande är krypterat med denna nyckel. Om man skickar hela SOAP meddelandet krypterat eller lägga med bilagor kan dessa krypteras med EncryptedData elementet. För varje del av den krypterade bilagan måste ett krypterings steg dvs ett EncryptedData element läggas till samt följa följande regler [AtkElAl02]: Bilagan måste ersättas med den krypterade octet strängen (octet string) Den ersätta MIME (Multi-Purpose Internet Mail Extensions) media delen måste vara av typ applikation/octet-ström (application/octet-stream) Den originala media typen måste deklareras i EncryptedData elementet Den krypterade MIME delen måste refereras av ett CipherReference element med en URI som pekar på MIME delen Ett meddelande som krypteras måste efter krypteringen ännu vara ett äkta SOAP meddelande. Den som gjort meddelande får inte kryptera kuvertet, huvud eller kropp elementen, men nog deras under element. I annat fall förstörs SOAP meddelandets struktur. 9. Fördelar och nackdelar med SOAP SOAP protokollets och dess stöd protokoll, WSDL och UDDI, största fördelar är det att de bygger på en öppen struktur (XML) som kan utvidgas för att inkludera mera funktionalitet om så behövs. Det kanske mest viktiga är ändå att alla utvecklare av SOAP, WDSL och UDDI har kunnat samarbeta och bygga upp ett fungerande protokoll som baserar sig på redan existerande tekniker. SOAP är dock inte lösningen på allting. Det kan finnas tekniker som passar bättre för ett visst behov och det är upp till var och en att själv fundera ut vad som löser ens problem bäst. Som

23 tumregel kan man ändå säga att om man har som mål att få två totalt olika system på olika plattformer att fungera ihop så kan det löna sig att börja med att studera Web Services och vad SOAP kan erbjuda. Fördelen med SOAP är att den till motsats till CORBA och liknande är brandmurs vänlig dvs den använder sig av standard portar som redan är öppna och när man tar ibruk SOAP meddelanden så behöver man inte öppna nya hål i brandmuren utan man kan använda sig av existerande öppna portar. Nackdelar med SOAP och Web Services är för tillfället det att man ännu lever i en sorts hype där man inte kan vara riktigt säker på att vad som kommer att hända med hela begreppet. Visst det ser lovande ut men för tillfället vet man inte riktigt vad som kommer att hända i framtiden. Kommer de stora Web Service utvecklarna som IBM och Microsoft att också i framtiden kunna komma överens om hur det skall utvecklas och i vilken riktning. Det största hotet för tillfället är det att Microsoft och IBM slår ihop sig och besluter sins emellan om hur standarden skall utvecklas oberoende av tex W3C (WWW Consortium). Eftersom det är räknat att företag kommer att satsa cirka $2.2 miljarder på Web Service tjänster år 2003 och $25 miljader år 2008 så är det lätt att förstå att de stora först vill spela bort de mindre och sedan i slutet försöka slå ut varandra [Koc03]. Oberoende av detta så finns redan grunden lagd i och med SOAP protokollet. En sak som inverkar negativt på SOAP är att en svensk undersökning gjord på Blekinge högskola [ElPaLu02] har visat att SOAP jämfört med CORBA är en 400 gånger långsammare att skicka ett meddelande med. Genom att rucka på HTTP protokollets egenskaper kan detta fås ner till 7 gånger långsammare. Detta kan potentiellt leda till att i en situation där det skickas en massa meddelanden hela tiden så blir själva SOAP en flaskhals jämfört om man skulle genast ha tagit i bruk någon annan teknik. Detta ökar kostnaderna för infrastruktur för att få meddelandena processerade i god tid. 10. Verktyg Flere olika verkyg finns till för att generera de olika delarna av Web Services. Nedan listas några av de största samt länkar till WWW sidor där man kan få mera information.

24 10.1 SOAP Nedan några av de mera populära implementeringarna. Leverantör Språk Plattformer WWW Microsoft Visual Basic, C# Windows Apache Java UNIX, Windows SOAP:Lite Perl UNIX, Windows Systinet WASP C++, Java UNIX, Windows GLUE Java UNIX, Windows Tabell 8. SOAP Implementeringar [SchEtAl02] 10.2 WSDL Eftersom WSDL är den teknik som kan sägas binda ihop SOAP och UDDI hittas oftast inte enskilda WSDL implementationer. I stället är de oftast en del av en verktygslåda (toolkit) [SchEtAl02]: The Microsoft SOAP Toolkit Stöder förutom WSDL också SOAP och UDDI och är närmast menat för utvecklare som arbetar inom Windows miljön. The IBM Web Services Toolkit (WSTK) Inkluderar WSDL, UDDI integration samt stöder IBM:s WebSphere applikations server. Innehåller också den öppna källkods WSDL för Java (WSDL4J) implementationen UDDI En lista på några av root UDDI root servrarna finns att tillgå på Där finns listade Microsoft, IBM, SAP, NTT samt länkar till deras UDDI servers. Det är också möjligt att bygga sin egen privata UDDI server. Det finns två alternativ: IBM:s UDDI server från Det finns också en UDDI implementation som bygger sig på den öppna källkoden och som är baserad på Java. juddi finns att fås från En lättare version av en UDDI server finns att få från Microsoft i samband med Microsofts UDDI SDK (Software Development Kit) som bygger sig på Microsoft.NET arkitektur. 11. Case ABB Library ABB Library är ABB Group världsomspännande konsernens digitala bibliotek dit dokument från hela världen samlas in angående produkter som ABB säljer samt dit hörande marknadsföring. För tillfället finns ca 62,000 dokument i bilioteket (November, 2003).

25 Dokumenten i biblioteket processeras i den takt de anländer och den samlade information publiceras ut på Internet där den är indexerad och sökbar. Samtidigt exporteras informationen i XML format till andra portaler inom ABB som kan dra nytta på så sätt av det som finns tillgängligt. Bild 5. ABB Library's struktur Data populeras i de olika länderna från användarens maskin till en lands server där data replikeras vidare till en central hub. I den centrala hub:en sker möjlig processering av data varefter den replikeras vidare till geografiska hub:ar som ligger så centralt som möjligt för att möjliggöra en snabb access till samlad data. Vidare exporteras data till en XML fil som finns tillgänglig för andra applikationer inom ABB som de kan ladda ner och processera för egna behov Web Service och ABB Library Vad kan Web Services göra för ABB Library? För det första så möjliggör det en transition från att upprätthålla flere gränssnitt (bla WWW och XML) till ett enda gränssnitt som andra använder sig av vilket leder till en drastisk simplifiering av nuvarande upprätthållning av processerna. Detta eftersom endast funktioner behöver upprätthållas och inte interface. Det bör dock noteras att en transition inte sker över en kort tidsperiod utan det kan vara frågan om två eller flere år förrän allt och alla har blivit flyttade till att använda bibliotekets Web Services. För det andra kan man implementera nya tjänster som: uppgradering av en lättare lokal kopia för mobila användare som inte har möjlighet

26 att använda direkt full data genom att markera de dokument eller kategorier av dokument som man vill att skall följas, antingen så att klienten skickar lista på dokument/kategorier som skall sökas igenom eller endast ett meddelande som väcker servern som söker igenom databasen och skickar en lista på förändrare dokument som man velat följa. Genom att implementera denna funktion via web läsaren kan man undgå nya klient applikationer notifikering av nya dokument versioner för användare eller förändring av status egen koncern autentikerings service för utomstående användare till biblioteket där dokument publicerare/ägare själva kan administrera rättigheter efter behov, kan även utvidgas till att inkludera andra service portalers autentikering populering och administration av dokument delande av dokument med kunder och sammarbets kumpaner 11.2 ABB Konsernen och Web Services Web Services har en del att erbjuda ABB Library men också ABB koncernen världen över genom att tekniken ger en bättre möjlighet till att vidare utveckla och koppla ihop business system än vad man har haft förut. Man kunde upprätta en egen UDDI server, sammanbinda produktionsstyrnings system, öka business till business (B2B) med leverantörer, underleverantörer och kunder genom att gränssnitten mellan företagen och applikationerna blir lättare att implementera eftersom kommunikationen följer ett redan etablerat protokoll [Jep01].

27 Referenser [AtkEtAl02] B. Atkinson Et Al, Specification: Web Services Security (WS-Security), ibm.com/developerworks/ webservices/library/ws- secure/ April 2002, Checked [AMS02] S. Aissi, P. Malu, K. Srinivasan, E-Business Process Modeling: The Next Big Step, IEEE Computer, May 2002 [BoxEtAl00] D. Box et al, Simple Object Access Protocol (SOAP) 1.1, Checked [CCMW01] E. Chistensen, F. Curbera, G. Meredith, S. Weerawarana, Web Services Description Language (WSDL) 1.1, Checked [CDKN02] F. Curbera, M. Duftler, R. Khalaf, W. Nagy, Unraviling the Web Services Web, IEEE Internet, March 2002 [ElPaLu02] R. Elfwing, U. Paulsson, L. Lundberg: Performance of SOAP in Web Service Environment Compared to CORBA, Proceedings of the Ninth Asia-Pacific Software Engineering Conference (APSEC'02) [Jep01] T. Jepsen: SOAP Cleans up Interoperability Problems on the Web, IEEE IT Pro, January-February 2001 [Koc03] C. Koch: The Battle for Web Services, CIO Magazine, 2003, Checked [MaNa02] A. Mani, A. Nagarajan, Understanding quality of service for Web services, ibm.com/developerworks/webservices/library/ws-quality.html, Checked [NHN02] Y. Nakamur, S. Hada, R. Neyama, Towards the Integration of Web Services Security on Enterprise Environments, Proceedings of the 2002 Symposium on Applications and the Internet (SAINT'02w), 2002 [RoRa01] J. Roy, A. Ramanujan, Understanding Web Services, IEEE IT Pro, November- December 2001 [SchEtAl02] R. Schmelzer et al, XML and Web Services, Sams Publishing, 2002 [Sta03] S. Staab, Web Services: Been There, Done That?, IEEE Intelligent Systems, January-February 2003 [TilEtAl02] S. Tilley et al, Adoption Challenges in Migrating to Web Services, Proceedings of the Fourth International Workshop on Web Site Evolution (WSE'02), 2002 [UDDI.ORG00] UDDI.ORG, UDDI Technical White Paper, September Checked [UDDI.ORG02] UDDI.ORG, UDDI Overview Presentation, September 2002, Checked [Va-Ni02] S.J. Vaughan-Nichols: Web Services: Beyond the Hype, IEEE Computer, February 2002

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

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

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

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

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

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

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

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

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

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

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

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

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

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document Programutvecklingsprojekt 2003-04-24 Projektgrupp Elvin Detailed Design Document Björn Engdahl Fredrik Dahlström Mats Eriksson Staffan Friberg Thomas Glod Tom Eriksson engdahl@kth.se fd@kth.se d94-mae@nada.kth.se

Läs mer

Teknisk guide för myndigheter

Teknisk guide för myndigheter Teknisk guide för myndigheter Gäller från december 2015 Sida 1 av 19 Innehållsförteckning Sammanfattning...2 1 Dokumentinformation...3 1.1 Syfte...3 1.2 Avgränsningar...3 1.3 Målgrupp...3 1.4 Begrepp och

Läs mer

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP Exempel på klientsidan WWW Javascript-interpretator XML-interpretator HTML-interpretator Java-interpretator CSS-interpretator Använder TCP Kan återanvända uppkoppling Inga tillstånd hos servern OS API

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

Krypteringteknologier. Sidorna 580-582 (647-668) i boken

Krypteringteknologier. Sidorna 580-582 (647-668) i boken Krypteringteknologier Sidorna 580-582 (647-668) i boken Introduktion Kryptering har traditionellt handlat om skydda konfidentialiteten genom att koda meddelandet så att endast mottagaren kan öppna det

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

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

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

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

Datakursen PRO Veberöd våren 2011 internet

Datakursen PRO Veberöd våren 2011 internet Datakursen PRO Veberöd våren 2011 internet 3 Internet Detta kapitel presenteras det världsomspännande datanätet Internet. Här beskrivs bakgrunden till Internet och Internets uppkomst. Dessutom presenteras

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

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

RIV TA Basic Profile 2.1 med intygspropagering RIV Tekniska Anvisningar

RIV TA Basic Profile 2.1 med intygspropagering RIV Tekniska Anvisningar RIV 2.1 Anvisningar Bilaga 5.1 CeHis Arkitekturledning Sida: 1 (7) RIV TA Basic Profile 2.1 2011-11-19 RIV 2.1 Anvisningar Bilaga 5.1 CeHis Arkitekturledning Sida: 2 (7) Utgåvehistorik Utgåva PA1 Revision

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

Teknisk guide för brevlådeoperatörer

Teknisk guide för brevlådeoperatörer Teknisk guide för brevlådeoperatörer Gäller från december 2015 Sida 1 av 21 Innehållsförteckning Sammanfattning...2 1 Dokumentinformation...3 1.1 Syfte...3 1.2 Avgränsningar...3 1.3 Målgrupp...3 1.4 Begrepp

Läs mer

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Klient/server Översikt Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Lektion 1: Webbtekniker från Microsoft Microsoft webbtekniker. ASP.NET. Klientsidan. Internet Information Server.

Läs mer

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011 Webbteknik II Föreläsning 5 Restless farewell HTTP Request HTTP verbs (methods): GET, POST, HEAD, DELETE, PUT, OPTIONS, TRACE, CONNECT http://www.w3.org/protocols/rfc2616/rfc2616-sec9.html variable=value&variable2=value2

Läs mer

WEB SERVICES-FÖRBINDELSE

WEB SERVICES-FÖRBINDELSE WEB SERVICES-FÖRBINDELSE TJÄNSTEBESKRIVNING Aktia, Sb, Pop VERSION 1.1 OY SAMLINK AB 2 (18) 1 Allmänt... 3 2 Web Services... 4 2.1. Förkortningar och termer som används i tjänstebeskrivningen... 4 3 Avtal

Läs mer

Certifikattjänsten Beskrivning av gränssnittet Inkomstregisterenheten

Certifikattjänsten Beskrivning av gränssnittet Inkomstregisterenheten Version 1.03 Certifikattjänsten Beskrivning av gränssnittet Inkomstregisterenheten Certifikattjänsten Beskrivning av gränssnittet 2 (15) Versionshistoria Version Datum Beskrivning 1.0 30.10.2017 Dokumentet

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

IT för personligt arbete F2

IT för personligt arbete F2 IT för personligt arbete F2 Nätverk och Kommunikation DSV Peter Mozelius Kommunikation i nätverk The Network is the Computer Allt fler datorer är sammankopplade i olika typer av nätverk En dators funktionalitet

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

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

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

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

E-pliktleverans via RSS-feeds

E-pliktleverans via RSS-feeds E-pliktleverans via RSS-feeds Referens till detta dokument: http://www.kb.se/namespace/digark/deliveryspecification/deposit/rssfeeds/ 1 Ändringshistorik a element måste nu först komma i given ordning (anpassning

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

Behörighetssystem. Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det

Behörighetssystem. Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det Behörighetssystem Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det Systemet måste kunna registrera vilka resurser, d v s data och databärande

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

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: 2009-12-14 Mottagare: Visi Web kund

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: 2009-12-14 Mottagare: Visi Web kund Sida: 1(7) Installationsanvisningar VisiWeb Ansvarig: Visi Closetalk AB Version: 2.3 Datum: 2009-12-14 Mottagare: Visi Web kund Detta dokument Detta dokument beskriver hur man installerar VisiWeb på en

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

API Notera HTTPS POST msg UTF-8. API_key JSON Mobilnummer format 1. Skicka ett SMS till specifikt nummer POST parametrar: from msg API_key Exempel:

API Notera HTTPS POST msg UTF-8. API_key JSON Mobilnummer format  1. Skicka ett SMS till specifikt nummer POST parametrar: from msg API_key Exempel: API Jojka är utrustat med ett kraftfullt API. Utöka din applikation till att även kommunicera med Jojka. Det är väldigt enkelt att komma igång. Här nedan följer en presentation av alla funktioner. Notera

Läs mer

Filleveranser till VINN och KRITA

Filleveranser till VINN och KRITA Datum Sida 2017-04-25 1 (10) Mottagare: Uppgiftslämnare till VINN och KRITA Filleveranser till VINN och KRITA Sammanfattning I detta dokument beskrivs översiktligt Vinn/Kritas lösning för filleveranser

Läs mer

Utvärdering av protokollet SOAP

Utvärdering av protokollet SOAP 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

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

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

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

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

Teknisk guide för brevlådeoperatörer

Teknisk guide för brevlådeoperatörer Teknisk guide för brevlådeoperatörer Gäller från februari 2017 Sida 1 av 22 Innehållsförteckning Sammanfattning... 2 1 Dokumentinformation... 3 1.1 Syfte... 3 1.2 Avgränsningar... 3 1.3 Målgrupp... 3 1.4

Läs mer

Utkast/Version (8) Användarhandledning - inrapportering maskin-till-maskin

Utkast/Version (8) Användarhandledning - inrapportering maskin-till-maskin Utkast/Version Sida 2.0 1 (8) 2017-05-12 Användarhandledning - inrapportering maskin-till-maskin 2 (8) Innehåll 1. Rapportering till VINN eller KRITA... 3 1.1 Allmänt... 3 1.2 Terminologi... 3 2. Hämta

Läs mer

Nätverk och Java, grunder Föreläsning 0: 0: Introduktion till Internet

Nätverk och Java, grunder Föreläsning 0: 0: Introduktion till Internet Nätverk och Java, grunder Föreläsning 0: 0: Introduktion till Internet Se Se också Intro en en streamad videoinspelning som som finns finns på på nätet nätet Innehåll Kort om grundläggande nätverkskoncept

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

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 4. Peter Dalenius Institutionen för datavetenskap

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 4. Peter Dalenius Institutionen för datavetenskap Uppmärkningsspråk TDP007 Konstruktion av datorspråk Föreläsning 4 Peter Dalenius Institutionen för datavetenskap 2015-02-03 Från förra gången XML-dokument specificeras med t.ex. en DTD Två olika sätt att

Läs mer

Svensk nationell datatjänst, SND BAS Online

Svensk nationell datatjänst, SND BAS Online Pass 4: Metadatastandarder Mer om metadatastandarder Välkommen till presentation 3 i pass 4. Den här presentationen handlar om några olika teman som har att göra med metadatastandarder. Jag kommer att

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

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

F2 Exchange 2007. 2013-01-16 EC Utbildning AB 2013-01-16 F2 Exchange 2007 1 F2 Idag: Exchange i SBS 2008 Planering av systemet Exchange struktur, AD/GC/hierarki Core Components Management, Connectors Serverroller 2 Exchange Server i Small Business Server 2008?

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

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

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

Gränssnitt för FakeGranska. Lars Mattsson

Gränssnitt för FakeGranska. Lars Mattsson Gränssnitt för FakeGranska av Lars Mattsson (larsmatt@kth.se) Innehållsförteckning 1 Introduktion...3 2 Genomförande:...3 3 Användning...5 4 Kända buggar:...6 5 Källförteckning...6 2 1 Introduktion Taken

Läs mer

Dokumentschema förpackning av externa objekt. Version: 1.0 Status: Standard Datum: 2006-05-15

Dokumentschema förpackning av externa objekt. Version: 1.0 Status: Standard Datum: 2006-05-15 Dokumentschema förpackning av externa objekt Version: 1.0 Status: Standard Datum: 2006-05-15 Externa objekt 2 Dokumentschema förpackning av externa objekt... 1 1. Förpackning av externa objekt... 3 1.1.

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

DNSSec. Garanterar ett säkert internet

DNSSec. Garanterar ett säkert internet DNSSec Garanterar ett säkert internet Vad är DNSSec? 2 DNSSec är ett tillägg i Domain Name System (DNS), som säkrar DNS-svarens äkthet och integritet. Tekniska åtgärder tillämpas vilket gör att den dator

Läs mer

Hyperlänkar. I HTML skapar man en hyperlänk med taggen <a> </a>, som är en förkortning av ordet ankare, på (engelska anchor).

Hyperlänkar. I HTML skapar man en hyperlänk med taggen <a> </a>, som är en förkortning av ordet ankare, på (engelska anchor). Länkar, ankar och resurser En länk är en hänvisning från ett dokument till en resurs. En resurs kan nästan vara vad som helst. Det mesta på internet är resurser i någon form, som exempelvis HTLM-dokument,

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

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

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

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er Labora&on 2 Funk&oner, if och loop övningar/uppgi:er 1M322 Webbteknik 2, 7,5hp Medieteknik 2017 Rune Körnefors rune.kornefors@lnu.se 1. Ladda ner arbetsdokument Till övningarna i denna labora&on finns

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

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

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

Introduk+on +ll programmering i JavaScript

Introduk+on +ll programmering i JavaScript Föreläsning i webbdesign Introduk+on +ll programmering i JavaScript Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se Språk Naturliga språk Mänsklig kommunika+on T.ex. Svenska, engelska,

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

InTime HTTP API. Översikt funktioner. Webbtjänster för systemintegration med InTime Messenger.

InTime HTTP API. Översikt funktioner. Webbtjänster för systemintegration med InTime Messenger. InTime HTTP API Webbtjänster för systemintegration med InTime Messenger. Översikt funktioner Samtliga funktioner, frånsett listningar, tar emot en XML sträng via metoden HTTP POST. Meddelanden Skapa meddelanden

Läs mer

Teknisk guide för brevlådeoperatörer. Annika Melin 2015-03-10 Version: 1.1

Teknisk guide för brevlådeoperatörer. Annika Melin 2015-03-10 Version: 1.1 Teknisk guide för brevlådeoperatörer Annika Melin 2015-03-10 Sida 1 av 21 Innehållsförteckning Inledning... 2 1 Dokumentinformation... 3 Syfte... 3 1.2 Avgränsningar... 3 1.3 Målgrupp... 3 1.4 Begrepp

Läs mer

Avisering av förändringar i tjänstekontrakt för Mina Meddelanden

Avisering av förändringar i tjänstekontrakt för Mina Meddelanden Tjänstekontrakt Mina version 3 Status Sida 1 av 10 Versionsdatum: 2017-12-18 Dokumentversion (n,nn): 2.0 Avisering av förändringar i Tjänstekontrakt Mina version 3 Sida 2 av 10 Innehåll... 3 1 Dokumentinformation...

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

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

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

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

Att bygga VPN. Agenda. Kenneth Löfstrand, IP-Solutions AB. kenneth@ip-solutions.se. Olika VPN scenarios. IPsec LAN - LAN. IPsec host - host SSH

Att bygga VPN. Agenda. Kenneth Löfstrand, IP-Solutions AB. kenneth@ip-solutions.se. Olika VPN scenarios. IPsec LAN - LAN. IPsec host - host SSH Att bygga VPN Kenneth Löfstrand, IP-Solutions AB kenneth@ip-solutions.se 1 IP-Solutions AB Agenda Olika VPN scenarios LAN - LAN host - host SSH 2 IP-Solutions AB IP-Solutions - Konsultverksamhet Oberoende

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

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Tentamen ID1004 Objektorienterad programmering October 29, 2013 Tentamen för ID1004 Objektorienterad programmering (vilande kurs), 29 oktober 2013, 9-13 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av tre sektioner.

Läs mer

JavaScript in SharePoint and not just for Apps. Wictor Wilén

JavaScript in SharePoint and not just for Apps. Wictor Wilén JavaScript in SharePoint and not just for Apps Wictor Wilén Wictor Wilén Agenda Varför JavaScript? JavaScript bibliotek SharePoint JS bibliotek JavaScript Client Side Object Model (JSOM/CSOM) REST Client

Läs mer

Protokollbeskrivning av OKI

Protokollbeskrivning av OKI Protokollbeskrivning av OKI Dokument: Protokollbeskrivning av OKI Sida 1 / 17 1 Syfte Det här dokumentet har som syfte att beskriva protokollet OKI. 2 Sammanfattning OKI är tänkt som en öppen standard

Läs mer

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design RE SD PD I UT IT ST AT Mjukvarudesign System Requirement Specification Inkrementell och iterativ! Konceptuell design (VAD) Systemdesign (OOA) Arkitekturell (grovkornig, UML) Teknisk design (HUR) Programdesign

Läs mer

Ladda upp filer fra n PLC till PC

Ladda upp filer fra n PLC till PC Supportdokument Ladda upp filer fra n PLC till PC Synpunkter, felaktigheter, önskemål etc. för dokumentet meddelas Fil: Malthe_Suppo_Ladda upp filer från.docx Innehållsförteckning 1. Allmänt... 2 2. Installation

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

Chapter 3: Using Classes and Objects

Chapter 3: Using Classes and Objects Chapter 3: Using Classes and Objects I dessa uppgifter kommer du att lära dig om hur man använder klasser och metoder från java biblioteket. Du kommer inte att förstå allt som händer bakom metod anrop

Läs mer

TJÄNSTEBESKRIVNING FASAD Tjänstebaserad direktåtkomst Byggnad 2015-11-27

TJÄNSTEBESKRIVNING FASAD Tjänstebaserad direktåtkomst Byggnad 2015-11-27 TJÄNSTEBESKRIVNING FASAD Tjänstebaserad direktåtkomst Byggnad 2015-11-27 Extern dokumentation - fasadsystemet Dokumentation Tjänstebaserad uppdatering: Startsida Informationsutbytesmodeller (IUM): http://www.lantmateriet.se/global/qualiware/specifikation-gdl/index.htm

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

KUNDREGISTER Sid 2(7) Teknisk specifikation

KUNDREGISTER Sid 2(7) Teknisk specifikation KUNDREGISTER Sid 1(7) Kundregister Innehållsförteckning 1 Allmänt...2 1.1 Inledning...2 1.2 Disposition...2 1.3 Ordlista...2 1.4 Referenser...2 2 Systemöversikt...3 3 Systemlösning...4 3.1 Kundregisterfiler...4

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

TJÄNSTEBESKRIVNING FASAD Tjänstebaserad direktåtkomst Adress

TJÄNSTEBESKRIVNING FASAD Tjänstebaserad direktåtkomst Adress 2015-11-27 TJÄNSTEBESKRIVNING FASAD Tjänstebaserad direktåtkomst Adress Extern dokumentation - fasadsystemet Dokumentation Tjänstebaserad uppdatering: Startsida Informationsutbytesmodeller (IUM): http://www.lantmateriet.se/global/qualiware/specifikation-gdl/index.htm

Läs mer

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: Att skapa en klass kvadrat Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: public class Kvadrat { private int sida; Det var väl inte

Läs mer

Databasdesign. E-R-modellen

Databasdesign. E-R-modellen Databasdesign Kapitel 6 Databasdesign E-R-modellen sid Modellering och design av databaser 1 E-R-modellen 3 Grundläggande begrepp 4 Begränsningar 10 E-R-diagram 14 E-R-design 16 Svaga entitetsmängder 19

Läs mer