International Conference on Computer Engineering and Network Security (ICCENS'2012) December 26-27, 2012 Dubai (UAE) Performance Evaluation of Enterprise Service Buses towards Support of Service Orchestration Themba Shezi, Edgar Jembere , and Mathew Adigun the Internet. In most scenarios services are combined in a Abstract- The use of Enterprise Service Bus (ESB) as the process to achieve a business objective. For defining these cornerstone for system integrations has shown improvement in many processes Business Process Execution Language aspect of business information systems, including paving a way for (WS-BPEL) is used. Service Oriented computing, reusability, business to business collaboration and standard based communication infrastructure. ESB SOA implementations that were based on only endpoints as a concept defines set of capabilities which includes message fall short of the key infrastructure to support data routing, transformation, and service orchestration. However there transformation, event handling, and durable messaging. These exist different approaches towards achieving these capabilities. There additional requirements to SOA led to what is known as is much ongoing research on architectural issues and enabling Enterprise Service Bus (ESB) [3]. technologies for ESBs, but the body of knowledge regarding service ESB is a standard based integration infrastructure that automation and orchestration schemes needs some improvements. In this work we provide comparative performance evaluation of enables heterogeneous services and applications to interact by ServiceMix, Mule and JBoss ESB regarding service orchestration. combining web service technology, messaging, intelligent The results showed that the use of Apache ODE as the orchestration routing, data transformation and service orchestration [2]. The engine gave ServiceMix an advantage over the other ESBs. industrial success of ESB technology led to many products being implemented and available as both open source and Keywords— Enterprise Service Bus, Service Oriented commercial ESBs. Selecting the ESB product that will suit all Architecture, Web Services and Service orchestration the integration needs of an organization is a challenging task because different approaches used by different products to I. INTRODUCTION achieve a certain ESB capability results to different VER the past years organizations were required to cope performances [4]. In addition no single ESB is the best in all O with rapidly changing market that includes new integration requirements, so the compromise is always needed competitive pressure and threads which required information [5]. Most of the works done to assist in ESB selection focus on systems to respond quickly to support the new business models evaluating out of the box ESB capabilities such as data and requirements. With the changes becoming more and more transformation, routing and reliable messaging. In reality to frequent, organizations moved their information systems to fit achieve a complete SOA implementation external features are in Service Oriented paradigm [1]. The use of Service Oriented required in addition to ESB. For example UDDI and BPEL Architecture (SOA) brings a number of benefits including process support. The former is useful for service discovery and cost-cutting initiatives by allowing business functions to be management, the latter enables the existing enterprise created in such a way that they can be reusable throughout the functions to be composed and reused to provide new business whole organization. In this way SOA act as a key enable for logic. Most ESBs provides add-ons for these features. effective and efficient rapid application development. SOA is As a consequence, the aim of this work is to provide an mainly driven by the use of open standards which includes evaluation of Mule, ServiceMix and JBoss ESB towards Web Service technology [2]. Web services define business support of WS-BPEL processes. More concretely the logic located anywhere and accessible through Internet contribution of this work it two fold. Firstly we showed the protocols such as HTTP. A number of standards are contained method for adding external BPEL engine to support process in the Web Service technology. They include Web Service definition and execution inside the ESB. Secondly we Definition Language (WSDL) which is an XML-based provided performance evaluation of these ESBs regarding language for defining web services, Universal Description, service orchestration scenario. Discovery and Integration (UDDI) which act as a repository for storing information about web services and SOAP which II. ESB TECHNOLOGIES defines message structure for communication exchange over ESB core capabilities are supported through a number of technologies. For web service integration Apache CXF, Axis Themba Shezi is with the Department of Computer Science and Mobile e- and JBoss web services (JBoss WS) are most commonly Services in the University of Zululand, KwaDlangezwa 3886, South Africa (e- supported technologies. As an important part of any ESB, data mail: [email protected]). transformation is supported through the use of Extensible Edgar Jembere is with the Department of Computer Science and Mobile e- Services in the University of Zululand, KwaDlangezwa 3886, South Africa (e- Stylesheet Language Transformations (XSLT) which enables mail: [email protected]). XML based message transformation. In addition XQuery and Mathew Adigun is with the Department of Computer Science and Mobile XPath are query languages used to manipulate XML data. e-Services in the University of Zululand, KwaDlangezwa 3886, South Africa Message routing is supported through Enterprise Integration (e-mail: [email protected]).

260 International Conference on Computer Engineering and Network Security (ICCENS'2012) December 26-27, 2012 Dubai (UAE)

Patterns as defined in [6]. A wide variety of transport implements business logics. So to achieve a certain business protocols are supported by ESBs, these include HTTP, FTP, objective, multiple services are composed to create a process. TCP, UDP and JMS. There exist different JMS Service composition can be achieved either through service implementations which include Apache ActiveMQ, MuleMQ orchestration or choreography. Most ESBs provide API’s to and JBossMQ. To support open standards some ESBs are support BPEL standard which is the orchestration language for based on Java Business Integration (JBI) specification. In JBI defining business processes. However their performances have environment components are either Service Engines (SE) or never been evaluated. This work presents comparison of ESBs Binding Components (BC). SE contains business logic and regarding service orchestration. More concretely, we used also other features such as transformation. BC enables open source BPEL engine to provide runtime environment of connectivity to external services. At the heart of JBI is the the defined processes. Normalized Message Router (NMR) which facilitates communication between SE and BC. To support short and IV. SERVICE ORCHESTRATION AND long running business processes, most ESBs have available CHOREOGRAPHY API’s for WS-BPEL. Different orchestration engines are In Service Oriented Computing there exist two approaches supported for execution of these processes. They include Open to service composition. Service Choreography is based on ESB BPEL Engine, Apache ODE and JBoss RiftSaw Engine. collaboration, all web services participating in a composition are equal, and there is no central control of the execution. III. RELATED WORKS Participants need to know exactly when to become active and ESBs share the same philosophy as Enterprise Application who to collaborate with. On the other hand we have Service Integration (EAI) which is to provide integration of Orchestration which has central controller that coordinates heterogeneous application. However, ESB since its invention invocation of different web services. In orchestration approach has been popular due its capability of integrating infrastructure services have no information about other services and they are where concept of web service and SOA coalesce [7]. The not aware that they are participating in a process. performance of ESB products has been a focus of many Service Orchestration is the most supported approach in researchers. Ueno and Tatsuburi in [8] proposed a method that ESBs, therefore it’s the focus of this work. BPEL engines have allows performance and capacity of the ESB to be tested at been implemented to provide runtime execution of BPEL planning stage before the actual deployment. Authors used processes. The next subsection provides brief description of response time, CPU utilization and throughput as their criteria Apache ODE and Riftsaw BPEL engine. to test their model. Brener proposed modeling performance of composite application using well-known SOA/ESB scenario V. APACHE ODE AND JBOSS RIFTSAW called LoanBroker application. Author showed a method of There are a number of BPEL Engines available and they evaluating performance of each service participating in a include Apache ODE, JBoss Riftsaw, Open ESB BPEL composite application using SOPM [9]. In these works Engine, OW2 Orchestra and Petals BPEL Engine. This work performance of only one ESB is evaluated, no comparison focuses on Apache ODE and JBoss Riftsaw mainly because made with the other ESBs. Researchers have attempted to fill the ESBs under review have strong support for these engines. this gab and ESBs have been evaluated in number of different JBoss RiftSaw is a WS-BPEL engine optimized for JBoss integration scenarios. In these evaluations Researchers impose Application server container. RiftSaw is based on Apache their own criteria to help reason on how close a particular ESB ODE. Natively it support JBossWS, however CXF can be meets the required integration scenario. Performance of ESBs supported as well. Apache ODE is an engine which executes regarding Content-based routing, mediation and data one or more business processes defined in WS-BPEL transformation capabilities were evaluated in [10] [11]. language. Apache ODE support two communication layers, Authors used XSLT for data transformation and XPath one based on Axis2 (specifically Web Services http transport) expression for content-based routing. In particular and the other based on JBI standard. It has compatibility with performance was based on load handling, throughput and BPEL4WS 2.0 which includes WS-HumanTask with Apache response time. ServiceMix was rated as the better ESB when HISE. Since RiftSaw Engine is based on Apache ODE, in this considering the performance criteria used. This is mainly due work Apache ODE was used with the aim of achieving similar to the strong support of XML based messaging techniques that performance measures. this ESB has. Other contenders included Mule, WSO2and. Another performance evaluation of ESBs regarding invocation VI. MOTIVATING EXAMPLE of external secure web services through Apache ActiveMQ In this section we describe a classical SOA/ESB example appears in [12]. called LoanBroker application [6]. The aim is to evaluate Although research has been done to support ESB selection, performance of each ESB regarding service orchestration but there is still a lot to be desired when considering complex scenario. LoanBroker application models a real world scenario scenario. For example, in real world scenario large of a consumer looking for the best loan quote by consulting a organizations maintain a huge number of services that number of banks as shown in Fig.1. Message flow as follows;

261 International Conference on Computer Engineering and Network Security (ICCENS'2012) December 26-27, 2012 Dubai (UAE)

1) Consumer sends loan request with loan amount to 6) LoanBroker sends loan quote request to the potential LoanBroker lenders. 2) LoanBroker sends request to Credit Agency to get credit 7) Each potential lender computes and return loan rate profile 8) Amongst the rates computed by potential lenders, the best 3) LoanBroker receives credit profile rate is selected. 4) LoanBroker sends request to Lender Gateway to determine 9) Best loan quote is returned to the consumer the most appropriate lenders (banks) to contact based on consumer’s credit profile and amount requested. 5) List of potential lenders are returned.

