+ All Categories
Home > Documents > A service-based framework for flexible business processes · Danilo Ardagna, Luciano Baresi, Sara...

A service-based framework for flexible business processes · Danilo Ardagna, Luciano Baresi, Sara...

Date post: 28-Feb-2021
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
8
A service-based framework for flexible business processes Citation for published version (APA): Ardagna, D., Baresi, L., Comai, S., Pernici, B., & Comuzzi, M. (2011). A service-based framework for flexible business processes. IEEE Software, 28(2), 61-67. https://doi.org/10.1109/MS.2011.28 DOI: 10.1109/MS.2011.28 Document status and date: Published: 01/01/2011 Document Version: Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers) Please check the document version of this publication: • A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal. If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement: www.tue.nl/taverne Take down policy If you believe that this document breaches copyright please contact us at: [email protected] providing details and we will investigate your claim. Download date: 26. Jul. 2021
Transcript
Page 1: A service-based framework for flexible business processes · Danilo Ardagna, Luciano Baresi, Sara Comai, and Barbara Pernici, Politecnico di Milano Marco Comuzzi, Eindhoven University

A service-based framework for flexible business processes

Citation for published version (APA):Ardagna, D., Baresi, L., Comai, S., Pernici, B., & Comuzzi, M. (2011). A service-based framework for flexiblebusiness processes. IEEE Software, 28(2), 61-67. https://doi.org/10.1109/MS.2011.28

DOI:10.1109/MS.2011.28

Document status and date:Published: 01/01/2011

Document Version:Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers)

Please check the document version of this publication:

• A submitted manuscript is the version of the article upon submission and before peer-review. There can beimportant differences between the submitted version and the official published version of record. Peopleinterested in the research are advised to contact the author for the final version of the publication, or visit theDOI to the publisher's website.• The final author version and the galley proof are versions of the publication after peer review.• The final published version features the final layout of the paper including the volume, issue and pagenumbers.Link to publication

General rightsCopyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright ownersand it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.

• Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal.

If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, pleasefollow below link for the End User Agreement:www.tue.nl/taverne

Take down policyIf you believe that this document breaches copyright please contact us at:[email protected] details and we will investigate your claim.

Download date: 26. Jul. 2021

Page 2: A service-based framework for flexible business processes · Danilo Ardagna, Luciano Baresi, Sara Comai, and Barbara Pernici, Politecnico di Milano Marco Comuzzi, Eindhoven University

GLOBALIZATION AND ACCESSI-BILITY have caused a signifi cant shift in business processes, from static solu-tions to fl exible processes that can ad-dress rapidly changing business needs. Consider virtual supply chains, where business partners change seamlessly as new business opportunities arise. The marketplace needs business processes that it can break into independent ele-ments and then recompose on demand. Dynamic, fl exible business models re-quire supporting information systems that evolve as quickly as the businesses

they support. Most of the changes can’t be applied during conventional mainte-nance but must be performed transpar-ently on running systems.

These new requirements are forc-ing information systems to evolve from closed, proprietary entities to open so-lutions based on public standards.1 The service-oriented paradigm provides the enabling infrastructure for this shift, and complex information systems are becoming suitable compositions of ser-vices—often called processes. Humans can perform services and integrate

them in the process through dedicated user interfaces; services can also be au-tomated and provided as Web services.

In a continuously evolving context, where in many cases you can select the actual services only at runtime, fl exible and adaptive solutions are required to guarantee both the process’s functional requirements and quality of service (QoS). Flexible business processes also impose a validation shift: conventional predeployment testing isn’t enough any-more because it can’t foresee runtime changes; we must introduce self-valida-tion and self-adaptation techniques to monitor services and apply corrective actions as soon as problems arise.

These are the underpinnings of the Discorso (Distributed Information Sys-tems for Coordinated Service-Oriented Interoperability) framework (www.discorso.eng.it), which offers a com-prehensive service-based solution for specifying and managing fl exible and responsive business processes. (For a discussion of other approaches, see the “Related Work in Business Process De-sign” sidebar.) At the design level, Dis-corso proposes an “annotated” business process modeling notation (BPMN) to specify the entire process, including both manual activities and automated services. It models human-based activi-ties as webpages through WebML2 and automated activities as “abstract” in-teractions, with external Web services specifi ed in terms of functional require-ments and QoS constraints. We can an-notate both classes of activities with supervision rules to probe their execu-tion at runtime and trigger corrective actions if needed. Then, before execut-ing a process, the framework replaces abstract services with “concrete” ones by selecting those services that best sat-isfy the functional requirements and fi t the QoS constraints specifi ed through

