Abstract
Web Services have been steadily gaining maturity as their adoption in the software industry grew. Accordingly, metric suites for assessing different quality attributes of Web Service artifacts have been proposed recently - e.g., for services interfaces in WSDL (Web Service Description Language). Like any other software artifact, WSDL documents have several inherent attributes (e.g., size or complexity) that can be measured. We present an approach to prevent a high complexity on services interfaces (WSDLs), to ease consumers to reason about services' offered functionality. Mostly, WSDLs are automatically derived from object-oriented (OO) source code, with a likely impact on complexity. Thereby, we study the statistical relationships between a recent metric suite of service interface complexity (proposed by Basci & Misra) and the well-known Chidamber & Kemerer's OO metric suite (applied to service implementations), on a data-set of 154 real-world services. First, a theoretical validation of Baski & Misra's suite (using Weyuker's properties) is presented, to prove the ability to measure complexity in WSDL documents. Then, after finding high correlation between both metric suites, we have conducted a series of experiments to analyze how certain refactorings on services' source codes prior to derive WSDLs might reduce complexity. In this way, our approach exploits OO metrics as development-time indicators, to guide software developers towards obtaining less complex service interfaces.
Highlights
Service-Oriented Computing (SOC) is a paradigm that allows developers to build new applications by composing loosely coupled pieces of existing software called services
By replacing Object arguments with primitive arguments, it is expected that a mapping T produces WSDL documents with lower data weights than before, as primitives are mapped onto built-in types by T
Since a strong correlation was found between CBO (Coupling Between Objects) and WMC (Weighted Methods per Class) OO metrics w.r.t. the BM metric suite, we focused on making modifications at service source code to affect such OO metrics, and in turn to impact on the complexity of the corresponding WSDL document, as a code-first strategy
Summary
Service-Oriented Computing (SOC) is a paradigm that allows developers to build new applications by composing loosely coupled pieces of existing software called services. Services are provided by third parties, the providers, who only expose service interfaces to the outer world and hide technological and implementation details By means of these interfaces, potential consumers can determine what a service offers from a functional perspective and remotely invoke it from their applications. In this way, SOC promotes service reuse, and speeds up client application development. WSDL allows providers to describe two main aspects of a service, namely what it does (i.e., its functionality) and how to invoke it (i.e., its binding-related information) Consumers use the former part to match external services against their needs, and the latter part to interact with the selected service. XSD code might be included in a WSDL document using the types element, but alternatively it might be put into a separate file and imported from different WSDL documents so as to achieve cross-document data-type reuse
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.