[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ajug-members]: SOA Service Definition
Brian Lee wrote:
> Does anyone out there have a good definition for "Service" as in
> Service-Oriented Architecture? Preferably with good examples of
> interface and implementation.
and also:
> yeah yeah, I've read all the blarg out there on SOA. I would like to
> find out the industry accepted definition of service. Does a service
> address a particular business function (like user management) and then
> provide operations (like createUser, modifyUser, moveUser, etc) or are
> the methods themselves the services?
>
> My organization already has a definition of service, I'm trying to
> find out if it meshes with industry accepted jargon.
"Service Oriented Architecture" doesn't have a firm definition yet, so
defining the "Service" part of it is a bit of a challenge as well. The
main push of it is that you are exposing parts of your business in an
interoperable, decoupled way - in this respect, SOA is just another way
of rebranding existing technologies. Others would suggest that this
about changing the way you think about your systems architecture. No
particular implementation or delineation of services is specified.
In general, I would suggest that only components that are exposed to
external users or shared between systems be designed with a full SOA
approach. Unnecessary interoperability of your intermediate layers can
crush performance (like if your persistence layer returned all data in
XML). In reality, SOA tends to boil down to exposing some busines
service via SOAP (Simple Object Access Protocol - XML over HTTP - no
direct relationship to SOA). SOAP provides the interoperability. The
decoupling still is dependent on your design.
I would characterize Amazon's Web Services
(http://www.amazon.com/gp/browse.html/002-9073876-9772825?node=3435361)
as a frontrunning example of SOA. They have designed some of their core
system services (listing and searching items, viewing products, etc) in
such a way that the core business logic can be used by both their web
site and through Web Services. You can register with them to get full
access to their development kit, and they also link to some example
applications.
You ask for an "industry accepted definition", but the problem is that
SOA is really a marketing term more than a specific set of guidelines.
The general guidelines are that it is decoupled and interoperable.
Things like granularity of the services and exact definitions of
underlying terms aren't defined, and will probably never be fully agreed
upon. The Middleware Company recently released a set of "Best
Practices" for SOA that may help:
http://www.middlewareresearch.com/soa-blueprints. But recognize that
they were developed in conjunction with BEA, who is marketing the fool
out of the _idea_ of SOA, pretending that it is a problem that is solved
by a product. In reality, it's the combination of good design practices
with existing technology. In practice, it's largely a second push for
Web Services adoption.
-Rob