• No results found

A Novel Approach for Performance Estimation of SOAP-based Web Services

N/A
N/A
Protected

Academic year: 2020

Share "A Novel Approach for Performance Estimation of SOAP-based Web Services"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 2, Issue 2, February 2012)

81

A Novel Approach for Performance Estimation

of SOAP-based Web Services

Dharmendra Mangal1 , Prof. R.P.Mahajan2

1,2Department of Computer Science & Engineering

IES, IPSA, Indore, India

1mangaldharmendra@yahoo.com 2rpmahajan@yahoo.com

Abstract the demand for technologies that support

integration of heterogeneous systems is increasing. Web

Service is a rapidly evolving application-integration

technology that allows applications in heterogeneous environments to communicate with each other. Web services are mainly realized in two ways -SOAP based services and Restful services. SOAP (simple object access protocol) based services are more powerful and more interoperable. Therefore SOAP-based Web Services are the popular choice for Enterprise applications. Currently, several SOAP-based

web service implementations are available. These

implementations differ in their performance. A detailed analysis and estimation of performance must be done before adopting a web service implementation. In this paper, we present a novel approach for performance estimation of SOAP-based web services. This approach will help the developer and user of SOAP-based web services to choose the web services implementation that fits to their applications.

Keywords- Web Services, SOAP, Performance Estimation,

Service Oriented Architecture

.

I. INTRODUCTION

Service Oriented Architecture (SOA) is an architectural style which allows interaction of different applications regardless of their platforms. SOA includes methodologies and strategies to develop sophisticated applications and information systems. SOA is different from the traditional architectures as it has its own unique architectural characteristics and regulations. The newest technology for SOA is web service technology. This technology is gaining more and more importance to develop distributed service oriented applications. Many application in areas such as e-commerce, distributed computing, scientific computing and finance have been exposed using web services. The significant advantage of web service technology over pervious interoperability attempts, such as CORBA (common object request broker architecture) is that they utilize open standards based on Internet technologies such as XML, HTTP and TCP/IP [1]. Goal of web service is to give wide support for loosely-coupled interactions.

But at the same time, web services decrease performance in favor of qualities such as readability and portability. Performance still matters and awareness of the performance will benefit both developers and users [21].

[image:1.612.339.561.494.653.2]

SOAP-based web services are the software service exposed on web through SOAP, described in WSDL (web service description language) and registered in UDDI (universal description, discover and integration) see Figure 1. WSDL is an XML (Extensible Markup Language) grammar for specifying the properties of a web service such as what it does, where it is located, and how it is invoked .UDDI defines a way to publish and discover information about web services [18]. SOAP is a standard for sending messages and making remote procedure call over the Internet .it is independent of programming language, object model and Operating System. SOAP uses HTTP (Hyper Text Transfer Protocol) as the transport protocol and XML for Data encoding.

Figure 1. SOAP-based Web Service Architecture

Service Requestor Service Provider

Registry (UDDI) SOAP Messages

Service Description

(WSDL)

Find Publish

(2)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 2, Issue 2, February 2012)

82

Web services are implemented by using different frameworks. More than seventy SOAP-based web services frameworks are available for a variety of platforms and programming languages. Hence there may be multiple web services exist that provide similar functionality. Selecting an appropriate web service with the right capability is very important. For such a scenario, performance becomes a significant factor in differentiating between various service providers. The performance offered by an individual web service can decide the usage and popularity of that service.

Web service performance estimation is one of the key problems in web service discovery and selection research fields [17]. Here we are presenting a novel approach for performance estimation of web services implementations. In this approach we divide performance estimation task into four levels –hardware resource level, network level, software design level and user level. Some well defined quantitative metrics are measured at each level to estimate the overall performance. Also, then fitness factor is given for selecting a web service as per user performance requirements. This approach is based on the some identified performance bottlenecks. These bottlenecks are also described in this paper.

II. RELATED WORK

Performance is an important quality parameter of any Web service. Many researchers have focused on the performance aspect of web services.

Kai et al. [3] studied the impact on system performance when introducing Web Service interfaces to an originally tightly coupled application. They used two implementation variants of Sun's Java Pet Store application, one based strictly on the J2EE platform and the other as Web Services. Performance is compared in terms of the achieved overall throughput, response times and latency.

