Namnkonvention för tjänster

Namnkonventionen för tjänster följer riktlinjer från OAGIS, dvs. <Verb>.<Noun>.

Syntax för namn på tjänster: <Verb>.<Informationsentitet>[Kvalificering][Omfattning][Mottagare][Parameter]

Verb

Följande verb används för att beskriva tjänstens grundläggande beteende (i normalfallet):

Verb

Interaktionsmodell

Innebörd

Verb

Interaktionsmodell

Innebörd

Sync

Publish-Subscribe

Asynkron överföring av data mellan applikationer. Används för synkronisering av master-data genom att en applikation publicerar information som kan konsumeras av flera andra.

Data flödar i normalfallet från producent till konsument (t.ex. publicera nya kurser).

Get

Request-Reply

Synkront uppslag t.ex. en webservice. En förfrågan om en specifik datamängd resulterar i ett svar från applikationen som äger tjänsten.

Process

Fire-and-Forget

Asynkron överföring av transaktionsdata från en applikation till ett master-system som innebär bearbetning i målsystemet.

Data flödar i normalfallet från konsument till producent (t.ex. skapa konto).

Informationsentitet

Resten av tjänstenamnet beskriver vilken information som kan utbytas med tjänsten. I normalfallet är detta bara namnet på ett informationsobjekt, t.ex. Person, Student eller Kurs.

Ibland behövs dock ytterligare information för att kvalificera vilken data tjänsten tillhandahåller. Dessa delar är inte obligatoriska, men skall följa nedanstående rekommendationer för namngivning om de används.

Komponent

Innebörd

Komponent

Innebörd

Informationsentitet

Namn på informationsobjekt. Informationsobjekt har alltid namn på svenska. Det skall vara enkelt att förstå vilken data tjänsten tillhandahåller. Använd singular eller plural efter behov.

Exempel: Student, Studenter

Kvalificering

(ej obligatorisk)

Indikerar en specifik variant av informationsobjekt.

Exempel: OrganisationerBakåtTotal indikerar att tjänsten tillhandahåller bakåtkompatibelt organisationsträd.

Omfattning

(ej obligatorisk)

Används endast om flera informationsobjekt skickas i samma meddelande.

Använd “Delta” eller “Total” för att indikera om meddelandet innehåller samtliga objekt eller bara nya/uppdaterade objekt.

Exempel: PersonalTotal, PersonalDelta

Mottagare

(ej obligatorisk)

Används endast för “privata tjänster” dvs legacy-tjänster ämnade för direktintegration med en specifik konsument. Använd med försiktighet.

Använd prefix: “To”.

Exempel: FrånvaroTotalToRetendo

Parameter

(ej obligatorisk)

Används endast för Get-tjänster där en parameter är nödvändig för att göra skillnad mellan likartade tjänster som tillhandahåller samma informationsobjekt. Använd med försiktighet.

Använd prefix: “By”.

Exempel: Get.UserIDByPersonnummer