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



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

Den fjärde är data_list som är en vektor av information med själva meddelanden. Rubriken O står för obligatoriskt fält.

Faktura/Saldobesked Gränssnittsdokumentation. Version 5.1

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

1 Generella variabler

1 Generella variabler

teknisk manual Direktbetalning handelsbanken.se/e-handel

Gränssnittsdokumentation. Faktura/Saldobesked. version 5.0

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:

Klassdeklaration. Metoddeklaration. Parameteröverföring

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

Objektorienterad programmering i Java I

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

Bokning Gränssnittsdokumentation. Version 2.30

eremiss 3.20 Webservices integration

Uppgiftskravstjänsten Teknisk anslutning för att hämta uppgiftskrav som öppna data. Version 1.0

Uppgift 1a (Aktiekurser utan poster)

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I

Gränssnitt visning av transportinstruktion, fraktsedel och kvittens (e-pod)

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

eremiss 3.23 Webservices integration

Certifikattjänsten - testbädd. Anläggningsprojekt för ett nationellt inkomstregister

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

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

Föreläsning 3.1: Datastrukturer, en översikt

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Programbeskrivning. Chaos på Web. Version

Användarhandledning Version 1.2

* Skatteverket. Beskattningsuppgifter. Förfrågan och svar. IT-avdelningen. Kravspecifikation 1.0

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Textsträngar från/till skärm eller fil

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Chapter 3: Using Classes and Objects

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

Lösningar till tentamen i EIT070 Datorteknik

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Integration mot Cellsynts SMS gateway via HTTP-gränssnitt (teknisk dokumentation) Cellsynt

Instruktion för att kunna använda Säkerhetstjänsternas administrationsgränssnitt

REST API Generellt https POST UTF-8 API_key JSON

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

REST API Generellt https POST UTF-8 API_key JSON

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

HI1024 Programmering, grundkurs TEN

Innehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata

KARLSTADS UNIVERSITET 12/8/09 informatik & datavetenskap Johan Öfverberg, Kerstin Andersson Laboration 4, ISG A04 och DVG A08 HT-09

TDDD78 Objektorientering: Lagring och livstid

Innehåll MySQL Intro. Historik / Utveckling Produkter Primära delsystem Installation Tabell och datatyper Namnsättning

Classes och Interfaces, Objects och References, Initialization

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18

Webbtjänster med API er

Laboration 1 Introduktion till Visual Basic 6.0

Tjänstegränssnitt API Vägledning

Språket Python - Del 2 Grundkurs i programmering med Python

PROGES PLUS THERMOSCAN RF. Instruktionsmanual V

Uppgift 1 (grundläggande konstruktioner)

Objektorienterad programmering Föreläsning 11. Copyright Mahmud Al Hakim

Referens Uppslag Adress v teknisk beskrivning

Telia Connect för Windows

Integration mot Cellsynts SMS gateway via HTTP-gränssnitt (teknisk dokumentation)

Vitec Connect. Teknisk beskrivning REVIDERAT SENAST: VITEC. VITEC Affärsområde Mäklare

Compose Connect. Hosted Exchange

Java, klasser, objekt (Skansholm: Kapitel 2)

Teoretisk del. Facit Tentamen TDDC (6)

IT för personligt arbete F2

729G74 IT och programmering, grundkurs. Tema 2, Föreläsning 2 Jody Foo,

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.

Objektorienterad programmering E. Telefonboken, än en gång. Gränssnitt. Telefonboken med gränssnitt specificerat, del 1.

RDT Externt Webbtjänst Gränssnitt

729G04 Programmering och diskret matematik

Ajax TruClient. Erfarenheter, tips och trix från Swedbank IT. Christian Gerdes Performance Engineer, LIGHTS IN LINE AB

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

Användarnamn, lösenord och e-postadress får du tilldelade av skolans IT-ansvarige, efter att din ansökan är mottagen och godkänd av administratören.

Arrayer (vektorer) Murach s: kap Elektronikcentrum i Svängsta AB

Introduktion till användning av linux-servern sledge och några övningsuppgifter

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Startanvisning för Bornets Internet

E-legitimationsnämndens legitimeringstjänster för test

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

