Mannen som hatet SOA

Mannen som hatet SOA

INTERVJUET: Johannes Brodwall holdt foredrag på Javazone. Tittelen var: "Do I still hate SOA?"

- Hater du fortsatt SOA?

- Nei da, bare når det blir brukt feil, og det blir det en del. Du kan si at tankene bak SOA har fungert i over 20 år gjennom standarder som for eksempel EDIFACT. Selv om det ikke er helt enkelt. Jeg pleier å si at EDIFACT er formatet FN laget for å straffe de som snakker stygt om XML. Når det gjelder SOA, er mulighetene for storskala integrasjon viktigere enn web services.

- Hva er bra med SOA, da?

-- Når det brukes til å lage gode tjenester. Jeg er med og arrangerer Smidig-konferansen. Der bruker vi Paypal for betaling, og slipper å håndtere noen betalingsløsninger. Slik skal en tjeneste være.

- Så hva er galt med SOA?

- Det er når virksomheter ser EDIFACT, Paypal, mashups mot Facebook og lignende, så tenker de: Sånt vil vi også ha. Så innfører de en "enterprise addressbook", og det kan fungere greit, selv om du får problematikk med at samme person kan være kunde i én avdeling og leverandør i en annen og lignende. Regnskap og betalingsløsninger er en annen integrasjon hvor SOA fungerer bra. Men så stopper det opp.

Da kommer spørsmålet om hva mer som kan kobles sammen. Hvis man ikke finner noe, så må man finne på noe. Det er en svakhet ved SOA, som egentlig er en svakhet ved virksomheten. Så gjør man halve løsningen til en "tjeneste" for den andre halvdelen, og oppretter et backend-team og et frontend-team. Backend utvikler noe som er uten direkte relevans for brukerne, og skjønner ikke helt hvorfor de er der. Frontend prøver å lage god funksjonalitet, men må hele tiden vente på backend som klager over at de sender data på feilaktige måter.

Utvikling på denne måten innfører avhengighet, fremmedgjør folk og gjør det vanskelig å håndtere bemanning i prosjektene. Denne måten å utvikle på heter "team per component". De fleste prosjekter opplever bedre flyt med en organisering rundt funksjonsområder eller brukergrupper.

Er det SOAs skyld?

- Det er to måter SOA driver prosjekter i retning "team per component": Det drives av ønske om å finne tjenester og SOA er ofte teknologitungt, noe som krever spesialisering. Det er ikke SOA som er problemet, men Conways lov: Et it-system speiler menneskene som har skapt det. Og vice versa.

Det som er positivt med SOA er for det første tjenester, som nevnte Paypal, altså særlig tjenester overfor noen utenfor organisasjonen. Det er verdifullt, viktig og riktig å ha fokus på bedriftens tjenester overfor kundene.

Det kan være lurt å starte med menneskene, deretter maskinene. For igjen å bruke Paypal som eksempel. De har funksjonalitet for å sende betaling som penger eller sjekk til personer. Jeg tror de startet med den. Så kom funksjonalitet for å integrere andre websider med Paypal.

- Hva med gjenbruk?

- Verdien kommer fra integrasjon, ikke gjenbruk. SOA egner seg til å skape verdi, ikke å spare kostnader. Integrasjon er strategisk gjenbruk, mens man fort kan miste fokus til fordel for "taktisk gjenbruk", der kostnaden ved gjenbruk er høyere enn gevinsten.

- Hvordan ble du sjefsarkitekt i Steria?

- Jeg kom fra BBS og har ledet store prosjekter i hundremillionersklassen. Og jeg drev fram engasjement i fagmiljøet i Oslo.

- Og før det?

- Før det var jeg nyttig. Altså utvikler.

- Nå jobber du med?

- Akkurat nå jobber jeg som hovedarkitekt for et strategisk prosjekt for Statnett. Formålet med prosjektet er å sikre kapasitet for å håndtere ubalanse i forbruk og produksjon av strøm. Med andre ord: Vi holder ølen din kald!

- Du er aktiv i Smidigkonferansen, blant annet. Hvordan står det til i fagmiljøene?

- Jeg er utrolig stolt av det frivillige miljøet rundt programvareutvikling får til i Oslo og Norge. Bare i Oslo er det minst seks faggrupper for utviklere som holder månedlige møter for cirka 100 personer. Disse inngår ikke i noen paraplyorganisasjon, så det kan være vanskelig å holde oversikt.

De mest aktive gruppene for utviklere er JavaBin, XP meetup, Framsia for frontend-utviklere, Lean meetup og NNUG som er .Net User Group. I tillegg kommer myriader av mindre grupper, som Interactive Ruby – irb.no, Oslo Perl Mongers, ScalaBin, C/C++ user group og mange flere.

- I tillegg til de store konferansene Javazone og NDC, arrangeres både Smidigkonferansen med cirka 500 deltagere og ROOTS konferansen med cirka 200 utelukkende på frivillig basis.

- Holder dere møter og konferanser på nettet, da?

- Nei, vi møtes gjerne på puber, som har to fordeler: Plass til å holde foredrag, og de har bar. Av og til frykter jeg at vi risikerer å alkoholisere utviklermiljøene, avslutter en smilende Brodwall.