Hvad er SOA?

I denne uge faldt jeg over begrebet i forbindelse med Mogens Nørgaards videoklumme "SOA er varm luft" hvor Mogens tydeligvis ikke er helt med på hvad SOA er.

Jeg synes det giver meget mening at læse de forskellige sites man finder fra Google på en søgning på "SOA". Fx. Wikipedias forklaring:

Service Oriented Architecture (SOA) is a computer system’s architectural style for creating and using business processes, packaged as services, throughout their lifecycle. SOA also defines and provisions the IT infrastructure to allow different applications to exchange data and participate in business processes. These functions are loosely coupled with the operating systems and programming languages underlying the applications. SOA separates functions into distinct units (services), which can be distributed over a network and can be combined and reused to create business applications. These services communicate with each other by passing data from one service to another, or by coordinating an activity between two or more services.

I min verden giver dette meget mening, at betegne denne måde at bygge systemer på for service orienteret. I den seneste bog jeg har haft under hovedpuden gik en af redskaberne ud på at finde modsætninger for at fremme forståelse, og det er ikke så svært.

Modsætninger til SOA er indkapsling og isolation m.m. 

Hvis vi skal bygge SOA i praksis betyder det, at hvis vi laver en webshop, der skal bruge en fragtberegner som ud fra en sendings; volumen, vægt, destination og afsender adresse, skal give os en fragtpris. Så giver det vanvittig meget mening at bygge dette som en service der kan udføre dette tal-knuseri. For det første så det er muligt for kundens webshop at finde prisen for fragt men også så andre systemer fx kundens bagvedliggende økonomi system og hvad der måtte komme af systemer i fremtiden.

Det er der efter min mening kæmpe perspektiver i: At en funktion som fx en fragtberegner kan bruges af andre systemer og tilmed kan vedligeholdes centralt (ét sted). Vi får distribueret vores processor, de kan vedligeholdes individuelt, de kan skaleres individuelt og de kan "snakke" med hele verden, hvad kan man ønske sig mere. Så jeg vil vælge at bruge Mogens’ artikel overskrift i engelsk "SOA is hot stuff" og det er det.

At bygge systemer efter denne model eller dette princip bliver betegnet som "Service Oriented Architecture". Og det er i fremtidsperspektivet et meget solidt skridt. At Mogens så også nævner afløseren for SOA, Enterprise Architecture" og "Service Component Architecture (SCA)" det glæder vi os til at høre om. SOA stilen er en fremadrettet tænke-måde, hvor det forsøges at tænke løsningerne længere frem end muligt er. Udfordringen er software løsningers levetid, den ser ud til at kunne forlænges med SOA fordi man kan videreudvikle de områder/services af ens system som bliver overhalet af ny teknologi. Og den investering bør man gøre op ved at sammenligne løsningens pris udviklet til SOA og uden, om den forskel (hvis der er nogen) kan betale sig i fremadrettet vedligeholdelse og opdatering.


Skriv et svar

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>