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 levels of coupling between its internal moving parts
so as to accommodate the evolution and governance of the service itself.
These intermediate abstraction layers are created by the application of
Service Façade, a design pattern focused on intra-service design.
When designing a service, th... (more)
"This chapter is from the book, 'Cloud Computing: Concepts, Technology &
Architecture' authored by Thomas Erl with Zaigham Mahmood and Ricardo
Puttini, published by Pearson/Prentice Hall Professional, May 2013, ISBN
0133387526, Copyright 2013 Arcitura Education Inc. For more info please
This chapter introduces and describes several of the more common foundational
cloud architectural models, each exemplifying a common usage and
characteristic of contemporary cloud-based environmen... (more)
BEA recently announced that it is broadening its SOA consulting practice, and
that it has created a tool companies can use to learn about SOA and figure
out how prepared they are to transition to the new architectural model.
While BEA and other major vendors, such as IBM and Microsoft, continue to
deepen their investments in SOA, many of us are still struggling to
understand what SOA actually is.
How well do you know SOA? If you were asked to write a definition right now,
what would it be? One of the challenges has always been to distinguish SOA
from a standard distributed archit... (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)
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)