A Plug in Architecture for Self Adaptive Web Service Compositions Essay Sample

A Plug-in Architecture for Self-Adaptive Web Service Compositions Anis Char?? . Tom Dinkelaker† and Mira Mezini† ? SAP Research CEC Darmstadt. Germany Email: { ? [ electronic mail protected ]† Software Technology Group Technische Universit? T Darmstadt. Germany a Email: [ electronic mail protected ]

Abstract—Several attacks have been proposed to present self-management capablenesss for web service composings. However. most of these plants are limited as they are non extensile. i. e. . new self-adaptation characteristics can non be supported. and even if that is possible so still this can non be done dynamically while the composite services are running. In add-on. many of these plants are non based on the service composing standard WS-BPEL. In this paper. we propose a plug-in architecture for self-adaptive web service composing. in which self-adaptation characteristics are well-modularized in facet based circuit boards. Our attack supports applicationspeci?c version scenarios. is easy extensile. and allows self-adaptation logic to be hot-deployed on running procedure cases. We have implemented this architecture and several circuit boards utilizing the dynamic aspect-oriented work?ow linguistic communication AO4BPEL. Keywords-Aspect-Oriented Programming ; Autonomic Computing ; Self-Healing ; Service Composition ; BPEL ; Ces to incorporate self-healing logic [ 5 ] . [ 6 ] . However. these attacks have restrictions with regard to extensibility. ?exibility. and range. First. most existing attacks come with prede?ned self-adaptation characteristics and adding farther self-adaptation characteristics by a third-party is non possible.

Hire a custom writer who has experience.
It's time for you to submit amazing papers!


order now

The job with current attacks is that self-adaptation logic is tightly coupled with the executing logic inside the engine execution and hence the version logic can non be extended by a third-party. Second. in the plants that allow widening the engine with new self-management characteristics the logic of these characteristics can non be integrated dynamically with already-deployed or running web service composings. Third. bing attacks do non back up applicationspeci?c self-adaptation characteristics. As illustration for such characteristics in the context of a travel engagement procedure could affect the monitoring of holds in publishing travel paperss by spouse services and responding to that automatically by directing the paperss by a rapid station service. In this paper. we propose a plug-in architecture for selfadaptive web service composing. which tackles the three jobs discussed supra.

Self-adaptation circuit boards are implemented by agencies of two types of facets: monitoring facets detect erroneous state of affairss and actions that may do losing prede?ned ends whereas version facets perform disciplinary actions. We have implemented this architecture utilizing the AO4BPEL linguistic communication [ 7 ] . an aspect-oriented work?ow linguistic communication supplying similar characteristics as dynamic aspect-oriented scheduling ( AOP ) [ 8 ] . Furthermore. in this paper. we have extended AO4BPEL with particular support for dynamic circuit boards through bring forthing. triping. and deactivating facets at runtime. The proposed architecture is easy extensile as new selfadaptation characteristics may be easy implemented by supplying the several monitoring and version facets. These characteristics can be plugged and un-plugged on demand and even at runtime thanks to the dynamic weaving capablenesss of the AO4BPEL engine. Further. our attack supports application-speci?c self-adaptation scenarios and we have used it to construct several application-speci?c self-adaptation circuit boards every bit good as three generic circuit boards.

I. I NTRODUCTION The context of composite web services is really dynamic and several sorts of alterations and mistakes may originate after deploying a composite service. For illustration. one of the spouse services may travel down. it may be updated to necessitate new policies. etc. When such state of affairss happen the composite web service will non run suitably and runtime mistakes will be thrown. Most available web service orchestration engines do non supply machine-controlled support for observing and responding to such state of affairss and managing them can merely be done through manual human intercession. i. e. . the mistake must be detected. the web service based procedure that threw the mistake needs to be undeployed. certain alterations should be applied either to the procedure itself or to its deployment con?guration ( e. g. . replacing the faulty spouse service. altering the scene of the interactions to be unafraid. etc ) . and so re-starting the composite service. Such an attack is inappropriate because the operation of the composite service is discontinued. because certain procedures may be interrupted in the center of a concern dealing. and besides because of the immense administrative operating expense.

The balance of this paper is organized as follows. Sec. II presents background cognition and an illustration. Sec. III motivates the demand for self-management in composite web services. Sec. IV presents the proposed architecture. Sec. V illustrates the proposed attack with illustrations and Sec. VI evaluates it. Sec. VII studies on related work and Sec. VIII concludes the paper. II. BACKGROUND AND E XAMPLE Aspect-Oriented Work?ow Languages: In [ 9 ] . aspectoriented package development [ 10 ] constructs are introduced to work?ow direction and work?ow linguistic communications. In add-on. the AO4BPEL [ 7 ] linguistic communication is presented as a proofof-concept together with a compliant BPEL orchestration engine back uping the dynamic composing of facets and procedures.

AO4BPEL is an XML-based linguistic communication. Aspects consist of one or several pointcut and advice. The pointcut linguistic communication of AO4BPEL is based on XPath. which is used to choose activity articulation points ( i. e. . points matching to the executing of activities ) and internal articulation points ( i. e. points inside the executing of activities such as the point where the outgoing message of an invoke activity is generated ) . An advice is a BPEL activity that implements some cut acrossing logic. e. g. . name to a proctor. Particular concepts may be used inside the advice to entree the input and/or end product informations of the articulation points. the several SOAP messages. every bit good as re?ective information. Further. an facet may declare spouses. variables. mistake animal trainers. etc. Example: In Fig. 1. a simple travel procedure ( index 1 ) is shown. This procedure interacts with a ?ight service ( e. g. . “Berlin Air” ) and a hotel service ( e. g. . “Star Hotel” ) to

?nd and make holiday offers that match the demands of a client. Another procedure is responsible for booking one time the client has selected one offer. At index 2. an facet is shown. which measures the executing clip of all calls to spouse services. This aspect de?nes a pointcut that matches all interactions with a spouse ( the XPath look //invoke ) . Therefore. when the procedure executes and invoke activities are reached ( index A and B ) . the advice of the facet at index 2 is executed. This aspect de?nes an around advice that wraps the original invoke articulation points into a sequence. The latter starts a timer. so executes the original articulation point activities utilizing the proxy activity proceed. and ?nally stops the timer. The proceed activity ever executes the presently intercepted procedure activity. Therefore. when the pointcut matches the supplication of the ?ight service ( index A ) . continue invokes the “Berlin Air” service ( index a ) . When naming the hotel service ( index B ) . continue invokes the “Star Hotel” service ( index B ) . At index 3. a 2nd facet is shown. which replaces supplications of the ?ight spouse “Berlin Air” by supplications of “Air Munich” . Such a replacing facet can be activated at runtime. which changes the executing of presently deployed procedures.

To replace the ?ight spouse. the pointcut must fit merely the invoke activities that interact with that speci?c spouse ( here //invoke [ @ partner=”flight” ] ) . When the original supplication of the ?ight service is reached ( index C ) . the associated around advice is executed. In contrast to the old facet. this advice does non name proceed. therefore the advice wholly replaces the original articulation point activity and invokes an alternate spouse alternatively ( index degree Celsius ) . III. P ROBLEM S TATEMENT Several version demands arise in the context of the illustration presented in the old subdivision. First. certain spouse services may go unavailable. e. g. . due to a connexion loss ( Example 1 ) . Second. the con?guration of certain non-functional belongingss in the spouse services may be updated. e. g. . to necessitate message encoding through an update to the several WS-Policy ?le ( Example 2 ) . Third. a spouse service that committed to a certain quality of service. e. g. . through a Service Level Agreement ( SLA ) may neglect to supply what was promised ( Example 3 ) .

As a consequence. the procedure will execute severely and may even go against its ain SLAs in forepart of clients. We call the three self-adaptation demands mentioned so far generic demands as they arise in any service composing scenario independently of what the service composing at manus does. On the other manus. there are besides application-speci?c demands. which depend on the concrete composing scenario and are relevant in that context merely. For case. in the context of the travel booking procedure it might be necessary to supervise holds in publishing the travel paperss and respond to that automatically either by directing them by rapid station or by directing an electronic mail to the client and inquiring him to roll up the paperss at the airdrome ( Example 4 ) . Most web service composing attacks and tools are non able to back up the self-adaptation illustrations mentioned above. Some recent plants have extended orchestration engines with self-adaptation capablenesss [ 2 ] . [ 1 ] . [ 3 ] . [ 4 ] whereas others provided process transmutation tools to add self-healing logic in the BPEL processes [ 5 ] . [ 6 ] . However. these plants are still limited in several respects. First. they are limited with regard to extensibility as they come with a prede?ned set of self-adaptation characteristics that can non be extended.

For illustration. the orchestration engine may back up the automatic replacing of a spouse in instance of a failure but it does non supply any appropriate agencies that allows users to add support for other demands such as monitoring and responding to spouse policy updates. If such agencies are provided at all so version could go on merely statically [ 5 ] . [ 1 ] . i. e. . one has to halt the orchestration engine and/or running BPEL procedures. use certain modi?cations. and re-start the engine and/or the BPEL processes. It is non possible to hot-deploy the self-adaptation logic. Further. as most bing attacks introduce self-management characteristics at the degree of the BPEL engine. they can non back up application-speci?c demands such as Example 4. IV. A P LUG -I N A RCHITECTURE FOR S ELF -A DAPTATION This subdivision presents the proposed architecture and explains the development of self-adaptation circuit boards based on that architecture. A. Overview The overall architecture is presented in Fig. 2.

The orchestration engine can be extended by particular self-adaptation circuit boards utilizing two sorts of extension points: implicit and explicit. Every procedure activity is an inexplicit extension point where the circuit board can put to death adaptation logic. At the expressed extension points. the architecture may be extended with web services that are provided by the self-adaptation circuit board ( e. g. . for monitoring or for diagnosing so that the circuit board can make up one’s mind if version is needed ) . These services can be deployed locally on the same application waiter as the BPEL engine. Each plug-in follows a well-de?ned aim ( e. g. . selfhealing in instance of policy updates ) . It consists of several facets and infrastructural services. A circuit board is developed by sphere experts. e. g. . an decision maker. A plug-in can be deployed to the orchestration engine at runtime through an decision maker console. Inside the circuit boards. two types of facets are used: monitoring facets. which collect information and decide based on it whether version is needed and adaptation facets. which handle the erroneous state of affairss and events detected by the monitoring facets. The monitoring facets are able to trip and deactivate the version facets at runtime.

Self-Adaptation Circuit boards

Implicit/Explicit Extension Points

Figure 2.

The Plug-In Architecture.

The principle behind utilizing facets and particularly dynamic AOP is manifold. First. AOP provides inexplicit extension points at every articulation point in the procedure. at which one can add extra version activities. jump bing activities. etc. Using activity articulation points as inexplicit extension points allows unforeseen version of the BPEL procedures. Second. the automatic composing of facets into work?ows enables the integrating of the logic of self-adaptation plugins into the functional logic of procedures. Third. AOP keeps the self-adaptation logic separated from the functional logic. This separation improves the design of the application as conditional statements for self-management can be avoided in the procedures. Forth. dynamic AOP enables the version of running procedures. i. e. . halting running composings is non needed. Our architecture is easy extensile. Some circuit boards may be delivered with the engine and farther circuit boards can be built on demand by supplying facets and if needed infrastructural services. The circuit boards can be created at anytime. deployed and undeployed utilizing the architecture’s hotswap capablenesss implemented by dynamic AOP. The aspect-aware orchestration engine used in our architecture takes attention of pull offing all active circuit boards and their dependences.

B. Execution We use the dynamic AOP linguistic communication AO4BPEL [ 7 ] and the several engine to implement our architecture. In the undermentioned. we describe the development procedure of selfadaptation circuit boards. which consists of three stairss harmonizing to the sense-think-and-act paradigm: Detection: The developer analyzes the application for concrete job scenarios for which the self-adaptation circuit board should supply a solution. Then. the developer implements the sense portion utilizing a pointcut. which selects those procedure activities that need to be monitored. In List. 1. a generic templet for monitoring facets is shown go forthing unspeci?ed the sense logic in line 3. At this topographic point. the developer must stipulate a concrete pointcut for observing relevant events ( e. g. . supplication of some spouse service ) for his scenario.

Feeling Thinking

Listing 1.

Generic monitoring facet

Thinking: Following. the developer implements the think portion utilizing advice logic. e. g. . a mistake animal trainer can be used to place failures in supplications. This advice is associated with the pointcut implementing the sense portion. Further. this think advice provides logic that performs the determination on an equal self-adaptation program. i. e. . it selects and activates an appropriate version facet utilizing particular linguistic communication concepts of AO4BPEL. For taking that determination. the plugin may necessitate to supply helper web services ( substructure services ) . These services are integrated in our architecture utilizing the expressed extension point ( californium. Fig 2 ) . The advice implementing the think portion identi?es critical state of affairss by following one of three possible schemes: 1 ) pre-examination. 2 ) post-examination. and 3 ) wrapper. Pre-examination proactively ensures that certain procedure activities will non neglect or will be replaced by alternate activities. Pre-examination can be used e. g. . to observe alterations of the spouse policies ( Example 2 ) that will probably ensue in a failure when raising a spouse. Post-examination is performed after the monitored activities are executed. Postexamination can be used e. g. . to observe SLA misdemeanors and the holds in publishing travel paperss ( Examples 3 and 4 ) .