Programmeringsteknik med C och Matlab

LabPortalen Services 2.11

TDDC74 Programmering: Abstraktion och modellering Tenta, kl 14 18, 11 juni 2014

Arkitektur och Regelverk Definition av kodverk och klassifikation. Version 1.0

Tentamen EDAF30 Programmering i C++

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll,

RDT Externt Webbtjänst Gränssnitt

Introduktion till programmering SMD180. Föreläsning 9: Tupler

TJÄNSTEBESKRIVNING FASAD Tjänstebaserad direktåtkomst Adress

Föreläsning 3-4 Innehåll

Objektorientering: Lagring och livstid

Laboration 2: Designmönster

Användarhandledning för RSV:s Elektroniska brevlåda

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

Nya webbservern Dvwebb.mah.se

Frakt och webbutiksinställningar

Tentamen i Programmering grundkurs och Programmering C

F8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor

Transkript:

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 av information utan även ett gränssnitt som låter kunder /partners att integrera sina system med Schenker s. Tjänster En central punkt i Schenker s webbutveckling är att alltid separera information, funktionalitet och presentation från varandra. En Schenker tjänst har specificerad in- och ut-data och gör bara det den förväntas att göra och inget annat. Det finns en mängd regler som beskriver hur en Schenker tjänst måste kommunicera. Dessa regler kommer att beskrivas i detta kapitel Kommunikation Schenker erbjuder sina kunder / partners att accessa OnLine-tjänsterna direkt från sina system och inte enbart via en webbläsare. Denna access sker med protokollet HTTP via Internet. Varje tjänst har en egen URL. Se separat dokument över aktuella URL:er Anropet till en tjänst hanteras på samma sätt som om den hade anropats av en webbläsare. Med i anropet sänds en variabel som anger om svaret skall vara i HTML eller i form av rå data. HTTP Metoder Protokollet HTTP erbjuder två huvudmetoder för att skicka information. Dessa är GET och POST. När du anropar en tjänst väljer du att använda en av dem. OBS. Det finns en begränsning i att använda metoden "GET" och det är att vissa system enbart tillåter att ett "GET"-meddelande får vara max 1KB stort. Har Du möjlighet att hantera metoden "POST" istället så rekommenderas den i alla lägen pga. den nämnda begränsningen. Tjänsteuppbyggnad Tjänsterna anropas på samma sätt från en applikation som om de hade anropas från en webbläsare. Svaret från tjänsten har exakt samma uppbyggnad som anropet. Intro WDR Gränssnitt version 1.00 2000-03-03 Sida 1 (6)

Fälten byggs upp på samma sätt som en webbläsare bygger sina med "GET". Det är namnet på ett fält, följt av ett "lika med" (=), följt av fältets värdet. Om det finns fler fält, används ett och (&) för att separera fältet åt. Exempel: om du kallar på en tjänst och skickar fälten foo och bar med värden foot och bart kommer du att skicka strängen foo=foot&bar=bart till tjänsten. Teckensnitt / URL encoding Teckensnittet är Latin-1 (ISO 8859-1) vilket motsvarar de två första kodsidorna i Unicode. Meddelandet skall kodas om till att bli en 7 bits kod enligt URLencoding (RFC 1738). Exempel: om du ska skicka fältet e_mail med värde info@schenker.schenker.se och fältet code med värde k%9s2! till en tjänst, kommer du att skicka strängen e%5fmail=info%40schenker%2eschenker%2ese&code= k%259s2%21. Mer information om teckensnitt och URLencoding finns i separat dokument. Containers När kommunikation sker med en Schenker tjänst kommer fälten att grupperas tillsammans. Dessa grupper kallas containers. För att namnge ett fält i en container sätter man container-namnet först, därefter en punkt och sist namnet på fältet. Exempel: om fältet page_size hör till containern request, kommer det fullständiga namnet för att beskriva fältet att bli request.page_size. Vissa fält kommer att höra till containers som i sin tur hör till containers. Example: om fältet message hör till containern error, som i sin tur hör till containern system, kommer fullständigt fältnamn att bli system.error.message. Vektorer Strängformatet stödjer även vektorer. För att beskriva en nivå i en vektor används ett indexnummer med start på noll. Exempel: Du vill skicka en vektor med tre stycken sändningsleveransdatum. Namnet på vektorn skulle kunna vara shipment_list och namnet på datum-fältet skulle kunna heta delivery_date_time. Första posten i vektorn skulle då representeras som shipment_list.0.delivery_date_time. För att göra exemplet ovan komplett, vi säger att du vill skicka tre sändningsleveransdatum 1999-02-08 05:06, 1999-03-20 22:38 och 2000-01-01 00:00 till en tjänst (utan GMT zon specifikation). Det slutgiltiga men inte URL encodade fältens namn och värden blir följande. shipment_list.0.delivery_date_time=199902080506 shipment_list.1.delivery_date_time=199903202238 shipment_list.2.delivery_date_time=200001010000 Intro WDR Gränssnitt version 1.00 2000-03-03 Sida 2 (6)

