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)
24
Embed
Enabling Personalized Composition and Adaptive Provisioning of Web Services Quan Z. Sheng (UNSW) Boualem Benatallah (UNSW) Zakaria Maamar (Zayed U.) Marlon.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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)
Agenda
• Web Services Provisioning: Challenges
• Personal Composite Services
• Composite Service Orchestration
• PCAP Prototype
• Related Work and Future Directions
CAiSE*042Q. Z. Sheng et. al.
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.
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
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.
Agenda
• Web Services Provisioning: Challenges
• Personal Composite Services
• Composite Service Orchestration
• PCAP Prototype
• Related Work and Future Directions
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
Personal Composite Services (cont.)
• Process templates are specified in statecharts.• An example: class assistant (managing class activities via
QP: question postMQ: more questionsCB: consultation booking
LF: lecture feedback
classAssistant process template
CAiSE*047
feedback service
Tasks:
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
Configuration of data dependencies of classAssistant
CAiSE*0410
User profile
Q. Z. Sheng et. al.
Agenda
• Web Services Provisioning: Challenges
• Personal Composite Services
• Composite Service Orchestration
• PCAP Prototype
• Related Work and Future Directions
Composite Service Orchestration
• The execution of personal composite services should be:– Distributed (no central scheduler)– Pro-active (adaptive to runtime exceptions)– Asynchronous & opportunistic
• 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.
• 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
• 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.
• 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.