Depending on the consequence of the status rating. the think portion decides on the activation of one or more version facets ( line 5 ) . In instance the status is evaluated to false. the advice does non execute any farther actions ; in instance of pre-examination. the intercepted articulation point will be executed without modi?cations. Wraping ensures that a procedure activity will non neglect by encapsulating it into a wrapper activity ( e. g. . a range with a mistake animal trainer ) that captures debatable state of affairss when the original activity is executed. Wrapping is used when we can non make up one’s mind via pre-examination if the activity will neglect or non. e. g. . when raising an external spouse service. To guarantee self-adaptation. the original activity that perchance fails is wrapped into a structured BPEL activity ( e. g. range ) that provides extra logic to capture possible mistakes of the original activity ( e. g. . a provided mistake animal trainers captures failures of the original activity ) . The wrapper scheme uses the advice type around that replaces the original activity with the structured activity. which internally calls the replaced action by utilizing proceed. List. 3 shows the generic construction of a monitoring facet that employs wrapping.

Acting: The developer implements the act portion in signifier of an version facet. which uses pointcut-and-advice to alter running procedures. e. g. . one can replace the faulty spouse service. The generic construction of an version facet is shown in List. 4. A pointcut is used to choose articulation points where version actions need to be applied ( line 3 ) . These articulation points correspond to the inexplicit extension points of our architecture. Adaptation actions are speci?ed in an around advice that replaces the original articulation points by alternate activities to work out the job ( line 6 ) . Join points to accommodate Adaptation Action

