Bringing Web Principles to Services - PowerPoint PPT Presentation

About This Presentation
Title:

Bringing Web Principles to Services

Description:

Example of A Free-Form Service Request ... Free-form Ontology-Based Web Service Demo ... Other personal preferences. Broker establishes direct link ... – PowerPoint PPT presentation

Number of Views:33
Avg rating:3.0/5.0
Slides: 30
Provided by: muhammeda
Learn more at: https://www.deg.byu.edu
Category:

less

Transcript and Presenter's Notes

Title: Bringing Web Principles to Services


1
Bringing Web Principles to Services Through a
Request Oriented Architecture
  • Muhammed J. Al Muhammed
  • David W. Embley
  • Stephen W. Liddle
  • Yuri A. Tijerino
  • Brigham Young University and Kwansei Gakuin
    University

Supported by
2
Example of A Free-Form Service Request
Whats the weather forecast for Springfield,
Illinois, between the 9th and 13th?
3
Weather Forecasting Service
Access to the National Digital Forecast Database
4
Problems with Web Services
Data heterogeneity problem
What is the weather forecast for Springfield,
Illinois, between the 9th and 13th?
5
Best invoke services by only specifying your
needs
The service recognizes constraints
And services the request
6
Request Recognition
Whats the weather forecast for Springfield,
Illinois, between the 9th and 13th?
7
Request Results
Whats the weather forecast for Springfield,
Illinois, between the 9th and 13th?
MaximumTemp
ChanceOfPrecip
MinimumTemp
92 68 1
98 56 0
97 60 0
89 53 10
101 69 0
8
Web-Principled Services
  • Use the Web principles for communication
  • Consequence service-requester decoupling
  • Requesters do not need to know about the web
    services intricacies
  • But, services must be capable of resolving data
    heterogeneity

Web Service
Web Service
Read service requests Return responses
WWW
Requester
9
Ontology-Based Web Services(OBWSs)
  • Domain ontologies
  • Object sets (concepts), relationship sets
    (relations)
  • Main object (domain) set to specify the service
    type
  • Instance semantics (data frames) capture
    instances of a concept in terms of their external
    and internal representations.
  • regular expressions, operations that manipulate
    concept instances, etc.
  • Process ontology
  • Uses domain ontologies to process requests
  • Domain independence coded once and for all

10
Request-Oriented Architecture
Broker
User Free-Form Request
Domain Ontologies
Requestor
Request-Ontology Matching
Ontology Feeds
Publish Requests
Subscriptions
OBWSs
OBWSs Propose Services
Select Best Proposal
Establish Direct Link
Reply to Request
11
Benefits of Request-Oriented Architecture
  • Requesters unaware of OBWSs
  • Requesters do not have to discover OBWSs the
    broker does.
  • The communication links only created when an OBWS
    returns a response
  • Result OBWS-Requester decoupling

12
Example Applying OBWSs principles to Traditional
Web Services
13
From Traditional Web Service to OBWS
  • Requires One-time Manual Mapping of Domain
    Ontology to
  • Internal Web Service Representation