Tian et al. [4] studied the performance impact of web services on Internet servers. The authors compare two applications that performs same task-an electronic book inventory system. It was found that the web services impose additional overhead on the servers since they have to parse XML data. They showed that imposed overhead of Web services is non-negligible during server overload.

Hericko and kezmah [5] compared different approaches for distributed java applications, which communicate through firewall and proxy secured networks. The approaches are RMI over open ports, to-port, HTTP-to-CGI, HTTP-to-servlet tunneling and web services. A functional comparison of approaches and a detailed performance analysis with overhead analysis has been done.

Govindraju et al. [6] compared the performance of gSOAP, Axis C++, Axis java, .net and XSOAP/XSUL frameworks. The authors focused on SOAP performance on scientific data. They also provide insights into various

design features that can lead to optimized SOAP

implementations.

Machado and Ferraz [1] presented guideline for two mostly used java base web services frameworks. They give recommendation on the use of SOAP features to guarantee interoperability between the frameworks. Their paper provides details of the principal performance overheads of web services.

Patel et al. [19] proposed a framework called WebQ for web services based workflows. They developed a set of algorithms to compute QoS parameters and implement them using a rule-based system. They also developed a QoS model for web service selection binding and execution.

Kohlhoff and Steele [9] presented an experimental evaluation of SOAP performance using realistic business application message content. They suggested that further work may enable SOAP to become a viable wire format for high performance business applications.

Martinez and Merseguer [16] presented a new performance model in terms of Petri nets, for the target web service. This paper aims to explore through a case study, some of the main concerns of web services performance at the middleware layer.

Juric et al. [15] analyses two most commonly used distributed models in Java: Web services and RMI (Remote Method Invocation). The paper focuses on regular (unsecured) as well as on secured variants, WS-Security and RMI-SSL. The most important functional differences are identified and the performance on two operating systems (Windows and Linux) is compared. Sources of performance differences related to the architecture and implementation are identified.

A simulation tool is used by Chandrasekhar et al.[7] to analyze the performance of web services using JSIM simulation tool .

Hwang et al. [20] Evaluates the performance of GIS web services .They suggested that Ajax (Asynchronous

JavaScript and XML) provides asynchronous

(3)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 2, Issue 2, February 2012)

83

Li et al. [17] presented an approach to evaluate the web service performance. The approach is based on user‟s experience. They used the idea of Page Rank to help designing evaluation method for the function sharing performance of web services.

Vast number of performance studies has been done but there was a need to have a general approach for performance analysis and estimation of web services.

III. PERFORMANCE OVERHEADS

[image:3.612.60.282.354.590.2]

There are three origins of performance overheads: a) Web Service Frameworks b) Choice of Transport protocol of SOAP message c) Overheads associated with SOAP protocol [9]. In order to understand the overheads that affect the overall performance, we divide communication process of SOAP in different stages as shown in figure 2.

Figure 2. Steps to send and receive a message

The next subsections present the Overheads of Web services .Here we consider HTTP protocol as transport protocol of SOAP messages.

A. Marshalling and UnMarshalling

The process of converting data from one format to another is known as marshalling .with a network connection, receiving process consumes arriving messages, re-assembles the transmitted objects & processes them.

Once the data marshalling has been done, some times later it has to be un-marshaled .Web services spend considerably more time for XML marshalling and UnMarshalling, which is used to create the SOAP messages. The marshalling of JAVA objects into XML consumes 10 times more memory than binary marshalling [10].

B. Encoding and Parsing

SOAP messages must be parsed and interpreted before they are invoked which is done by XML-parser. The two most popular ways of parsing XML are DOM and SAX. DOM is a tree structured API, and is implemented by building an object representation of the XML document in memory. The DOM model is ideally suited for cases when the XML document needs to be traversed and modified. In contrast, SAX (Simple API for XML) based XML parsers; use the callback model to send out events as the parser encounters various elements of the document. For large documents that do not fit in memory the SAX model is more efficient. Also, the SAX model is suited for applications that are interested only in a few specific elements of the document [6]. It is suggested that [12], when message size is large, XML encoding diminishes the response time, because it inflates message size, causing the operating system causing the operating system to write either a part or the entire message to disk. XML encoder results in five times larger than binary representation. This expansion in message size have greater impact on communication an on total RTT(Round Trip Time) ,in this it affects the throughput requiring more processing time[1]. When the bandwidth between the client and the server is scarce, for example, when mobile clients with low connectivity access the service, or the size of the response is large, compressing the Web service response might be useful. However, experiments demonstrate that when the reply is compressed the response time increases and the server throughput decreases additionally due to the extra CPU power that is needed for compression.