List. 2 shows a generic templet for pre/post-examination facets. The advice of such an facet is structured as follows. First. a dynamic status is evaluated ( line 4 in List. 2 ) to make up one’s mind whether the perceived event will take to a debatable state of affairs ( pre-examination ) or whether it indicates that a debatable state of affairs has already occurred

When the version actions depend on the dynamic executing context of the procedure. pre-de?ned version facets are non executable. E. g. . when a partner’s security policy has changed so that a new encoding algorithm is required. so the version facet must procure the outgoing messages harmonizing to the new policy. However. as the new policy is merely available at runtime the version aspects must be generated. In such instances. the self-adaptation plugin has to supply an aspect generator service that extends our architecture via the expressed extension points. Supplying an aspect generator is possible if the beginning linguistic communication is ?xed. which is the instance for WS-Policy and related averment linguistic communications ( e. g. . WS-SecurityPolicy ) every bit good as for WSLA. One attack to implementing such a generator consists in de?ning aspect templets. i. e. . uncomplete parameterized version facets. for each type of policy averment. The generator checks all averments in the policy ?le and for each fiting one it generates an version facet by puting the parametric quantities of the facet templet based on the policy attributes.

Extensions to AO4BPEL: AO4BPEL supported merely the manual activation and inactivation of facets via the decision maker interface. However. to implement our architecture the monitoring facets should be able to trip and deactivate version facets programmatically. Therefore. we extended AO4BPEL with new activities for triping and deactivating facets from an advice of another facet: activate and deactivate. Both take a twine with the facet name as parametric quantity. Another discrepancy of the activate activity takes a ?le name ( WS-Policy or WSLA ?le ) as a parametric quantity and generates the necessary facets for doing the composing side compliant with the policy ( e. g. . by bring forthing facets for encoding if the policy requires that ) or for supervising the SLA of a spouse. V. E XAMPLES We developed three generic self-adaptation circuit boards back uping the automatic replacing of faulty spouse services ( Example 1 ) . the automatic sensing and reaction to spouse policy updates ( Example 2 ) . and the automatic monitoring of spouse SLAs and replacing in instance of misdemeanors ( Example 3 ) . Further. we developed an application-speci?c version circuit board for the travel bureau scenario ( Example 4 ) .

