journals.uoz.edu.krd Available online at sjuoz.uoz.edu.krd Vol. 6, No. 1, pp. 35–41, Mar.-2018 p-ISSN: 2410-7549 e-ISSN: 2414-6943 35 WEB APPLICATIONS AND WEB SERVICES: A COMPARATIVE STUDY Qusay I. Sarhan a ,* and Idrees S. Gawdan b a College of Science, University of Duhok, Kurdistan Region, Iraq – (qusay.sarhan@uod.ac) b Curriculum Development Center, Technical College of Engineering, Duhok Polytechnic University, Kurdistan Region, Iraq. Received: Jul. 2017 / Accepted: Mar., 2018 / Published: Mar., 2018 https://doi.org/10.25271/2018.6.1.375 ABSTRACT: Software components that rely on the Internet in order to be accessed and used cover many aspects of our daily activities including email checking, weather checking, purchase ordering, and Facebook logging. Nowadays, these components are considered one of the most valuable and fundamental rights in human’s life. However, accessing and using the functionality of such components are performed using two techniques: web applications or traditional web services. Determining which one of the techniques is better suited for delivering the functionality of an Internet-based software component is not an easy task to decide. Therefore, this paper aimed to make a comparative analysis and study of both techniques alongside many directions to help web developers make the right choice to deliver the functionality of Internet-based software components. This is achieved by providing them with a set of requirements that have been proposed by the authors. The proposed requirements clarify a number of misunderstandings and issues peculiar to both techniques. Furthermore, this paper has provided a comparative table of both techniques. To the best of our knowledge, so far there is no comprehensive comparative study has been conducted in this context which was the rationale for the authors to carry out this study. KEYWORDS: Internet-Based Software Components; Web Applications; Web Services; Internet of Things; Comparative Study. 1. INTRODUCTION Internet-based daily life is obvious for everyone and it is one of the most prominent characteristics of the current era in which people live. A variety of Internet-based software components are available to make our life easier and smarter. The exponential increment of people and devices located at different places and connected to the Internet using different means of connectivity made them an important part of the Internet (Gubbi et al., 2013). The evolution in Internet technologies to meet the demands of this increment led to the emergence of new application domains such as Internet of Things (IoT). The IoT connects everyday objects around us to the Internet and manages this kind of connectivity (Khan et al., 2012). Besides, it provides a wide range of Internet-based software components that help us to achieve many things in an easy and smart way. Knowing a traffic state near your work place using your mobile phone is just a very simple example about using the IoT. However, this new interaction raises a question of: How can users access and use the functionality of different Internet-based software components exist due to such recent domains. In other words, which technique has to be selected and used by web developers in order to deliver the functionality of these components to beneficiaries? Both web applications and web services with their notable differences represent the techniques of accessing and using Internet-based software components. However, users see both techniques completely the same in terms of work nature, technical features, and consider no difference exists between them at all. Usually, they need to accomplish some Internet-based tasks, such as checking the daily weather or checking bank account either using their personal computer or any other computing device that has the ability to connect to the Internet. They care * Corresponding author This is an open access under a CC BY-NC-SA 4.0 license (https://creativecommons.org/licenses/by-nc-sa/4.0/) only about getting the tasks they need done regardless of what is going on behind technical scenes. Therefore, the technical buzzer-words are not important for them. This point of view is not applicable for web developers; they focus and care more about the technical aspects. They need to know everything about these techniques including how to select the best technique, how to use it properly, and many other important aspects. In literature, several authors presented many comparison studies of web applications and web services against standalone applications or distributed applications and the ability of converting web applications into web services using wrapping and reverse engineering techniques (Yu et al., 2007, Cook & Barfield, 2006, Torchiano et al., 2009, & Lorenzo et al., 2007). However, there is no study that has compared both techniques and provided a set of requirements that help developers select the most suitable technique for a specific usage. In this paper, we aim to contribute to the following: • Provide a comparative study of both web applications and web services alongside many directions. On top of that, a set of requirements have been proposed by the authors to help developers go for the right choice. The proposed requirements are organized in many categories to make them easy to be remembered and followed. • As this comprehensive study provides deep understanding of many aspects regarding both techniques. We also hope to provide an integrated comparison guideline as an essential point to guide whoever wants to work in this context. The remainder of this paper is organized as follows. Section 2 presents the problem of this study and its space. On top of that, it describes the requirements that have been proposed by the authors to address the problem. In Section 3 and 4 respectively, both web applications and web services have been compared