14
Domain Ontology Object-Sets (Extensional
Concepts) Associated with Data Frames
NumDays internal representation integer
default value 1
Longitude getLongitude(x1State, x2City)
returns (Longitude)
StartDate internal representation date --
format yyyy-mm-dd default value (today)
text representation monthName\s(0?1-9
12\d301)(\s\,)?\s\d4
(the\s)?(0?1-9
12\d301)\s(th...)...
toInternalRepresentation(xstring) returns
(StartDate) Tomorrow() returns (StartDate)
context keywords/phrases tomorrownext\sday
... NrDaysBetween(x1StartDate, x2EndDate)
returns (NumDays) context
keywords/phrases between the
\sx1\sand\sx2 ...
15
Ontology-Based Constraint Recognition with Data
Frames
Simple Object Set Mapping
?
Whats the weather forecast for Springfield,
Illinois, between the 9th and 13th?
16
Ontology-Based Constraint Recognition with Data
Frames
Simple Object Set Mapping
?
?
?
?
?
?
Whats the weather forecast for Springfield,
Illinois, between the 9th and 13th?
17
Ontology-Based Constraint Recognition w/ DFs
StartDate ... NrDaysBetween(x1StartDate,
x2EndDate) returns (NumDays)
context keywords/phrases between
the \sx1\sand\sx2 ...
Complex range mapping
?
?
?
?
?
?
?
?
?
Whats the weather forecast for Springfield,
Illinois, between the 9th and 13th?
18
Ontology-Based Constraint Recognition w/ DFs
StartDate ... NrDaysBetween(x1StartDate,
x2EndDate) returns (NumDays)
context keywords/phrases between
the \sx1\sand\sx2 ...
Use default values when possible
?
?
?
?
?
Format Default value 24 Hourly
?
?
?
?
?
Whats the weather forecast for Springfield,
Illinois, between the 9th and 13th?
19
Ontology-Based Constraint Recognition w/ DFs
StartDate ... NrDaysBetween(x1StartDate,
x2EndDate) returns (NumDays)
context keywords/phrases between
the \sx1\sand\sx2 ...
?
?
?
?
?
Format Default value 24 Hourly
?
?
?
?
?
?
?
?
?
Whats the weather forecast for Springfield,
Illinois, between the 9th and 13th?
20
Result of Ontology-Based Constraint Recognition
w/ DFs
Converted
Knowns
Unknowns
Whats the weather forecast for Springfield,
Illinois, between the 9th and 13th?
21
Result of Ontology-Based Constraint Recognition
w/ DFs
  • Given
  • Latitude 38.99,
  • Longitude -77.99
  • StartDate 2007-7-9,
  • NumDays 5
  • Format 24h
  • Report
  • Precipitation ?,
  • MinTemp ?,
  • MaxTemp ?
  • lt?xml version 1.0 ?gt
  • ltobws-querygt
  • ltreportgt
  • ltligt?probability-of-precipitationlt/ligt
  • ltligt?minimum-temperaturelt/ligt
  • ltligt?maximum-temperaturelt/ligt
  • lt/reportgt
  • ltconstraintsgt
  • ltlatitutegt38.99lt/latitudegt
  • ltlongitudegt-77.99lt/longitudegt
  • ltstartDategt2007-7-9lt/startDategt
  • ltnumDaysgt5lt/numDaysgt
  • ltformatgt24-hourlylt/formatgt
  • lt/constraintsgt
  • lt/obws-querygt

22
Service Selection
Request
  • lt?xml version 1.0 ?gt
  • ltobws-querygt
  • ltreportgt
  • ltligt?probability-of-precipitationlt/ligt
  • ltligt?minimum-temperaturelt/ligt
  • ltligt?maximum-temperaturelt/ligt
  • lt/reportgt
  • ltconstraintsgt
  • ltlatitutegt38.99lt/latitudegt
  • ltlongitudegt-77.99lt/longitudegt
  • ltstartDategt2007-7-9lt/startDategt
  • ltnumDaysgt5lt/numDaysgt
  • ltformatgt24-hourlylt/formatgt
  • lt/constraintsgt
  • lt/obws-querygt

Subscribe to
Notify
WS/OBWS 1
Complete/Free/XML/(table 4,2),
WS/OBWS 2
Post
Browser
Partial/Free/Text/List
Broker (Profile- based Filtering)
The following web services can answer your query.
Please select one

Filtered
OBWS 1
Complete/Subscription/XML/API
Complete/Free/XML/(table 4,2),
Complete/Ad-based/XML/Table

Complete/Advertisement/XML/Table
Select
OBWS x
Select
Cancel
Retry
23
Query Results
Whats the weather forecast for Springfield,
Illinois, between the 9th and 13th?
MaximumTemp
ChanceOfPrecip
MinimumTemp
92 68 1
98 56 0
97 60 0
89 53 10
101 69 0
24
Free-form Ontology-Based Web Service Demo
Demo
www.deg.byu.edu
25
Costs
  • Manual ontology construction
  • Mitigating observations
  • Not impossibly hard to build by hand
  • Data-frame library
  • Form-based construction
  • Table-based semi-automatic construction

26
Conclusions
  • Ontology-Base Web Services
  • Resolve data heterogeneity
  • Request-Oriented Architecture
  • Requester-service decoupling
  • Web-Principled Traditional Web Service
  • Build ontology to describe the service
  • Mapping between the ontology and the I\O of the
    service

www.deg.byu.edu
27
Questions
  • ?

28
Identify Constraints (Results in Heterogeneity
Resolution)
Whats the weather forecast for Springfield,
Illinois, between the 21st and 24th?
The heart of the problem constraint recognition
Predicate calculus
  • WeatherReport(x0) is for Latitude(getLatitude(Ill
    inois, Springfield))
  • WeatherReport(x0) is for Longitude(getLongitude(
    Illinois, Springfield))
  • WeatherReport(x0) starts on StartDate(NextDate(2
    1st))
  • WeatherReport(x0) is for NumDays(NrDaysBetween(Ne
    xtDate(21st), NextDate(24th)))
  • WeatherReport(x0) has Format(24 Hourly)
  • WeatherReport(x0) produces ReportPeriod(x1)
  • ReportPeriod(x1) has MaximumTemperature(x2)
  • ReportPeriod(x1) has MinimumTemperature(x3)
  • ReportPeriod(x1) has PercentChanceOfPrecipitation
    (x4)

