SOA

Formålet med at anvende en service-orienteret arkitektur (SOA) er at skabe effektivitet og ikke mindst fleksibilitet i forretningen. SOA betyder fleksibel og agil anvendelse af IT til at understøtte forretningsmodellen. SOA er som udgangspunkt ikke et teknologisk koncept - det er en forretningsfilosofi, der forholder sig til, hvordan forretningsprocesser skal organiseres. 


Definition af service

Service-begrebet er naturligvis centralt i SOA. En service er en kommunikationsflade, som får de forskellige softwarekomponenter til at tale sammen. På den ene sider er der en serviceleverandør, der stiller en formåen eller evne til at udføre en veldefineret og afgrænset aktivitet til rådighed. På den anden side er der en serviceanvender, der efterspørger den tilbudte service.

I stedet for at udvikle en service fra bunden til et nyt formål er det i mange tilfælde muligt blot at modificere en eksisterende service. Det giver mulighed for at genbruger regler ved at specificere dem Èt sted, hvilket bidrager til fleksibiliteten og eliminerer risikoen for, at en regel ved en fejl ikke bliver ændret i alle dele af systemet.

En service anvendes i sammenhæng med en proces.En proces, som eventuelt indeholder andre processer, er en eller flere sammenhængende procedurer eller aktiviteter, som tilsammen udfører en opgave. Enhver virksomhed har både formelle og uformelle processer - såvel internt som eksternt i forhold til andre virksomheder og kunder.

Et eksempel på processer og services kunne være et køb over internettet. Processen indeholder îkunde henter hjemmesidenî, îkunde bladrer i onlinekatalogetî, îkunde vælger vareî og îkunde køber vareî. Services kan være îinternetside sendesî, îvis katalogî, îreservÈr vareî og îstart betalingsmodulî. Den sidste service, betalingsmodulet, kan eksempelvis være en service, som varetages af en tredjepart.


Fleksibilitet

Et af de væsentligste principper til at opnå fleksibilitet i SOA er princippet om “løs kobling”. Udtrykket “kobling” anvendes inden for IT til at forklare, på hvilken måde to emner er afhængige af hinanden. Der kan for eksempel være en tæt kobling mellem hardware og software, der er udviklet i et tæt parløb og derved ikke kan fungere adskilt. Men det er ofte en fordel at have en løs kobling for eksempel mellem softwarekomponenter. Og her kan services anvendes, da de løsner den tætte afhængighed mellem softwarekomponenter, der skal kommunikere med hinanden. Det letter opdateringer og udskiftninger af de involverede komponenter. Og hermed er SOA i høj grad er med til at sikre fleksibiliteten, hvis der i fremtiden skulle opstå flaskehalse i dele af IT-systemet.  

Det er vigtigt at være opmærksomhed på, at SOA i sin fulde implementation ikke er nødvendig i alle projekter. Der skal være et formål med at udvikle services, så de kan genbruges, og det er der ikke nødvendigvis i mindre lukkede projekter.