Due to infinite restrictions. we present merely the plugins for illustrations 2 and 3 in the context of the scenario of Sec. II. A. Self-adaptation to policy alterations This plug-in consists of a monitoring facet that is shown in List. 5 and a set of dynamically generated version facets that con?gure the client side middleware so that the demands of the new policy are satis?ed [ 11 ] . Further. we had to develop two infrastructural web services ( the explicit extension points ) : the policy web service and the aspect generator service. which generates a set of facets based on a given policy in WS-Policy. The policy web service. which is based on Apache WS Commons [ 12 ] . allows pull outing a policy from a WSDL ?le. construing it. and observing alterations to the policy.

It besides allows constructing the intersection of the spouse policy with the composition-side policy. The policy-based facet generator service uses aspect templets and XSLT to breathe a set of facets that enforce a given policy. In List. 5 the pointcut ( lines 3–5 ) lucifers all interactions with the spouse ?ight ( the sense portion ) . The before advice ( lines 6–40 ) implements the pre-examination logic to observe alterations of the spouse policies. The advice checks whether a new policy is available by naming the operation isNewPolicyAvailable ( lines 18–21 ) on the policy Web Service. If that status is evaluated to true the advice gets the new policy by naming the operation getServicePolicy on the policy Web Service ( line 27 ) and uses the 2nd discrepancy of the activate activity ( lines 32–34 ) to bring forth and trip version facets based on the new policy ( the act portion ) .