Consumer LoanBroker CreditAgency Lender Bank 1 Bank 2 Bank 3

1. getCreditProfile GetLoanQoute (amount) 2.

CreditProfile 3. 4. SelectLenders(amount, CreditProfile) 5. ListLenders

6. GetLoanQoute(amount, CreditProfile) Compute Rate 7. LoanQoute

GetLoanQoute(amount, CreditProfile)

LoanQoute Compute Rate Select Best Rate 8. LoanQoute 9.

Fig 1 Sequence diagram for Loan Broker Application external to any ESB. The following subsections provide details VII. EXPERIMENTATION on the configurations of these two methods considered In order to carry out our performance evaluation of the three A. Direct Service Orchestration ESBs, we have implemented the LoanBroker application and The purpose of this experiment is to investigate used web service client to invoke and capture the performance performance of each ESB when considering direct service measures. Performance was measured in terms of response orchestration. In this test we modeled two type web services, time and throughput. The two tired architecture was complex and simple services. Complex service is a service configured with two i5 3.20 GHz Intel core processor which makes reference or calls other service(s). In this machines running Windows 7 OS, and 3.0 GB of RAM experiment we have only one such service and its hosted inside connected using 10Mb/s switch. The first machine operated as all ESBs using Apache CXF. Simple services are those the web service client that invokes LoanBroker service and services which cannot or does not need to be further measures response time, and throughput. We varied number of decompose, typical because they are hosted externally. We clients that concurrently invoke LoanBroker to capture ESB have three such services in our experiment, and they are Credit performance in different loads. Apache Jakarta-JMeter version Agency, Lender and Bank service. The following sub sections 2.5.1 was used as load generator provide detailed configurations for each ESB. Two ways in which service orchestration can be achieved in the ESB were considered. One consists of a direct service 1) ServiceMix ESB orchestration. With direct service orchestration LoanBroker ServiceMix is based on JBI specification and it uses the service directly calls CreditAgency, LenderGateway and the concept of Binding Components (BC) and Service Engines Bank service. On the other hand we have BPEL defined (SE). We configured HTTP BC to expose the CXF web process that executes using Apache ODE. The latter is quite service hosted inside ServiceMix. SOAP messages are useful because processes are defined using open standard exchanged between internal and external web services. Web (BPEL) to enable flexibility to change in future. service client send loan request and receive loan quote via In more details CreditAgency, LenderGateway, Bank1, HTTP protocol. Bank2 and Bank3 were implemented as web services and deployed on 7.0 server so that they can be

