+ All Categories
Home > Documents > Policy-Aware Matching for Service-Oriented Applications Brahim Medjahed Department of Computer and...

Policy-Aware Matching for Service-Oriented Applications Brahim Medjahed Department of Computer and...

Date post: 19-Dec-2015
Category:
View: 217 times
Download: 0 times
Share this document with a friend
Popular Tags:
40
Policy-Aware Matching for Service-Oriented Applications Brahim Medjahed Department of Computer and Information Science University of Michigan - Dearborn Wayne State University October 31 st , 2006 [email protected]
Transcript

Policy-Aware Matching for Service-Oriented Applications

Brahim MedjahedDepartment of Computer and Information Science

University of Michigan - Dearborn

Wayne State UniversityOctober 31st, 2006

[email protected]

04/18/23 Brahim Medjahed 2

Agenda

• Preliminaries: Service-Oriented Applications

• The Context: Chamaeleo Project

• Our Focus: The Matching Framework

• Related Work

• Conclusion

04/18/23 Brahim Medjahed 3

Lina Sarah

04/18/23 Brahim Medjahed 4

Service-Oriented Applications (SOAs)

• SOAs: distributed Web-based applications– Use Web services as the basic components

• Web Services: network accessible entities that offer pre-defined capabilities via the exchange of messages– May wrap a wide range of Web-accessible resources

(e.g., programs, sensors, disks, databases)– Use of standard technologies (e.g., XML, HTTP)– Loose coupling

• Application domains: business, healthcare, government, science, education, …

04/18/23 Brahim Medjahed 5

Anatomy of a Web Service

Web Service Operations

Messages

InputOutput

Parameters Data TypesXML Schemae.g., integer

04/18/23 Brahim Medjahed 6

The Web Service (Basic) Reference Model

0.0000

Computer

Web Service

Web Service

0.0000

0.0000

ServiceRegistry

ServiceConsumer

ServiceProvider

PublishFind

message

exchange

has defines

Service Description

Web Browser

04/18/23 Brahim Medjahed 7

Self-Managing SOAs

• Ad hoc or manual techniques for managing SOAs: time-consuming, error prone, not scalable– Developing SOAs– Maintaining SOAs (e.g., dealing with changes)– Optimizing SOAs– Protecting SOAs (e.g., privacy)– Etc.

• The chamaeleo project: toolbox for enabling self-managing SOAs– Little or no manual intervention for managing SOAs

04/18/23 Brahim Medjahed 8

Chamaeleo Project

ChamaeleoToolbox

Service Grid Administrator

Web Service Grid

Service Provider

Web ServiceSOA

Developer

Service-Oriented

Application (SOA)

Management Tools

Configure

Deploy

Joins

Manage

Compose

Manage

04/18/23 Brahim Medjahed 9

Chamaeleo Project (cont’d)

• Self-Configuring SOAs – Generate SOA schemas based on high-level

developers’ requirements and SOA environments

• Self-Healing SOAs– Automatically detect, diagnose, and adapt to changes

• Self-optimizing SOAs– Tune themselves to meet end-user or business needs

(e.g., improve overall utilization)

• Self-Protecting SOAs– Anticipate, detect, identify and protect against threats.

04/18/23 Brahim Medjahed 10

Chamaeleo’s Management Tools

• Configurable • Provided as Web services

– Select/configure/deploy reusable entities– Integration with existing SOA engines (e.g., BPEL

engines)– Concords with existing standardization efforts such as

OGSA (Open Grid Service Architecture)

04/18/23 Brahim Medjahed 11

Chamaeleo: Application Domains

• Automotive Applications – Distributed Automobile Engine Diagnostics

• Bio-informatics– Analysis of Protein Sequence Information

04/18/23 Brahim Medjahed 12

Our Focus: Matching Tools

Service-Oriented Application

S1

S2

S3

S4

S5

S6

S7

S7 replaces S2 iff S7 is equivalent to S2

S2 Fails

04/18/23 Brahim Medjahed 13

