Significance of Web Services Based SOA Applications and Their Quality
Total Page:16
File Type:pdf, Size:1020Kb
JAC : A Journal Of Composition Theory ISSN : 0731-6755 Significance of Web Services Based SOA Applications and Their Quality Sirisha K L S, Dr. M. Chandra Mohan Research Scholar, Department of Computer Science and Engineering, JNTUH. Professor , Department of Computer Science and Engineering, JNTUH [email protected], [email protected] Abstract-Web services are essential to realize inter-operable distributed applications. Integration of heterogeneous applications is possible with web services. The distributed computing applications are based on an architecture known as Service Oriented Architecture (SOA) where third party APIs can be used to build enterprise applications. Comprehending the architecture and the composition of web services and their role being played in the real world is essential. There are some tools related to testing web services. This paper provides basic understanding on the role played by web services in the contemporary enterprise applications besides various tools associated with its testing process. There are useful tools like HttpMaster, Postman and SoapUI. Keywords - Web services, testing web services, distributed computing, postman, SoapUI, HttpMaster 1.INTRODUCTION Web services are client and server applications that communicate over the World Wide Web’s (WWW) HyperText Transfer Protocol (HTTP). As described by the World Wide Web Consortium (W3C), web services provide a standard means of interoperating between software applications running on a variety of platforms and frameworks. Web services are characterized by their great interoperability and extensibility, as well as their machine-processable descriptions, thanks to the use of XML. Web services can be combined in a loosely coupled way to achieve complex operations. Programs providing simple services can interact with each other to deliver sophisticated added-value services.Testing web services is complex due to its distributed architecture as shown in Figure 1. Volume X Issue II 2017 Page No: 65 JAC : A Journal Of Composition Theory ISSN : 0731-6755 Figure 1: Architecture of web service technology The SOAP message format and the WSDL interface definition language have gained widespread adoption. Many development tools, such as NetBeans IDE, can reduce the complexity of developing web service applications. A SOAP-based design must include the following elements. A formal contract must be established to describe the interface that the web service offers. WSDL can be used to describe the details of the contract, which may include messages, operations, bindings, and the location of the web service. You may also process SOAP messages in a JAX-WS service without publishing a WSDL. The architecture must address complex non- functional requirements. Many web service specifications address such requirements and establish a common vocabulary for them. Examples include transactions, security, addressing, trust, coordination, and so on. The architecture needs to handle asynchronous processing and invocation. In such cases, the infrastructure provided by standards, such as Web Services Reliable Messaging (WSRM), and APIs, such as JAX-WS, with their client-side asynchronous invocation support, can be leveraged out of the box.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 provides review of literature on web services and their role in distributed computing. As explored in [1] web services play vital role in distributed computing applications in the real world. However, the testing of web services is to be carried out with significant effort. As discussed in [2] and [3] web services help in developing enterprise wide applications. Postman [4] is one of the tools used to test web services. There are many service oriented architecture (SOPA) applications in the real world. Such applications needed through testing as there is distributed presence and functionalities associated. Thus it is helpful to have automatic test reconfiguration [5]. Composed web services are to be tested from time to time and necessary test cases are to be updated [6]. While testing web services, it is essential to have control flow analysis [7]. There are some anti-patterns in case of web services. Such cases are to be identified and handled [8] besides improving the process of discovering and composing web services [9]. Testing such service composition is to be given high priority as well [10]. Many technologies including CORBA are used in the distributed computing [11]. However, verification and testing in presence of UDDI server is essential [12]. Penetration testing is one of the testing procedures used for web services [13]. SoapUI for testing [14], passive testing [15], breaking down web services [16], effective composition of web services [17] and HTTP Master as a professional tool [18] for testing web services are other important contributions found in the literature. 3.ROLE OF WEB SERVICES IN DISTRIBTUED COMPUTING Java API for XML Web Services (JAX-WS) is a technology for building web services and clients that communicate using XML. JAX-WS allows developers to write message-oriented as well as Remote Procedure Call-oriented (RPC-oriented) web services. In JAX-WS, a web service operation invocation is represented by an XML-based protocol, such as SOAP. The SOAP specification defines the envelope structure, encoding rules, and conventions for representing web service invocations and responses. These calls and responses are transmitted as SOAP messages (XML files) over HTTP. Although SOAP messages are complex, the JAX-WS API hides this complexity from the application developer. On the server side, the developer specifies the web service operations by defining methods in an interface written in the Java programming language. The developer also codes one or more classes that implement those methods. Client programs are also easy to code. A client creates a proxy (a local object representing the service) and then simply invokes methods on the proxy. With JAX-WS, the developer does not generate or parse SOAP messages. It is the JAX-WS runtime system that converts the API calls and responses to and from SOAP Volume X Issue II 2017 Page No: 66 JAC : A Journal Of Composition Theory ISSN : 0731-6755 messages. Figure 2: Role of web service in distributed computing As presented in Figure 2, it is evident that the distributed computing architecture is shown. The request made from client goes to web server and then web services are called in order to have useful applications. There are layers in the architecture. Presentation layer, business layer and data access layer are the three layers important in the architecture. The communications are based on XML standard and there is inter-operability in design of such enterprise applications. Figure 3: Web service usage Volume X Issue II 2017 Page No: 67 JAC : A Journal Of Composition Theory ISSN : 0731-6755 Web services are either SOAP based or REST based. In either case, it is important to have HTTP based request and gain HTTP based response. The request and response messages make use of XML standard in order to have inter-operable communications. 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 is an open-source web service testing application for service-oriented architectures (SOA) and representational state transfers (REST). Its functionality covers web service inspection, invoking, development, simulation and mocking, functional testing, load and compliance testing. A commercial version, SoapUI Pro, which mainly focuses on features designed to enhance productivity, was also developed by Eviware software. Figure 4: SoapUI interface As presented in Figure 4, SOAP UI is the open source cross-platform API Testing tool. SOAPUI allows testers to execute automated functional, regression, compliance, and load tests on different Web API. SOAPUI supports all the standard protocols and technologies to test all kinds of API's. Postman Postman is a powerful tool used to test web services. It was developed for sending HTTP requests in a simple and quick way. Curl is a command-line tool used to deliver requests via HTTP, HTTPS, FTP, FTPS, SCP, Volume X Issue II 2017 Page No: 68 JAC : A Journal Of Composition Theory ISSN : 0731-6755 SFTP, TFTP, LDAP, DAP, DICT, TELNET, FILE, IMAP, POP3, SMTP and RTSP protocols. Figure 5: Postman interface As presented in Figure 5, Postman interface is provided with GUI. It is used to test web services and the results of testing can help in improving web services. It supports requests with different methods like GET and POST. In the testing process the tool helps to understand various messages returned by server including the 200 status message. HttpMaster HttpMaster is a web development tool to automate testing of RESTful web services, web API applications, and websites. ... HttpMaster is especially useful when testing web services output data because it can display and validate the most popular REST return formats; XML, JSON, and HTML. Volume X Issue II 2017 Page No: 69 JAC : A Journal Of Composition Theory ISSN : 0731-6755 Figure 6: HttpMaster interface As shown in Figure 6, the interface allows testing of web services. The interface is intuitive in nature helping users to perform its functions with ease. It helps in testing by dynamically passing arguments. It has wizard style of achieving things elated to testing. This can help in completing testing with a series of user interactions. CONCLUSIONS AND FUTURE WORK Web services play crucial role in realizing the modern enterprise applications.