
60f5b1670f8171062ebc0af37700a789.ppt
- Количество слайдов: 24
Context. Serv: A Platform for Rapid and Flexible Development of Context. Aware Web Services Quan Z. Sheng, Sam Pohlenz, Jian Yu, Hoi S. Wong, Anne H. H. Ngu, and Zakaria Maamar 21/05/2009 School of Computer Science The. Context. Serv at of Adelaide University ICSE 2009 1/24
Agenda • Context-Aware Web Services (CASs) – Challenges in Developing CASs • Context. Serv Platform – Architecture – Context Provisioning – CAS Modeling – Model Transformation – Example CASs 21/05/2009 Context. Serv at ICSE 2009 2/24
Context-Aware Web Services • • Context awareness: the capability of being aware of its physical environment or situation (context) and responding proactively and intelligently based on such awareness One of the most important trends in computing that holds the potential to make our daily lives more productive, convenient, and enjoyable • Web services: a major technology to implement looselycoupled business processes and perform application integration • A flourishing research and development area in the last decade • Context-aware Web service (CAS): make Web services more personalized, adaptive, and intelligent • Vision of “The Future Internet”: an Internet of services where services are ubiquitous (http: //www. future-internet. eu/) 21/05/2009 Context. Serv at ICSE 2009 3/24
Attraction Search Service: An Example CAS Subscribe personal preferences (e. g. , preferred attractions, language) Recommend attractions according to user’s location, weather, language: 1) If weather is bad (harsh weather): indoor attractions 2) If description is not in preferred lang. : translate to the preferred lang. Harsh weather is defined as: (temperature>40°C or temperature<5°C) or rainlikelihood>80% Attractions Search Service (ASS) 21/05/2009 Context. Serv at ICSE 2009 4/24
To Date, CASs Are Still Hard to Build… • Current Web service standards (e. g. , SOAP, UDDI, WSDL) are not sufficient for describing and handling context information • Context provisioning is not trivial – – Heterogeneity of context providers Quality of context Dynamic context environments (e. g. , unavailability, quality change) Context aggregation • Lack of generic approach formalizing the CAS development – Contexts management is implemented in an ad-hoc manner – Evolution of Web service platforms Developing CASs is cumbersome, error-prone, and time 21/05/2009 Context. Serv at these consuming, especially when. ICSE 2009 CASs are complex. 5/24
Context. Serv Project • Context. Serv is a research project aiming at rapid and flexible development of context-aware Web services (CASs) • Sponsored by Australian Research Council (ARC) • Context. Serv provides a platform for model-driven development of CASs • Offers design flexibility by separating the modeling of context and context-awareness from service components • Uses high-level, visual modeling language (Context. UML) • Offers a set of automated tools for generating and deploying executable implementations of CASs • Eases development and maintenance of CASs; reduces development costs 21/05/2009 Context. Serv at ICSE 2009 6/24
Model-Driven Development Platform Independent Models Model Transformation Target Executable Platforms Transformer Implementation of platform 1 Models Implementation of platform 2 Transformation knowledge Software systems are specified in platform independent models (PIMs) by adopting high-level abstractions (languages) Implementation of platform 3 PIMs are then (semi)automatically transformed into platform specific models (PSMs) using transformation tools); A PIM can be transformed into different executable platforms (i. e. , PSMs) Improves the productivity and quality; eases the system maintenance and 7/24 21/05/2009 Context. Serv at ICSE 2009 evolution; enhances the portability.
Context. UML Service Modeling Context Modeling Atomic. Context Service 1 Composite. Context Mechanism. Assignment * 1. . * Operation input output 0. . 1 Message part Part CAMechanism CAObject 1. . * Context. Binding Context * * 1. . * Context. Constraint Context. Source 1. . * * Context. Triggering * 0. . * Source. Assignment * 1. . * Context. Service * Context Community * 1. . * Action member * Context-Awareness Modeling 8/24 ML: A UML-Based Modeling Language for Model-Driven Context-Aware Web Service Development. Q. Z. Sheng and B. Benatallah 21/05/2009 Context. Serv at ICSE 2009
Context. Serv Architecture Transform to WSDL specification of service Deploy service Web service registry (UDDI) Web server CAS interface Specify service interface Publish service to registry Invoke service Bind to service implementation Search service Execution engine (e. g. , BPWS 4 J) Service Developer Specify context provisioning Specify contextaware Web service in Context. UML Configure and run service at the engine Transform service model to executable specification Context community composition Context Manager 1 21/05/2009 Context. UML model Context. UML Modeler 2 Context. Serv at ICSE 2009 Service consumer Executable specification of service (e. g. , BPEL) Ruby. MDA Transformer 3 9/24
1. Context Management Atomic. Context Composite. Context * Source. Assignment * … Context. Source * 1. . * Context. Service Context Community * member * • Context. Serv distinguishes between atomic contexts and composite contexts • Atomic contexts: low-level contexts, directly provided by context sources – e. g. , temperature, rainlikelihood • Composite contexts: high-level contexts, no direct providers, aggregate multiple atomic or composite contexts – e. g. , harsh. Weather – Improve the modeling power of context information to CAS designers • Context. Serv exploits context community to address the heterogeneous and dynamic context information • Dynamic provisioning of optimal context information (Qo. C based selection) 21/05/2009 Context. Serv at ICSE 2009 10/24
Interface 21/05/2009 Context. Serv at ICSE 2009 11/24
Specify Atomic Context Specify details of the context provider 21/05/2009 Context. Serv at ICSE 2009 12/24
Specify Composite Context Composite contexts are specified using statechart, which are then translated to SCXML, a markup language for statechart, and executed in a SCXML 13/24 21/05/2009 Context. Serv at ICSE execution engine such as Commons SCXML 2009
Specify Context Community Context providers register to a context community (next slide) Dynamic and optimal context provider selection: calculate the value We identify a set of Qo. C (Quality of Context) attributes such as precision, refresh-rate, trustworthiness etc scale the value (for positive context) The selection is based on a utility function 21/05/2009 Context. Serv at ICSE 2009 rr(provider) calculate the value scale the value (for negative context) 14/24
Context Provider Registration specify member details 21/05/2009 Context. Serv at ICSE 2009 specify supported contexts 15/24
2. Context. UML Modeler • Context. Serv relies on Context. UML, a UML-based modeling language that provides high-level, visual constructs for specifying CASs • Context. UML abstracts two context awareness mechanisms, context binding and context triggering • Context binding: automatic binding of contexts to context-aware objects Mechanism. Assignment – Mapping between a context and context -aware object (e. g. , input parameter of CAObject the service) 1. . * • Context triggering: contextual adaptation where services can be automatically executed or modified based on context information – If weather is harsh, only recommend indoor attractions 21/05/2009 Context. Serv at ICSE 2009 CAMechanism * * Context. Binding 1. . * Context. Triggering * 1. . * Context. Constraint * 1. . * Action 16/24
Context. UML diagram Context. UML abstracts The Context. UML modeler offers a visual interface for specifying CASs using Context. UML. We extended Argo. UML (argouml. tigris. org) by developing a new Context. UML diagram, which implements all the abstract syntax of Context. UML. Services represented in 17/24 21/05/2009 Context. Serv at ICSE 2009 Context. UML diagrams are exported as XMI files for later processing.
3. Transformation and Deployment • Context. Serv automatically transforms CASs specified in Context. UML to executable Web service codes in BPEL, which is realized by a transformer • The transformer was developed in Ruby programming language (Ruby. Gems 1. 0. 1, http: //rubygems. org/), thus the name of Ruby. MDA transformer • A WSDL is also automatically generated • CASs are then deployed to the JBoss Application Server, which includes a BPEL execution engine, j. BPM-BPEL 1. 1 Output Generator CAS: BPEL Input XMI Service. bpel Service. wsdl build. xml service. Impl. java bpel-definition. xml bpel-application. xml wscompile. xml webservices. xml Transformer XML 2 UML 2 CAS CAS: JBoss 21/05/2009 Context. Serv at ICSE 2009 18/24
Transformation Rules • Ruby. MDA transformer exploits the model transformation rules, which are mappings between Context. UML stereotypes and BPEL elements, for the transformation Context. UML BPEL <<conuml. service>> <process> <<conuml. operation>> <invoke> <<conuml. message>> <variable> <<conuml. atomic. Context>> <invoke> <<conuml. composite. Context>> <invoke> <<conuml. context. Binding>> <assign> <<conuml. part>> part attribute in <to> <<conuml. context. Triggering>> <switch> <invoke> 21/05/2009 Context. Serv at ICSE 2009 19/24
Transformation Rules in XML Builder For BPEL generation 21/05/2009 For WSDL generation Context. Serv at ICSE 2009 20/24
21/05/2009 Context. Serv at ICSE 2009 21/24
Generated BPEL code Generated WSDL code 21/05/2009 Context. Serv at ICSE 2009 22/24
CASs Developed from Context. Serv A movie is available which captures the whole process in developing this CAS using Context. Serv platform CAS applications are available online: http: //www. cs. adelaide. edu. au/~contextserv/ software. html 21/05/2009 Context. Serv at ICSE 2009 23/24
Thank you for your interest to Context. Serv Project • More information on Context. Serv can be found from http: //www. cs. adelaide. edu. au/~contextserv • Other related research information can be found from http: //www. cs. adelaide. edu. au/~qsheng School of Computer Science The University of Adelaide 21/05/2009 Context. Serv at ICSE 2009 24/24
60f5b1670f8171062ebc0af37700a789.ppt