issn 2278-6856 role of web services in distributed ...testing. it is used to test api, web services...

4
International Journal of Emerging Trends & Technology in Computer Science (IJETTCS) Web Site: www.ijettcs.org Email: [email protected] Volume 6, Issue 6, November- December 2017 ISSN 2278-6856 Volume 6, Issue 6, November – December 2017 Page 100 Abstract In distributed computing, web services play vital role in building heterogeneous applications and integrating existing applications. The computing scenarios and architectures changed with web services technology. It supports service oriented architecture (SOA). It is one of the distributed computing technologies that support development of API and consuming in distributed applications. Finding architectural overview of distributed applications and the role of web services can help in grasping such applications faster. Moreover, testing web services needs good understanding of their distributed nature. In this context, we throw light on the role of web services and where they fit in distributed computing architecture which is essential a multi-tier architecture. It also provides details of different approaches of testing web services besides covering tools such as SoapUI, Postman and HttpMaster. This paper provides useful insights testing web services and third party APIs using the tools aforementioned. Keywords -Web services, testing web services, distributed computing, postman, SoapUI, HttpMaster 1. INTRODUCTION Web services are the technology that enables interoperability. Interoperability is feature that is highly desired in distributed computing as different software components are reused instead of reinventing the wheel. Thus it is possible to invoke heterogeneous components for reusability and integrate existing heterogeneous applications. Enterprises in the real world do work together to achieve their business objectives. This is to be reflected in their applications as well. In e-commerce, net banking, insurance, telecommunications etc. different companies need to work together. Here is the importance of web services that support machine to machine interaction without human intervention needed. Human computer interaction is minimized with distributed computing scenarios. Testing web services is complex due to its distributed architecture as shown in Figure 1. Figure 1: Architecture of web service technology When it comes to testing web services, there are many aspects to be considered. It is important to know the means of accessing a web service. In the same fashion, the operations of web services and arguments to be passed are also important. Writing test cases to test web services is not easy as the components exist in remote servers. However, different tools cam into existence to test web services and their API. Before exploring web service testing tools, this paper throws light into the distributed architecture where web services fit into. Afterwards it covers the need for tools like SOAPUI, Postman and HttpMaster. These are the tools about which this paper talks about However, there are plethora of tools available. In this paper, we described distributed computing scenario in which web services are created, consumed and tested. Different testing approaches using tools such as SOAPUI, HttpMaster and Postman are briefly covered. The remainder of the paper is structured as follows. Section 2 provides review of literature related web services and testing. Section 3 presents the role of web services in distributed computing. Section 4 presents various tools that are used for testing web services API. Section 4 concludes the paper and gives scope for future work. 2. RELATED WORKS This section throws light into the review of literature on role of web services and testing them. SOA based applications and their testing and test care reconfiguration is explored in [1]. An enhanced UDDI server is used for checking and verification of web services in [2]. UDDI is used to register web services with unique service id. It supports global access to web services with standards API Role of Web Services in Distributed Heterogeneous Applications and Testing for Quality Assurance Sirisha K L S 1 ,V.Santosh Kumar 2 1 Associate Professor, Department of CSE, Keshav Memorial Institute of Technology, Hyderabad, India. 2 Associate Professor, Department of CSE, Sreyas Institute of Engineering and Technology, Hyderabad, India.

Upload: others

Post on 28-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ISSN 2278-6856 Role of Web Services in Distributed ...testing. It is used to test API, web services and http applications. It can be used to automate testing process tocheck quality

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS) Web Site: www.ijettcs.org Email: [email protected]

Volume 6, Issue 6, November- December 2017 ISSN 2278-6856

Volume 6, Issue 6, November – December 2017 Page 100

