The Design and Implementation of Unified Invoking Component Based
Total Page:16
File Type:pdf, Size:1020Kb
JOURNAL OF SOFTWARE, VOL. 9, NO. 8, AUGUST 2014 2073 The Design and Implementation of Unified Invoking Component Based on Web Services Framework Wenpeng Sua, Zhonghua Yana;b¤, Chenghui Lianga a School of Mechanical, Electrical and Information Engineering, Shandong University, Weihai 264209, China Email: [email protected], [email protected] b Integrated Electronic Systems Lab Co. Ltd., Jinan 250100, China Email: [email protected] Abstract— Web Services is a platform which enables the and Spring for web application developers. In the field of applications interoperate on the Internet. It is widely used Web Services, there are four famous frameworks called in designing and building systems in open and dynamic Axis, Axis2, XFire and CXF. All of the frameworks en- distributed environments such as EAI (Enterprise Appli- cation Integration) and B2B (Business to Business). As the capsulate the low-level information and provide powerful development of framework technology, it is convenient and development APIs for developers, which can really reduce standardized to use framework to develop web applications. the development difficulty and save development time. For Web Services, the frameworks Axis, Axis2, XFire The QoS (Quality of Service) refers to resource reser- and CXF are widely used. By the performance testing of vation control mechanisms, and it is an ability to provide the four frameworks, this paper not only introduces the four framework but also analyzes the differences of the different priority to different applications, or to guarantee four frameworks, and then makes some suggestions for a certain level of performance to a data flow [2]. QoS developers to choose the appropriate one. The framework can be objective (encompassing reliability, availability, can simplify the development process and decrease the and request-to-response time) or subjective (focusing on development time. However, because of the differences of user experience) [3]. For web service, it’s necessary to the frameworks, the interoperation between different web service’s server and client may cause incompatible prob- evaluate the performance of the service [4]. Performance lems. This paper analyzes the reasons of this incompatible testing is a generic term that can refer to many different problems and finally presents a mechanism based on unified types of performance-related testing such as performance invoking component to solve this problems. By parsing and test, load test, stress test and capacity test. All of them are repacking the SOAP messages, the incompatible problems executed to determine how a system performs in terms of between client and server can be solved successfully. responsiveness and stability under a particular workload Index Terms— Web Services, WSDL, SOA, performance [5] [6]. All the four Web Services frameworks provide testing, unified invoking component, framework high quality of service and reliable message transmission. Besides, Axis2 and CXF support standards such as WS- I. INTRODUCTION Policy, WS-Security and WS-Reliable Messaging. This S the information technology develops constantly paper will analyze the performance of service based on A and the capability of the Internet improves gradually, the four frameworks in order to test the performance more and more application systems are established on of the framework. Finally, the result of the performance Internet. Web Services is a software component inde- testing will be given and suggestions will be provided for pendent from platform and realization, which enables developers in order to help them to choose the appropriate the applications interoperate on the Internet and publish, framework. discover and invoke services through Web. Web Services However, the interoperation between different service’s is an implementation of SOA (Service Oriented Archi- server and client may cause incompatible problems. For tecture) and can compose different units of application example, the client developed by Axis2 can not always programs through neutral interfaces in order to realize invoke the web service based on CXF directly. This loose coupling between different applications [1]. By incompatible problems decrease the generality of the web using the standard protocols such as XML, SOAP, UDDI, service. WSDL is used to describe web service [7] [8]. and WSDL, Web Services has good encapsulation and By some targeted test, this paper analyzes the WSDL files strong integration capabilities and is widely used in the produced by different frameworks on the same service, area of EAI (Enterprise Application Integration) and B2B and finally gets the conclusions that the reasons of the (Business to Business). incompatible problems are the differences of WSDL file. In order to simplify and standardize the development For the same service, different frameworks generate dif- process, frameworks are widely used in all field of soft- ferent WSDL files. The differences will be introduced in ware. For example, it’s very convenient to use Hibernate this paper. Like in [9], by analyzing the WSDL file’s *Corresponding author, Email: [email protected]. differences and repackaging the SOAP messages, this © 2014 ACADEMY PUBLISHER doi:10.4304/jsw.9.8.2073-2079 2074 JOURNAL OF SOFTWARE, VOL. 9, NO. 8, AUGUST 2014 paper presents a mechanism based on unified invoking Service Consumer Provider Register component. By deploying a unified invoking component Provider between the client and server, the incompatible problems 1.Publish Publish Bind service. can be solved successfully. WSDL SOAP 3.Find 2.Register The rest of this paper is organized as follows. Section services. service. II provides an overview of Web Services technology and Find UDDI Service Service summarizes the main technology used in Web Services. 5.Bind 4.Set up Register Consumer In section III, the architecture and use method of the four services. proxy. frameworks will be introduced. Then, the performance testing of the four frameworks will be introduced in Figure 1. SOA architecture and component interoperation. section IV and the WSDL differences of different frame- works will be presented in section V. In section VI, this 1 WSDL Definition 1 paper will introduce the design and implementation of -isContainer 1 the unified invoking component. Finally, conclusions are 0..* 1 Types Service 1 made in section VII. 1 1 -isContainer -isContainer 0..* II. WEB SERVICES TECHNOLOGY 1 0..* Data Type 1 Software delivery models are changing constantly: from 0..* Message -simpleType Port -complexType standalone applications to client-server architecture, then -isContainer from browser-server architecture to service oriented archi- -binding 1..* 1 1 Part tecture. SOA is a software design architecture which con- 1 0..* -name nects different units of application programs through good 1 0..* 1 defined interfaces. Interfaces are defined in neutral ways -element Binding 0..* Port Type Operation in order to realize loose coupling between services.The -portType -isContainer -message SOA architecture makes sure the software can select and 1 1 0..* invoke components dynamically. The architecture of SOA 1 and the interoperation of each components are shown in Fig. 1. Figure 2. The Structure of WSDL document. Web Services is an implementation of SOA and it aims to simplify the interoperation among different systems by what Web Services do, where it is and how to access defining a standardized mechanism to describe, locate, it [12]. A WSDL document is defined by a service and communicate with applications on the web. In [10], provider and used by service consumers. The structure the authors divided the Web Services architecture into of WSDL document is shown in Fig. 2. It is divided by three areas - communication protocols, service descrip- two parts: the interface document and the implementation tions, and service discovery. document. The interface document is a container which is used to describe the abstract service. It is independent of A. Communication protocols implementation. The implementation document describes In order to communicate with applications in differ- the details of the concrete service and deployment infor- ent platform, the communication mechanism must be mation such as part, operation and binding. platform-independent, secure and as lightweight as possi- ble. SOAP (Simple Object Access Protocol) is a protocol C. Service discovery specification for exchanging structured information in the implementation of Web Services. It relies on XML for UDDI (Universal Descriptions, Discovery, and Integra- its message format, HTTP or SMTP for its Application tion) is a platform-independent, XML-based registry. It Layer protocols and RPC for its call method [11]. SOAP provides a mechanism to register and find web service is independent from hardware, platform and programming applications [13]. By UDDI, the services can be resisted language. SOAP messages are composed by envelope and the consumer can find and invoke services [14]. The and attachments. Envelope is made up by header, body transmission process of the UDDI message is shown in and fault. The body contains the request and response Fig. 3. By this process, the client can obtain the service messages. methods and invoke the service. B. Service descriptions III. WEB SERVICES FRAMEWORK WSDL (Web Services Description Language) is a Web Services frameworks such as Axis, Axis2, XFire XML-based interface description language which is used and CXF are widely used in the development of web for describing the functionality