Matching Framework: Motivating Scenario

Homology Search

Web Service

E.g.: BLAST-PSI or FASTA Web services

E.g.: T-Coffee and BLAST Alignment Web service

DNA Sequence

Specification

QoS Criteria

(e.g. Response

Time)

Monitoring Alignment Requests

Homologous Sequences with Known Structures

Alignment Web Service

Multiple SequenceAlignment

Verification Web Service

E.g.: MyGrid’s MIR and KAVE Web Service

Biochemical Experiments

A Verified SequenceAlignment

Mutation Experiments

Modeling Web Service

E.g.: MODELLER or SWISSModelWeb Services

3D

Mo

de

l

Visualization Web Service

Curation Web Service

Visualization Device

User Expertise Level

Step 1 Step 2 Step 3Step 4

Step 5Step 6

E.g.: HGVbase and BioCyc

Web Services

E.g.: UTOPIA’s CINEMA 5 or

RASMOL

Authentication

QoS Criteria

(e.g. Response

Time)

Service Description

3D Model Specification

04/18/23 Brahim Medjahed 14

Web Service = {Policies}

• Modeling Web service capabilities and features as policies

• Broad definition of policy: any specification that enables the use of a Web service– Why, where, when, what, who

WSt matches WSs iff

PsWSs PtWSt | Pt matches Ps

04/18/23 Brahim Medjahed 15

Categorization of Web Service Policies – The Policy Ontology

Web Service

Policy

Policy Definition

Policy Definition

Service Provider

rdf:Bag

hasPolicy

rdf:type rdf:_1

rdf:_n

specifyPolicy

hasCategory

Policy Category

rdf:Alt

rdf:type

Non-Functional

Value-added

rdf:_1

rdf:_2

rdf:_3

rdf:_4

Domain

Policy SubCategory

hasSubCategory

hasSubCategory

rdf:Alt

rdf:Alt

rdf:type

rdf:type

Policy SubCategory

Privacy

Trust

Resource

rdf:_1

rdf:_3

rdf:_4

rdf:_5

rdf:_6

Agreement

rdf:_2

rdf:_7

Conversation

FunctionalSecurity

Monitoring

Operational Features

Optional Requirements

Domain-Dependent

Quality Of Service

E-government, bio-informatics, B2B E-

commerce

04/18/23 Brahim Medjahed 16

The Policy Ontology

• Value-added policies– Security: encryption, authentication, non-repudiation,

reliability– Privacy: dealing with private information– Trust: establish trust relationships between clients

and providers– Agreement: guarantees about the level and type of

service being offered by the provider– Conversation: sequence of message exchanges

between clients and providers– Resource: computing means on which Web services

operate– Monitoring: status checking, performance tuning, and

debugging

04/18/23 Brahim Medjahed 17

The policy Ontology (cont’d)

• Administrators may configure the policy ontology– Relevant management tools will be generated

• Adding sub-categories– Add new sub-category under the value-added

category• Example: Transactional Web services

– Add new sub-category under the functional or non-functional categories

• Example: syntactic and semantic sub-categories under the functional category

– Add new sub-category under the domain category• Example: Experiment Specification

04/18/23 Brahim Medjahed 18

Modeling Web Service Policies

Envelope Level

Category Level

OWL-SWSDL

Specified in WS-Policy

One policy per category (e.g., functional)

Specified in a Web service language/standard

Each C-Spec has a type (e.g., WSDL, OWL-S)

All C-Specs within a policy have the same category

C-Spec

Envelope

04/18/23 Brahim Medjahed 19

Defining C-Specs –Category-Specific Languages/Standards

Functional WSDL, WSDL-S, OWL-S, etc.

Non-Functional WSCL (Web Service Conversation Language), etc.

Security WS-SecurityPolicy, etc.

Privacy P3P-like Language, etc.

Trust WS-Trust, etc.

Agreement ebXML’s TPA and CPA, etc.

Conversation RosettaNet PIP (Partner Interface Processes), etc.

