enabling personalized composition and adaptive provisioning of web services quan z. sheng (unsw)...
Post on 19-Dec-2015
217 views
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
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:
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.
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.
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.
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
• 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
• 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.
• 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
CAiSE*0414
Composite Service Orchestration
PP(QP): {completed(QP)[true]/notify(MQ); sendResult(postDetails, Andrew)}
Q. Z. Sheng et. al.
• 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.
CAiSE*0416
Composite Service Orchestration
Agenda
• Web Services Provisioning: Challenges
• Personal Composite Services
• Composite Service Orchestration
• PCAP Prototype
• Related Work and Future Directions
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
Agenda
• Web Services Provisioning: Challenges
• Personal Composite Services
• Composite Service Orchestration
• PCAP Prototype
• Related Work and Future Directions
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
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.