Er der nogen der ikke laver SOA?

Da jeg for ca. 5 år siden først fik kendskab til SOA, havde jeg ikke i min vildeste fantasi forestillet mig hvor stort SOA ville blive. I dag tror jeg ikke jeg kender til større projekter der ikke har meldt sig under SOA-fanen. Spørgsmålet er så om det er reelt, eller det bare er buzz og marketecture?

Nu er SOA jo et 'dejligt' bredt begreb, hvor meget kan fejes ind under, så set i det lys holder påstandene. 90% af SOA er almindelig god udviklingsskik om genbrug, komponentbaseret udvikling, patterns, designprincipper osv. Så ingen tvivl om, at du kan tage store dele af ethvert projekt, og sige at det er SOA. Men hvor interessant er det? Det betyder jo reelt bare at det er et IT-projekt.

Det interessante i mine øjne delt i to:
- Hvorfor har man valgt SOA (hvad er målet)
- Hvad betyder SOA for forretningen

Ser man først på hvorfor, er det typiske svar fleksibilitet ' men i forhold til hvad'? Fleksibilitet giver ikke megen mening når det står alene. Har man derimod fået kvantificeret sine fleksibilitetsmål i forhold til nogle specifikke parametre, har men et styringsredskab der kan bruges til at retningsbestemme ens designprincipper (hvilket også gælder for ikke SOA projekter).
Det andet ben er; hvad det betyder for forretningen' Det er her de fleste falder igennem. Serviceorientering er for de fleste organisationer en kæmpe omvæltning fra en siloorienteret til en procesorienteret forretning, og det er reelt her man kan tale om SOA som noget nyt ' de sidste 10%. Her kan man skabe sammenhængen mellem forretningen og IT.

Der er ingen tvivl om at IT mange steder er flyttet ud af kælderen, og op på ledelsesgangen, men det er jo ikke IT der skal transformerer en virksomhed. Og her har vi vel dilemmaet: SOA er primært et begreb i IT verdenen, men det er forretningen der skal skabe den serviceorienterede virksomhed.

Så er 'rigtig' SOA en drøm?

Til det vil jeg nok sige både ja og nej. Man skal naturligvis tilpasse SOA til virksomhedens modenhed, og tage et skridt ad gangen, hvor de første skridt ofte er teknisk orienterede. Men det er vigtigt at vide hvad det er man drømmer om, ellers overlader man det til tilfældigheder om men når sin drøm!

*Det skal lige understreges at der er projekter hvor man er meget bevist om ovenstående. *

Kommentarer (3)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#1 Frank Vilhelmsen

Ind i mellem kan det hænde at den konsulentvirksomhed hvor jeg arbejder for sætter mig foran en kunde der stiller mig det forfærdelige spørgsmål ”hvad synes du så om SOA(Service Oriented Architecture)?” Det er et næsten umuligt spørgsmål idet SOA betyder så mange forskellige ting for forskellige mennesker.

For nogle mennesker handler SOA om at eksponere software gennem web services. I mange tilfælde forventer de forskellige WS-* standarter og de er parat til accepterer alle former for transport(XML over http).

For nogle mennesker handler SOA om en arkitektur hvori applikationer forsvinder. I stedet bygges forretnings funktionaliteten over et sæt af services adskilt fra datagrundlaget.

For nogle betyder SOA at systemer kan kommunikere med andre systemer på en standardiseret strukturel form. Det foregår næsten altid med XML. I den værste form er det reelt CORBA med ”Tuborg klammer” mens den sofistikerede form er konstrueret specielt som forretningens rygrad og alle applikationer benytter denne. Denne rygrad involverer ofte http som transport.

For nogle betyder SOA at der kan sendes asynkrone beskeder mellem forskellige systemer. Dette kan betragtes som EAI system uden en ressource tung forhandler som mellemled.

Jeg har hørt folk tale om alle de fede ting ved SOA. SOA separere data fra proces, at SOA kombinere data med proces, at SOA kun bruger web standarder, at SOA er uafhængig af web standarder, at SOA er asynkron, at SOA er synkron, at SOA er løst koblet, at SOA så løst koblet at det kan være svært at samle dem osv.

Under TheServerSide Java Symposium blev SOA blev diskuteret. Efter en timelang session blev det simple spørgsmål stillet af Martin Fowler; ”Hvad er en service?”

Martin stillede naturligvis spørgsmålet for sjov men det blev klart at selv definitionen af S'et i SOA er vanskeligt. Ligeledes kunne der ikke fremskaffes en klar entydig forklaring på A'et.

Kun O i SOA er let at forklare, det binder nemlig S og A samme.

Så hvad gør vi? Til at starte med skal vi huske alle de mange forskellige, og ofte inkompatible, ideer der falder under SOA hatten. Hver af disse bør beskrives ordentlig uafhængig af SOA. Som der ser ud i øjeblikket er SOA et område hvor alle komponenter og arkitekturer kan leve frit, selvom de er uden substans nok til at bestå alene.

Svaret er Ja! Jeg prøver så vidt muligt at holde mig væk fra dødsstjerne teknologier og semantisk rod.

  • 0
  • 0
#3 Lars Hansen

SOA hører absolut til som et af de mere misforståede og misbrugte begreber inden for IT-verdenen. For mig at se lever SOA på to forskellige niveauer, nemlig som begreb og som reel arkitekturstil.

Som begreb anvendes SOA ofte som en paraply for en lang række af mere eller mindre sammentænkte principper, standarder og teknologier. Typisk af IT-leverandører og konsulenthuse der det primære mål at pushe SOA ydelser. Når SOA anvendes i den sammenhæng, så virker det ofte som de seks blinde mænd der skal beskrive en elefant. Den ene beskriver halen, den anden snablen osv. Men ingen beskriver elefanten i sin helhed. Heraf kommer også misforståelsen om at SOA = WS. Hver evig eneste gang nogen snakker SOA, så er der nogen der brokker sig over at WS.* er for kompliceret. Men SOA er altså ikke (i første omgang) et teknologivalg.

Jeg er ikke sikker på at SOA begrebet står til at redde. Nogle mener at begrebet vil morphe til ”Event Driven Architecture ” eller (gud bedre det) ”Enterprise 2.0”. Andre (eks. Dave Linthicum), mener at SOA med tiden vil komme til at blive et sub-pattern til Enterprise Arkitekturen. De to arkitekturformer har da også meget at give hinanden.

Som arkitekturstil forstår jeg først og fremmest SOA, som noget der reelt er med til at skabe sammenhæng mellem IT og forretning. Med endnu et fortærsket udtryk kan vi kalde det 'alignment'. Til det formål anvendes en række principper, standarder, 'patterns' - og jo – selvfølgelig også teknologier. Jo mere moden anvendelse af SOA, jo større sammenhæng mellem virksomhedens strategi og IT. Og services er i bund og grund de byggeklodser som vores forretningsprocesser består af.

Jeg ved ikke om SOA er for alle. Det er jo forretningen der skal være styrende, og ikke alle organisationer har behov for eller kompetencer til at tænke SOA. Til gengæld mener jeg at næsten alle burde tænke 'alignment'. Og det burde efter min mening være første skridt på vejen mod SOA, eller hvad vi nu skal kalde det i næste uge.

  • 0
  • 0
Log ind eller Opret konto for at kommentere