Abstract In distributed computing, web services play vital role in building heterogeneous applications and integrating existing applications. The computing scenarios and architectures changed with web services technology. It supports service oriented architecture (SOA). It is one of the distributed computing technologies that support development of API and consuming in distributed applications. Finding architectural overview of distributed applications and the role of web services can help in grasping such applications faster. Moreover, testing web services needs good understanding of their distributed nature. In this context, we throw light on the role of web services and where they fit in distributed computing architecture which is essential a multi-tier architecture. It also provides details of different approaches of testing web services besides covering tools such as SoapUI, Postman and HttpMaster. This paper provides useful insights testing web services and third party APIs using the tools aforementioned. Keywords -Web services, testing web services, distributed computing, postman, SoapUI, HttpMaster 1. INTRODUCTION Web services are the technology that enables interoperability. Interoperability is feature that is highly desired in distributed computing as different software components are reused instead of reinventing the wheel. Thus it is possible to invoke heterogeneous components for reusability and integrate existing heterogeneous applications. Enterprises in the real world do work together to achieve their business objectives. This is to be reflected in their applications as well. In e-commerce, net banking, insurance, telecommunications etc. different companies need to work together. Here is the importance of web services that support machine to machine interaction without human intervention needed. Human computer interaction is minimized with distributed computing scenarios. Testing web services is complex due to its distributed architecture as shown in Figure 1.

Figure 1: Architecture of web service technology

When it comes to testing web services, there are many aspects to be considered. It is important to know the means of accessing a web service. In the same fashion, the operations of web services and arguments to be passed are also important. Writing test cases to test web services is not easy as the components exist in remote servers. However, different tools cam into existence to test web services and their API. Before exploring web service testing tools, this paper throws light into the distributed architecture where web services fit into. Afterwards it covers the need for tools like SOAPUI, Postman and HttpMaster. These are the tools about which this paper talks about However, there are plethora of tools available. In this paper, we described distributed computing scenario in which web services are created, consumed and tested. Different testing approaches using tools such as SOAPUI, HttpMaster and Postman are briefly covered. The remainder of the paper is structured as follows. Section 2 provides review of literature related web services and testing. Section 3 presents the role of web services in distributed computing. Section 4 presents various tools that are used for testing web services API. Section 4 concludes the paper and gives scope for future work.

2. RELATED WORKS This section throws light into the review of literature on role of web services and testing them. SOA based applications and their testing and test care reconfiguration is explored in [1]. An enhanced UDDI server is used for checking and verification of web services in [2]. UDDI is used to register web services with unique service id. It supports global access to web services with standards API

Role of Web Services in Distributed Heterogeneous Applications and Testing for

Quality Assurance

Sirisha K L S1,V.Santosh Kumar2

1Associate Professor, Department of CSE, Keshav Memorial Institute of Technology, Hyderabad, India.

2Associate Professor, Department of CSE, Sreyas Institute of Engineering and Technology, Hyderabad, India.

Page 2: ISSN 2278-6856 Role of Web Services in Distributed ...testing. It is used to test API, web services and http applications. It can be used to automate testing process tocheck quality

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS) Web Site: www.ijettcs.org Email: [email protected]

Volume 6, Issue 6, November- December 2017 ISSN 2278-6856

Volume 6, Issue 6, November – December 2017 Page 101

for discovery of web services. Web service architecture supports universal discovery and integration of web services. In [3], testing of web applications where web services are involved is explored. Diversified web services need to be composed correctly. Such composition is studied in [4] for more effective distributed applications. Test cases are widely used in testing. The dynamics of testing web services is explored in [5] while the same with contract based approaches is investigated in [6]. Web services testing are complex and that is understood by them with test cases. In presence of multiple web services that are part of a web based application, coverage and control flow are explored in [7] in case of testing web services. Systematic approach is desired as the composite web services are complex in nature. The concept of passive testing of web services and their timed invariants are studied in [8]. Penetration testing on web services with more attack signatures is studied in [8] for finding vulnerabilities in composite web services. This kind of services can be used by public for testing their web service compositions. A framework for modelling and testing web services is explored in [9]. The framework supports web service composition, workflow and testing them. Multiple test cases with prioritized order are executed to discover flaws in application. Web service discovery is made with UDDI. However, a practical approach that can help in better way in discovering and consuming web services is presented in [10]. Test cases when used to test web series can identify bugs. However, test case reconfiguration is made manually when web services are changes in terms of functionality, arguments of new functions. Testing of web services that are composed into different applications is the main focus of [11]. They used composed web services to form a flow of services and then tested them. There are anti-patterns in distributed environments. Such patterns are studied in [12] for understanding the dynamics of service composition. Webservice aggregation pattern is studied in [13] for integrating enterprise applications built in different platforms. Another distributedcomputing technology such asCommon Object Request Broker Architecture (CORBA) is compared with web services in [14]. In this paper, we analyze web services role in distributed computing and different method of testing web services. 3. ROLE OF WEB SERVICES IN DISTRIBTUED COMPUTING This section provides details of distributed computing architecture and the role of web services in such architecture. As shown in Figure 1, web services can fit into a multi-tier and distributed architecture as they reside in web servers. They can be accessed through HTTP protocol over Internet. Since they are interoperable, programs written in any language (heterogeneous) can invoke a web service irrespective of the platform in which the web service is built.