29
Generate Relational Calculus Query
Whats the weather forecast for Springfield,
Illinois between the 21st and 24th?
  • lt x2, x3, x4 gt
  • WeatherReport(x0) is for Latitude(getLatitude(
    Illinois, Springfield))
  • WeatherReport(x0) is for Longitude(getLongitude(
    Illinois, Springfield))
  • WeatherReport(x0) starts on StartDate(NextDate(2
    1st))
  • WeatherReport(x0) is for NumDays(NrDaysBetween(Ne
    xtDate(21st),
  • NextDate(24th)))
  • WeatherReport(x0) has Format(24 Hourly)
  • WeatherReport(x0) produces ReportPeriod(x1)
  • ReportPeriod(x1) has MaximumTemperature(x2)
  • ReportPeriod(x1) has MinimumTemperature(x3)
  • ReportPeriod(x1) has PercentChanceOfPrecipitation
    (x4)

This constraints Variables have Been instantiated
We need the values Of these variables So they
become part Of the request
30
Why not use a SOA like everyone else?
  • SOA has been particularly successful in
    abstracting implementation through interfaces,
    however each interface has its own intricacies
    and requires manually developed adaptors at the
    mediator level.
  • One could create ontology mapping at the WSDL
    envelop level, but this would daunting
  • As a result SOA has been particularly weak in
  • Providing a functional and universally accepted
    service registry (UDDI).
  • Going beyond the enterprise applications into
    main stream user applications (with some
    exceptions such as Amazon, Google, etc).

31
Benefits of a ROA vs a SOA for End-User Oriented
Services
  • In a ROA Instead of registering, with at the
    metadata description level using WSDL, a service
    subscribes to an ontology providing greater
    flexibility
  • E.g., still works even if the interface is
    changed
  • The ROA proposed is more suitable for end-user
    oriented web services, but can still be used to
    facilitate communication among disparate and
    heterogeneous services.
  • E.g., we use the weather forecast ontology to
    facilitate communication between geographic
    coordinates web service and weather forecasting
    service

32
Process Flow
User Free-Form Request
Requestor
Domain Ontologies
Identify constrains
Ontology Feeds
Publish Requests
Results in Decoupling
Subscriptions
OBWSs
OBWSs propose services
Select best proposal
Establish direct Link
Reply to request
33
Publish Request to Ontology Feed
Free-form Request
Convert RCQ to Ontology Query
Convert Ontology Query to DB query
Publish query Known variable values Unknown
variable values
34
Receive Service Proposals from OBWS
  • Proposal might include information such as
  • Cost of service
  • Partial services (E.g., Needs data conversion)
  • Format (E.g., file type, visual format, etc)
  • Membership
  • etc

35
Requestor selects best proposal
  • Can use various criteria
  • Cost
  • Familiarity with service
  • Other personal preferences

36
Broker establishes direct link
  • Once user accepts a service, broker hands off the
    session information to selected web service(s)
    with informatin such as
  • Whole request
  • Requestor IP address, user name, session ID, etc

37
OBWS Responds to requestor directly
  • OBWS uses user information to provide the
    response directly on the user interface
  • Requestor can bookmark WS

38
Ontology-Enabled Request Oriented Architecture
  • Basic Principles behind an ontology-enabled ROA
  • Provides heterogeneity resolution
  • User does not need to know how the intricacies of
    interface (e.g., format, data-types, etc)
  • Provides decoupling between service requesters
    and services providers
  • No need for service discovery
  • Service consumer oriented as opposed to service
    provider oriented
  • But can also support communication between
    applications
  • Scalable
  • Services can be added through a subscription to
    domain-ontology model
  • Multiple services may service a request through a
    mediator
  • Personalizable
  • Requesters can personalize their service
    preferences
  • Policy oriented
  • Policies determine how requests are matched to
    services

39
Implementation in a Ontology-Based (Web-Services)
Request Oriented Architecture
NDFD WS
Service Broker
Weather Forecast Ontology
Simple Free-Form Request Interface
OBWS B
Request
Free-Form Request Constraint Satisfaction Engine
Map
WS C
Apartment Adds Ontology
Subscription to Ontology
WS D
Geographic Location Ontology
Publish
Service- Request Publisher
WS E
WS Proposals
Services Summary
Car Adds Ontology
WS F
WS Proposals
Service- Selector and Filter
WS G
Appointment Ontology

Requestor Preferred Selects WS
Selected Service
WS H
WSlt-gtClient Connector
WS I
Direct Link
Write a Comment
User Comments (0)
About PowerShow.com