Resource WS-Resource, etc.

Monitoring Globus Toolkit’s Monitoring and Discovery Service, etc.

Domain B2B E-commerce (Shipping), etc.

04/18/23 Brahim Medjahed 20

Policy Envelope – WS-Policy<wsp:Policy Name="mypolicy1">

<wsp:ExactlyOne> <wsp:All> <chamaeleo:cSpec Type="WSDL-S"> <!-- link to WSDL-S specification --> </chamaeleo:cSpec > </wsp:All> <wsp:All> <chamaeleo:cSpec Type="OWL-S"> <!-- link to OWL-S specification --> </chamaeleo:cSpec > </wsp:All> </wsp:ExactlyOne> <wsp:Policy>

04/18/23 Brahim Medjahed 21

Chamaeleo’s Matching Framework – The Big Picture

Community Members

Policy Assistant

(PA)

Privacy Policies

Non-Functional Policies

Policy Matching Engine(PME)

Service Composition

Engine

Service Provider

Service Registry

Community Categories

Community Services

Functional Policies

Policy Assistant

(PA)Service Provider

04/18/23 Brahim Medjahed 22

Community Services

• Containers for service policies

• Clump together policies related to the same category

• Set-up by administrators• Add policy category Add community service

– Administrators configure the newly generated community services

• Delete policy category Delete community service

04/18/23 Brahim Medjahed 23

Community Services (cont’d)

• Each community– Has a Category (as defined in the policy

ontology)– Maintains a Members List

• Member = { (serviceID, policyID)}• Two techniques for managing membership

– Pull-based: periodically querying the service registry– Push-based: New members notified whenever created

– Maintains policy matching rules

04/18/23 Brahim Medjahed 24

Policy Assistants

• Attached to service providers

• Software agent download from agent pool– When: joining the service Grid

• Used to– Generate Policies from C-Specs– Enable Provider-Registry and Provider-

community interactions

04/18/23 Brahim Medjahed 25

Policy Assistants (cont’d)

PA

Web Service

Policies

Service Provider

generates

Service Registry

Registered with

Community Service

Web Service

Update List of Members

tModel

Registered with

C-Spec

PA

Policies

Service Provider

generates

tModel

Update List of Members

Community Service

C-Spec

Has

Has

tModel: Links to Technical Specifications (UDDI)

04/18/23 Brahim Medjahed 26

Defining Policies as TModels

<tModel tModelKey="uuid:..."> ... <categoryBag> <keyedReference keyName="Reusable policy Expression" keyValue="policy"

tModelKey="uuid:fa1d77dc-edf0-3a84-a99a-5972e434e993"/> <keyedReference keyName="Policy Expression for mypolicy1" keyValue="http://www.example.com/myservice/mypolicy1" tModelKey="uuid:a27078e4-fd38-320a-806f-6749e84f8005"/> <keyedReference tModelKey="uddi:uddi.org:categorization:general_keywords" keyName="chamaeleo.ws:categorization" keyValue="functional"/> </categoryBag> </tModel>

128-bit Unique Policy ID

Queries for Policies in General

Queries based on URIs

Queries based on Categories

04/18/23 Brahim Medjahed 27

Two-Phase Matching Process

PME

Service Matching Request

Service Composition

Engine

Service Registry

Get Policies

Community Services

Matching Sub-request

Candidate Web Services

Matched Web

Services

(1)

(5)

(2)

(3) (4)(3)

(4)

Matching Sub-request

Candidate Web Services

Phase 1: Polling

Phase 1: Polling

Phase 1: Polling

Phase 2: Decision

Phase 2: DecisionPhase 2:

Decision

04/18/23 Brahim Medjahed 28

The Policy Matching Engine (PME) Interface

Composition Engine

Policy Matching Engine (PME)

matchWebService: Request/Response

Operation

updateCommunityList: One-way Operation

Output

Input

Input

Administrator

Policy Assistant (PA)

Policy Assistant (PA)