074 0 -74 5 9 /11/ $ 2 6 . 0 0 © 2 011 I E E E MARCH/APRIL 2011 | IEEE SOFTWARE 61

A Service-Based Framework for Flexible Business ProcessesDanilo Ardagna, Luciano Baresi, Sara Comai, and Barbara Pernici, Politecnico di Milano

Marco Comuzzi, Eindhoven University of Technology

// A framework for the design and enactment of � exible and

adaptive business processes combines design-time and

runtime mechanisms to offer a single integrated solution. //

FEATURE: BUSINESS PROCESS DESIGN

Page 3: A service-based framework for flexible business processes · Danilo Ardagna, Luciano Baresi, Sara Comai, and Barbara Pernici, Politecnico di Milano Marco Comuzzi, Eindhoven University

62 IEEE SOFTWARE | WWW.COMPUTER.ORG/SOFTWARE

annotations. At runtime, the frame-work oversees the execution of the different activities’ execution and re-sponds to failures or QoS violations.

Discorso FrameworkFigure 1 shows the framework’s main components. At design-time, the CASE tool WebRatio (www.webratio.com) provides an extended BPMN editor to let designers define business processes with both human and automated ac-tivities. In the former case, the frame-work supports the development of each activity’s Web interface, through the WebRatio WebML editor. In the latter case, abstract services must be specified in terms of required operations. Com-plete processes, fragments (that is, sets of activities), and single-service invo-cations are annotated with QoS con-straints (such as response time, cost, reputation, and reliability) and statis-

tics (such as the probability of execut-ing branches and loops). The frame-work then uses these annotations at runtime to guide the selection of the actual services. You can also augment the activities with supervision rules to oversee their execution and trigger cor-rective actions if needed.

Starting from the extended BPMN specification, the CASE tool automati-cally derives a skeleton of a WebML2 hypertext extended with primitives controlling the entire process’s execu-tion, specifying containers for manual activities and hooks for automated ones. The designer then refines the manual activity containers with the specification of their content and navi-gational paths, thus defining the Web interfaces that users will see. We can automatically transform the extended hypertext into application code execut-able on top of the Java2EE, Struts, and

.NET platforms. The tool also trans-lates the fragments of the BPMN pro-cess that correspond to automated ac-tivities into BPEL (Business Process Execution Language) processes for their execution. These processes only comprise abstract services; the actual selection will occur at runtime.

An extended UDDI registry stores concrete Web services (those supported by real implementations) and associ-ates them with QoS profiles. This reg-istry also embodies a functional and a QoS matchmaker.3 Driving functional matchmaking is a similarity algorithm based on service descriptions, whereas the QoS matchmaker filters candidate Web services according to the QoS con-straints associated with the abstract placeholders. The service selector uses these features to find the services that implement the abstract services and best fit the constraints.

FOCUS: MULTIPARADIGM PROGRAMMING

FOCUS: MULTIPARADIGM PROGRAMMING

FOCUS: MULTIPARADIGM PROGRAMMING

FOCUSMULTIPARADIGM PROGRAMMING

FOCUS MULTIPARADIGM PROGRAMMING

FEATURE: BUSINESS PROCESS DESIGN

RELATED WORK IN BUSINESS PROCESS DESIGNWe’re not aware of any other proposal that integrates process model design with both human-based and automated activities, the QoS-based dynamic selection of services, and their runtime supervision.

Regarding the design of business processes and their Web interfaces, different Web engineering methodologies—such as Object Oriented Hypermedia (OO-H) and Ubiquitous Web Applica-tions (UWA)1—have extended their notations for Web application design with business process primitives, but they haven’t ad-dressed integration with QoS-based selection, optimization, and supervision. Web-enabled workflow management systems, such as IBM WebSphere and Oracle Workflow, also integrate process-es and hypertexts. These tools, however, use the Web solely as a (thin) interface to proprietary software modules.

