Enterprise-wide harmonization is a desirable and ideal target state that
fully supports pretty much everything SOA and service-orientation stand for.
For those that have achieved such a state, bless your standardized hearts.
You have accomplished something that has eluded many others. However, not
attaining this state does not mean you cannot successfully adopt SOA.
In some circles it has become common to view an SOA initiative as an
all-or-nothing proposition that demands an uncompromising commitment to an
enterprise-wide transformation effort. For those that subscribe to this view,
it can inspire visions of architects choking at the thought of having to
comply to global data models, IT managers losing sleep over having to give up
authority over their departments, and rebellious developers being rounded up
by the standards police (equipped with industry-standard rio... (more)
Many are comparing notes on two well-publicized paths to achieving SOA. The
bottom-up approach is currently the most common variety, where Web services
are created on an "as need" basis to fulfill mostly integration-related
requirements. These services are typically application specific and simply
re-create traditional integration channels over the open Web services
The top-down approach, on the other hand, is one of analysis, deep thought,
and patience. Service-orientation is infused into the business process layer
so that services can be modeled in ali... (more)
With the unwavering prominence of service-oriented architecture (SOA) there
is an increasing interest in understanding what exactly it means for
something to be considered "service-oriented." Thomas Erl recently completed
a lengthy research project for SOA Systems Inc. into the origins of SOA and
the current state of service-orientation among all primary SOA technology
platforms. This body of work contributed to the mainstream SOA methodology
developed by SOA Systems and was also documented in Thomas's new book,
Service-Oriented Architecture: Concepts, Technology, and Design. We ... (more)
One of the fundamental goals when designing service-oriented solutions is to
attain a reduced degree of coupling between services, thereby increasing the
freedom and flexibility with which services can be individually evolved.
Achieving the right level of coupling "looseness" is most often considered a
design issue that revolves around the service contract and the consumer
programs that form dependencies upon it.
However, for the service architect there are opportunities to establish
intermediate layers of abstraction within the service implementation that
further foster reduced... (more)
Should a service only be considered a service if it's reusable? The answer to
this question, as asserted by this pattern, is a firm "no." While agnostic
services (services providing multi-purpose logic with reuse potential, as per
the Agnostic Context pattern), receive the most attention during service
modeling and design phases, it can often be short-sighted to focus only on
agnostic service logic.
Non-agnostic logic represents any type of functionality that is unique to a
given business process or task. In other words, non-agnostic logic is
single-purpose in nature and therefo... (more)