Trends and Research Issues in SOA Validation

Trends and Research Issues in SOA Validation

Antonia Bertolino, Guglielmo De Angelis, Antonino Sabetta, Andrea Polini
DOI: 10.4018/978-1-60960-794-4.ch004
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Service Oriented Architecture (SOA) is changing the way in which software applications are designed, deployed and maintained. A service-oriented application consists of the runtime composition of autonomous services that are typically owned and controlled by different organizations. This decentralization impacts on the dependability of applications that consist of dynamic services agglomerates, and challenges their validation. Different techniques can be used or combined for the verification of dependability aspects, spanning over traditional off-line testing approaches, monitoring, and on-line testing. In this chapter we discuss issues and opportunities of SOA validation, we identify three different stages for validation along the service life-cycle model, and we overview some proposed research approaches and tools. The emphasis is on on-line testing, which to us is the most peculiar stage in the SOA validation process. Finally, we claim that on-line testing is only possible within an agreed governance framework.
Chapter Preview
Top

Soa Testing: Issues And Opportunities

In this chapter we discuss issues that testers have to face in the validation of service oriented architecture (SOA). Due to the high dynamism and the multi-organizational characteristics of SOA, the traditional testing process is not adequate anymore to guarantee an acceptable level of reliability and trust. At the same time, new opportunities arise for SOA validation. In particular, we argue in favor of moving testing activities from the laboratory to the field, i.e., towards run-time.

This is aligned with the emerging trend of a surrounding open world (Baresi et al.[REMOVED REF FIELD], 2006[REMOVED REF FIELD]), in which software-intensive systems are more and more pervasive and evolve at an unprecedented pace, the boundaries between software and the external world become fuzzy, and no single organization is anymore in control of a whole system. In the future world, SOA development is going to be fully decentralized and multi-supplier, and services are going to be pervasive, dynamic, autonomic, multi-tenant. Quoting (Baresi et al.[REMOVED REF FIELD], 2006[REMOVED REF FIELD]), developers recognize that they must shift from the prevailing synchronous approach to distributed programming to a fundamentally more delay-tolerant and failure resilient asynchronous programming approach. Global behaviors emerge by asynchronous combinations of individual behaviors, and bindings and compositions change dynamically.

In such a context, where it will be the norm that services that are “stranger” to each other will dynamically connect and collaborate (Bertolino[REMOVED REF FIELD], 2010[REMOVED REF FIELD]), how can the behavior of a SOA system be validated?

In the remainder of this section, to introduce SOA validation, we revisit some typical assumptions behind traditional testing and discuss why these are not anymore obvious in a service-based context. Then in the second section[REMOVED REF FIELD] we outline a three-stage SOA testing process, including off-line, admission and on-line testing, and for each stage we briefly overview issues and trends. In this overview we mention some approaches. However we warn that the references provided must be considered as an illustrative sample, somewhat biased towards the authors’ own research, and in no way the overview has to be taken as an attempt of an exhaustive literature survey. As the most novel of the three stages is on-line, in the third section we depict its potential application scenarios. Finally, in the fourth section[REMOVED REF FIELD] we introduce the framework of SOA test governance that we foresee to facilitate collaborative SOA validation. The last section[REMOVED REF FIELD] draws conclusions.

Complete Chapter List

Search this Book:
Reset