C.Connection Establishment and Data Transfer

The overheads introduced by the HTTP protocol is also considerable.[13]specifications demands that the client establishes a new connection before each request and that the server to close the connection after sending the response .the responses starts by indicating which version of HTTP server is running ,followed by a series of object headers; the most important among them is „Content-type‟, which indicates the type of object being returned and the „Content-Length‟, which indicates the length.

Application Code

Web services Implementation

Service Proxy Web Service Runtime

Marshalling to XML

Buffering

Send Read

Parsing of XML Interpretation UnMarshalling to Object

XML messages

SOAP/HTTP

(4)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 2, Issue 2, February 2012)

84

The header is terminated by an empty line. The server now sends any requested data. After the data have been sent, the server drops the connection.

HTTP uses the TCP protocol that establishes connections via a three way handshake. The client sends a connection request, the server responds, and client than acknowledges the response. The client can send data along with acknowledgement. Since the client must wait for server to send its connection response, this process sets a lower bound on the time of RTTs [10].

IV. PERFORMANCE ESTIMATION APPROACH

There are three types of performance analysis: 1) Analytic performance analysis 2) Simulation based performance analysis 3) Test based performance analysis. Web services are represented as mathematical formulas for analytic performance analysis. This analysis is faster but inaccurate one. Second approach represents web services as discrete event simulation model and simulates their execution on various conditions. This approach is fast and accurate. The third approach actually executes the web service for performance analysis. This approach is the most accurate. To the best of our knowledge earlier works on test based performance analysis of web services is based on measurements of response time and throughput only. Here we have proposed a new test-based performance estimation

and analysis approach. Our approach includes

[image:4.612.61.292.498.680.2]

measurements and analysis of performance at different levels as shown in figure 3.

Figure 3.Overview of Performance Estimation approach

A. Software design level

At this level the cost required to develop the web services is determined. The source lines of code (SLOC) used in framework can indicate transparency and abstraction of the framework. The main goal of framework is to save the developer‟s time and effort. Thus the less the number of lines of code that is required for a framework, the less time and effort is required.

B. Hardware resource level

Hardware resource level measurements provide essential information about hardware resource usage of web services especially at the server-side. The two most important hardware resources are-CPU (central processing unit) and memory. CPU or processor is a hardware component in a computer used to execute the program instructions and process data. Although it is only able to process one task at a time, when there are multiple tasks to be done, instead of finishing a task then going to another, the CPU is designed to switch to other tasks simultaneously web service framework which has less CPU utilization would allow client and server machine to have more CPU time for other tasks.

Memory is a data storage unit to store data temporarily for processing of instructions. There is a wide variety of memory, such as cache memory, random access memory (RAM), virtual memory, etc. either memory they are limited in server due to the cost and space. A web service framework that uses less memory would have advantage of allowing higher capacity for the server.

C. Network level

The measurement at the network level is the size of XML messages generated by a web service framework. The formatting of network massage into XML has been widely utilized when interoperability between the web applications is necessary. The size of message can have a significant impact on communication and on the total time of execution, because it requires large buffer size, more bandwidth and more processing [1]. Monitoring the SOAP payload encapsulated in the HTTP message we can analyze the request and response size of messages. The average of

both is taken for consideration

.

D. User level

User level measurements allow us to analyze the performance at user‟s point of view. The measurements includes Latency, Number of Transactions possible i.e. Transactions per minute and success ratio.

Software design level User level

Network level

Hardware resource level

Over

all

P

e

r

for

m

an

c

e

(5)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 2, Issue 2, February 2012)

85

Latency is defined as the time taken to deliver the services between requestors and providers i.e. the latency is measured at an actual Web service call and it can be calculated by applying the following formula. In general, the Response Time is calculated by the mean value during a certain time.