Den URL encodade och kompletta strängen skulle bli: shipment%5flist%2e0%2edelivery%5fdate%5ftime=199902080506&shipment%5flist%2 E1%2Edelivery%5Fdate%5Ftime=199903202238&shipment%5Flist%2E2%2Edelivery%5Fd ate%5ftime=200001010000 Värdena förväntas inte följa någon speciell ordning, utan kan lika gärna se ut som följer. shipment_list.1.delivery_date_time=199903202238 shipment_list.0.delivery_date_time=199902080506 shipment_list.2.delivery_date_time=200001010000 Fält typer Alla fält måste vara av en speciell typ och följer vissa regler. Fält typ Beskrivning String 1 GB stor sträng, teckensnitt Latin-1 Integer +/- heltal 9 siffror Float Flyttal representeras med en decimal punkt, inte ett komma. Om det inte finns någon decimal del i värdet skall ingen punkt finnas med. Exempel: 5.3 och 4, inte 5,3 eller 4.0. Om fältet tex. skulle innehålla valutavärde kommer korrekt antal decimaler att returneras, 5.00, 30.20 och 200000.00. Date Datum och tidformaten som används kommer från ISO 8601 Basic. Formatet är också kompatibelt med EDI-fact standarden. Datum måste skrivas I detta format YYYYMMDD. Time Exempel på det enda godkända datumformatet 19990624 Tidformatet som används kommer från ISO 8601 Basic. Formatet är också kompatibelt med EDI-fact standarden. Tider måste skrivas i detta format HHMMSS, ex 235959 (24-timmars klocka, inte am och pm ). Eftersom olika tjänster kan existera i olika tidszoner kan GMT zonen specificeras genom att lägga till + eller - (ett undantag, se nedan) följt av en fyra siffror lång kod +0100 menas en timma, 0 minuter Öst om Greenwich meridianen. En tjänst som befinner sig på Greenwichmeridianen, som är GMT +/-0, kan skrivas antingen som: +0000, -0000 eller Z (ex 235959Z ). Om en tjänst tar emot en tid utan GMT zonspecifikation kommer tiden att tolkas som att den är i samma GMT zon Intro WDR Gränssnitt version 1.00 2000-03-03 Sida 3 (6)

som tjänsten själv befinner sig i En tjänst som kräver GMT zon specifikation på ett specifikt fält kommer att returnera ett fel om en tid är mottagen utan GMT specifikation Date and time (time stamps) Exempel på alla tillåtna format 113302+0200 113302-0200 113302Z 113302 Datum och tidformaten som används kommer från ISO 8601 Basic. Formatet är också kompatibelt med EDI-fact standarden. Datum och tid specifikationen är enkel. Genom att lägga till tid formatet till datum formatet Boolean Exempel på alla tillåtna format 19990624113302+0200 19990624113302-0200 19990624113302Z 19990624113302 Används för att beskriva sant / falskt. Här är värdet numeriskt. 0 = falskt, 1 = sant Service containers Du har nu sett hur kommunikationsreglerna och Notation för tjänstens information ser ut. Du kommer nu att bli introducerad reglerna för en service container som används när tjänster kommunicerar med varandra. Allt du lärt dig hittills gäller fortfarande. Service containers är bara ett sätt att standardisera strukturen på informationen Interaktion När en tjänst anropas och tar emot några fält och värden, förväntas tjänsten returnera all anropande information, plus de fält och värden tjänsten genererar. OBS!!! Container-konceptet erbjuder också möjligheten att sända med mer information än vad mottagaren förväntar sig. Detta är inget fel utan mottagaren skall enbart ignorera den extra informationen. Detta är en mycket viktig egenskap som gör att smärre ändringar / tillägg till gränssnittet kan ske utan att klienten eller servern i alla lägen måste ändras. Intro WDR Gränssnitt version 1.00 2000-03-03 Sida 4 (6)

