Ads by TechWords

See your link here
Receive the latest technology news and information.
IT Management
Computerworld Daily News (First Look and Wrap-Up)
Computerworld Blogs Newsletter
The Weekly Top 10
Cloud Computing
View all newsletters




Privacy Policy
 

Why achieving SOA quality can be so difficult

April 17, 2006 12:00 PM ET

Computerworld - The forgotten footnote in today's SOA-driven journals, articles and discussion is the notion of software quality. Without quality of an application, the inherent benefits of service-oriented architecture -- to better respond to customers, improve business agility and reduce application development costs -- are lost.

Application quality is fast becoming the primary governor for achieving companywide SOA success and deployment. With so many interconnected parts making up applications that can be delivered virtually anywhere, testing no longer becomes a mere matter of finding bugs within the developer's code or problems that occur on a given user interface. Software quality processes must evolve with the architecture to genuinely test a business process and maintain context across the entire workflow.

There are still many differing opinions and concepts on what constitutes an effective test strategy for all of the distributed components that make up SOA applications. To date, most testing efforts have not kept pace with their needs. SOA applications present a formidable challenge to testing because the following characteristics of the applications:

  • Composite: There is a workflow made up of several components and layers that represent business logic, messaging, infrastructure and data and are separate from the "presentation layer" or user interfaces that the end user consumes.
  • Distributed: Each component can be on different machines, housed either within or far outside your network. Each component can also be delivered and maintained by distributed teams.
  • Heterogeneous: Web services enable many SOAs, but in reality, a typical SOA is an alphabet soup of different technologies. Each component can be a different technology and/or require different operating environments.
  • Dynamic: Each component has its own product life cycle, so the runtime environment of an SOA is almost always a "work in process" of legacy components being maintained alongside newly developed code.

Why achieving SOA quality can be so difficultPlease click on image above to view a readable version.

To deliver quality SOA applications, companies need to do the following:

  1. Test every component as well as the end system. Rigorously test SOA components as they are developed in isolation, but also test the interactions at deployment time. It becomes much harder to predictably find the source of a problem when you can't get direct insight into why heterogeneous technologies do not create a cohesive application.
  2. Involve the whole distributed team in quality. Both developers and nonprogrammers must test collaboratively. Finding the root causes of problems across the middle tiers of SOA applications is difficult. Testing a front-end user interface becomes irrelevant when it provides no insight into what is actually happening on the back end. And expecting developers to find missed requirements by conducting more unit testing at the code level doesn't get the team there either -- it may find some bugs in the component-level code, but it won't demonstrate why a business requirement isn't being met.
  3. Test continuously. SOA is a dynamic workflow that leverages constantly changing elements, which may or may not be under your team's control. Trying to find bugs within your coding process has limited value in this scenario, since the majority of your work involves integration, and not new development. Comprehensive regression testing and runtime monitoring across this distributed environment is critical to maintain the integrity of the application.

Quality is at the core of responsible corporate development. You can accelerate development and reduce costs through better application life-cycle management practices. But you can't deliver a piece of business software unless you can ensure that it meets the business requirements and will not fail in front of the end user. Therefore, quality has become a governing factor on the effectiveness and value of corporate software.

When teams truly collaborate and continuously automate tests against every layer of the SOA, companies can more reliably wrest value from today's complex, service-oriented business software.

Shridhar Mittal is CEO of iTKO Inc., a Dallas-based software testing firm.



Jump to comments

IT Management

Additional Resources

WHITE PAPER
Approximately 60 percent of data migration projects overrun time or budget, while some fail completely. Download this white paper, "Enhancing Your Chance for Successful Data Migration," to learn the critical steps you need to take to execute a data migration project with minimum cost and risk to your business.
WHITE PAPER
Read the Gartner research note to learn why the TCO of a server-based computing deployment used to deliver all applications to users is around 50% lower than that of an unmanaged desktop deployment.
WHITE PAPER
Economic downturns have a tendency to accelerate emerging technologies, boost the adoption of effective solutions, and punish solutions that are not cost competitive or that are out of synch with industry trends. This IDC White Paper presents the results of an IDC survey of 330 companies in Western Europe, Asia/Pacific and the Americas that measures the receptiveness to Linux and takes into consideration changing views driven by the disruptive economic environment that businesses face today.