You can build a complex house of cards, but when you're finished, it's still a house of cards.
The same is true of service-oriented architecture (SOA) applications built without comprehensive quality assurance, says Jason Bloomberg, senior analyst, ZapThink LLC. If one of the primary goals of using the SOA approach is agility, it will fall apart if quality isn't built in to the entire application, he argues in a ZapThink white paper published this month titled, SOA Quality across the Service Lifecycle
"This core agility benefit of SOA collapses like a house of cards," he writes, "if the services or the applications that consume and compose them are of poor quality or behave in an unpredictable manner."
As Bloomberg sees it, most if not all of the benefits usually listed in support of the SOA approach are lost or at least compromised if quality management is not job one from initial planning through application lifecycle. Beyond agility the benefit of abstracting IT complexity is also jeopardized without a comprehensive quality assurance program. That program must go beyond the simpler task of testing individual Web services to include the quality assurance for the entire SOA application lifecycle, which includes the interactions of all services involved.
"Today's enterprise IT environments are enormously complex, and it is that complexity more than any other cause that leads to the inflexibility that the business wishes to address," Bloomberg writes. "And yet, SOA does not actually eliminate complexity—it abstracts the complexity, providing a flexible, simplified set of services to the business that overlays the unavoidable technical complexity. As with any abstraction, however, there is no magic here. To build such powerful services requires sophisticated governance, management, and an overall focus on quality."
Quality is becoming a hot topic in SOA because it requires more than the testing tools and QA programs of old, Bloomberg said, explaining the rationale behind his white paper.
"SOA quality extends well beyond traditional quality assurance tasks to cover the full service lifecycle, and encompasses both SOA management and governance into a broad set of capabilities that any organization must implement in order to be successful with their SOA initiatives." he said.
Bloomberg said the white paper covers three key issues that differentiate SOA quality from traditional testing:
- Because SOA implementations are built to change, SOA quality is an ongoing effort, both at design time and runtime.
- SOA quality, governance, and management are closely interrelated, and feed back into each other.
- Getting quality, governance, and management right are the key infrastructural challenges of SOA -- not integration.
As is true of SOA itself, tools alone are not enough to assure quality, which requires following best practices as well as testing Web services and checking that service level agreements (SLAs) are being adhered to.
In his white paper, Bloomberg suggests that developers going out in search of SOA quality tools, need to look for these capabilities:
- Full lifecycle, continuous testing – in the SOA context, quality is a never-ending battle, not just one phase in your development process.
- Focus on quality above and below the service abstraction – services abstract running software. If the software isn't working, then the services aren't either.
- Support for collaboration across diverse teams – successful SOA initiatives involve several participants across the organization. SOA quality touches all of them.
- Scope well beyond Web services – Web services have an important role in SOA, to be sure, but they are neither necessary nor sufficient. Your SOA quality tooling cannot depend on Web services testing.
Finding tools to meet these criteria is not going to be easy. Where testing tools are needed, the list of vendors ahead of the curve is a short one.
While the ZapThink white paper does not mention any vendor testing tools by name, when asked, Bloomberg pointed to a couple vendors he believes are getting it right.
"iTKO and Mindreef are great examples of vendors who really get SOA quality," he said "HP is also putting together a good offering, but they're looking to partners to complete the picture."