|
>> 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
YAHOO! GROUPS LINKS
|