Tjänstens återanvändningsprincip
Återanvändbarhetsprincipen för tjänster är en designprincip , tillämpad inom det tjänsteorienterade designparadigmet , för att skapa tjänster som kan återanvändas inom ett företag. Dessa återanvändbara tjänster är utformade så att deras lösningslogik är oberoende av någon speciell affärsprocess eller teknologi.
Syfte
Tjänstens återanvändbarhet mäts vanligtvis av hur mycket extra funktionalitet en tjänst innehåller som skulle kunna återanvändas i framtiden, och hur mycket av tjänstens funktionalitet som går utöver de nuvarande kraven. Detta uppmuntrar tjänster som innehåller extra funktioner byggda kring möjliga framtida tjänsteanvändningsscenarier. Det görs dock lite för att designa tjänstelogiken på ett sätt så att den kan återanvändas för att automatisera flera affärsprocesser. Detta resulterar i mer fokus på att utrusta tjänster med extra funktionalitet än att koncentrera sig på att göra kärntjänstlogiken återanvändbar, vilket leder till guldpläterade tjänster vars utveckling kräver ökad tid och ansträngning. Denna extra funktionalitet kanske inte ens faller inom tjänstens ursprungliga funktionella sammanhang och kanske inte ens används alls, eftersom den byggdes utan att fastställa dess behov. Den resulterande SOA skulle inte kunna tillhandahålla verklig återanvändbarhet av tjänster som utlovat.
En annan missuppfattning om återanvändning av tjänster är att återanvändningen relaterar till hur ofta den används. I motsats till detta hänför sig den faktiska återanvändningen till när tjänsten används för att automatisera flera affärsprocesser. Detta är den sanna återanvändningen av tjänster eftersom en sådan tjänst eliminerar behovet av att skapa en helt ny tjänst och blir en del av flera affärsprocesser utan att vara en del av någon speciell affärsprocess.
Återanvändningsprincipen för tjänster tar itu med dessa missuppfattningar genom att tillhandahålla en uppsättning riktlinjer som hjälper till att designa tjänster som innehåller logik som inte är kopplad till någon speciell affärsprocess och som därför kan återanvändas i hela företaget för att automatisera flera affärsprocesser. Detta hjälper ytterligare till att uppnå ökad ROI.
Den sammansatta tillämpningen av tjänsteåteranvändbarhet, tjänstabstraktion och lösa kopplingsprinciper hjälper till att utveckla komponerbara tjänster.
Ansökan
Denna designprincip förespråkar utveckling av tjänster baserade på de kommersiella produktdesignprinciperna som dikterar utveckling av en mjukvaruprodukt med rätt typ och korrekt kvantitet logik. Så fokus här ligger på kvaliteten på logiken packad i programvaran. Genom att koncentrera sig på kvalitet ökar återanvändningspotentialen för programvaran automatiskt. För att kunna koncentrera sig på kvaliteten på logiken kräver återanvändbarheten av tjänsten att man utforskar affärsdomänen såväl som den nuvarande tekniken som används. Några av övervägandena som hjälper till att utforma tjänster med återanvändbar logik inkluderar:
- Vilka är de långsiktiga målen för organisationen?
- Analysera de funktionella sammanhangen för de nuvarande tjänsterna.
- Nuvarande äldre system och eventuella framtida planer för avveckling av sådana äldre system.
- Vilka är de nuvarande kraven som tjänsten ska uppfylla?
- Detaljer om motsvarande affärsdomän(er).
Genom att genomföra denna analys kan vi komma fram till rätt typ av återanvändbar logik som behöver ingå i tjänsten. Också eftersom de andra tjänsterna analyseras också, minimeras risken för logisk dubbelarbete. Det är fördelaktigt för tillämpningen av denna princip att ha en serviceinventeringsplan (en uppsättning kandidattjänster) eftersom identifieringen av agnostisk logik då blir ganska lättare. Detta kräver att man utför via den tjänsteorienterade analys- och designprocessen . Tillämpningen av denna princip före slutförandet av tjänstekapacitet ger en möjlighet att finjustera och omstrukturera logiken för att göra den återanvändbar. Detta ger också en chans att utrusta tjänsterna med ytterligare funktioner som skulle kunna återanvändas av andra affärsprocesser, förutom den som för närvarande automatiseras, när det gäller att automatisera sådana processer.
Ett viktigt koncept relaterat till tillämpningen av denna princip är logisk centralisering. Med tidens gång, när olika tjänsteleveransprojekt genomförs, ökar chanserna för tjänster som innehåller dubblettlogik. Detta kan bara undvikas om det finns en företagsomfattande standard som kräver att man analyserar de nuvarande tjänsterna när det gäller att lägga till tjänster med ny återanvändbar logik. Om det redan finns en tjänst med ett funktionellt sammanhang som passar den nya återanvändbara logiken, bör en sådan logik bli en del av den befintliga tjänsten istället för att skapa en ny tjänst. Detta hjälper inte bara till att undvika dubbelarbete utan ökar också återanvändningsnivån för tjänsten eftersom den återanvändbara logiken nu sitter i rätt sammanhang och därmed har en bättre chans att återanvända. Detta är precis vad som förespråkas av det logiska centraliseringsmönstret .
Överväganden
Tillämpningen av denna designprincip kräver att man utför en top-down tjänsteorienterad analysprocess för att komma fram till en komplett uppsättning kandidattjänster. Detta kräver helt klart ökade resurser både i form av tid och insatser. Tillämpningen av designmönstret för logisk centralisering kan introducera kulturella problem, t.ex. tjänsteutvecklare som visar motvilja mot att återanvända andras tjänster, projektledare som inte är villiga att införliva användning av befintliga tjänster eftersom det kan behöva anpassa lösningsdesign, etc.
Genom att betona återanvändning av tjänster blir tillförlitligheten hos de återanvändbara tjänsterna en viktig fråga eftersom flera tjänstekonsumenter är beroende av samma tjänst. Andra designprinciper som tjänsteautonomiprincipen och tjänstestatslöshetsprincipen ger vägledning för att hantera tillförlitlighets- och tillgänglighetsrelaterade frågor.
Anteckningar
Vidare läsning
- Mauro. et al. Serviceorienterad enhetsintegration - en analys av SOA-designmönster. [online], s. 1–10, 2010 43rd Hawaii International Conference on System Sciences, 2010. Åtkomstdatum: 8 april 2010.
- Dennis Wisnosky. Principer och mönster vid det amerikanska försvarsdepartementet [ Online]. Åtkomstdatum: 14 april 2010.