SOA arkitektoniske stiler og standarder

Tjenesteorientert arkitektur, eller SOA, kan bedrifter gjøre bruk av sine eksisterende IT-infrastruktur for å ta opp nye forretningsbehov. SOA behandler den eksisterende infrastrukturen som en tjeneste, og derfor gjør det mulig for den å bli brukt for å løse ulike behov. Det er mer enn en SOA arkitektur. En arkitektonisk stil er en gruppe av prinsipper som gir et rammeverk for en familie av systemer.

Komponentbasert

En komponent-baserte SOA arkitektonisk stil bruker en software engineering tilnærming til design og utvikling av et system. Denne tilnærmingen dekonstruerer systemet design i sine enkelte komponenter på en funksjonell eller logisk grunnlag. De ulike komponentene har veldefinerte kommunikasjonsgrensesnitt med ulike egenskaper. En slik karakteristisk for disse komponentene er at de er gjenbrukbare. Dette betyr at komponentene kan brukes i forskjellige applikasjoner basert på ulike scenarier.

Domene-Based

SOA bruker også en annen arkitektonisk stil kalt domene drevet design (DDD). Dette er et objektorientert tilnærming til programvare for design som er basert på virksomheten domene og dens elementer og atferd, samt forholdet mellom dem. I denne SOA arkitektonisk stil, er domenemodellen et rammeverk som designer baser løsninger. Denne typen arkitektoniske stilen krever kunnskap om virksomheten domene som skal modelleres. Utviklingsteam kan også arbeide med virksomhet domene eksperter for å gjøre en slik modellering.

Lagbasert

En lagdelt arkitektoniske stil grupper relatert funksjonalitet i et program i forskjellige lag som er stablet oppå hverandre. Innenfor hvert lag, er det felles funksjonalitet basert på en felles regel eller ansvar. Hvis denne lagdelingen er gjort riktig, resulterer det i en separasjon som gir fleksibilitet. I en streng lagdeling tilnærming, kan komponentene i ett lag bare kommunisere i seg selv, eller sammen med komponentene i laget rett under dem. Dersom lagene er mindre strenge, kan komponentene i et lag samhandle med komponentene i en hvilken som helst lavere lag.