For illustration a pro?ling facet that measures the mean response clip by wrapping all interactions with a spouse it structured as follows. It uses an appropriate pointcut ( the sense portion ) like the aspect shown in Fig. 1. For the think portion. the pro?ling facet de?nes an around advice that nests the supplication of the spouse service utilizing the proceed activity between two calls to a measuring Web Service that records informations about the spouse public presentation such as start and end clip of the supplication. The other monitoring facet in this circuit board is shown in List. 6. It contains post-examination logic. which is used in this scenario to look into after each interaction with the spouse whether that spouse has violated its SLA. In instance of a misdemeanor. this aspect “decides” to replace the undependable spouse utilizing an version facet. The pointcut in this illustration ( the sense portion ) matches all interactions with the monitored ?ight service ( lines 9–11 ) . For the think portion. this aspect implements an after advice with post-examination logic ( lines 12–36 ) that cheques after naming the spouse whether the SLA has been violated. The sensing of SLA misdemeanors is based on the result of the current call and the antecedently collected information. For that intent. the operation checkSLA of the status rating service is called.

If the SLA has been violated the advice activates an version facet ( line 32 ) that replaces the undependable spouse. VI. E VALUATION We evaluated our architecture based on the rating standards for autonomic calculating systems presented in [ 13 ] . We chose a qualitative rating because no all-purpose rating model exists for comparing architectures of autonomic calculating systems. Quality of service Different QoS prosodies guarantee that a system reaches its end. Our attack supports mensurating and implementing service-level understandings ( SLAs ) and we have demonstrated this for several illustrations. New QoS prosodies can be easy supported in our attack without impacting the substructure by supplying a new circuit board and if necessary farther infrastructural services. Costss In our attack there are instruction costs as the implementors of self-adaptation circuit boards have to larn AO4BPEL.