262 International Conference on Computer Engineering and Network Security (ICCENS'2012) December 26-27, 2012 Dubai (UAE)

ServiceMix ESB our experiment we chose to keep it external as depicted in Fig. Credit Agency 5 below. ServiceMix ESB Credit Agency CXF WS Apache HTTP BC Lender Gateway ODE Java WS Client SE Lender Java WS Client HTTP BC CXF SE Gateway

Bank Bank Fig 2 ServiceMix configuration for Direct Service Orchestration Fig 5 ServiceMix configuration for BPEL Orchestration 2) Mule ESB 2) Mule ESB Unlike ServiceMix which is based on JBI, Mule ESB uses CXF outbound endpoint is used to bind our Loan process with Inbound and Outbound concepts. We have configured HTTP components inside Mule. Same as the first scenario HTTP inbound endpoint to exposed CXF web service hosted in Mule outbound was used to exposed web service over HTTP, essentially making it an HTTP server. To register Mule ESB external web services we have used CXF outbound and Credit Agency Apache exchange SOAP messages. ODE Mule ESB Credit Agency HTTP CXF Lender Java WS Client Inbound Outbound Gateway

HTTP CXF WS Lender Gateway Bank Java WS Client Inbound

Fig 6 Mule configuration for BPEL Orchestration Bank 3) JBoss ESB Fig 3 Mule configuration for Direct Service Orchestration SOAP proxy was used to interact with the Loan process via 3) JBoss ESB SOAP over HTTP protocol. JBoss ESB has native support for JBoss RiftSaw. However for our experiments we used Apache JBoss ESB uses the concept of ESB unaware and ESB aware ODE as depicted in the Fig. 7 below. messages. Each service describes “Listeners” which listen to JBoss ESB external messages and list “Actions” which are inside the ESB Credit Agency Apache and are executed sequentially. We configured an HTTP ODE gateway to listen to HTTP messages thereby exposing CXF HTTP SOAP Lender web service. SOAP processor used for processing SOAP Java WS Client Gateway Proxy Gateway messages to and from internal web services.

