Date post: | 19-Dec-2015 |
Category: |
Documents |
View: | 217 times |
Download: | 0 times |
Policy-Aware Matching for Service-Oriented Applications
Brahim MedjahedDepartment of Computer and Information Science
University of Michigan - Dearborn
Wayne State UniversityOctober 31st, 2006
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 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