1 bringing web principles to services – through a request oriented architecture muhammed j. al...

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

Post on 21-Dec-2015

217 views

Category:

Documents


0 download

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 UniversitySupported 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 ServiceAccess 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?

Coupling Problem

Discover the required service

Know how to use

Communicate: keep the communication until the service responds

5

Best: invoke services by only specifying your needs

The service recognizes constraints

And services the request

8

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

WWW

Requester

Web ServiceWeb Service

Web-Principled Services

Read service requests

Return responses

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

DomainOntologies

Request-Ontology Matching

User Free-Form Request

Publish Requests

OBWSs

Ontology Feeds

Subscriptions

OBWSs Propose Services

Requestor

Select Best Proposal

Establish Direct Link

Reply to Request

Request-Oriented ArchitectureBroker

11

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

Benefits of Request-Oriented Architecture

12

Example: Applying OBWSs principles to Traditional Web Services

13

From Traditional Web Service to OBWS

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

• Requires One-time Manual Mapping of Domain Ontology to Internal Web Service Representation

14

Domain Ontology: Object-Sets (Extensional Concepts) Associated with Data Frames

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

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

NumDays internal representation: integer default value: 1 …Longitude

getLongitude(x1:State, x2:City) returns (Longitude)

15

Ontology-Based Constraint Recognition with Data Frames

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

What’s the weather forecast for Springfield, Illinois, between the 9th and 13th?

Simple Object Set Mapping

16

Ontology-Based Constraint Recognition with Data Frames

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

What’s the weather forecast for Springfield, Illinois, between the 9th and 13th?

Simple Object Set Mapping

17

Ontology-Based Constraint Recognition w/ DFs

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

StartDate ... NrDaysBetween(x1:StartDate, x2:EndDate) returns (NumDays) context keywords/phrases: between the \s+{x1}\s+and\s+{x2} | ...

What’s the weather forecast for Springfield, Illinois, between the 9th and 13th?

Complex range mapping

18

Ontology-Based Constraint Recognition w/ DFs

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

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?

Use default values when possible

19

Ontology-Based Constraint Recognition w/ DFs

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

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?

20

City

StatePlace

Zip Code Latitude

Longitude

Report

Minimum Temperature

Maximum TemperaturePrecipitation

Weather Report

Start Date numDay

Formathas

is foris onis for

is for ->

produces

has has

has

has

has

has

has

City

StatePlace

Zip Code Latitude

Longitude

Report

Minimum Temperature

Maximum TemperaturePrecipitation

Weather Report

Start Date numDay

Formathas

is foris onis for

is for ->

produces

has has

has

has

has

has

has

Result of Ontology-Based Constraint Recognition w/ DFs

What’s the weather forecast for Springfield, Illinois, between the 9th and 13th?

Knowns

Unknowns

Converted

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 = ?

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

22

Service Selection

WS/OBWS 1

WS/OBWS 2

OBWS 1

OBWS x

… Broker(Profile-based

Filtering)

Complete/Free/XML/(table 4,2), …Partial/Free/Text/List…

Complete/Subscription/XML/API…

Complete/Advertisement/XML/Table…

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

Post

Subscribe toNotify

Request

Browser

Filtered

Complete/Free/XML/(table 4,2), …

Complete/Ad-based/XML/Table

The following web services can answer your query. Please select one:

Select CancelRetry

Select

23

Query Results

92° 68° 1%

98° 56° 0%

97° 60° 0%

89° 53° 10%

101 69 0%

MaximumTemp ChanceOfPrecipMinimumTemp

What’s the weather forecast for Springfield, Illinois, between the 9th and 13th?

24

Free-form Ontology-Based Web Service Demo

www.deg.byu.edu

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)

What’s the weather forecast for Springfield, Illinois, between the 21st and 24th?

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)

The heart of the problem:constraint recognition Predicate calculus

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

DomainOntologies Identify constrains

User Free-Form Request

Publish Requests

OBWSs

Ontology Feeds

Subscriptions

OBWSs propose services

Requestor

Select best proposal

Establish direct Link

Reply to request

Results in D

ecoupling

33

Publish Request to Ontology Feed

Convert RCQ to

OntologyQuery

Convert OntologyQuery toDB query

Free-form Request

Publish query:Known variable values

Unknown variable values

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