24
Enabling Personalized Composition and Adaptive Provisioning of Web Services Quan Z. Sheng (UNSW) Boualem Benatallah (UNSW) Zakaria Maamar (Zayed U.) Marlon Dumas (QUT) Anne H.H. Ngu (TSU) School of Computer Science and Engineering The University of New South Wales (UNSW)

Enabling Personalized Composition and Adaptive Provisioning of Web Services

  • Upload
    enrico

  • View
    20

  • Download
    0

Embed Size (px)

DESCRIPTION

Enabling Personalized Composition and Adaptive Provisioning of Web Services. Quan Z. Sheng ( UNSW ) Boualem Benatallah ( UNSW ) Zakaria Maamar ( Zayed U. ) Marlon Dumas ( QUT ) Anne H.H. Ngu ( TSU ). School of Computer Science and Engineering The University of New South Wales (UNSW). - PowerPoint PPT Presentation

Citation preview

Page 1: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

Enabling Personalized Composition and Adaptive Provisioning of

Web Services

Quan Z. Sheng (UNSW) Boualem Benatallah (UNSW) Zakaria Maamar (Zayed U.)

Marlon Dumas (QUT) Anne H.H. Ngu (TSU)

School of Computer Science and EngineeringThe University of New South Wales (UNSW)

Page 2: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

Agenda

• Web Services Provisioning: Challenges

• Personal Composite Services

• Composite Service Orchestration

• PCAP Prototype

• Related Work and Future Directions

CAiSE*042Q. Z. Sheng et. al.

Page 3: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

Web Services

• Web services: self-describing, loosely coupled, Internet based software components (WSDL, UDDI, SOAP etc.)

• Composite Web services: fulfil complex personal/business needs

CAiSE*043

travel-solutions.com

flight

car rental attraction search

accommodation

cathay-pacific.com

qantas.com

air-china.com

air-france.com

avis.com

svcar.comcar4u.com

google.com

sina.com

yahoo.com

Web service

hilton.com

backpacker.com

hostel.com

Q. Z. Sheng et. al.

Page 4: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

Provisioning of Web Services: Challenges

CAiSE*044Q. Z. Sheng et. al.

• Seamless Provisioning of Web services for mobile users faces significant technical challenges. – Wireless network:

• Frequent, unexpected disconnections

• High communication cost

• High latency due to unstable and low bandwidth

– Mobile users:

• Limited resources, wide heterogeneity of mobile devices

• Personalized, integrated access of Web services

Page 5: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

Provisioning of Web Services: Challenges

Web services specification of personal composite services

orchestration of composite services

handling of exceptions (e.g., service not responding, disconnection), for adaptive and robust services execution.

• A couple of questions need to be answered for the seamless provisioning of composite Web services for mobile users.

CAiSE*045Q. Z. Sheng et. al.

Page 6: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

Agenda

• Web Services Provisioning: Challenges

• Personal Composite Services

• Composite Service Orchestration

• PCAP Prototype

• Related Work and Future Directions

Page 7: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

Personal Composite Services

• Users specify their needs by reusing and adjusting existing process templates, which are reusable business process skeletons for particular goals (e.g., travel planning, class assistance).

• Users locate process templates and annotate them with personal preferences (e.g., execution time and place), hereby defining personal composite services.

CAiSE*046

Process template

Configuration Personal composite service

Do not have to specify services from scratch

Page 8: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

Personal Composite Services (cont.)

• Process templates are specified in statecharts.• An example: class assistant (managing class activities via

mobile devices, enhance students participation)

QVposted

answered

AR

QP

MQQB

not posted

Question

classOver

CB LFnot answered

AR: attendance reminderQB: question browseQV: question vote

QP: question postMQ: more questionsCB: consultation booking

LF: lecture feedback

classAssistant process template

CAiSE*047

feedback service

Tasks:

Page 9: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

Personal Composite Services (cont.)

• Configuration of process template– Temporal and spatial constraints

t : TMP(op, tm), op is a comparison operation (e.g., >, =, between). Task is triggered if ct op tm is true. If t is empty, the task can be executed at any time.

s : SPL(l). Task is triggered when cl = l is true. If s is empty, the task can be executed at any place.

• Do the right business at the right time and at the right place.

– Data supply/delivery preferences• Supply values to input parameters• Deliver values of output parameters

CAiSE*048Q. Z. Sheng et. al.

Page 10: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

Personal Composite Services (cont.)

• Configuration Example

Task t s

AR TMP(between, [8:30, Monday, 8:40 Monday])

QB TMP(between, [9:00, Monday, 11:00 Monday]) SPL(Quad01A)

QV TMP(between, [9:00, Monday, 11:00 Monday]) SPL(Quad01A)

QP TMP(between, [9:00, Monday, 11:00 Monday]) SPL(Quad01A)

MQ TMP(between, [9:00, Monday, 11:00 Monday]) SPL(Quad01A)

CB TMP(>=, 11:10 Monday)

LF TMP(>=, 11:10 Monday)

Configuration of execution constraints of classAssistant

CAiSE*049

lecture time lecture room

Q. Z. Sheng et. al.

Page 11: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

Personal Composite Services (cont.)

