WS Death Star July 30, 2007 23:13 over 4 years ago
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?” 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(Webservices)? dødsstjerne 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.
Et citat fra Mark Nottingham – tidligere Chair for WS-Addressing WG
Show me the interoperable, full and free implementations of WS-* in
Python, Java, Perl, Ruby and PHP. You won’t see them, because there’s no
intrinsic value in WS-* unless you’re trying to suck money out of your
customers. Its complexity serves as a barrier to entry at the same
time that it creates “value” that can be sold.
By Frank Vilhelmsen - 2 tags: soa ws* - Add comment