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