>> the essential concept in SOA is reusability
 
That concept has a big impact on the application space. The services should be useful building blocks for applications, and just by re-assembling the blocks you can make new applications. This is the hope for implementing new business rules on a daily basis in a reliable manner. This feeds back into what the service architecture should look like in the first place, and forward into the best practices for building applications. In our case this division between service and application is also the difference between server and client. The loosely coupled design of the service architecture flows through into application design, making software development easier. This new style of application is by nature built out of services, on demand, highly dynamic, and multiuser. Services architectures change expectations about what is possible in the application space, and what a good application is.
 
 
Bill Appleton
CTO
DreamFactory Software
tel. 408-399-7454  x 102
fax. 408-351-9005
cel. 408-656-3024
[EMAIL PROTECTED]
 
 

----- Original Message -----
Sent: Monday, October 31, 2005 1:45 AM
Subject: Re: [service-orientated-architecture] Re: What is a Service? What is an Application?

Anne Thomas Manes wrote:
From my perspective (and I realize that lots of people disagree with me on this point), the essential concept in SOA is reusability. And service-oriented design principles (SODP) focus on enabling reusability. The essential principles of SODP are loose coupling, interoperability, abstraction of interface from implementation, abstraction of implementation from infrastructure, and proper granularity of function.
These criteria may be fundamental to the way you personally would design a enterprise system, Anne.  However, they are not principles but patterns, just like Composite, Visitor, Business Delegate, et al in OO design.  Reusability may be one aim of such patterns, but they are not essential, and certainly do not form any kind of definition.  They are simply tools in the architect's toolbox, and no doubt other architects in this group would choose a slightly different set, as we have seen ad nauseam via the endless discussions on "what is a service".   Anyway, proper use of patterns in any context should recognize that every situation is different - some situations may well have no need for some patterns but make heavy use of others.  Architecture is all about matching the problem to the solution, not applying a one size fits all approach.

Further, as you say yourself, other people working in the field would assert that reusability is no more fundamental than other aims of a distributed system architecture - robustness, efficiency and security, for example.

Again, I apologize to Anne for responding only to her posts, when just about everyone else takes a similar stance!  It is only personal in a complimentary way.  There's no point knocking over skittles one after another.  Jan points out the underlying problem in this discussion:
do you remember functions? modules? objects?  
components? Wasn't reusability the essential concept of any one of  
them? Oh my.....
The IT industry manages to be simultaneously obsessed with its own history (at least going on all the awards, honorary posts, and writings that celebrate it) yet unable to apply its lessons to current work :-) .  "SOA" is simply the current badge for one aspect of programming technology - the aspect concerned with making good distributed systems, which has been evolving since the invention of natural language programming.  The sooner we accept this fact, the less time we will waste on trying to differentiate SOA from what has gone before!
-- 

All the best
Keith

http://keith.harrison-broninski.info


SPONSORED LINKS
Service-oriented architecture Computer monitoring software Computer and internet software
Free computer monitoring software


YAHOO! GROUPS LINKS




Reply via email to