From the QoS perspective, the need for extending traditional service-based platforms by also considering quality aspects is an emerging research challenge.2 Our approach for executing flexible applications draws from the PAWS framework,3 which provides advanced mechanisms for service retrieval, selection, and me-diation. With respect to PAWS, the Discorso approach provides a richer framework, which couples QoS-based service selection with the automated generation of user interfaces and runtime supervision.

As for monitoring and supervision, several proposals define specification languages for service-level agreements and propose an associated monitoring architecture.4,5 These approaches focus on high-level contracts, but they don’t scale down to individual processes’ constructs, which is a key element of our approach. Quite differently, Radu Jurca and colleagues propose an approach for QoS monitoring based on quality ratings from the clients.6 Our approach stresses the synchronous intertwining between execu-tion and supervision to detect anomalies as soon as they arise.

References 1. N. Koch et al., “Integration of Business Processes in Web Application

Models,” J. Web Eng., 2004, vol. 3, no. 1, pp. 22–49. 2. M.P. Papazoglou et al., “Service-Oriented Computing: A Research

Roadmap,” Int’l J. Cooperative Information Systems, vol. 17, no. 2, 2008, pp. 223–255.

3. D. Ardagna et al., “PAWS: A Framework for Executing Adaptive Web-Service Processes,” IEEE Software, vol. 24, no. 6, 2007, pp. 39–46.

4. A. Sahai et al., “Automated SLA Monitoring for Web Services,” Proc. 13th IFIP/IEEE Int’l Workshop Distributed Systems, LNCS 2506, Springer, 2002, pp. 28–41.

5. J. Skene et al., “The Monitorability of Service-Level Agreements for Application-Service Provision,” Proc. 6th Int’l Workshop Software and Performance (WOSP), ACM Press, 2007, pp. 3–14.

6. R. Jurca, W. Binder, and B. Faltings, “Reliable QoS Monitoring Based on Client Feedback,” Proc. 16th Int’l Conf. World Wide Web, ACM Press, 2007, pp. 1003–1012.

Page 4: A service-based framework for flexible business processes · Danilo Ardagna, Luciano Baresi, Sara Comai, and Barbara Pernici, Politecnico di Milano Marco Comuzzi, Eindhoven University

MARCH/APRIL 2011 | IEEE SOFTWARE 63

At runtime, WebRatio orchestrates the whole process by supporting the ex-ecution of manual activities and inter-acting with the BPEL engine to invoke retrieved Web services. The invocation of concrete Web services is obtained by implementing a late binding mecha-nism through wrappers.3 Process moni-toring uses supervision rules to assess process executions and trigger adapta-tion mechanisms automatically as soon as anomalies are detected. If a concrete Web service is faulty or violates a con-straint, the framework uses the service selector to fi nd a substitute satisfying the QoS constraints in the current state of the process.

Runtime Service Selection The framework maps abstract service specifi cations onto concrete services by exploiting designer-defi ned process an-notations. Service selection is an opti-mization problem performed when the business process is instantiated and also iterated at runtime to account for perfor-mance variability and invocation failures.

The optimization goal is to maxi-

mize the user’s average QoS and con-sider both local and global constraints. Local constraints can predicate on the properties of a single activity (or ab-stract service), while global constraints specify requirements on a set of activi-ties or at the process level.

The average QoS is evaluated statisti-cally from the probability of executing conditional branches and the distribu-tion of the number of iterations in loops. Statistics can be either estimated at de-sign time by the designer or updated at runtime by past executions’ monitoring components.4 Satisfying global con-straints is a known NP-hard problem. Researchers have proposed several so-lutions to reduce this complexity, guar-anteeing global constraints only for the critical path (that is, the path with the highest execution time) or statistically. Our framework exploits a new opti-mization approach5 based on mixed-integer linear programming models: it overcomes the previous solutions’ limi-tations, supports the selection of state-ful Web services, and is particularly ef-fective under severe QoS constraints.

Furthermore, if a feasible solution of the optimization problem doesn’t exist, the framework negotiates QoS parameters with service providers to fi nd a suboptimal solution and thus re-duce the failure rate.5 To this end, we implemented bilateral iterated tech-niques6 and also exploited a novel ap-proach based on offer confi guration strategies,7 in which service providers express QoS profi les in terms of dis-crete values (for example, response time may be 2, 4, or 6 days). Providers also specify a pricing model associated with each QoS dimension, while the designer specifi es a negotiation strategy to distribute the extra budget among the different QoS dimensions. At run-time, reoptimization occurs whenever a QoS constraint is violated, resulting in either the selection of new candidates to execute the remaining activities or the maintenance of the already selected candidates but with a different (renego-tiated) QoS profi le.