JBoss ESB Bank Credit Agency

Fig 7 JBoss configuration for BPEL Orchestration

HTTP SOAP JBoss Java WS Client Lender Gateway Gateway Processor WS VIII. PERFORMANCE ANALYSIS As previously described our performance measures entail Bank average response time, and throughput. Average Response was calculated as the amount of time elapse Fig 4 JBoss configuration for Direct Service Orchestration from the moment the request was sent to the time a reply was received. Throughput was calculated as the number of B. Service orchestration using Apache Ode Engine successful transactions per second. In this scenario, a process was defined using BPEL 2.0 design In order to obtain the best results each test ran a minimum of editor that use Apache Ode as runtime engine. We downloaded 10 times each. More concretely, the first experiment consists and configured WAR distribution of Apache ODE 1.3.5 on of LoanBroker without using BPEL and the second deal with Tomcat 7. the use of BPEL 1) ServiceMix ESB A. First Experiment To register web service exposed by PBEL process into In section 7.1 we have described different configurations for ServiceMix, we have used CXF Service Engine. For the three ESBs in order to carry out service orchestration. ServiceMix we had an option of deploying JBI distribution of Fig. 8 shows response time for each ESB given a number of Apache ODE inside the ESB, however for fairness throughout concurrent requests. As we can observe that as number of requests increases all three ESBs maintained constant behavior

