Service-Oriented Architecture (SOA) based software development has been gaining momentum in the recent years due to its perceived advantages such as more flexibility, and heterogeneity in the software structure and design. Moreover, SOA facilitates reusability through the encapsulation of software products inside services. With the growing trend of deploying SOA in the IT infrastructure of large companies, it is imperative that the performance and quality of the products delivered in such a context is clearly evaluated and guaranteed accordingly.
It is anticipated that due to the difference between the nature of traditional software development technologies and SOA that the verification and validation process in the quality assurance model will resemble a paradigm shift. Tsai et al. have reasonably argued that in the traditional software development process the application structure is known, whereas in SOA the overall workflow model is determined but the services performing each step of the workflow are often determined at runtime; therefore requiring a completely different type of verification and validation process. For instance, while a group of independent software quality assurance experts can validate a traditional software product based on structural (white-box) or functional (black-box) testing techniques; in contrast such a process needs to be carried out through the collaboration of service providers, brokers, and clients in a SOA setting. Moreover, while service providers can benefit from both structural and functional testing techniques, the brokers and clients will only have black-box testing at their disposal.
The anticipated outcomes of this project are: 1) the development of a quality assurance methodology for SOAs; and 2) evaluating and critiquing the available tools for quality assurance in SOA and developing suitable specifications for appropriate quality assurance tools.
|Natural Sciences and Engineering
Research Council of Canada