Figure 2: Role of web service in distributed computing [21] As shown in Figure 2, it is evident that there are many tiers and layers. Presentation layer, business layer and data access layer are the three layers presented. The presentation layer is in the client machine which may be in the form of an enterprise application, desktop application, mobile application or any application. It could be a thin client like browser as well. When web service is invoked by making SOAP or REST request, web services running in the business layer are invoked. Web service is a program that can be called from any application in the world as it supports neutral interface made up of XML.

Figure 3: Web service usage

As presented in Figure 3, web service resides in a remote server and it is called from a client through Internet. Request and response messages need to travel through Internet. For this reason it is important to exploit HTTP protocol by web services. Both SOAP and REST web services do this as they support HTTP request with underlying SOAP request or REST request. 4. DIFFERENT API TESTING TOOLS FOR WEB SERVICES This section provides different testing tools for web services. Three tools such as SoapUI, Postman and HttpMaster are widely used and they are covered here. Soap UI SoapUI [15] is an open source tool used to test API related to web services made up of both SOAP and RESTful technologies. In other words it is the widely used tool for testing API. It supports all protocol standards. It is intuitive

Page 3: ISSN 2278-6856 Role of Web Services in Distributed ...testing. It is used to test API, web services and http applications. It can be used to automate testing process tocheck quality

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS) Web Site: www.ijettcs.org Email: [email protected]

Volume 6, Issue 6, November- December 2017 ISSN 2278-6856

Volume 6, Issue 6, November – December 2017 Page 102

in nature with its graphical user interface as shown in Figure 3. It is used for different kinds of testing such as functional testing, security testing, load testing, testing support of protocols, and integration testing. It supports many protocols such as Simple Object Access protocol (SOAP), Web Service Definition Language (WSDL), Hyper Text Transfer Protocol (HTTP), Hyper Text Transfer Protocol Secured (HTTPS), Action Message Format (AMF), and Java Messaging Service (JMS).

Figure 4: SoapUI interface

As presented in Figure 4, it is evident that SoapUI is the tool used for testing both SOAP and REST web services. It has interface fro loading any web service and test it for functionality, security and its load. The tool is very sophisticated in functionality and widely used across the community involved in web services development. Especially, it is best used for API testing. Postman Postman [16] became an important tool for testing web services. It is used API developers and users for building and testing APIs. Especially, it supports testing of REST and SOAP web services. It is one of the powerful HTTP client applications to test web services that are located remotely and integrated dynamically into different distributed applications. It makes the life of developers easy to make APIs and consuming them. It is best used to test APIs before integration into the applications in the real world. It provides intuitive interface that can be used to test web services provided third parties.

Figure 5: Postman interface

As shown in Figure 5, it is evident that web services can be tested by invoking web service API using postman. It supports HTTP protocol and invocation of web services with different request methods like GET, POST and so on. It provides interface for invoking web services and showing result of invocations. It also presents status codes with profiling as it can help in understanding just by a glance. For instance status 200 means successful invocation of web services and result has been returned by web service. HttpMaster HTTP Master is another tool popular for web services testing. It is used to test API, web services and http applications. It can be used to automate testing process tocheck quality of REST webservices. It can be used to master development and testing of Java web services. Request against different protocols can be executed using this tool. Quality Assurance (QA) testing is used by the tool. It can return results in different formats like XML, HTML and JSON.

Figure 6: HttpMaster interface

As shown in Figure 6, it is evident that API development and testing related to web services can be done using HttpMaster tool. It provides an intuitive interface for testing web services. It supports passing parameters dynamically to web services. It has project wizard to make our work simple. Project wizard can be used to create new project with step by step procedure.