However. as AO4BPEL uses BPEL as advice linguistic communication the instruction costs are limited and these costs have to be paid merely one time. The one time acquired cognition can so be used to implement farther self-adaptation characteristics. As in our attack new characteristics can be added at runtime. there is a addition as concern procedures are non discontinued. i. e. . there is no loss due to a downtime of concern procedures. There is a general public presentation operating expense due to AOP support. which is around 2 % in comparing to the procedure executing without aspect support [ 7 ] . The operating expense for put to deathing a certain functionality e. g. . for feeling in the advice compared to holding that functionality straight in the procedure is less than 0. 5 % of the procedure executing clip [ 7 ] .

B. SLA Monitoring This plug-in consists of a set of generated monitoring facets for pro?ling and for observing SLA misdemeanor. and one version facet for replacing the spouse service that violates its SLA. Further. this plug-in provides four infrastructural web services: an SLA web service. a measurement web service. a status rating service. and an SLAbased facet generator service. The SLA Web Service supports recovering the SLA of a spouse and pull outing the relevant information. The measuring Web Service is used by the monitoring aspects to roll up informations about the QoS for each interaction with the spouse. The status rating service is used by the monitoring facet to ?nd out whether a certain SLA parametric quantity ( e. g. . mean response clip ) is violated.

The SLA-based facet generator service is besides based on aspect templets. The relevant SLA prosodies are extracted from the WSLA ?les of the spouses when a BPEL procedure is deployed. For each SLA belongings stated in the WSLA ?le of the spouse web service one pro?ling facet is generated utilizing the SLAbased facet generator service. This aspect collects informations that is relevant for the SLA belongings at manus such as response clip. Another generated monitoring facet cheques for SLA misdemeanors after raising the monitored spouse based on the informations collected by the pro?ling facets.

Granularity/Flexibility Our architecture supports ?ne coarseness as every procedure activity can be monitored and adapted. Further. our attack allows monitoring/adapting all cases of a given procedure or selected cases merely. The attack is besides rather ?exible as the logic of selfadaptation circuit boards can be deployed and removed from procedures at anytime during the executing. Failure Avoidance Our architecture improves failure turning away non merely at the service call degree ( by automatically replacing spouses ) but besides at any activity degree ( e. g. . informations assignment. sequence/?ow activities. etc ) . Our attack does non back up failures that are non at the procedure degree such as failures at the engine degree. Degree of Autonomy Our architecture allows to accommodate procedure to failure scenarios that have non been anticipated in the procedure design. It does non turn to responding to failure scenarios that have non been anticipated in circuit boards. Still. advanced acquisition techniques could be provided as new intelligent circuit boards. Adaptivity Adaptivity in our architecture is implemented by the version facets. which introduce both structural ( e. g. . adding new spouse links and variables ) and behavioural versions. Adaptations happen at runtime thanks to the hot-swap capablenesss of our engine.

Sensitivity Too high sensitiveness can take to state of affairss where invariably alterations are applied to the system. In our architecture sensitiveness can be controlled through extra logical thinking logic in monitoring facets. Stabilization In certain architectures. a self-adaptation triggers another self-adaptation the system may continuously alter until it is stabilized. In our architecture. insistent self-adaptations are prevented since version activities of the facets are non capable to self-adaptation once more. The rating model of [ 13 ] de?nes other standards that are less relevant for our context such as Time to Adapt and Reaction Time. which is in our instance characteristic dependant. and Benchmarking which was non considered because there is no standard BPEL benchmark.