SupervisionSupervision rules comprise both moni-

UserDesigner/developer

WebRatioRuntime

(human activityexecution)

Serviceselector

Design environment Execution environment

Extended UDDI registry

Processmodel

Hypertextmodel

QoSannotations

Supervisionrules

QoSconstraints

Process monitoring

WS-BPELengine

Wrapper ConcreteWeb service

Service registrywith QoS pro�les

QoSmatchmaker

Functionalmatchmaker

WebRatioWebML editor+ ExtendedBPMN editor

FIGURE 1. The architecture of the Discorso framework. Design and runtime software modules allow the dynamic service selection and

enactment of � exible business processes with quality-of-service guarantees.

Page 5: A service-based framework for flexible business processes · Danilo Ardagna, Luciano Baresi, Sara Comai, and Barbara Pernici, Politecnico di Milano Marco Comuzzi, Eindhoven University

64 IEEE SOFTWARE | WWW.COMPUTER.ORG/SOFTWARE

toring assertions and recovery actions. Monitoring assertions take the form of pre- and postconditions and predicate on functional correctness and QoS con-straints. These expressions are specifi ed in a variant of WSCoL4 (Web Service Constraint Language), which provides language-specifi c constructs for data collection and data analysis.

During data collection, the frame-work obtains the information used to check whether the activities match the specifi ed set of constraints and to up-date execution statistics on branches and loops. The language distinguishes among three kinds of monitoring data: that belonging to the state of the run-ning process, that obtained externally from any remote component exposing a WSDL interface, and that obtained from previous process executions (since collected data can be made persistent).

Data analysis checks whether col-lected data comply with set require-ments and highlights possible varia-tions. It supports the typical Boolean, relational, and mathematical operators, predicates on sets of values through the use of universal and existential quan-

tifi ers, and also supplies other useful constructs (for example, the max, min, and average values of collected data).

Recovery actions can trigger adapta-tion mechanisms provided by the run-time infrastructure, invoke particular external applications implemented as Web services, or notify the system ad-ministrator and maybe a user about violations. For example, if a concrete Web service started behaving incor-rectly or providing late responses, the system would automatically notify the administrator and temporarily remove the service from the registry to avoid further selections by other processes.

Each rule also contains a priority, used to tailor the amount of supervi-sion actually performed at runtime. The system compares this value to the priority with which the whole pro-cess is executed to decide whether the rule must be evaluated: if the value is greater than or equal to the global pri-ority, the rule is executed; otherwise, it’s skipped. A process console lets us-ers set the global execution priority and visualizes the current state of the different running instances, along with

violated constraints and the values that caused such violations.

Case StudyWe assessed the framework’s effective-ness through a proof-of-concept busi-ness process borrowed from the silk-textile district in Northern Italy (one of the districts the Discorso project studied). The order fulfi llment process refl ects a typical scenario in which dif-ferent small- and medium-sized en-terprises—in the same geographical area—can perform the same activity with different quality levels (for exam-ple, in terms of response time, avail-ability, reputation, and price).

Figure 2 presents the BPMN pro-cess’s main activities. The converter plays a focal role. From a business per-spective, it intermediates between cor-porate customers—that is, clothing or fashion companies—and partners (subcontractors) in the district. From a technological standpoint, it orches-trates the whole process. Subcontrac-tors expose their (legacy) services as Web services and publish them onto the extended UDDI registry.

FOCUS: MULTIPARADIGM PROGRAMMING

FOCUS: MULTIPARADIGM PROGRAMMING

FOCUS: MULTIPARADIGM PROGRAMMING

FOCUSMULTIPARADIGM PROGRAMMING

FOCUS MULTIPARADIGM PROGRAMMING

FEATURE: BUSINESS PROCESS DESIGN

Converterorder

processing

Preparedispatchrequest

Prepare QCrequest and

forward to QC1

Receive�nal

package

Weavingmill order

processing

Forwardpackageto dyer

Checkwarehouse

Dyerorder

processing

QC1 orderprocessing

QC2 orderprocessing

SW–in stock

In stock

OK(p1 = 0.9)KO

(p2 = 0.1)