T (latency) = To/p (X) – Ti/p (X)

Where Ti/p (X) is the time when the service X is invoked and To/p (X) is the time when service is delivered. TPM (Transaction per Minute) means the maximum number of services that a platform providing Web services can process for a unit time i.e. minute. It can also be used to determine how many users of a web service can process concurrently in a web. The Maximum TPS can be calculated with the following formula.

TPM = ((NCPU*60)/ T(latency)) * 0.80)

Where, NCPU: The number of CPU's is the sum of all CPU's used in your configuration, regardless of the number of machines you are using. In some cases, the number of CPU's may require a multiplier factor. Some CPU's have dual core processors. In this case, each core should be counted as a separate CPU.

0.80: A multiplier value. A value of .80 represents 80% CPU utilization. Since 100% CPU usage may not be possible or realistic.

60: 60 is the number of seconds in a minute. The units of time must match in the calculation, and the average Latency is already recorded in seconds.

Success ratio (SR) is defined as the extent to which Web services yield successful results over request messages. SR is a parameter related to number of failures of a service in a time interval. Success ratio can be calculated as the number of successful response messages over the number of request messages i.e. it represents the ratio of successfully returned messages after requested tasks are performed without errors.

SR =number of successful executions/Total Invocation.

E. Overall Performance and Fitness Factor

Performance parameter for Web services refers has been clearly defined now. Thus, Overall performance can be represented as 7-tuple i.e.

Performance (total) = (SLOC, CPU Usage, Memory Usage, Message Size, Latency, TPM, SR)

The goal of performance estimation is to select individual services that meet performance constraints.

Services with similar functionality may be offered with different performance at different level. Thus, decisions must be made to select an appropriate service that fits into their needs i.e. based on its utility. In economics, utility is a measure of satisfaction, referring to the total satisfaction received by a consumer from consuming a good or service. To measure the utility of a web service implementation we have defined a fitness factor (fi) as:

Where x are the performance parameters to be maximized and y parameters are to be minimized. and w(α) and w(β) are the weights for performance parameters (0 < w(α), w(β) > 1) and sum of all w(α) and w(β) should be 1. v is the performance parameter values corresponding to the service. μ and σ represents average value and standard deviation.

In the fitness factor definition, all performance attributes are weighted by user preference. They are also normalized by their averages and standard deviations so that the utility function will not be biased by any attribute with a large value.

V. CONCLUSION

Many application in areas such as e-commerce, distributed computing, scientific computing and finance have been exposed using SOAP-based web service. For web applications that require communication through network between computer of different platform, web service would be a good choice since it is designed based on platform independent language-XML. The interoperability of Web services has resulted in its adoption for recently emerging cloud platforms [14]. However; there are efforts to reduce its limitations in terms of performance. We proposed a novel approach for web services performance estimation.

In summary, analyzing the performance of web services at different levels (i.e. user level, network level, hardware resource level and software design level) enables system designer, application developer and users of web services to estimate and improve performance in a cost effective manner. The wide acceptance of new technologies such as web services, to large extent will depend on the capability to assess and even more to provide guarantees for their high performance. We believe that our research work presented in this paper is a step towards this goal.

x y

fi =

w(α)* [(v(α)μ(α))/σ(α)] +

w(β) * [1- {( v(β) - μ(β))/ σ(β)}]

(6)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 2, Issue 2, February 2012)

86

References

[1] Ana C.C. Machado and Carlos A.G.Ferraz.Guidelines for performance evaluation of web services ,WebMedia‟05,pocos de caldas,MG,Brazil ,2005.

[2] Govindaraju,A.Chiu,K.Liu,etc.Invetigating the limits of the SOAP performance for Scientific computing,In Proceedings of the 11th IEEE International Conference on Parallel and Distributed computing .IEEE computer Society,Edinburg,Scotland,2002. [3] Kai S. Juse,S.Kounev and and A.Buchmann.Petstore-WS:Measuring

the performance implications Of Web Services,29th International Conference of the Performance Evaluation of Enterprise Computing Systems,2003.

