Adaptation Description Language, Past and Present Directions. - PowerPoint PPT Presentation

About This Presentation
Title:

Adaptation Description Language, Past and Present Directions.

Description:

Adaptation Generator mechanism for specifying provider support. Tooling Info/Hints. ... adaptationGroup name='LookAndFeel'allOrNone='false' ... – PowerPoint PPT presentation

Number of Views:20
Avg rating:3.0/5.0
Slides: 16
Provided by: thomass3
Category:

less

Transcript and Presenter's Notes

Title: Adaptation Description Language, Past and Present Directions.


1
Adaptation Description Language, Past and Present
Directions.
  • Ravi Konuru, IBM

2
Web Applications, Producers, Consumers and User
Agents
Producers
Consumers (or integrators)
Clients
Legacy Web App
Application Back End Services
WSXL service
3
The Scope
Users
Consumer
Producers
Legacy Web App
WSIA Proxy
HTTP(SOAP)
WSIA Service
WSIA Runtime
Travelers Check Application
WSIA Proxy
Business Logic Web Service
HTTP(HTML)
HTTP(SOAP)
Stock Application
WSIA Service
WSIA Application
WSIA Runtime
WSIA Runtime
4
Adaptation Language Requirements
  • R1. Reasonable evolution model The methodology,
    the technical effort by a provider to make an
    existing web application into an adaptable WSIA
    service must be reasonable.
  • R2. Low Entry Point wrt Computation and
    Scalability The minimum computational and
    scalability demands that are placed on the
    provider must be reasonable.
  • R3. Allow for Consumer-Customer Confidentiality
    Consumer to adapt a providers output in a manner
    that is confidential between the consumer and the
    end-user. For example, it is possible for a
    consumer to insert additional markup into the
    output stream without provider having access to
    the inserted markup.  
  • R4. Allow for Provider support for adaptation It
    is possible for a provider to provide support and
    perform the adaptations needed by the consumer so
    as to allow a low-entry consumer or for complex
    adaptations.
  • R5. Choice of adaptation implementation models A
    single consumer can use a combination of
    available provider operations and local execution
    to achieve a desired set of adaptations.
  • R6. Adaptation Description is available
    statically for design-time use.
  • R7. Adaptation constraints can be specified by a
    provider.

5
Example of Client ? WSXL Service Interaction with
Customization and Adaptation
Aggregation Component (Consumer)
Service Component (Producer)
User
Creates customized instance
createInstance( customization properties )
I
I
P
Allocate new Customized Instance
Views WSIA Instance
getOutput
A
I
S
I
I
Generate Markup, (opt adaptation desc)
Consumer markup adaptation
S
A
Clicks Action
Action Adaptation
I
S
A
I
A
I
S
A
S
Action Handling (opt create Session)
performAction
Local implementation or redirection of action to
other Producer
A
I
S
performAction
6
Rest of the Talk
  • Part I WSXL Adaptation Language in Position
    Paper
  • Part II New work in progress.

7
Part I Adaptation Description Language
  • Part I Adaptation Description Language
  • Position paper version.

8
Adaptation Language Position paper version
  • Based on the core idea of adaptation points.
  • An adaptation point is a point of observation or
    manipulation exported by a producer to enable
    consumer adaptation.
  • Adaptation points can provide information
    regarding
  • Content (e.g the price of a certain item)
  • Look and feel (e.g font attribute for a certain
    table)
  • Behaviour (e.g a handler for a click event)
  • Related Adaptation points can be grouped under
    Adaptation groups.
  • Adaptation group is the root of an adaptation
    description.

9
Adaptation Point
  • An application-specific Adaptation Point name
  • The kind of operation (insert, replace, lookup).
    Specifies the adaptations intended use.
  • The names of pages/states, i.e., to the different
    components outputs, that it applies to.
  • An extensible locator to the items of interest
    in the output. For instance, xpath, xquery are
    used for XML documents. Note that a locator can
    point to multiple locations in document.
  • An Adaptation Point category (XML, CSS, etc).
    Specifies the category of the items of
    interest.
  • The information specific to the application of an
    adaptation of that category (XML, CSS).
  • Adaptation Generator mechanism for specifying
    provider support
  • Tooling Info/Hints.

10
Example 1. Look and Feel Adaptations
  • ltadaptationGroup name"LookAndFeel"allOrNone"fals
    e"gt
  • ltpageNameListgt selector result detail error
  • lt/pageNameListgt
  • ltcommentgtChange look and feel of FastMem pages
  • lt/commentgt
  • ltCSSAdaptation name"changeFont" use"override"gt
  • ltlocator name"fontStyleLocator typexpath
    value"//div_at_adaptationMarker'changeFont'/_at_styl
    e"/gt
  • ltpropertygt font lt/propertygt
  • ltcommentgtAdapt the size of the font used on this
    page lt/commentgt
  • lt/CSSAdaptationgt
  • lt/adaptationGroupgt

11
Example 2. Data Value Lookup and Replace
  • ltadaptation name"CustomerNumber" usereplace"gt
  • ltlocator typexpath value_at_/xhtml/body/
    table/row/customer"gt ltXMLAdaptationgt
  • ltvalidTypesgtintegerlt/validTypesgt
    lt/XMLAdaptationgt
  • lt/adaptationgt

12
Example 3. Replace a presentation element
  • ltadaptation name"ContactInfo" use"replace"gt
  • ltlocator name"ContactLocator" type"xpath"
    value"//cntctInfo"/gt
  • ltXMLAdaptationgt
  • ltvalidTypegt ShortContactInfo
    LongContactInfo lt/validTypegt
    ltschemaLocationgthttp//www.itsme.com/TypeInfo.xml
    lt/schemaLocationgt
  • lt/XMLAdaptationgt
  • lt/adaptationgt

13
Adaptation Generator
  • AdaptationGenerators are operations implemented
    by provider
  • Introduced to handle three kinds of situations
  • For providers to provide assistance in creating
    markup for the aggregator for use in adaptation.
  • To retain control over markup fragments
    inserted/modified.
  • To sidestep the limitations of the constraint
    language.
  • The operations can be provider specific.
  • A provider implements these AdaptationGenerator
    operations and includes their names suitably in
    the adaptation description.
  • Invoked by a client to perform presentation and
    data related transforms and use the resulting
    message in performing the adaptation.

14
Example 4. Consumer using Provider support.
  • Provider implements an operation named
    "addColumnToTable"
  •  ltAdaptationGroup nameaddColumnToTableAgt
  • ltadaptation nameTableAKey uselookupgt
  • lt/adaptationgt
  • ltadaptation name"addColumnAtEndOfTableA"
    use"replace"gt
  • ltlocator name"TableALocator"
    type"xpath" value"//..."/gt
  • ltAdaptationGeneratorgt
    addColumntoTable
  • lt/AdaptationGeneratorgt
  • lt/adaptationgt
  • lt/AdaptationGroupgt
  • Signature obtained from providers WSDL, two part
    input message
  • a) Portion/ID of original message sent down by
    the provider
  • b) Consumers presentation and/or content
    adaptation information

15
Part II Work in progress
  • Unify the models and mechanisms for
  • Customizations executed by the consumer
  • Customizations executed by the provider.
  • A single ADL that can be used for both.
  • Extend ADL to
  • support coordination
  • support orchestration
  • Other Specification requirements
  • Proportional to customization complexity.
  • Extensible to additional output types.
Write a Comment
User Comments (0)
About PowerShow.com