SW–qualitycheck

Conv

erte

rDy

erQC

1QC

2Pr

oces

sW

eavi

ng m

ill

Forwardpackage toconverter

FIGURE 2. BPMN model of the example process. The WebML editor allows specifying the process scheme and the structure of the Web

interfaces of the human activities.

Page 6: A service-based framework for flexible business processes · Danilo Ardagna, Luciano Baresi, Sara Comai, and Barbara Pernici, Politecnico di Milano Marco Comuzzi, Eindhoven University

MARCH/APRIL 2011 | IEEE SOFTWARE 65

The converter selects the best ser-vices that can perform required ac-tivities according to QoS constraints. Currently, this selection takes place through complex, lengthy interactions between company managers, leading to long-term contracts that aren’t easily modified. Our example—and the entire project—demonstrates the feasibility of more automated and flexible solutions to pave the way for optimized and re-sponsive processes and microcontracts. To this end, the framework automati-cally selects the best services at run-time, monitors the fulfillment of QoS guarantees, and undertakes corrective actions as soon as problems arise.

As soon as the converter receives an order, it checks whether the requested items are available in stock. If not, it prepares a dispatch request and sends it to a weaving mill for the first process-ing stage. After preparing the tissue, the weaving mill forwards the order to a dyer to complete the processing. Then, quality control checks and cer-tifies the final product’s quality. Qual-ity checks are considered basic (if they only require visual analyses to identify defects or holes) or advanced (if they require chemical analyses to determine fiber properties, such as, for example, color drying). If any item included in the order doesn’t pass the first quality check, the system must perform a sec-ond. We used real historical data from the district to estimate that this only happens in 10 percent of cases (in Fig-ure 2, probability p2 = 0:1).

Humans execute and Web inter-faces support the activities performed by the converter, the weaving mill, and the dyer. The top left corner of Figure 2 shows a snapshot of the webpage’s WebML model, which supports the order processing activity. It contains a page to show data about the received order and enable the selection of the items needed to satisfy the request.

Automated services perform qual-ity control activities, represented as a

BPEL specification automatically ob-tained from the BPMN process.

The BPMN editor supports the spec-ification of properties (see the bottom left corner of Figure 2), where we can associate QoS constraints, process sta-tistics, and monitoring rules with the whole process or with specific activi-ties. We added three global constraints to our application:

1. The two quality control activities must be performed by two different providers.

2. The overall process should take less than two weeks.

3. The whole process should cost less than 10,000 euros.

Furthermore, we introduced a local constraint on order processing activi-ties reputation, which must be greater than 0.9. Service reputation is defined as the fraction of service invocation providing an execution time lower than the maximum execution time adver-tised by service providers and published as threshold in the UDDI registry (see Figure 3). When a new service is added to the extended UDDI registry, its repu-tation value is always set to 1—that is, to the maximum value.

At runtime, the system monitors lo-cal and global constraints and, in case of failures or QoS violations, triggers a reoptimization of the process. We can specify an example of a rule for moni-toring constraint as follows: each time an activity terminates, we retrieve its execution time. If it’s greater than the one originally associated with the ac-tivity, and we foresee that the process’s global execution time could exceed the two weeks, we start a new selection (optimization) to identify faster ser-vices, with acceptable QoS, to complete the execution:

if ($execTime >= retrieve($expExecTime, $actId)) && call(expTime($procId)) > 14d

then notify($emailAddr) && call(serviceSelector ($procId))

The rule uses the special-purpose variable $execTime, which stores the last completed activity’s execution time, and retrieves the expected execution time ($expExecTime), which is the thresh-old stored in the registry, by using the activity’s id $actId. It also calls an exter-nal functionality, expTime, to compute the foreseen execution time for the whole process, identified through its ID $procId. If the actual time is greater than the planned one and the predicted execution time for the whole process is likely to exceed the two weeks (14 days), the system notifies the system administrator, whose email address is $emailAddr, and invokes the service selec-tor to start a new optimization pro-cess. Constraints 2 and 3 can be speci-fied likewise.

We also use supervision to update the statistics about execution. In par-ticular, the following rule is associ-ated with Figure 3’s SW-quality check switch:

store(“SW-quality check”, $condValue)

The rule stores the different values ($condValue) with which the switch exe-cutes. Because accepted values are only true and false, we can easily compute the element’s statistics by dividing the number of positive (true) outcomes by the total number of executions, which is the sum of both true and false ones.

