Title: Bringing Web Principles to Services
1Bringing 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
2Example of A Free-Form Service Request
Whats the weather forecast for Springfield,
Illinois, between the 9th and 13th?
3Weather Forecasting Service
Access to the National Digital Forecast Database
4Problems with Web Services
Data heterogeneity problem
What is the weather forecast for Springfield,
Illinois, between the 9th and 13th?
5Best invoke services by only specifying your
needs
The service recognizes constraints
And services the request
6Request Recognition
Whats the weather forecast for Springfield,
Illinois, between the 9th and 13th?
7Request 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
8Web-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
9Ontology-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
10Request-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
11Benefits 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
12Example Applying OBWSs principles to Traditional
Web Services
13From Traditional Web Service to OBWS
- Requires One-time Manual Mapping of Domain
Ontology to - Internal Web Service Representation
14Domain 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 ...
15Ontology-Based Constraint Recognition with Data
Frames
Simple Object Set Mapping
?
Whats the weather forecast for Springfield,
Illinois, between the 9th and 13th?
16Ontology-Based Constraint Recognition with Data
Frames
Simple Object Set Mapping
?
?
?
?
?
?
Whats the weather forecast for Springfield,
Illinois, between the 9th and 13th?
17Ontology-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?
18Ontology-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?
19Ontology-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?
20Result of Ontology-Based Constraint Recognition
w/ DFs
Converted
Knowns
Unknowns
Whats the weather forecast for Springfield,
Illinois, between the 9th and 13th?
21Result 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
22Service 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
23Query 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
24Free-form Ontology-Based Web Service Demo
Demo
www.deg.byu.edu
25Costs
- Manual ontology construction
- Mitigating observations
- Not impossibly hard to build by hand
- Data-frame library
- Form-based construction
- Table-based semi-automatic construction
26Conclusions
- 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
27Questions
28Identify 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)
29Generate 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
30Why 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).
31Benefits 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
32Process 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
33Publish 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
34Receive 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
35Requestor selects best proposal
- Can use various criteria
- Cost
- Familiarity with service
- Other personal preferences
36Broker 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
37OBWS Responds to requestor directly
- OBWS uses user information to provide the
response directly on the user interface - Requestor can bookmark WS
38Ontology-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
39Implementation 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