• Configuration Example

Task Input parameters & depen. Output parameters & depen.

AR string subjectID:=document(profile)/subject,

string studentID:=document(profile)/studentid,

string lectureTime {USER},

string lecturePlace{USER},

string subjectID {QB,QV,QP,CB,LF}

QP string subjectID:=document(RCV(QP))/subjectID

string question:=USER

XMLDoc postDetails{USER}

Configuration of data dependencies of classAssistant

CAiSE*0410

User profile

Q. Z. Sheng et. al.

Page 12: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

Agenda

• Web Services Provisioning: Challenges

• Personal Composite Services

• Composite Service Orchestration

• PCAP Prototype

• Related Work and Future Directions

Page 13: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

Composite Service Orchestration

• The execution of personal composite services should be:– Distributed (no central scheduler)– Pro-active (adaptive to runtime exceptions)– Asynchronous & opportunistic

• Tuple space-based orchestration framework:– Pull-based asynchronous interactions: completely decouples

the service requester and services in both space and time– Knowledge about the coordination is kept in the form of

control tuples.

CAiSE*0411Tuple space

result

request

Web service

Page 14: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

• Control tuple: – A control tuple is a rule of the form Event-Condition-

Action (E[C]/A).• E is a conjunction of execution events, e.g., e1e2

– disconnected(d), unpresentable(r, d), entered(l)

• C is a conjunction of conditions

• A is a set of execution actions. action1;action2;action3…..

– notify(s), sendResult(o, re), execute(s)

• Example– completed(s1)[tmp(>=, 9:10 Monday)]/execute(s2)

CAiSE*0412

Composite Service Orchestration

Q. Z. Sheng et. al.

Page 15: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

• We introduce three types control tuples:– precondition and postprocessing tuples – context awareness tuples, and – exception handling tuples.

CAiSE*0413

Composite Service Orchestration

• Precondition and postprocessing tuples answer the following questions: – What are the preconditions for executing a service?– What entities (e.g., other services) should be notified,

what actions should be taken, after the complete of the execution of a service?

Q. Z. Sheng et. al.

Page 16: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

• Example of precondition (PC) and postprocessing (PP) tuples

QVposted

answered

AR

QP

MQQB

not posted

hasQuestion

classOver

CB LFnot answered

PC(CB): {ready(i(CB)) completed(MQ)[TMP(>=, 11:10 Monday)]/execute(CB)}i(CB) is the set of input parameters of CB

CAiSE*0414

Composite Service Orchestration

PP(QP): {completed(QP)[true]/notify(MQ); sendResult(postDetails, Andrew)}

Q. Z. Sheng et. al.

Page 17: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

• Context awareness tuples.– Two main context information: current time, current

location

• Exception handling tuples: – An exception handling tuple acts as an instruction to

execute actions(s) if specific exception occurs and particular condition holds.

– Some examples:• arrived(a) unpresentable(r, d)[true]/transform(r, TS, d).

– a is user agent, d is mobile device and r is the service result. TS is a transformation service.

CAiSE*0415

Composite Service Orchestration

Q. Z. Sheng et. al.

Page 18: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

• Control tuples generation– The generation of control tuples of personal

composite services occurs at various stages.• at design time.• after the personalization. • at run time

– The generation of pre/post is complex and challenging because the information encoded in the statecharts (e.g., control flow and data dependencies) of personal composite services needs to be extracted and analysed.

Detailed descriptions and algorithms of the generation can be found in the paper.

CAiSE*0416

Composite Service Orchestration

Page 19: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

Agenda

• Web Services Provisioning: Challenges

• Personal Composite Services

• Composite Service Orchestration

• PCAP Prototype

• Related Work and Future Directions

Page 20: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

PCAP Prototype

Services

Communities

is member of

C1

S1

Meta data Registry

C2

S2 S3

C3

inject tuples to

Legend wireless connection

tuple spaceEvent manager

Event Source Monitor

Execution controller

Internet

Process customizer

Service Execution Engine

Template/service disc. engine

Process template builder

User agent Process manager

Page 21: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

PCAP Prototype

configuration

CAiSE*0418

Control tuples deployment

Q. Z. Sheng et. al.

Page 22: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

Agenda

• Web Services Provisioning: Challenges

• Personal Composite Services

• Composite Service Orchestration

• PCAP Prototype

• Related Work and Future Directions

Page 23: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

Related Work

• Process-oriented services: PerCollab (IBM, IEEE Computer 37:4, 2004), personal workflows (National S.Y.S Uni., MDM*03)

• Tuple space-based solutions: TSpace Service Suite (IBM, WWW’03)

• Others like Colomba (Uni. of Bologna, IEEE Internet Computing, 7:2, 2003)

CAiSE*0419

Few work is being done on Web services composition for the benefit of mobile users

Page 24: Enabling Personalized Composition and Adaptive Provisioning of  Web Services

Future Directions

• Intelligent support of seamless Web services access among multiple computing devices.

• Adding more flexibility: runtime modifications to the schema of a personal composite service (e.g., add/remove a task).

• Service oriented architecture (SOA), making full use of the benefits of Web service technologies.

CAiSE*0420Q. Z. Sheng et. al.