77c4c172fce23eafe77276da4f44a1b3.ppt
- Количество слайдов: 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)
Agenda • • • Web Services Provisioning: Challenges Personal Composite Services Composite Service Orchestration PCAP Prototype Related Work and Future Directions Q. Z. Sheng et. al. 2 CAi. SE*04
Web Services • Web services: self-describing, loosely coupled, Internet based software components (WSDL, UDDI, SOAP etc. ) • Composite Web services: fulfil complex personal/business needs car rental attraction search avis. com yahoo. com flight cathay-pacific. com travel-solutions. com google. com car 4 u. com svcar. com sina. com qantas. com air-china. com air-france. com accommodation hilton. com hostel. com backpacker. com Web service Q. Z. Sheng et. al. 3 CAi. SE*04
Provisioning of Web Services: Challenges • 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 Q. Z. Sheng et. al. 4 CAi. SE*04
Provisioning of Web Services: Challenges • A couple of questions need to be answered for the seamless provisioning of composite Web services for mobile users. 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. Q. Z. Sheng et. al. 5 CAi. SE*04
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. Process template Configuration Personal composite service Do not have to specify services from scratch 6 CAi. SE*04
Personal Composite Services (cont. ) • Process templates are specified in statecharts. • An example: class assistant (managing class activities via mobile devices, enhance students participation) Question answered posted AR QV QB class. Over MQ not posted QP CB not answered feedback service class. Assistant process template Tasks: AR: attendance reminder QB: question browse QV: question vote LF QP: question post LF: lecture feedback MQ: more questions CB: consultation booking 7 CAi. SE*04
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 Q. Z. Sheng et. al. 8 CAi. SE*04
Personal Composite Services (cont. ) • Configuration Example t Task s AR TMP(between, [8: 30, Monday, 8: 40 Monday]) QB TMP(between, [9: 00, Monday, 11: 00 Monday]) SPL(Quad 01 A) QV TMP(between, [9: 00, Monday, 11: 00 Monday]) SPL(Quad 01 A) QP TMP(between, [9: 00, Monday, 11: 00 Monday]) SPL(Quad 01 A) MQ TMP(between, [9: 00, Monday, 11: 00 Monday]) SPL(Quad 01 A) CB TMP(>=, 11: 10 Monday) LF TMP(>=, 11: 10 Monday) lecture time lecture room Configuration of execution constraints of class. Assistant Q. Z. Sheng et. al. 9 CAi. SE*04
Personal Composite Services (cont. ) • Configuration Example Task Input parameters & depen. Output parameters & depen. AR string subject. ID: =document(profile)/subject, string lecture. Time {USER}, string lecture. Place {USER}, student. ID: =document(profile)/studentid, string subject. ID {QB, QV, QP, CB, LF} QP string subject. ID: =document(RCV(QP))/subject. ID string question: =USER XMLDoc post. Details {USER} User profile Configuration of data dependencies of class. Assistant Q. Z. Sheng et. al. 10 CAi. SE*04
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. Web service result Tuple space request 11 CAi. SE*04
Composite Service Orchestration • 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. , e 1 e 2 – disconnected(d), unpresentable(r, d), entered(l) • C is a conjunction of conditions • A is a set of execution actions. action 1; action 2; action 3…. . – notify(s), send. Result(o, re), execute(s) • Example – completed(s 1)[tmp(>=, 9: 10 Monday)]/execute(s 2) Q. Z. Sheng et. al. 12 CAi. SE*04
Composite Service Orchestration • We introduce three types control tuples: – precondition and postprocessing tuples – context awareness tuples, and – exception handling tuples. • 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. 13 CAi. SE*04
Composite Service Orchestration • Example of precondition (PC) and postprocessing (PP) tuples has. Question answered posted QV class. Over AR QB MQ not posted QP not answered CB LF PC(CB): {ready( i(CB)) completed(MQ)[TMP(>=, 11: 10 Monday)]/execute(CB)} i(CB) is the set of input parameters of CB PP(QP): {completed(QP)[true]/notify(MQ); send. Result(post. Details, Andrew)} Q. Z. Sheng et. al. 14 CAi. SE*04
Composite Service Orchestration • 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. Q. Z. Sheng et. al. 15 CAi. SE*04
Composite Service Orchestration • 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 analysed. Detailed descriptions and algorithms of the generation can be found in the paper. 16 CAi. SE*04
Agenda • Web Services Provisioning: Challenges • Personal Composite Services • Composite Service Orchestration • PCAP Prototype • Related Work and Future Directions
PCAP Prototype Process manager User agent Process customizer Template/service disc. engine Meta data Registry Service Execution Engine Process template builder Internet Communities C 1 C 2 C 3 inject tuples to is member of Services Legend S 1 S 2 S 3 wireless connection Event Source Monitor Event manager tuple space Execution controller
PCAP Prototype configuration Control tuples deployment Q. Z. Sheng et. al. 18 CAi. SE*04
Agenda • Web Services Provisioning: Challenges • Personal Composite Services • Composite Service Orchestration • PCAP Prototype • Related Work and Future Directions
Related Work • Process-oriented services: Per. Collab (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) Few work is being done on Web services composition for the benefit of mobile users 19 CAi. SE*04
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. Q. Z. Sheng et. al. 20 CAi. SE*04
77c4c172fce23eafe77276da4f44a1b3.ppt