1 / 29

Bringing Web Principles to Services – Through a Request Oriented Architecture

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.

chase
Download Presentation

Bringing Web Principles to Services – Through a Request Oriented Architecture

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. 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 What’s the weather forecast for Springfield, Illinois, between the 9th and 13th?

  3. Weather Forecasting Service Access to the National Digital Forecast Database

  4. 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?

  5. Best: invoke services by only specifying your needs The service recognizes constraints And services the request

  6. 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

  7. 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

  8. 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

  9. 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

  10. Example: Applying OBWSs principles to Traditional Web Services

  11. From Traditional Web Service to OBWS • Requires One-time Manual Mapping of Domain Ontology to • Internal Web Service Representation

  12. 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} | ...

  13. Ontology-Based Constraint Recognition with Data Frames Simple Object Set Mapping  What’s the weather forecast for Springfield, Illinois, between the 9th and 13th?

  14. Ontology-Based Constraint Recognition with Data Frames Simple Object Set Mapping       What’s the weather forecast for Springfield, Illinois, between the 9th and 13th?

  15. 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?

  16. 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?

  17. 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?

  18. Result of Ontology-Based Constraint Recognition w/ DFs Converted Knowns Unknowns What’s the weather forecast for Springfield, Illinois, between the 9th and 13th?

  19. 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>

  20. 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

  21. Query Results What’s the weather forecast for Springfield, Illinois, between the 9th and 13th? MaximumTemp MinimumTemp ChanceOfPrecip

  22. Free-form Ontology-Based Web Service Demo Demo www.deg.byu.edu

  23. 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

  24. Questions ?

  25. 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)

  26. 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

  27. 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

  28. 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

  29. 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

More Related