5. CONCLUSIONS AND FUTURE WORK In this paper we discussed about the role of web services in distributed computing and the architecture where interoperable programs can fit. It also covers the need for various tools that can be used to testthird party API related to web services. Since web services are complex and running in distributed environment, they need to be tested before integrating them into different applications. Web services support reusing APIs instead of creating them again. As API is provided by different parties or third parties in the world, they are to be integrated seamlessly with an application. Testing tools for web services make the life of test engineer or developer simple. There are many tools that help in testing API. In this paper three tools

Page 4: ISSN 2278-6856 Role of Web Services in Distributed ...testing. It is used to test API, web services and http applications. It can be used to automate testing process tocheck quality

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS) Web Site: www.ijettcs.org Email: [email protected]

Volume 6, Issue 6, November- December 2017 ISSN 2278-6856

Volume 6, Issue 6, November – December 2017 Page 103

are described. They are SoapUI, Postman and HttpMaster. It also provides the need for web services and where they fit in the distributed computing architecture with multiple tiers. In future we focus on automatic test case reconfiguration problem which is important to maintain sustainable test cases for testing dynamic web services from time to time. REFERENCES [1] M. B. Cooray, J. H. Hamlyn-Harris, and R. G. Merkel,

“Test reconfiguration for service oriented applications,” in Proc. IEEE Int. Conf. Utility Cloud Comput., 2011, pp. 300–305.

[2] W. T. Tsai, R. Paul, Z. Cao, L. Yu, and A. Saimi, “Verification of web services using an enhanced UDDI server,” in Proc. 8th Int. Workshop Object-Oriented Real-Time Dependable Syst., 2003, pp. 131– 138.

[3] A. Bucchiarone, H. Melgratti, and F. Severoni, “Testing service composition,” in Proc. 8th Argentine Symp.Softw. Eng., Mar del Plata, Argentina, 2007, pp. 1–16.

[4] S. Chan Oh, DongwonLee,Soundar R.T. Kumara. (2008). Effective Web Service Composition in Diverse and Large-Scale Service Networks. IEEE.1 (1), p.20-30.

[5] RedaSiblini, Nashat Mansour. (2005). Testing Web Services. IEEE, p1370-1381.

[6] Li Li, Wu Chou, WeipingGuo. (2008). Control Flow Analysis and Coverage Driven Testing for Web Services. IEEE, p271-280.

[7] Gerardo Morales, StephaneMaag, Ana Cavalli. (2010). Timed Extended Invariants for the Passive Testing of Web Services . IEEE, p.20-30.

[8] NunoAntunes,and Marco Vieira . (2011). Enhancing Penetration Testing with Attack Signatures and Interface Monitoring for the Detection of Injection Vulnerabilities in Web Services .IEEE, p1-8.

[9] Ana Cavalli1, Tien-Dung Cao2, Wissam Mallouli3, Eliane Martins4, Andrey Sadovykh5, Sebastien Salva6,and Fatiha Za¨idi7 . (2010). WebMov:AdedicatedframeworkforthemodellingandtestingofWebServices composition. IEEE, p1-8.

[10] Colin Atkinson, Philipp Bostan, Oliver Hummel and DietmarStoll . (2007). A Practical Approach to Web Service Discovery and Retrieval .IEEE, p1-8.

[11] ChetanPhalke and ArchanaJadhav.(2017). A Technique for Testing Composed Web Services including Footprint. International Research Journal of Engineering and Technology.4 , p820-823.

[12] Ali Ouni, MarouaneKessentini, Katsuro Inoue and Mel ´O Cinn´eide.(2015). Search-based Web Service Antipatterns Detection. IEEE.p1-14.

[13] NileshVishwasraoPatil and M. C. Kshirsagar.(2015). Enterprise Application Integration using Service Oriented Architecture with Web Service Aggregation Pattern. International Journal of Current Engineering and Technology.5, p1-8.

[14] Hayyan R. Sheikh. (2012). Comparing CORBA and Web-Services in view of a Service Oriented

Architecture. International Journal of Computer Applications.39 , p47-55.

[15] Kankanamge,C., Gamare, S., and ShraddhaVora, .(2012). Web Services Testing with soapUI. IEEE

Community, p1-332. [16] Postman (2017). Retrieved from

https://www.getpostman.com/ [17] HttpMaster (2017). Professional Tool for Testing Web

Apps and Services.Retrieved from https://www.httpmaster.net/.

[18] Web Services Breakdown (2017). Retrieved from http://www.logigear.com/magazine/API-testing/breaking-down-a-web-service/