The development, registration, discovery, and invocation of quality Web services are vital for the successful implementation of applications using Web services. Considerable research focuses on quality for Web services. Unfortunately, current research on Quality of Service (QoS) for Web services is concentrated on service users and the implementation stage. This research highlights the importance of incorporating QoS at the design and development stages; the authors propose the introduction of QoS at the same time as functional requirements. However, Web Service Description Language (WSDL) describes the functional elements of a Web service, and QoS is significant for this description. Therefore, the authors propose an extension to the WSDL through a generic QoS metamodel, incorporating QoS specifications into the functionalities. This paper begins by defining the required QoS specifications for the development of quality Web services and explores the potential of the Unified Modeling Language as a technique and notation to specify QoS. To properly integrate QoS in the design, the authors propose extensions to the existing UML QoS profile. The paper concludes with the evaluation of the proposed framework and summarises its advantages.
Web services have been advocated as the solution to the limitations of previous Web technologies and infrastructures. Their development is based on XML to facilitate interoperability between various services and infrastructures by using a small set of common protocols. Furthermore, Web services develop a uniform representation of network applications that are accessible using multiple communication protocols (Curbera et al., 2001). They are also widely accepted as a clear medium for interoperability between service providers and requesters. Service providers can develop their Web applications by implementing Web services as the underlying platform to distribute information, sell products and provide services to customers. On the other hand, users or potential clients can search for and invoke services hence, providing seamless integration between Internet clients and servers where communications and interoperability are possible even when operating systems and programming languages are different. As stated by Chung et al. (2003) “Web services interoperability allows businesses to dynamically publish, discover and aggregate a range of Web services through the Internet to more easily create innovative products, business processes and value chains”. Web services also allow reusable Web component to be integrated over the Internet to ease the development process (Mathijssen, 2005).
There are many available Web services and some of these are very similar in the kind of functionality they provide. Functionality is a service or task for a Web service to offer to users, for example product selling. Even though they are designed for the same purpose, their qualities may differ. Quality of Service (QoS) could make a Web service better than another Web service. Therefore, service providers should consider incorporating QoS when designing and developing their Web services. QoS specification is a non-functional requirement that could improve the functionality and overall quality performance of a Web service. In order to do that, they need to know QoS specifications that are relevant to their Web services. In other words, they need to be aware of providing the necessary quality for their Web services by knowing the factors, characteristics and dimensions that could contribute to develop and provide quality Web services. Moreover, it is essential for service providers, including designers and developers to identify the QoS specifications for their Web services as early as possible in the development life cycle. We believe that QoS specifications could assist people in Web service projects to better understand what quality represents and to ease service providers in determining it.
Even though QoS focuses mainly on non-functional requirements of Web services, it does affect the overall functionality of Web services. This is because QoS improves Web services’ functionality, assists interoperability and communication between service providers and requesters, and provides reliable, relevant and fast services. QoS can be referred to as a description of how well a Web service does, but not what it does. A better understanding of QoS could assist service providers in offering better Web services to users, and the users should be able to get exactly what they want with better quality services. Therefore, users will be able to make the right decisions by choosing high quality Web services to fulfill their needs (Taher et al., 2005). In addition, QoS is very important to ensure that Service-Oriented Architecture (SOA) is effective for enterprise systems (Wang et al., 2004; Menasce et al., 2007) and contributes to the successful implementation of transaction-oriented applications (Pallickara et al., 2006) such as e-commerce applications (Bhatti et al., 2000; Cardellini et al., 2001) as users would expect more in terms of fast service from commercially successful companies (Weller, 2002).