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.

No Comments