VII. R ELATED W ORK Self-Adaptation by preprocessing: Several attacks transform the BPEL procedure to add self-adaptation logic. Their advantage is that the transformed procedures run on a standard engine. In [ 5 ] . Modafferi and Conforti present an attack. in which WS-BPEL procedures are annotated with recovery information. Based on these notes a pre-processing tool transforms the BPEL procedure and adds new activities that implement the several recovery actions. This attack frees the BPEL interior decorator from composing complex BPEL codification to implement the self-adaptation functionality. Precisely ?ve self-adaptation characteristics are supported such as activity timeout and perennial executing of an activity in mistake instance. However. this work is non extensile as farther characteristics would necessitate modi?cations to the procedure transmutation tool and extra notes.

The TRAP/BPEL model [ 6 ] adds autonomic behaviour to BPEL procedures by transforming them so that they use generic placeholders to interact with spouses. The proxy provides self-adaptation behaviour based on some high-ranking policies de?ned in a con?guration ?le. This attack supports merely the permutation of neglecting spouse services. It is non extensile. i. e. . every new self-adaptation characteristic would necessitate modifying the transmutation tool. Self-Adaptation by late binding service calls: Bianculli et Al. [ 14 ] propose an architecture for self-adaptive Web service composings in which each service has an associated renunciation. During service calls. the engine proctors QoS and pushes renunciation informations to a register. For each service call. a specialised service call mechanism ?rst cheques for a low renunciation of the called spouse. In instance the renunciation is low another spouse is selected from a register.

In comparing. this work can monitor/adapt merely service calls and non other BPEL activities. Further. new self-adaptation characteristics can non be added. In [ 1 ] an attack is proposed to oversee BPEL procedures by uniting facets and policies. WS-Policy policies are speci?ed in a deployment form and transformed to supervising regulations that are automatically enforced by an AOP-based model implemented with AspectJ on top of ActiveBPEL. This attack is more declaratory than ours but it uses facets to alter the engine and non the procedures. Further. it is non easy extensile as the implementors of self-adaptation characteristics must cognize the engine execution and new characteristics can merely be added before presenting the BPEL engine to the client. Adaptation at runtime is non supported as AspectJ uses inactive weaving. Applicationspeci?c self-adaptation is non supported.

Self-adaptation by modi?ed procedure representation: In [ 4 ] . a modi?ed BPEL engine is presented. It supports the sensing of assorted web service mistakes and their recovery based on particular self-healing policies. This engine is non extensile as new self-adaptation characteristics can merely be provided through extensions to self-healing policy linguistic communication. which besides means that the engine execution construing the new policies has to be modi?ed. In [ 3 ] . Moser et Al. show the VieDAME environment. which is an extension to the ActiveBPEL engine that allows the monitoring of BPEL processes w. r. t. some quality of service properties and besides the replacing of spouse services harmonizing to assorted schemes. Like our attack. the work in [ 3 ] allows the replacing of spouse services at runtime. However. it supports merely version related to interactions with spouse as it is implemented with an aspectoriented attack that intercepts SOA messages. It is besides non extensile. i. e. . it does non supply agencies to offer farther self-adaptation characteristics.

VIII. C ONCLUSION In this paper. we presented a plug-in architecture for selfadaptive Web Service composing. Self-adaptation plugins consist of monitoring and version facets. which realize the sense-think-act paradigm and may besides supply infrastructural services. We presented a proof-of-concept execution utilizing AO4BPEL and built several plugins harmonizing to the proposed architecture. Our attack is extensile as farther self-adaptation demands can be easy added. unfastened as the self-management logic is seeable to stop users. and it besides allows the dynamic version of running procedures. Further. our attack supports applicationspeci?c self-adaptation scenarios. As in this paper we focused merely on self-healing and self-con?guration. our future work will turn to self-optimization and self-defense. ACKNOWLEDGMENTS Part of the work is conducted in the context of the CASED research centre for advanced security at TU Darmstadt ( World Wide Web. cased. de ) . This work was partially supported by the feasiPLe undertaking. Federal Ministry of Education and Research ( BMBF ) . Germany. Christian Fuest has implemented certain parts of some of the constructs presented in this paper in the context of his Master’s thesis [ 15 ] .

