A study on reliable service composition model-research issues and opportunities.
Service Oriented Architecture (SOA) (Gerardo Canfora and Massimilino Di Penta, 2009) is an architectural style and it is basically a collection of services and these services can communicate with each other by either data passing or it could involve two or more services coordinating some activity by connecting services effectively. Some means of connecting services to each other is needed. Since SOA is implemented using Web Service (WS) (Rajeswari, et al, 2013) and it is the technology which is the most likely connection technology of Service-Oriented Architectures. As shown in Fig 1. There are three main components of Service Oriented. They are Service Provider, Service Consumer and Service registry. The Service Consumer sends request to the Service Provider. Service Providers are used to provide or respond requested service to service consumer and also to publish all the existing services in the Service Registry. Service Registry is a place where we can store all the available service and service consumer is to retrieve service from the Service Registry. Service Consumer will discover and invoke the required service from Service Registry and Service Provider respectively.
Every industry or Service Oriented Environment should follow a necessary principle for building a service effectively by many organizations. These principles provide Abstraction, Reusability, Autonomy, Loose Coupling Statelessness, Standardized Service Contracts Discoverability, and Composability (Gerardo Canfora and Massimilino Di Penta, 2009). Service composition and Service Discoverability (Goran Delac et al, 2013), (Huiyuan Zheng et al., 2013) are the main aspects in Service Oriented Environment. Service Discoverability (Rafael Angarita et al., 2014), (Goran Delac et al., 2013) is ability to search or find the location of every service and when storage of web services increases and therefore there will be need of very large repository for storing and retrieving many information. Service composition (Huiyuan Zheng et al., 2013) has the capability of combining many services together to solve the functionality of the user.
Service composition (Huiyuan Zheng et al., 2013) is an important aspect which is used to build new value added services than single services. Existing workflow models are to fulfill the consumer request, which requires a specification of how to regulate component services from failures. For example, when a consumer uses service to take a business trip, the following steps are taken into consideration in the service process. First, the consumer would contact a travel agency's service to make a reservation for a hotel room and an airplane seat. Considering his or her schedule and financial economy the consumers select the best one among several reservation choices. The consumers then may request additional services such as car rental and insurance related to the business trip. After all, services have been determined, the approval service will be activated. As this example indicates, a composite service is a partially ordered collection of component services. By choosing appropriate services offered by different service providers, can provide it more valuable and complete service than a single service. It can also reuse individual services more efficiently. It can be done by three methods, namely static, dynamic and semi- automatic (Dustdar and Schreiner, 2004). Static service composition is made by human using tools and execution language, namely Business Process Execution Language (BPEL) but it is very time consuming and also error prone and it is developed by designers at design time, whereas dynamic service composition does not need human involvement so they use Artificial Intelligence and Semantic web techniques and it is done by a service provider at run-time or execution time of certain services and it. Semiautomatic service composition is a combination of both static and dynamic service composition.
As many services are deployed on the web and those services can be accessed or invoked by other services by using four composition patterns or workflows (Kanchana Rajaram and Chitra Babu, 2014), (Rajeswari et al., 2013), (Goran Delac et al., 2013), (Zuohuo Ding et al., 2013), (Huiyuan Zheng et al., 2013). (Mansour et al., 2011) namely, Sequential, parallel, branch and loop patterns. Sequential workflow is one in which all services are executed one after another this makes system to take more time to complete their process when execution path increases. Parallel composition pattern is one in which two or more services are executed concurrently at the same time. Branch Workflow is based on branch constraints; it makes a decision to execute services either sequential or parallel. Loop workflow is used to repeat the execution path, service when it is invoked. Thus, service is composed within a short period of time and also within limited Lifecycle specified by the user.
QoS is Nonfunctional Requirement (Rajeswari et al., 2013) and it must be ensured while developing new composite services from existing service. These aspects are Reliability, Performance, Interoperability, Scalability, Accuracy, Cost and Availability (Wei Zhou et al., 2013). In this study, Reliability aspects plays an important aspects while composing services (Guisheng et al., 2012), (Goran Delac et al., 2013), Reliability is defined as "the ability to function correctly and consistently and it is measured in terms of number of transaction failures per year or month" (Wei Zhou et al., 2013).
The rest of the paper is organized as follows: Section 1 gives an overview of the various models proposed by the different service providers while developing reliable service composition. Section 2, is to have a discussion about the different Reliability definition, the contribution of each researcher in reliability aspects, Reliability models used at design-time, algorithms, techniques and also have an analysis of their composition patterns used for composing reliable services and also to identify factors used to check reliability aspects. Finally, the paper concludes with the various research issues and opportunities faced by different service providers while composing services are discussed in section 3.
1. Related Works:
This section is to identify what are all the transactional properties and evaluation required to check reliability aspects during service composition and also have an analysis about the various models used for deriving a reliable service composition has been presented.
1.1 Transactional Properties:
Transactional property is one of the important aspects that have to be addressed while verifying reliability. Pivot, Compensatable and Retriable are existing transactional properties that are used to ensure reliability. (Kanchana Rajaram and Chitra Babu, 2014) has proposed a transactional property such as cancellable property for long running services. To check reliability they also proposed the model, namely Finite Automaton model which is used for deriving Transaction properties of Composite web service and also to predict the behavior of overall composite services. They also guarantee for valid composition with consistent outcomes using cancellable property. Similar to (Kanchana Rajaram et al., 2014), (Guisheng et al., 2012) have also contributed a another model called Transactional matching model(Petri Net model). For verifying actions of service composition either during design or after runtime, here they use Transactional property such as failure processing mechanism, for repairing any faults. Only transaction properties are addressed, they didn't consider any additional aspects of verifying reliability. If any fault occurred during the execution of services and in order to recover from failure (Rafael Angarita et al., 2014) also proposed recovery strategy such as forward and backward recovery based on transaction properties. Proposed model that dynamically decides which recovery strategies is appropriate according to execution time restrictions. Here the reliability is measured by using the execution time and other aspects are not considered.
1.2 Evaluation of Reliable Service Composition Aspects:
To evaluate the reliable service composition we need to identify what are the factors required to check the reliability aspects an effective one. According to (Thirumaran et al., 2013) reliability has been evaluated using Finite State Machine based evaluation model, which checks whether service are executed correctly and also to check whether all resources are available. Factors that are used to check reliability factors are Availability, Service Interruption time.Other Reliability factors such as execution time, accuracy, accessibility, maintainability are not considered for verifying reliability. (Rajeswari et al., 2013) uses the utility function for evaluating service composition. Similarly, (Wei Zhou et al., 2013) proposed Order Relation Vector Model for calculating QoS preference based on four QoS attributes such as Price, Response time (the delay), Reliability and Reputation. A method such as Defuzzifying and Normalization are presented to deal with QoS attribute matrix. This attribute matrix is used to calculate the QoS attribute weight vector and service composition model are evaluated and experiments are conducted to show how to reduce errors and also optimized results. Issues such as only a limited number of factors have been considered for checking reliability. (Zuohuo Ding et al., 2013), proposed Design-time Reliability Improvement Method (RIM) for detecting weak points. The belief Network reliability model uses recommendation algorithms are proposed for yielding better performance and also varies accuracy and complexity. Evaluation results show that WP-WeightedPath is more accurate than WP-WeakestPath as it achieves 3.26 times lower MAPE. By applying RIM which is more efficient by reducing solution space. (Zuohuo Ding et al., 2013) has proposed Port-based reliability model for computing the reliability of composite services based on program invariants. (Huiyuan Zheng et al., 2013) proposed goal service model for composing reliable service composition. Services are composed using Composition patterns such as sequential, parallel, loop and conditional. (Mansour and Dillon, 2011) proposed hybrid (Path and state based) reliability models is used to check the reliability aspects and simulation results are also presented and bounded set approach is used to evaluate the reliability of composite web services and only two state model is done effectively and it also extended to three state model to determine reliability.
All those previously described works, there are only a limited number of factors are used to check reliability aspects during service composition.
2. Reliable Service Composition Models:
This section, is to analyze all the reliability definitions, various reliability models, algorithms, techniques used in the recent research area for reliable service composition, also have a review on composition patterns used for composing composite services and also to identify what are the factors used for checking Reliability aspects and their future directions are also explained clearly in the table 1 given below.
2.1. Definitions of Reliability:
From the section 1, following are the definitions of reliability are obtained:
[check] To guarantee consistent outcomes using transaction property (Kanchana Rajaram and Chitra Babu, 2014).
[check] Reliability (Goran Delac et al., 2013) is defined as the possibility that a service invocation will complete correctly, i.e. according to its specifications, potentials in the presence of faults.
[check] Number of failures (bad invariants) for each port at different times (Zuohuo Ding et al., 2013).
[check] If any failure occurs the entire execution of services are aborted and also to check for consistent outcomes (Guisheng et al., 2012).
[check] It also be defined as, how correctly service request is executed based on comprehensive evaluation criteria (Wei Zhou et al., 2013).
From the various definitions, it is obviously known that reliability is defined as the ability to function correctly and consistently and it is measured in terms of failures per year or month.
Reliability is one of the important aspects that have to be verified while composing a service. Section 1 and 2, had an analysis of various Reliability definitions, Reliability models. Those models are Finite Automaton model (Kanchana Rajaram and Chitra Babu, 2014) for deriving transactional properties such as compensable, pivot, Retriable. Dynamic Recovery Decision model (Rafael Angarita et al., 2014) for estimating execution time, Transactional matching model (Guisheng et al.,2012) for checking reliability. Finite State Machine based evaluation model (Thirumaran et al., 2013), is to evaluate the functional metrics of any business logic. QoS based on Web Service composition model (Rajeswari, et al., 2013), Order relation vector model (Wei Zhou et al., 2013) is to calculate user preference effectively, Reliability Improvement method (Goran Delac et al., 2013), Port-based reliability model (Zuohuo Ding et al., 2013) and Service Graph model (Huiyuan Zheng et al., 2013) is to calculate reliability of composite services, Hybrid (Path and state) based Reliability models (Mansour et al., 2011) and all these models are used at design-time, algorithms, techniques, what are the composition patterns used for composing reliable services and also discussed what are all the factors used to check reliability aspects.
In our study have identified the various research issues and opportunities that are not addressed while checking reliability during service composition in an SOA environment are:
[check] Based on the analysis of different researchers only limited number of factors has been addressed for verifying reliability. Some of research contributors consider only availability and execution time as important aspects of checking reliability.
[check] As the number of service increases, composition patterns or the workflow execution path also increases (Huiyuan Zheng et al., 2013) this makes difficult to estimate probabilities of QoS within a short period of time. Transactional property and evaluation are important aspects of checking reliability.
[check] Constituents of reliable service composition have not been addressed and measured exactly. These constituents include direct and indirect measurement of reliable service composition is not measured completely. There is no metric suite for measuring reliability of service composition. From the research contribution of different researchers they also didn't provide complete measures for assessing reliability in service composition. There arises a demand for quantification techniques are required for ensuring and measure reliability in an effective manner.
The objective of our study is to identify all the Reliability definitions, composition patterns, various Reliable Service Composition Models and factors used to check for reliability aspects. The outcome of our study will explore various research issues and opportunities in reliable service composition. From the research contribution of different researchers only a limited number of factors are used for checking reliability and also there are no complete measures for assessing reliability in service composition. It is concluded that reliability aspects has not been addressed and measured completely.
Received 12 October 2014
Received in revised form 26 December 2014
Accepted 1 January 2015
Available online 17 February 2015
Dustdar, S and W. Schreiner., 2004. A survey on web services composition. Distributed Systems Group, Technical University of Vienna.
Gerardo Canfora and Massimilino Di Penta., 2009. Service-Oriented Architectures Testing: A Survey. Spinger, 5413: 78-105.
Goran Delac., Marin Silic and Sinisa Srbljic., 2013. A Reliability Improvement Method for SOA-Based Applications. IEEE Transactions on Dependable and Secure Computing.
Guisheng Fan., Huiqun Yu., Liqiong Chen., Dongmei Liu., 2012. Petri net based Techniques for Constructing Reliable Service Composition. The Journal of Systems and Software.
Huiyuan Zheng., Weiliang Zhao., Jian Yang., and Athman Bouguettaya., 2013. QoS Analysis for Web Service Compositions with Complex Structures. IEEE Transactions on Services Computing, 6: 3.
Kanchana Rajaram and Chitra Babu., 2014. Deriving Reliable Compositions using Cancelable WebServices. ACM SIGSOFT Software Engineering, 39: 1.
Mansour, H and T. Dillon., 2011. Dependability and rollback recovery for composite web services. Services Computing, IEEE Transactions on, 4(4): 327-339.
Rafael Angarita., Yudith Cardinale., Marta Rukoz., 2014. Reliable Composite Web service execution: Towards a Dynamic Recovery Decision. ScienceDirect.
Rajeswari, M., G. Sambasivam, N. Balaji, M.S. Saleem Basha, T. Vengattaraman and P. Dhavachelvan, 2013. Appraisal and analysis on various web service composition approaches based on QoS factors. Journal of King Saud University -Computer and Information Sciences.
Thirumaran, M., M. Jannani, P. Dhavachelvan and D. Thiviya, 2013. Business Logic Interoperability Assessment Metrics for Web Service Run Time Management In Long Term Composed Services. ICARE.
Wei Zhou., Junhao Wen., Min Gao and Junwei Liu., 2013. A QoS preference-based algorithm for service composition in service-oriented network. Optik.
Zuohuo Ding., Mei-Hwa Chen and Xiaoxue Li., 2013. Online Reliability composite services based on program invariants. Information Science.
(1) G. Nandhini, (2) P.Iyappan, (3) Dr.G. Shanmuga Sundaram, (4) Dr. V. Prasanna Venkatesan
(1) PG Student, Department of Computer Science and Engineering, Sri Manakula Vinayagar Engineering College, 605 107, Puducherry, India.
(2) Research Scholar, Department of Computer Science and Engineering, Manonmaniam Sundaranar University, 627 012, Thirunelveli TamilNadu, India.
(3) Associate Professor, Department of Information Technology, Sri Manakula Vinayagar Engineering College, 605 107, Puducherry, India.
(4) Associate Professor, Department of Banking Technology, Pondicherry University, 605 014, Puducherry, India.
Corresponding Author: G. Nandhini, PG Student, Department of Computer Science and Engineering, Sri Manakula Vinayagar Engineering College, 605 107, Puducherry, India. Mob: 8870646096; E-mail: nandhinit email@example.com
Table 1: Study on Existing Reliable Service Composition Models and Factors to check Reliability aspects Sl.No Authors Contributions Composition Patterns Used 1. (Kanchana To achieve reliable Sequence and Rajaram and execution of parallel Chitra Babu, composite services composition of 2014). and also to predict Transactional overall behavior of composite composite services. webservices. 2 (Rafael To estimate Composite Web Angarita execution time of service Graph et.al., Composite web (Directed acyclic 2014). service using Graph) Sequential different recovery and Parallel techniques. workflows. Execution Engine will 3 (Guisheng et To create new value Nil al, 2012). added system that satisfy user requirements. 4 (Thirumaran To evaluate the Nil et al., 2013). functional metrics of any business logic using finite state machine. 5 (Rajeswari To estimate QoS based Sequence, Loop, et al., on Composition Patterns Repetition, 2013). for composite service. Branch and Parallel. 6 (Wei Zhou et To calculate user No workflows, and al., 2013). preference effectively uses QoS using model. attribute preference function (i.e) 7 (Goran Delac A Reliability Sequence, Loop, et al., Improvement Method/ Repetition, 2013). Developing reliable Branch and service composition Parallel. To model for SOA- represent composition they uses UML 8 (Zuohuo Ding To compute reliability Sequential, et al., of composite services choice,loop and 2013). based on program Parallel 9 (Huiyuan To calculate QoS at Composition Zheng et design-time for patterns such as al., 2013). composite services sequential, with complex parallel, loop structure. and conditional are used. 10 (Mansour et To develop service Series-parallel al, 2011). oriented reliability structure AND, model based on OR, Loop stochastic and renewal structure. process. Sl.No Reliability Factors model/Algorithms/ Used to Check Techniques Reliability 1. Finite Automaton Transactional model for deriving property transactional properties such as compensable, pivot, Retriable. New transactional property such as cancelable web services is used. 2 Dynamic Recovery Reliability Decision model. aspects is not Recovery Techniques verified only (Forward recovery, execution time Backward and is calculated. Replication) 3 SCRN model. Transactional Transactional matching attributes and model (Petri net). Reliability, Reliable strategy and availability. enforcement algorithms are proposed for dynamically allocate available services. 4 Finite State Machine Availability, based evaluation model Reliability and for evaluating the Service functional metrics of Interruption any business logic by time are also checking whether checked. service are executed correctly. 5 WebService composition Utility function model based on QoS. to evaluate Hybrid approach(local all QoS and global selection) parameters. to select reliable services. 6 Order relation vector Cost- type(Delay, Model is proposed to cost) and calculate User Benefit-type preference (Reputation and effectively. Reliability). 7 Reliability Execution time, Improvement method. Reliability, Three weak point Availability. recommendation algorithms (WP-Influence, WP-WeakestPath and WP-WeightedPath). 8 Port-based Reliability, reliability model. time. 9 Service Graph to model composite services and composition patterns. Acyclic graph to represent goal service. 10 Hybrid (Path and state Simulation based) Reliability results are models. Bounded set presented. approach to determine reliability of CWS. Sl.No Future Direction 1. Only transactional properties are addressed, they have not concentrated on other aspects to verify reliability. 2 Need a checkpoint based recovery strategy for checking reliability aspect effectively without any failure. 3 Future research is to investigate integration using configuration tools which are applied in online. 4 Other Reliability factors such as execution time, accuracy, accessibility, maintainability are not considered for verifying reliability. 5 Further their work focus on QoS tradeoff at runtime by providing scalability and integration with third party business model. 6 To find optimal services which meet user requirements. 7 Proved that WP-WeightedPath is more accurate than WP-WeakestPath. 8 Applying different reliability models for computing port reliability to select a best fit model. 9 Probabilities of various execution paths are calculated. 10 Extend their 2 state models into 3 states models for bounded sets due to presence of XOR structure.
|Printer friendly Cite/link Email Feedback|
|Author:||Nandhini, G.; Iyappan, P.; Sundaram, G. Shanmuga; Venkatesan, V. Prasanna|
|Publication:||Advances in Natural and Applied Sciences|
|Date:||Jun 1, 2015|
|Previous Article:||Vision based recognition of American sign language numbers using combined DCT-DWT features and machine learning.|
|Next Article:||NFR modeling from explicit natural language requirements specification.|