[
Lists Home |
Date Index |
Thread Index
]
On Tue, 30 Nov 2004 00:43:25 -0500, Mark Baker <distobj@acm.org> wrote:
> On Mon, Nov 29, 2004 at 10:05:50PM -0500, Rich Salz wrote:
> > I've never heard RPC described as SOA. I'd go back and challenge whoever
> > told you that
>
> Many prominent folks have said that CORBA is SOA. For example;
>
> http://www4.gartner.com/pages/story.php.id.3586.s.8.jsp
> http://www.microsoft-watch.com/article2/0,0,1220548,00.asp?kc=MWRSS02129TX1K0000535
> http://www.service-architecture.com/web-services/articles/service-oriented_architecture_soa_definition.html
> http://groups.yahoo.com/group/service-orientated-architecture/message/1386
> http://www.capeclear.com/clear_thinking_soa.shtml
Uhh, I don't think any of those prominent people (except for Mary Jo
Foley, who is a *journalist* and can be forgiven for being fuzzy on
the details ) were saying "CORBA is SOA". They are saying that the
idea of "services computing" or "software as service" has been around
for awhile and one *could* implement an SOA with CORBA (or DCOM, or
Unix RPC I suppose) if one paid careful attention to the notion of
services rather than objects or procedures. That doesn't mean that all
CORBA or DCOM apps are examples of SOA. Nor are all SOAP applications
SOAs ... any more than all C++ programs are object-oriented.
For what it's worth, all these discussions beg the question of what a
"service" is. I've taken a stab at this in
http://www.cioupdate.com/trends/article.php/3434691
'In the real world, we use services all the time -- getting money from
banks, ordering food from a restaurant, getting clothes dry cleaned,
and so on. What makes these "services" is that we don't need to know
anything about banking, cooking, cleaning, etc. in order to use them,
we simply request them.
...In a nutshell, service orientation is an approach to designing
systems in which each component knows only how to request and consume
the services provided by other components, and little about their
internal algorithms, data structures, stored data formats, query
languages, etc.
This is basically the value that web services add to service
orientation. SOAP, WSDL, and the others are a set of specifications
and technologies that describe in detail how to request software
services using Web and XML tools.'
That is, I'm basically arguing that one could build systems in which
each component knows ONLY how to request and consume services from
others using COM or CORBA or whatever (you would probably use very
simple and generic methods with string-typed parameters to minimize
what one component would have to know about the others, but it could
be done). Obviously you can do this quite easily in the REST paradigm
as well. XML, SOAP, WSDL, and WS-* offer more tools to explicitly
describe the service interfaces and invocation procedures, but they
can also lure one back the the Bad Old Days of needing to know too
much detail about how a service does its job in order to use it.
|