SO-Aware vs. traditional SOA governance technologies
As the adoption of SO-Aware keep increasing, we have been running into more and more customers that are evaluating SO-Aware against traditional SOA governance products. Those comparisons are always very interesting for us because, to some extent, we built SO-Aware to provide a way simpler, lighter and highly flexible approach to SOA governance that challenge the traditional models which, in my opinion, are harmful and corruptive to SOA initiatives.
Without getting into a debate on how SO-Aware is better than other SOA governance products, I wanted to list a few points that I think might help to clearly differentiate our product from competitive J2EE offers.
|
Traditional SOA Governance |
The SO-Aware way |
|
Regulatory Governance |
Participatory governance |
|
Acts as a centralized message broker. |
Centralizes metadata not messaging |
|
Manages only generic artifacts: WSDL, Policies, etc. |
Manages service artifacts like WSDL, Policies, but also includes WCF Specific artifacts like Bindings and Behaviors. |
|
Testing is not included as part of governance |
Provides for scheduled and on-demand testing. |
|
Includes complex and proprietary API based on UDDI |
Provides a simple, intutive and highly interoperable REST Odata-based API model |
Participatory Governance vs. Regulatory Governance
Traditional SOA governance products focus on imposing
regulations on SOA infrastructures by constraining the
capabilities of services and clients. More often than not,
these regulations limit the capabilities of the SOA
solutions and consequently tend to be rejected by
developers, architects or testers. One example could be a
regulatory governance policy enabled for message transport
security which restricts all hosted services from executing,
sending or receiving messages if the policy is not adhered
to. Usually this restriction is very strict with very
little, or next to no exceptions.
SO-Aware
proposes an alternative to the traditional regulatory
governance process by enabling a collaborative governance
process that includes architects, developers, testers,
operations architects and other important personas in the
SOA solution lifecycle. This participatory model encourages
development and operations teams to take ownership of the
SOA governance process, delivering the most value to the
enterprise. Using Participatory Governance, a policy could
be in place that routes all message transport security based
actions to the appropriate hosted services, or service
versions as defined by a collective group of Architects,
Operations, and Developers. This is the complete opposite of
restriction and constraints, but rather participation,
analyzing and enacting.
Simplicity vs. Complexity
Existing SOA
governance products have been built around the concepts in
the Universal Data Discovery and Integration (UDDI)
specification. UDDI has proven to be an incredibly complex
and ineffective standard to use in SOA enterprise scenarios.
SO-Aware
proposes a simpler and more interoperable alternative to
UDDI using interfaces based on the Representational State
Transfer (REST) style. By relying on REST SO-Aware enables
features such as cataloging, discovery, testing, dependency
modeling and many others using simple HTTP interfaces.
Essence vs. Abstraction (Excel at the management of WCF
services)
Most SOA governance products focus on managing
artifacts that are generic across all Web Service platforms.
Consequently, these frameworks cannot do a very effective
job managing the different artifacts of the Web Service
stacks. To cite an example, there is no SOA Governance
product that can manage WCF native artifacts such as
bindings or behaviors given that these artifacts are
specific to WCF. However these artifacts are key elements
of services and clients and consequently MUST be a relevant
element of the SOA governance process.
SO-Aware
removes unnecessary levels of abstractions by implementing a
flexible model that enables the management of native
elements of the Web Service technology stacks. Using WCF as
an example,
SO-Aware's infrastructure enables the management of WCF
configuration elements such as bindings and behaviors which
are a key element of WCF implementations.
Centralized Metadata vs. Centralized Messaging
SOA Governance frameworks typically use a centralized
messaging infrastructure as their mechanism to enforce
governance policies or enable other governance capabilities.
This approach quite often introduces serious performance and
scalability issues that impact the business agility of
enterprise SOAs.
SO-Aware implements a creative infrastructure that enables the centralization of metadata artifacts without brokering the messaging communication between services and clients. In the case of WCF, SO-Aware enables a centralized model for managing WCF configuration in a way that can be easily consumed by WCF services and clients. This model facilitates the centralization of the governance artifacts without impacting the performance and scalability of your SOA.
Integrated Testing
Traditional SOA governance
products do not consider testing an essential component of
the governance strategy. Instead, they rely on policy
enforcement and centralized messaging as the mechanisms for
guaranteeing the correct functioning of services and
clients.
SO-Aware
includes a highly sophisticated and flexible testing
repository that allows developers, testers and members of
the operations team to model and execute tests against the
different services.
SO-Aware
tests can be executed on demand or periodically using a test
scheduling subsystem. Given that
SO-Aware
uses WCF as the underlying Web Service technology stack, it
can test highly complex scenarios which are typically out of
reach for other testing frameworks or tools.
For
example,
SO-Aware
can natively test services that use capabilities such as
security, trust, transactions or reliable messaging without
the need to writing a single line of code. An innovative
aspect of the SO-Aware testing repository is the ability to
browse and execute tests using simple HTTP GETs and POSTs.
This capability automatically enables integration between
SO-Aware and other test frameworks such as NUnit, MSTest or
JUnit.
I hope this comparison helps you on the efforts of evaluating SO-Aware against alternative technologies.