updateCPAList: Request/Response OperationInput

notifyPA: Notification Operation Output

Output

04/18/23 Brahim Medjahed 29

The Community Service Interface

CMECommunity

Service

matchPolicy: Request/Response

Operation

updateCommunityMembers: One-way Operation

Output

Input

Input

PME

Policy Assistant (PA)

04/18/23 Brahim Medjahed 30

Matching Source and Member Policies

PM matches Ps iff C-Specs Ps C-SpecM PM | C-SpecM matches C-Specs

WSDL

DAML-S

WSDL

OWL-S

WSDL-SWSDL-S

Loose Match

Source Policy Member Policy

04/18/23 Brahim Medjahed 31

Matching Source and Member Policies (cont’d)

PM matches Ps iff C-Specs Ps C-SpecM PM | Type(C-Specs) = Type(C-SpecM) C-SpecM matches C-Specs

WSDL

DAML-S

WSDL

OWL-S

WSDL-SWSDL-S

Strong Match

Source Policy Member Policy

04/18/23 Brahim Medjahed 32

Matching Source and Member Policies (cont’d)

WSDL

DAML-S

WSDL

OWL-S

WSDL-SWSDL-S

Advanced Match = Strong Match + Multi-type Match

Source Policy Member Policy

Ontology Mapping

04/18/23 Brahim Medjahed 33

Policy Matching Rules

• Decide whether a member C-Spec M matches a source C-Spec S

Policy Rule <rule-name> Property <property-name> Instances Is, IM Type C-Spec-Type Action matchProperty(IS,IM)

04/18/23 Brahim Medjahed 34

Policy Matching Rules - Examples

Policy Rule R2 Property Data Type Instances Types,TypeM

Type WSDL Action matchProperty(Types,TypeM)

{ If Compatible(Types,TypeM)

Then return true Else return False}

Policy Rule R1 Property Price Instances Prices,PriceM

Type HQML Action matchProperty(Prices,PriceM)

{ If Prices ≥ PriceM Then return true Else return False}

04/18/23 Brahim Medjahed 35

Managing Policy Matching Rules

• Why do we need matching rules?– Answer the following question: “Does a

member C-Spec match a source C-Spec?”

• Where are matching rules used?– Each community service handles the

matching rules related to its category

• When are matching rules used?– During the polling phase of the matching

process

04/18/23 Brahim Medjahed 36

Managing Policy Matching Rules (cont’d)

• Who creates the matching rules?– Mass Collaboration Approach

• Shell of a Matching Rule Base (MRB)• Ask User to help populate MRB

– Administrators while deploying service Grids– Providers while joining service Grids

– Machine Learning Approach• Multi-strategy learning approach• New learners can be included in the Chamaeleo

toolbox as they become available

04/18/23 Brahim Medjahed 37

Managing Policy Matching Rules (cont’d)

• How are matching rules stored and accessed?– Web services– Stored procedures– ruleML

04/18/23 Brahim Medjahed 38

Current Research Tasks

• Maintaining the policy matching rule base– Mass Collaboration Approach– Machine Learning Approach

• Partial and total matching– Negotiation protocols for partial matching

• Multi-type policy matching– Ontology mapping

04/18/23 Brahim Medjahed 39

Related Work

• Autonomic computing– Coined in the early-2000s by IBM’s vision for self-

managing complex and distributed computing environments

– Current efforts• Network and database levels• Self-optimizing property

• Matching Techniques for Web services– Use a limited set of matching attributes

• Software Engineering: component mismatch– SOAs require richer matching models

04/18/23 Brahim Medjahed 40

Reference and Contact Information

• B. Medjahed and Y. Atif

“Context-Aware Matching for Web Service Composition”

Distributed and Parallel Databases, an International Journal, Special Issue on Context-based Web Service, to appear.

Brahim MedjahedE-mail: [email protected]: (313) 583 6449Office: UM-Dearborn, CIS Building, #242URL: www.engin.umd.umich.edu/~brahim


Recommended