The framework can also deal with incorrect or faulty behaviors by setting proper supervision rules. For example, we use the following rule to count the number of consecutive failures of the service identified by $srvId. If this num-ber is greater than three, then the sys-tem removes the Web service from the registry and sends an email to the sys-tem administrator. The approximation

Page 7: A service-based framework for flexible business processes · Danilo Ardagna, Luciano Baresi, Sara Comai, and Barbara Pernici, Politecnico di Milano Marco Comuzzi, Eindhoven University

66 IEEE SOFTWARE | WWW.COMPUTER.ORG/SOFTWARE

we use here is that a service is faulty if its answer doesn’t come within a given time frame (equal to VALUE in the rule). Note that this also covers the case of answers never received.

let $execTimes = retrieve($execTime, $srvId, 10)if (count($execTimes, $time > VALUE) > 3)then call(remove($srvId)) && notify($emailAddr)

Figure 3 shows an example of the runtime execution of the quality con-trol activities. The system dynamically selects concrete services according to QoS constraints and to the requested kind of quality checks. In the example, we assume that the current order needs advanced quality checks. We also con-sider that the warehouse doesn’t have the items the customer needs in stock and hence the system must place an or-

der to the weaving mill and dyer. These activities have already been completed, in 10 days and at a cost of 6,000 euros, so we’re ready for the quality control activities.

The table in Figure 3 lists the avail-able concrete services: service C can perform only basic analyses, therefore the service selector doesn’t consider it. Considering the constraints, service B is discarded due to a reputation value lower than 0.9. Also, service E doesn’t lead to admissible solutions, since both E + A and E + D quality checks require fi ve days. The service selector can then only select services D and A, with an expected total cost of 9,000 euros and execution time equal to 14 days (com-puted by adding the costs and execu-tion time of the selected services to those of the previous phases), thus sat-isfying the global constraints. Now, we assume that service D takes three days instead of two to complete: a su-pervision rule detects the delay on its

execution time and calls the runtime optimization again; in this case, a ne-gotiation is triggered, and the second quality check is performed by service A in one day but at a cost of 3,000 euros. The initial 1,000-euro extra budget is exploited in the negotiation process to reduce the execution time of the second quality control and to meet the 14-day global constraint.

W ithin the Discorso proj-ect, we’ve developed an advanced framework for

the design and enactment of fl exible and dynamic business processes. From a research standpoint, we’ve planned different enhancements. We plan to ex-tend our models to incorporate excep-tion handling, and to integrate it with monitoring capabilities. We’re also planning to extend service selection by reducing the optimization overhead to facilitate the management of multiple

FOCUS: MULTIPARADIGM PROGRAMMING

FOCUS: MULTIPARADIGM PROGRAMMING

FOCUS: MULTIPARADIGM PROGRAMMING

FOCUSMULTIPARADIGM PROGRAMMING

FOCUS MULTIPARADIGM PROGRAMMING

FEATURE: BUSINESS PROCESS DESIGN

FIGURE 3. Execution of quality control activities. The execution time violation of service D triggers the runtime reoptimization of the process.

After the negotiation, service A will perform its work within 1 day.

AQC2 OrderprocessingAQC2 Order

processing AQC1 Orderprocessing

Timeremaining:

1 day

Budgetremaining:

3,000 EU

Elapsed time: 14 daysCurrent cost: 10,000 EU

Elapsed time: 13 daysCurrent cost: 7,000 EU

Elapsed time: 10 daysCurrent cost: 6,000 EU

Executiontime: 3 days

D

Executiontime: 1 day

Maximumexecution time:1 dayReputation: 0.96Cost: 3,000 EU

Maximumexecution time:2 daysReputation: 0.95Cost: 1,000 EU

Maximumexecution time: 2 daysReputation: 0.96Cost: 2,000 EU

Reoptimization and negotiationFirst runtime optimization

Concrete service selectionConcrete service selectionConcrete service selection Abstractspeci�cation

Abstract speci�cationAbstract speci�cation

Execution end

Timeremaining:

4 days

Budgetremaining:

4,000 EU

Global constraintviolation re-

optimization istriggered. Extrabudget is usedto reduce A’s

execution time.

QC1 Orderprocessing DQC1 Order

