OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] When Is Something Really SOA?

[ Lists Home | Date Index | Thread Index ]

I think the point in the continuum is crossed when the data starts 
floating about in the ether, rather than residing in stateful services. 
To explain what I mean, I'm going to have to answer the question, "What 
is an SOA?"

I always figured that an SOA was one which effectively inverted 
object-orientation. That is, instead of the cohabitation of data and 
methods (services) found in OOP, data is passed to methods that are 
logically separate. Think of it as structured programming without any 
globals, so all relevant data must be passed to each function. A side 
effect of this is that all methods other than the initiating method are 

Of course, real-world SOAs undoubtedly contain stateful services, but 
two stateful services that are communicating with each other does not 
create an SOA, whereas one stateful service communicating with a 
stateless service might reasonably constitute an SOA.

Note also that the term SOA is applied only when the services reside in 
separate address spaces, but the concepts (if not the performance) are 
the same whether an application is a single executable or spread across 
multiple executables.

-- Ron

Chiusano Joseph wrote:

> Here is a question has been on my mind for quite some time - I have some strong viewpoints on it, but would like to hear other viewpoints.
> The general question is: When is something really a service-oriented architecture (SOA)?
> By this I do not mean "what is an SOA", "what characteristics does an SOA have", etc. Rather, there seems to be a range of points on a continuum (call it the "service continuum", perhaps) at which someone may declare that they have implemented a service-oriented architecture.
> In the past, I have pondered the following more specific question (please note that this is all scoped to Web Services-based SOA for ease of explanation): 
> If I have 2 Web Services that communicate, do I have an SOA? 
> We can say "certainly not!". One can do point-to-point integration with Web Services just as easily (to a certain degree) as without, with redundant Web Services rather than shared Web Services (a violation of one of the foundational tenets of SOA, which is shared services).
> Now let's add some more characteristics:
> - The 2 Web Services share another Web Service in common for their processing (i.e. we now have a "shared services" scenario)
> - The service provider one or more policies for a service consumer that interacts with it (these policies may address security, QoS, etc.)
> - There is an electronic contract for interaction with the service provider (e.g. WSDL)
> Add to this the fact that many (correctly, IMO) consider SOA to be a form of Enterprise Architecture, which (at least in my mind) implies enterprise-level benefits.
> So the more specific question is: 
> Given the second scenario above (with the various added characteristics) and the fact that many consider SOA to be a form of EA --- 
> Is this second scenario large-scale enough that it *really* may be considered SOA? IOW, how large-scale does such an implementation need to be to *truly* be considered service-oriented architecture? When does one arrive at that point?
> Joe
> Joseph Chiusano
> Booz Allen Hamilton
> Visit us online@ http://www.boozallen.com


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS