Er de mange web services-specifikationer, der under et kendes som WS-*, for komplicerede, komplekse og besværlige at bruge?
Ja, mener nogle udviklere.
Blandt andre danskeren David Heinemeier Hansson, der står bag Ruby on Rails.
Ved lanceringen af version 2.0 af Ruby on Rails i december sagde han blandt andet:
"WS-* standarderne gør ikke noget på en enkel måde, for at sige det mildt. Det er alt for komplekst. De er blevet overtaget af enterprisefolk, og når det sker, kommer der som regel ikke noget godt ud af det."
Derfor valgte David Heinemeier Hansson og folkene bag Ruby on Rails 2.0 at udskifte et library med SOAP (Simple Object Access Protocol, red.) web services og i stedet understøtte de simplere REST (Representational State Transfer, red.) web services.
"Rails blev normalt leveret med et library til understøttelse af SOAP web services. Vi har hevet det ud og i stedet puttet en bunke ting ind, som fokuserer på REST web services," sagde David Heinemeier Hansson.
Han udtalte i øvrigt ikke WS-* som 'WS star', men kaldte det i stedet 'WS death star', med reference til dræberplaneten fra Star Wars.
WS-* nødvendigt for enterprise-systemer
Nu melder en WS-*-mand sig på banen med støtte til WS-*, som David Heinemeier Hansson øjensynligt opfatter som 'the dark side'.
Det er lederen af open source teknologivirksomheden WSO2, Sanjiva Weerawarana, som ikke er enig med danskeren.
WSO2 lancerede i sidste måned WSO2 WSF/Ruby (Web Services Framework for Ruby) 1.0, der understøtter WS-* stakken.
Ved lanceringen sagde Sanjiva Weerawarana blandt andet:
"REST-præferencen er en udmærket holdning at have, hvis man ikke har brug for en sikker og pålidelig infrastruktur."
Ifølge Sanjiva Weerawarana vil WSO2's framework erstatte SOAP-egenskaberne, som blev fjernet i Ruby on Rails 2.0.
"Ruby er blevet et populært udviklingssprog de seneste par år, og vi gør det nu muligt for Ruby at blive en del af en enterprise SOA-arkitektur," siger Sanjiva Weerawarana.
Med det nye framework kan udviklere bygge en web-applikation og så forbinde sig til en enterprise infrastruktur, ved hjælp af for eksempel JMS (Java Message Service) køer.
Eksempelvis kan det være nødvendigt at integrere et Ruby-baseret website med et ordrestyringssystem på en IBM mainframe, påpeger Sanjiva Weerawarana.