Chapter 7 Flashcards
Vad är Discoverability-
att kunna hitta den tjänst man behöver. Om man inte hittar tjänsten och dess beskrivning går den inte att använda. När tjänsten är fördigbyggd och kan användas läggs den på virtuella maskiner.
Vad är Service inventory?
(en samling av tjänster)
Vad är Service registry?
beskrivning av tjänsterna som finns)
Composability & Reusability
återanvända tjänster och designa så att de kan användas tillsammans (dock utan överlappning).
Vem är Service inventory och Service registry viktigt för?
görs tillgängliga för kunden.
Autonomy-
att bygga tjänster som är fristående och oberoende av varandra. Detta kan göras på tre olika sätt-
Shared Database Management System
tjänsterna ligger på olika virtuella maskiner som är oberoende av varandra men som delar på samma databas. Andra tjänster påverkas inte om en maskin går ner, men alla tjänster påverkas om någonting händer med datsabasen.
Shared Server
tjänsterna delar server man inte databas, vilket gör att andra tjänster inte påverkas om en databas går sönder.
Shared Nothing
alla tjänster har helt separerade databaser och maskiner. Detta är den bästa metoden för hög autonomi. I verkligheten kan det vara svårt att uppnå så hög autonomi eftersom det är svårt att komma år data från olika databaser och det ta längre tid att söka igenom.
Hur balaseras Shared Database Management System
Shared Server
Shared Nothing i praktiken?
I praktiken brukar man försöka att hitta en balans balans mellan dessa varianter.
Abstraction
gömma information som inte är nödvändig för att använda tjänsten (ta bort detaljer och fokusera på helheten)
funktionsdelen
kan man abstrahera bort operationer eller metoder för att klienterna inte ska behöva anropa dem i onödan
På programnivå
grupperar man metoder så att man kan anropa alla samtidigt.
På den tekniska delen
abstraherar man bort vilken teknik man använder för att t.ex. inte avslöja vilket programmeringsspråk som används.
Loose coupling-
att ha lös koppling/beroende mellan tjänster.
- tjänsterna ska inte vara beroende av fysisk hårdvara
- meddelanden ska vara asynkrona så att man inte låser sig i väntan på svar
- följa standardprotokoll, XML, http
- abstrahera orelevant information/funktionalitet.