Bas containers Det finns bara fyra bascontainers. Dessa är request, response, data_list (en vektor av containers) och system. Det som menas är att inget fält får tillhöra ex enbart reference. Fältet måste alltid finnas under en av de fyra bascontainrarna. Exempel request.reference. Anledningen till att det finns bascontainers är för att enklare separera en typ av information från en annan. Nedan är regler för respektive container beskrivna. request containern När en tjänst anropas tar den emot de argument som inte är databas-relaterad i denna container, ex typ av önskad aktivitet eller diverse urval. Containern är read only. Exempel på argument: select.country_code och page_size. response containern Denna container innehåller information om information i "data_list"-containern som skickas tillbaka från tjänsten. Response containern är write only. Om information skickas till tjänsten i denna container kommer den att ignoreras. data_list vektorn Observera att detta inte är någon container utan en vektor med containrar!! Data_list vektorn innehåller informationsmassan. Ex, det är här du kommer att få tillbaka statusinformationen från track & trace-tjänsten. Data_list vektorn är read-and-write för att den även används för att skicka informationsmängder till en tjänst. Information som behöver returneras men inte har något med informationsmängden att göra skickas tillbaka i response containern,ex data_list_count. data_list vektorn kommer alltid att innehålla samma antal element som antal informationscontainrar, det vill säga, inga tomma element i data_list vektorn returneras från tjänsten. system containern system containern kommer att innehålla information om systemet och dess status. Felhantering kommer tex. att hamna här. System containern är write only. Fördefinierade fält Utanför reglerna för de fyra bascontainrarna finns några fördefinierade fält, dessa tas upp här. Bas containers Bas containers struktur Namn Typ In / ut Beskrivning request Container In Fält till anropad tjänst Intro WDR Gränssnitt version 1.00 2000-03-03 Sida 5 (6)

response Container Ut Information om information från en tjänst data_list Vektor In / ut Informationsmassan system Container Ut Systeminformation, bla felhantering Standard fält i bas containers Fält namn Typ Beskrivning Valfri request.service.action String Kan vara en av select, insert, update and Nej delete. Detta fält talar om för tjänsten vad den skall göra. Exempel: En boknings tjänst använder insert och en godssökningstjänst använder select. request.service.method String Används när det finns fler typer av metoder som Ja en tjänst kan hantera. Exempel: Olika varianter av en sökning. request.service.type String Extra detaljinformation som förtydligar för Ja tjänsten vad den skall göra om "method" inte är tillräckligt specifik. request.page_size Int Storleken på datasidan. Varje tjänst som tillåter Ja request.service.action med värde select kan ta emot page_size. Default är 0 (oändlig). request.absolute_page Int Den valda datasidan. Varje tjänst som tillåter Ja request.service.action med värde select kan ta emot absolute_page. Default är 1 (första sidan). request.select Alla Container som innehåller urvalsinformation, ex urval på datum, land etc. response.service.name string Namnet på tjänsten. Nej response.service.version string Versionen på tjänsten i formatet 33.12 eller 2.1. Nej response.data_list_count int Samma som antalet containers i data_list vektorn. Nej response.total_record_count Int Motsvarar antalet poster som hittats vid en specifik Ja sökning i en tjänst. Om alla poster returneras av tjänsten kommer detta antal att motsvara response.data_list_count. För mer information, läs om request.page.size och request.absolute_page. system.error.id int Felkod 0 är ok. Nej system.error.message string Felmeddelande på engelska. Endast för loggning Ja Intro WDR Gränssnitt version 1.00 2000-03-03 Sida 6 (6)