processing DQC1 Orderprocessing Execution

time: 3 days

Concrete service doesnot ful�ll constraint

Abstract service to be executed

Abstract service already executed

Concreteservice

ABCDE

Cost

2,000 EU500 EU200 EU

1,000 EU800 EU

Class

AdvancedAdvanced

BasicAdvancedAdvanced

Maximumexecution time

2 days5 days3 days2 days3 days

Reputation

0.960.950.950.950.92

Page 8: A service-based framework for flexible business processes · Danilo Ardagna, Luciano Baresi, Sara Comai, and Barbara Pernici, Politecnico di Milano Marco Comuzzi, Eindhoven University

MARCH/APRIL 2011 | IEEE SOFTWARE 67

instances of the same business process. As for monitoring, we would like to in-vestigate constraints on the mutual cor-rectness of different processes, into a single and coherent framework.

AcknowledgmentsThe Italian FAR Project Discorso (Distrib-uted Information Systems for Coordinated Service Oriented Interoperability) partially supported the work presented here.

References 1. M.P. Papazoglou et al., “Service-Oriented

Computing: A Research Roadmap,” Int’l J. Cooperative Information Systems, vol. 17, no. 2, 2008, pp. 223–255.

2. S. Ceri et al., Designing Data-Intensive Web Applications, Morgan Kaufmann, 2002.

3. D. Ardagna et al., “PAWS: A Framework for Executing Adaptive Web-Service Processes,” IEEE Software, vol. 24, no. 6, 2007, pp. 39–46.

4. L. Baresi and S. Guinea, “Towards Dynamic Monitoring of WS-BPEL Processes,” Proc. 3rd Int’l Conf. Service-Oriented Computing (ICSOC 2005), LNCS 3826, Springer, 2005, pp. 269–282.

5. D. Ardagna and B. Pernici, “Adaptive Service Composition in Flexible Processes,” IEEE Trans. Software Eng., vol. 33, no. 6, 2007, pp. 369–384.

6. P. Faratin, C. Sierra, and N.R. Jennings, “Ne-gotiation Decision Functions for Autonomous Agents,” Int’l J. Robotics and Autono-mous Systems, vol. 23, nos. 3–4, 1998, pp. 159–182.

7. M. Comuzzi and B. Pernici, “A Framework for QoS-based Web Service Contracting,” ACM Trans. Web, vol. 3, no. 3, 2009, pp. 1–52.

AB

OU

T T

HE

AU

TH

OR

S

DANILO ARDAGNA is an assistant professor of software engineering in the Department of Electronics and Information at the Politecnico di Milano. His research interests include Web services composition, auto-nomic computing, and computer system costs minimization. Ardagna has a PhD in computer science from the Politecnico di Milano. Contact him at [email protected].

LUCIANO BARESI is an associate professor in the Department of Electronics and Information at the Politecnico di Milano. His research interests include dynamic software systems, service-oriented ap-plications, and software architectures. Baresi has a PhD in computer science from Politecnico di Milano. He’s an editorial board member of Service Oriented Computing and Applications. Contact him at [email protected].

SARA COMAI is an associate professor in the Department of Electron-ics and Information at the Politecnico di Milano. Her research interests include graphical query languages and notations and the specifi ca-tion, design, and automatic generation of complex Web applications. Comai has a PhD in computer science from the Politecnico di Milano. She coauthored Designing Data-Intensive Web Applications (Morgan Kaufmann, 2002). Contact her at [email protected].

MARCO COMUZZI is an assistant professor in the School of Industrial Engineering at the Eindhoven University of Technology. His research interests include quality of service in service-oriented architectures and contract monitoring and auditing in electronic business networks. Comuzzi has a PhD in computer science from the Politecnico di Milano. Contact him at [email protected].

BARBARA PERNICI is a full professor of information systems in the Department of Electronics and Information at the Politecnico di Milano. Her research interests include workfl ow information systems design, cooperative information systems, adaptive information systems, service engineering and Web services, data quality, and computer-based design support tools. Pernici has an MS in computer science from Stan-ford University. She served as elected chair of both TC8 Information Systems and IFIP WG 8.1. Contact her at [email protected].

Silver BulletSecurity Podcast

Sponsored by

www.computer.org/security/podcasts*Also available at iTunes

In-depth interviews with security gurus Hosted by Gary McGraw.


Recommended