290 likes | 390 Views
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:. Example of A Free-Form Service Request.
E N D
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:
Example of A Free-Form Service Request What’s the weather forecast for Springfield, Illinois, between the 9th and 13th?
Weather Forecasting Service Access to the National Digital Forecast Database
Discover the required service Know how to use Communicate: keep the communication until the service responds Coupling Problem Problems with Web Services Data heterogeneity problem What is the weather forecast for Springfield, Illinois, between the 9th and 13th?
Best: invoke services by only specifying your needs The service recognizes constraints And services the request
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
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
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
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
Example: Applying OBWSs principles to Traditional Web Services
From Traditional Web Service to OBWS • Requires One-time Manual Mapping of Domain Ontology to • Internal Web Service Representation
Domain Ontology: Object-Sets (Extensional Concepts) Associated with Data Frames NumDays internal representation: integer default value: 1 … Longitude getLongitude(x1:State, x2:City) returns (Longitude) StartDate internal representation: date -- format: yyyy-mm-dd default value: (today) text representation: {monthName}\s+([0]?[1-9] | [12]\d|3[01])(\s*\,)?\s+\d{4} | (the\s+)?([0]?[1-9] | [12]\d|3[01])\s*(th|...)|... toInternalRepresentation(x:string) returns (StartDate) Tomorrow() returns (StartDate) context keywords/phrases: tomorrow|next\s*day | ... NrDaysBetween(x1:StartDate, x2:EndDate) returns (NumDays) context keywords/phrases: between the \s+{x1}\s+and\s+{x2} | ...
Ontology-Based Constraint Recognition with Data Frames Simple Object Set Mapping What’s the weather forecast for Springfield, Illinois, between the 9th and 13th?
Ontology-Based Constraint Recognition with Data Frames Simple Object Set Mapping What’s the weather forecast for Springfield, Illinois, between the 9th and 13th?
Ontology-Based Constraint Recognition w/ DFs StartDate ... NrDaysBetween(x1:StartDate, x2:EndDate) returns (NumDays) context keywords/phrases: between the \s+{x1}\s+and\s+{x2} | ... Complex range mapping What’s the weather forecast for Springfield, Illinois, between the 9th and 13th?
Ontology-Based Constraint Recognition w/ DFs StartDate ... NrDaysBetween(x1:StartDate, x2:EndDate) returns (NumDays) context keywords/phrases: between the \s+{x1}\s+and\s+{x2} | ... Use default values when possible Format … Default value: “24 Hourly” … What’s the weather forecast for Springfield, Illinois, between the 9th and 13th?
Ontology-Based Constraint Recognition w/ DFs StartDate ... NrDaysBetween(x1:StartDate, x2:EndDate) returns (NumDays) context keywords/phrases: between the \s+{x1}\s+and\s+{x2} | ... Format … Default value: “24 Hourly” … What’s the weather forecast for Springfield, Illinois, between the 9th and 13th?
Result of Ontology-Based Constraint Recognition w/ DFs Converted Knowns Unknowns What’s the weather forecast for Springfield, Illinois, between the 9th and 13th?
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 = ? <?xml version ‘1.0’ ?> <obws-query> <report> <li>?probability-of-precipitation</li> <li>?minimum-temperature</li> <li>?maximum-temperature</li> </report> <constraints> <latitute>38.99</latitude> <longitude>-77.99</longitude> <startDate>2007-7-9</startDate> <numDays>5</numDays> <format>24-hourly</format> </constraints> </obws-query>
Service Selection Request <?xml version ‘1.0’ ?> <obws-query> <report> <li>?probability-of-precipitation</li> <li>?minimum-temperature</li> <li>?maximum-temperature</li> </report> <constraints> <latitute>38.99</latitude> <longitude>-77.99</longitude> <startDate>2007-7-9</startDate> <numDays>5</numDays> <format>24-hourly</format> </constraints> </obws-query> Notify Subscribe to 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 Retry Cancel
Query Results What’s the weather forecast for Springfield, Illinois, between the 9th and 13th? MaximumTemp MinimumTemp ChanceOfPrecip
Free-form Ontology-Based Web Service Demo Demo www.deg.byu.edu
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
Identify Constraints(Results in Heterogeneity Resolution) What’s 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(“Illinois”, “Springfield”)) • WeatherReport(x0) is for Longitude(getLongitude(“Illinois”, “Springfield”)) • WeatherReport(x0) starts on StartDate(NextDate(“21st”)) • WeatherReport(x0) is for NumDays(NrDaysBetween(NextDate(“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)
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
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
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
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