263 International Conference on Computer Engineering and Network Security (ICCENS'2012) December 26-27, 2012 Dubai (UAE) regarding response time. This shows that increasing number of requests has little or no effect on response time. Therefore we can conclude that all ESBs scale well in this scenario. However ServiceMix and Mule achieved almost the same response time. The use of JBoss web service by JBoss ESB gave its disadvantage over others as they are based on CXF. Throughput is shown in Fig. 9 where all three ESBs started with low throughput at 50 requests. Constant behavior in all

ESBs as the requests was from 100 to 200. ServiceMix had Fig 11 Throughput for BPEL orchestration the best throughput of 4.5 TPS with 250 requests. IX. CONCLUSION To achieve a typical business scenario an enterprise system need to invoke a number of services that may be located either internally or externally. Orchestration mechanisms are usually used to coordinate these invocations. Throughout this paper we provided a performance comparisons of the most popular open source ESBs regarding service orchestration, more specifically the use of Apache ODE. To mimic a real world

scenario we modified LoanBroker application. Direct service Fig 8 Average Response time for Direct Service Orchestration orchestration allowed us to observe performance of ESBs without the effect of BPEL. However, state of the art motivates towards using BPEL standard to define and automate business processes. The results obtained on the BPEL scenario showed that ServiceMix performed well. The use of apache ODE gave it an advantage from other ESBs.

REFERENCES [1] S. Ortiz, “Getting on Board the Enterprise Service Bus,” in IEEE Computer Archive, vol. 40, No. 4, April 2007, pp. 15–17. Fig 9 Throughput for Direct Service Orchestration [2] M.P Papazoglou, P Traverso, S. Dustdar and F Leymann, “Service- Oriented Computing: State of the Art and Research Challenges” in IEEE B. Second Experiment Computer Archive, vol. 40, No 11, November 2007, pp. 38- 45. [3] J Genender,”The Buzz about Enterprise Service Bus (ESB)” in Open According to configurations on section 7.2, we have run the Source enterprise Journal. January/February 2006, pp. 34–37. test using BPEL defined process that uses Apache ODE as [4] T. Kruessmann, A. Koschel, M. Murphy, A. Trenaman, I. Astrova, “High Availability: Evaluating Open Source Enterprise Service Buses” orchestration engine. This configuration may favor ServiceMix in Proc. of the ITI 31st Int. Conf. on Information Technology Interfaces, in terms of performance mainly due to the strong support of Cavtat, Croatia, 2009, pp. 615- 620. Apache ODE that this ESB has. [5] D. Kusak, “Comparison of Enterprise Application Integration Unlike in the first experiment, response time considering Platforms”, in Charles University in Prague, Department of BPEL scenario increased as the number on requests increases. Engineering. Master’s Thesis, 2010 [6] G. Hohpe and B. Woolf, “Enterprise Integration Patterns Book” A similar behavior in all the ESBs can be observed as depicted published by Addison Wesley 2004. in Fig.10. However ServiceMix achieved the lowest response [7] V. Issarny, N Georgantas, S. Hachem, A. Zarras, P. Vissiliadist, M. time followed by Mule then JBoss ESB. Considering Autili, M. A Gerosa and A. B Hamida,”Service-oriented middleware for throughput, we noted a similar behavior with that one for fist future Internet: state of the art and research directions” in J. Internet Service Applications, vol. 2, No. 1, May 2011, pp. 23-45. experiment. This means all ESB are consistent with the [8] K. Ueno and M. Tatsubori “Early Capacity Testing of an Enterprise processing of the transactions. All ESBs achieve their highest Service Bus” in Proc. ICWS '06 Proceedings of the IEEE International throughput at 400 and their lowest at 50 requests as shown in Conference on Web Services, Chicago, USA, 2006, pp. 709 - 716. Fig. 11. [9] P. Brebner, “Service-Oriented Performance Modeling the MULE Enterprise Service Bus (ESB) Loan Broker Application” in Proc. 35th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), Australia, 2009, pp. 404 - 411. [10] A. P Ahuja and A. Patel, “Enterprise Service Bus: A Performance Evaluation” J. of Communications and Network, vol. 3, No. 3, August 2011, pp. 133-140. [11] S. Desmet, B. Volckaert, S. Van Assche, D. Van Der Weken, B. Dhoedt and F. De Turck, “Throughput Evaluation of different Enterprise Service Bus Approaches” in Proc. Conf. on Software Eng. Research and Practice (SERP’07), USA, 2007, pp.378- 384. [12] F. J Garcia-Jimenez, M.A Martinez-Carreras, A. F Gomez-Skarmeta, “Evaluating Open Source Enterprise Service Bus” in Proc. International Fig 10 Average Response Time for BPEL orchestration Conference on E-Business Engineering, Spain, 2010, pp. 284- 291.

264 International Conference on Computer Engineering and Network Security (ICCENS'2012) December 26-27, 2012 Dubai (UAE)

Transfer Learning in Genetic Algorithms

B.KOÇER and A. ARSLAN

difficulty of obtaining training data or something else. So these Abstract—Transfer learning is an attempt in machine learning to task need to transfer past knowledge from source tasks e.g. in improve performance of machine learning methods as good as human indoor wi-fi localization task when a source task trained with learning performance with the help of past knowledge. There are a lot enough training data, trained model can predict cell number of methods using transfer learning but some of them are hard to use which receiver is on but if receiver’s signal strength is changed and some of them are problem oriented and cannot be reused. Our goal is to develop a transfer learning method which can solve main due temperature, humidity, moving objects etc. or receiver’s problems of transfer leaning based on genetic algorithms. hardware is changed all measurement should be done again? The indoor environment may be very large so re-measurement Keywords— Genetic algorithms, lifelong learning, transfer may need huge human effort. In this situation new mapping learning. task can be done by a little training data with the help of past knowledge which obtained from source tasks. So this kind of I. INTRODUCTION mapping task which facilitates source task’s knowledge is EARNING in real life is different from learning in target task. Lmachine learning. In machine learning, learning begin in There is several transfer learning methods provided for an isolated environment. There is a training data for each special problem domains. Lots of them domain oriented and machine learning task and each task learns a mapping from its reusability of acquired knowledge is too weak. input to its output by using its training data. But in real life Main difficulties which are met in transfer learning can be learning is very different. A human learns new task by determined in three categories. combining information which he/she has given with its past knowledge. For example one who knows how to play ping- 1. Determining source and target task’s relatedness. If pong can learn easier how to play tennis than one who has unrelated source task selected for transfer target task it never played ping-pong. may drop the performance of target task this situation is Transfer learning aims to achieve real life’s knowledge named as “negative transfer”. transfer capabilities in machine learning. When a difficult task 2. Determining how many knowledge should be transferred learned on a training data it should be able to use in a related from source task to target task. If too few knowledge task but most of time it’s not so easy to use past knowledge in transferred than it will not affect target task but if too much knowledge transferred then it may affect as new but related task in machine learning. For example when a “negative transfer”. document classification task is learnt from newspaper 3. How to transfer the knowledge from source task to target documents it’s too hard to use same classification on scientific task. This is maybe biggest problem in transfer learning. documents. So to transfer knowledge between domains There are a lot of machine learning methods which transfer learning methods can be used. modified for transfer learning. There are two kinds of tasks in transfer learning. One of 4. How to reuse acquired knowledge again on similar target them is source tasks. Source tasks are classical machine task. learning tasks which have enough training data for example an One who wants to use efficient transfer learning has to solve indoor Wi-Fi localization task. For this kind of a task an office above problems. splits into fixed with and height cells and strength of Wi-fi spots are measured for some number of the cells. These II. RELATED WORK measurements are used as training data to build a full mapping There are several area which transfer learning methods from Wi-fi spot signal strength to cell number which the applied to and several machine learning techniques which receiver is on. modified for transfer learning. Recently there are growing The second kind of task in transfer learning is target task. works on natural language processing and reinforcement This kind of tasks usually has insufficient training data due learning, for example skill transfer [1], action schema transfer [2], control knowledge transfer [3]. Transfer learning methods B.KOÇER. Research Assistant at Selcuk University Engineering Faculty are developed based on many main machine learning Department of Computer Engineering, Konya, TURKEY, Tel: +90 332 2231981, [email protected] techniques like neural networks [4-6], Markov logic networks A. ARSLAN. Research Assistant at Selcuk University Engineering Faculty [7], hidden Markov model [8] and these transfer learning Department of Computer Engineering, Konya, TURKEY, Tel: +90 332 techniques are applied to text categorization [9], web page 2233718, [email protected]

265