[4] M.tian,T.Voigt,T.Naomowciz,H.Ritterand J.schiller,Performance Impact of Web Services on Internet servers.International Conference on parallel and Distributed comuting and Systems,USA,2003. [5] B.Kezmah,Marjan Hericko,Ivon Rozman,etc.Java RMI,RMI

Tuneeling, Web Services comapison and performance analysis .ACM SIGPLAN,2004.

[6] Govindraju, M.Solminiski, A.Chiu,K.Liu,etc. Charecterizing the Performance of SOAP toolkits.In the proceedings of the 5th IEEE International workshop on Grid Computing,USA,2004.

[7] Chandrashekaran,G.Silver,J.A.Miller,etc.Web Services and Their Synergy with Simulation.proceedings of 2002 winter Simulation conference,2002.

[8] M.Tian,T.Voigt,J.Schiller,etc.,Performance Considerations for Mobile Web Services.Berlin,Germany,2002.

[9] Kholhoff,Steele,etc.,Evalating SOAP for High Performance Businesss Applications:Real Time Trading System.In Proceedings of Wide Wide Web Conference (WWW 2003),Hungary,2003. [10] S.Triphati,S.Abbas.Performance Compariosn of Web Services under

Simulated and Actual Hosted Environments,IJCA,2010.

[11] Devaram,Anresen.SOAP Optimization Via Parametrized Client-Side Caching .In Proceddings of the IASTED Conference on Parallel and Distribted Computing and Systems, 2003.

[12] M.Cai,S.Song,R.Schmidt,etc.,A Comparison of Alternative Encoding Mechanisms for Web Services.In Proceedings of DEXA Conference ,2002.

[13] N.Meyers,Java Programming on Linux,MacMillan Publishing ,1999. [14] Shammary,Khalil,etc.,Clustering SOAP Web Services on Internet Computing Using Fast Fractals,Proceedings of IEEE Conference,Australia, 2011.

[15] M.Juric,I. Rozman,etc. “Comparison of performance of Web services ,WS-Security,RMI,and RMI-SSL”International Journal of System and Software,2006.

[16] E.Martinez and J.Merseguer, “Impact of SOAP implementaions in the performance of a Web service-based application”In Proceeding of 2006 International conference on Frontiers of High Performance Computing and Networking”,2006.

[17] C.Li, B. Cheng,etc., “A Web service performance evaluation approach based on user experience”,In proceedings of International Conference on web services,2011.

[18] UDDI Technical White paper, uddi.org, 2001-2002.

[19] Chintan Patel, Kaustubh Supekar, and Yugyung Lee, “A QoS OrientedFramework for Adaptive Management of Web Service based Workflows”, Schoolof Interdisciplinary Computing and Engineering, University of Missouri-Kansas City, pp. 2-10

[20] Y.Hwnag,S. Jun,etc.,”The performnace Evaluations and enhancements of GIS Web Services”,International Conference on Multimedia and Ubiqutious Engineering,2007.

Figure

Figure 1. SOAP-based Web Service Architecture
Figure 2.  Steps to send and receive a message
Figure 3.Overview of Performance Estimation approach

References

Related documents

Extrapolating the whole-ESAS fluxes from only our observed Laptev Sea and East Siberian Sea regional fluxes, as in previous studies (2, 4, 24), we obtain the slightly higher annual

Combined organic fractions were washed by brine, dried on anhydrous MgSO4, filtered, and concentrated under reduced pressure.. The reaction vessel was vacuumed

[6] For the first time in this document, the definition of a &#34;demo exam&#34; was given as a form of assessment of the level of knowledge and skills of students and

Free flow embolization was performed in the uterine arteries one after the other just beyond the junction of the descending and horizontal portions of the uterine

Weed Scientist and Chairman, Agricultural Environmental Quality Institute, United States Department of Agriculture, Beltsville, MD

The regular monthly meeting of the Liberty Region Corvette Club was held on Thursday, October 20, 2016, the Chief Re- gent being in the chair and Secretary being present at 7:37

The aim of the present study is to explore the expression and the cellular distribution of TRAIL and its binding receptors in an animal model of neonatal HI; second, to investigate

Thus, owing to the advancements in service-oriented technology infrastructure, the unprecedented increase in the demand for knowledge workers, and the commonplaceness