This is a single archived entry from Stefan Tilkov’s blog. For more up-to-date content, check out my author page at INNOQ, which has more information about me and also contains a list of published talks, podcasts, and articles. Or you can check out the full archive.

The Lack of OO in Web Services

Stefan Tilkov,

In a ZeroC newsletter, Michi Henning writes:

The lack of object-oriented features in WSDL is a serious limitation. In effect, web services revert back to the procedural and data-centric programming style of the seventies. Claiming such a retrograde step as an advantage seems self-serving in the extreme.

Together with Steve Vinoski and Doug Schmidt, Michi is one of my heros from my CORBA days. Strange to see him so utterly miss the point …

[via Steve Maine]

On May 6, 2005 1:55 AM, Dilip said:

Your respect will never be misplaced. Please take a look at Michi’s response to Steve’s post.

On May 9, 2005 12:08 PM, nil said:

Hi, I don’t see how Michi misses the point. Technically I think he’s correct. Of course the success of project does not only depend on choosing the best technology. This also implies that you can do successful projects based on
“bad” technology.

~nil~

On May 9, 2005 12:15 PM, Stefan Tilkov said:

Whatever criticism you might have about Web services — and I believe there’s lots of valid reasons — the lack of OO features strikes me as utterly irrelevant. Every project I’ve been involved in that used a middleware that supported distributed OO, such as CORBA and EJB, ended up banning its usage.

On May 10, 2005 9:41 PM, nil said:

Hi, I`ve been using (interface-) inheritance in Corba projects sucessfully.

I cant see how inheritance of interfaces is “bad” in general.

Regards, Markus

On May 11, 2005 11:00 AM, Stefan Tilkov said:

I don’t object to interface inheritance, more to the statefulness introduced by object references. If you ban those, and force clients to explicitly name objects (instead of making that part of the context), it’s arguable whether it’s really “inheritance” or simply multiple interfaces …