1 / 19

Towards Context-Aware Adaptable Web Services

Towards Context-Aware Adaptable Web Services. Markus Keidl Universität Passau Fakultät für Mathematik und Informatik D-94030 Passau keidl@db.fmi.uni-passau.de. Alfons Kemper TU München Fakultät für Informatik D-85748 Garching alfons.kemper@in.tum.de. Outline. Motivation ServiceGlobe

gussied
Télécharger la présentation

Towards Context-Aware Adaptable Web Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Towards Context-Aware Adaptable Web Services Markus Keidl Universität Passau Fakultät für Mathematik und Informatik D-94030 Passau keidl@db.fmi.uni-passau.de Alfons Kemper TU München Fakultät für Informatik D-85748 Garching alfons.kemper@in.tum.de WWW’04 – Towards Context-Aware Adaptable Web Services

  2. Outline • Motivation • ServiceGlobe • ContextFramework • Infrastructure: Context Model and Life-Cycle • Context Processing • Context Processing Instructions • Summary WWW’04 – Towards Context-Aware Adaptable Web Services

  3. Motivation • Web services on the Internet: • Large number of clients • Heterogeneity of client capabilities and number of methods for accessing Web services • Pervasive Computing: • Increasing number of ubiquitous, connected devices • Goal: Framework that facilitates the development and deployment of Web services aware of this WWW’04 – Towards Context-Aware Adaptable Web Services

  4. The Context Framework • Context: Information about clients and their environment that is used by Web services to provide clients with a customized and personalized behavior • Examples: • Location of a client: GPS coordinates, address, time and time zone, currency, … • Device type: Hard- and software of client WWW’04 – Towards Context-Aware Adaptable Web Services

  5. AttractionsSearch HotelsSearch Context Processing: Location Context Processing: Location Motivating Scenario Client Location AttractionsSearch RoutePlanner Client Context: Location Hard- and Software of Clients • Requirements: • Isolation of Functional Duties • Transparency • Automatic Processing • Generic Solution GPS Coordinates, Address, Currency, … Context: Client HotelsSearch WWW’04 – Towards Context-Aware Adaptable Web Services

  6. Features of the Context Framework • Separation of functional duties into external components:context plugins and context services • Transparent and automatic usage of these components • Generic solution, i.e., components are usable for a variety of Web services WWW’04 – Towards Context-Aware Adaptable Web Services

  7. Web Service Platform ServiceGlobe • Research platform for mobile Web services • Web services are mobile code • Fully implemented in Java • Based on standards like XML, SOAP, UDDI, WSDL,… • Standard functionality of a service platform • Transaction system • Security system WWW’04 – Towards Context-Aware Adaptable Web Services

  8. Context Type:Location Context Type:Client Context Model Context • Context consists of several context blocks • A context block is associated with one context type • A context type defines the type of context information in a context block, e.g., location, client device • At most one context block is allowed for a context type within a context • Context is transmitted as a SOAP header block Context Block Context Block WWW’04 – Towards Context-Aware Adaptable Web Services

  9. Header Block: Context Context Block Context Block Context in a SOAP Message <env:Envelope xmlns:env="..."> <env:Header> <Context xmlns="http://sg.fmi.uni-passau.de/context"> <Client> <Hardware> <Defaults> http://example.com/PDA </Defaults> <ScreenSize>320x320</ScreenSize> <IsColorCapable>Yes</IsColorCapable> </Hardware> </Client> </Context> </env:Header> <env:Body> <!-- serialized object data --> </env:Body> </env:Envelope> SOAP Envelope SOAP Header Header Block SOAP Body WWW’04 – Towards Context-Aware Adaptable Web Services

  10. SOAP Request Context SOAP Response Context Life-Cycle Client Location Service Platform Web Service Context Client Stylesheet Context: Location Context: Client WWW’04 – Towards Context-Aware Adaptable Web Services

  11. Context Processing • Explicit Context Processing • Context is accessed explicitly using the Context API • Components: Web services and clients • Automatic Context Processing • Pre- and post-process SOAP messages automatically based on their context • Components: Context plugins and context services WWW’04 – Towards Context-Aware Adaptable Web Services

  12. Automatic Context Processing • Context operations: • Pre-process a Web service request • Post-process a Web service response • Post-process an outgoing Web service message (request to another Web service) • Pre-process an incoming Web service message (response of another Web service) • Processing of context blocks within a SOAP message in arbitrary order • Invocation of suitable components: context plugins and context services WWW’04 – Towards Context-Aware Adaptable Web Services

  13. Components for Automatic Context Processing • Context plugins and context services • Associated with one dedicated context type • Input: context block and message • Output: (possibly modified) message • Advantages: • Generic solution • Extensible solution • Restriction: • No influencing of internal control flow of Web services WWW’04 – Towards Context-Aware Adaptable Web Services

  14. Context Plugins and Context Services • Context plugins: Java objects implementing the ContextPlugin interface • Installation on local host • Access to internal data structures of service platform • Context services: Web services implementing the ContextService WSDL interface • Available anywhere on the Internet • Extendible at runtime • Only access to context and Web service messages WWW’04 – Towards Context-Aware Adaptable Web Services

  15. Context Processing Instructions • Problems: • Which components should process a context block? • On which hosts should a context block be processed? • Solution: Specification of • Instructions for context plugins and context services • Processing guidelines for every context type individually WWW’04 – Towards Context-Aware Adaptable Web Services

  16. Example of Context Processing Instructions <ContextProcessingInstructions> <ContextType ID="http://sg.fmi.uni-passau.de/context:Location"> <ContextService> <AccessPoint useType="http"> http://example.org/services/CurrencyConverter </AccessPoint> <ContextOperations>post</ContextOperations> </ContextService> <ProcessingGuideline> <ServiceHost>Next</ServiceHost> <ComponentTypes> ContextService </ComponentTypes> </ProcessingGuideline> </ContextType> </ContextProcessingInstructions> WWW’04 – Towards Context-Aware Adaptable Web Services

  17. Providing Context Processing Instructions • Within a SOAP message’s context: • Insertion of context processing instructions as self-contained context block • Within a Web service‘s UDDI metadata • Within UDDI: • Association of context services to the tModel of their context type • Context framework searches for suitable context services for a specific context type WWW’04 – Towards Context-Aware Adaptable Web Services

  18. UDDIRepository Motivating Scenario Client Location AttractionsSearch RoutePlannerWeb Service Client DrivingDirectionsContext Service CurrencyInfoWeb Service CurrencyConverterContext Service StylesheetFinderContext Plugin WWW’04 – Towards Context-Aware Adaptable Web Services

  19. Summary • Context Framework • Context Infrastructure: Model and Life-Cycle • Context Processing • Explicit Context Processing • Automatic Context Processing:Context plugins and context services • Context Processing Instructions • Allow to control the context processing WWW’04 – Towards Context-Aware Adaptable Web Services

More Related