Mentions

[ 1 ] L. Baresi. S. Guinea. and P. Plebani. “Policies and Aspects for the Supervision of BPEL Processes. ” in Proc. of CAiSE. ser. LNCS. vol. 4495. Springer. June 2007. pp. 340–354. [ 2 ] A. Lins. F. Antonio. J. dos Santos Junior. and N. Rosa. “Improving Crystalline Adaptability in Web Service Composition. ” in Proc. of IEEE International Conference on ServiceOriented Computing and Applications ( SOCA07 ) . 2007. [ 3 ] O. Moser. F. Rosenberg. and S. Dustdar. “Non-Intrusive Monitoring and Service Adaptation for WS-BPEL. ” in Proc. of the Int. Conference on World Wide Web. April 2008. [ 4 ] S. Subramanian. P. Thiran. N. C. Narendra. G. K. Mostefaoui. and Z.
Maamar. “On the Enhancement of BPEL Engines for Self-Healing Composite Web Services. ” in Proc. of the International Symposium on Applications and the Internet ( SAINT ) . IEEE Computer Society. 2008. pp. 33–39.

[ 5 ] S. Modafferi and E. Conforti. “Methods for Enabling Recovery Actions in WS-BPEL. ” in Proc. of Int. Conference on Concerted Information Systems ( CoopIS ) . ser. LNCS. vol. 4275. Springer. November 2006. [ 6 ] O. Ezenwoye and S. Sadjadi. “TRAP/BPEL: A Framework for Dynamic Adaptation of Composite Services. ” in Proc. of Int. Conference on Web Information Systems and Technologies ( WEBIST ) . 2007. [ 7 ] A. Char? and M. Mezini. “AO4BPEL: An Aspect-Oriented Extension to BPEL. ” World Wide Web Journal: Recent Progresss on Web Services ( particular issue ) . March 2007. [ 8 ] G. Kiczales. J. Lamping. A. Mendhekar. C. Maeda. C. Lopes. J. -M. Loingtier. and J. Irwin. “Aspect-Oriented Programming. ” in Proc. of the 11th European Conference on ObjectOriented Programming ( ECOOP ) . ser. LNCS. vol. 1241. Springer. June 1997. pp. 220–242. [ 9 ] A. Char? . “Aspect-oriented work?ow linguistic communications: Ao4bpel and applications. ” Ph. D. thesis. Darmstadt University of Technology. Darmstadt. Germany. 2007. [ 10 ] AOSD. “Aspect-Oriented Software Development Community and Conference. ” hypertext transfer protocol: //www. aosd. cyberspace. [ 11 ] A. Char? . B. Schmeling. A. Heizenreder. and M. Mezini. “Reliable. Secure and Transacted Web Service Composition with AO4BPEL. ” in Proc. of the 4th IEEE European Conference on Web Services ( ECOWS ) . IEEE Computer Society. December 2006. pp. 23–34. [ 12 ] Apache. “Apache WS Commons. ” hypertext transfer protocol: //ws. Apache. org/ commons/ . 2006. [ Online ] . Available: hypertext transfer protocol: //ws. Apache. org/ commons/ [ 13 ] J. McCann and M. Huebscher. “Evaluation Issues in Autonomic Computing. ” LNCS. pp. 597–608. 2004. [ 14 ] D. Bianculli. R. Jurca. W. Binder. C. Ghezzi. and B. Faltings. “Automated Dynamic Maintenance of Composite Services Based on Service Reputation. ” LNCS. vol. 4749. p. 449. 2007. [ 15 ] C. Fuest. “Self-adaptive Web Service Composition with AO4BPEL. ” Master’s thesis. Technische Universitt Darmstadt. Fachbereich Informatik. 2008.

Categories