Transcript Document 7138013
Service Publication
Performed by
Service Provider
Discover existing interfaces (services) to extend Create service implementations and WSDL based definitions Test , Deploy and Publish the services, in
Service Registries
(e.g.) Enhanced UDDI Semantics Used to capture the behavior of the published service Enables effective discovery by service requestors 3 3
Service Discovery
Based on
Service requestor
needs To find the service providing Required operations (methods) Required signature for static/dynamic binding Satisfying the requestors constraints such as QoS, Service locality, etc.
Semantics To return relevant services ranked based on semantic match criteria 4 4
Service Invocation
Service Invocation Performed by
Service Requestor
after discovering required services Invoke a service using WSDL Specifications SOAP Protocol Semantics Apply transformations when necessary to enable service invocation 5 5
Service Composition
Activity Choreography Web Service Composition
6 6
What does a service do?
To improve service discovery one must describe what a service does •Semantics of service: •Domain, Location and Semantics of operations •Semantics of input/output: -Name, Type and Annotation •Semantics of operation: 1)Classification of operation 2) output = pre ( input ) f ( input , state i ) V ¬ pre ( input ) g ( input, state i ) State i+1 = h ( input, state i ) assert post ( output, state i+1 ) = 1 f() – output function + g() – exception function + h() – transition function 7 + Unless there’s complete verification other exceptions are possible.
7
Semantic Web Services
SWSA and SWSL Committees To support the development of Semantic Web Services Architecture and Language, respectively.
“
To develop standardized ways of conceptualization and organizing semantic information about services.
” Semantic markup of Service definitions Enables definitions to be machine processable Provides clear and unambiguous meaning of service functionality Enhances automation in service discovery and invocation 8 8
METEOR-S
Uses semantics in the entire life cycle of Semantic Web Services and Processes Semantics in Annotation, Publication, Discovery and Constraint Driven Composition of Web Services Comprehensive use of semantics (Data,Functional,QoS and Execution) Integrates and co-exists with current industry tools E.g. Eclipse BPWS4J Editor, BPEL4WS Execution Engine Consistent with and builds upon current standards and recommendations 9 9
OWL-S 1.1
Represents Semantic Web Services via 4 files 10 Each service is created as an instance of service ontology Language: OWL + SWRL 10
WSMO –Web Service Modeling Ontology
Represents Semantic Web Services by F-logic F-logic is used to Describe ontologies Describe rules and goals Uses Mediators to bring about inter-operability 11 11
METEOR-S Architecture
Front-End
12
Back-End
12
METEOR-S Front-End
Semantic Web Service Designer
Developing Semantic Web Services
Semantic Description Generator
Various types of semantic definitions for a service
Publishing Interface
Making them available through UDDI registries (Enhanced UDDI)
Enhanced UDDI
Reorganized UDDI to discover relevant service based on semantics
Discovery Engine
To discover the relevant services according to requestor requirements 13 13
Semantic Web Service Designer
Eclipse plug-in to design Semantic Web Services User Interface for developing semantic web services Facilitates annotation of source code with semantic information 14 14
Semantic Web Service Designer(contd.)
15 15
Source Code Annotation
Easy to incorporate appropriate semantic descriptions while developing code Similar to java documentation Used to generate semantically enhanced annotated WSDL or WSDL-S Annotations Generates Service Interfaces Uses jdk1.5 Metadata feature (JSR 175 & JSR 181) 16 16
Annotated Java Source Code
17
- Semantic Concept
17
Semantic Description Generator
Input Annotated Source Code - semantically enrich to enable semantic web service Output
WSDL 1.1
annotated with semantic information via extensible tags
WSDL-S
–WSDL 2.0 with semantic annotation
OWL-S
files – Profile, Grounding, Process (basic) and associated WSDL 18 18
WSDL-S
WSDL-S (WSDL with Semantic Annotation) Mapping Input and Output Message
Parts
to Ontology XML Schema elements used in Input/Output messages do not reflect the semantics of the data involved in Web Service operation Use of ontologies or standard vocabulary * operational data provides well defined semantics for Mapping
Operations
to Ontology Service selection involves discovering appropriate WSDL description and locating an
operation
to invoke
Operations
with same signature could have different functionalities Ontology or vocabulary * depicting functionality is used for annotation Additional tags to represent pre-conditions and effects/post conditions of each
operation
Pre-conditions and Post-Conditions are added for each operation Can be optionally used for service discovery and selection
* RosettaNet Business/Technical dictionary
* Current implementation uses vocabularies
or ebXML Core Component catalog/dictionary
The focus of our work is not in developing ontologies for representing functionality/preconditions/effects but to use such ontologies for semantic annotation 19 19
Enhanced UDDI
Annotated Java Source Code
@interface ( domain = "naics:Computer and Electronic Product Manufacturing" , description = "Computer PowerSupply Battery Buy Quote Order Status ", businessService = "Battery Outlet") public interface BatterySupplier { @operation (name = "placeOrder", action = "
rosetta: #RequestPurchaseOrder
" ) @parameters ({ @inParam ( name = "order", element = "
rosetta: #PurchaseOrderRequest
@outParam( name="orderConfirmation", element="
rosetta: #PurchaseOrderConfirmation
" ) }) QuoteConfirmation getQuote (QuoteRequest qRequest );
.
.
.
Enhanced UDDI - Publishing Interface
20 20
Discovery Engine
Input Semantic service template built by user /execution engine Output List of services ranked by relevance to query Ranking algorithm employed -Matches operation/input/output semantic concepts of Published Services Vs. service template.
-Employs heuristic based subsumption relations of ontological concepts 21 21
Discovery Engine
user Execution Engine
Service Template
uses
.
. .
Discovery Engine Ranked Response 22 22
METEOR-S Back-End
Design-Time
uses Abstract Process Designer (BPWS4J Editor) Abstract BPEL Process Process Repository
Process Instance Initiation Time
Execution Engine ( BPWS4J ) Executable BPEL Process
Constraint Analyzer
Optimized Service Set Binder query Enhanced UDDI Discovery Engine Ranked Response Process Annotation Tool (Eclipse Plug-in) Service Template(s) 23 23
Conclusion
Semantics help to Enhance discovery of relevant services Reduces manual intervention in service composition Source code annotations Enable easy means of developing Semantic Web Services Alternative –METEOR-S Web Services Annotation Framework Annotated WSDL/ WSDL-S Light-weight approach to semantically enhance Web service definitions Minimal effort to gain benefits in discovery and composition.
24 24
References
[Ankolenkar et al., 2003] The DAML Services Coalition, DAML-S: Web Service Description for the Semantic Web, The First International Semantic Web Conference -ISWC, Italy [METEOR-S, 2002] METEOR-S:Semantic Web Services and Processes, http://swp.semanticweb.org, 2002. [Sivashanmugam et al., 2003] K. Sivashanmugam, K. Verma, A. Sheth, J. Miller, Adding Semantics to Web Services Standards, Proceedings of 1st International Conference of Web Service ICWS, June 2003 (pp. 395-401). [Sheth et al., 1996] A. Sheth, K. Kochut, J. Miller, D. Worah, S. Das, C. Lin, D. Palaniswami, J. Lynch, I. Shvchenko, Supporting State-wide Immunization Tracking using Multi-Paradign WorkflowTechnology, Proceedings of the 22nd Intl. Conf. on Very Large Databases (VLDB96) September 1996 [Roman et al., 2004] D.Roman, U. Keller, H.Lausen, WSMO – Web Service Modeling Ontology (WSMO), DERI Working Draft 14 February 2004, http://www.wsmo.org/2004/d2/v0.1/20040214/ [Verma et al., 2004] K. Verma, K. Sivashanmugam, A. Sheth, A. Patil, S. Oundhakar and J. Miller, METEOR–S WSDI: A Scalable Infrastructure of Registries for Semantic Publication and Discovery of Web Services, Journal of Information Technology and Management (to appear), (2004).
[Aggarwal et al., 2004] R. Aggarwal, K. Verma, J. Miller, W. Milnor, Constraint Driven Web Service Composition in METEOR-S, Proceedings of the IEEE SCC (to appear), 2004.
25 25
Questions…
Thank You
WSDL-S Meta-Model
28 28
WSDL-S OWL Ontology
29 29
Service Oriented Architecture
Application Integration via loose coupling Loose coupling between interfaces and implementation Interfaces universally available for providers and consumers Implementation is programming language and platform neutral 30 30
Where Are We on Web Services?
BPEL4WS WSDL, WS-Policy, UDDI, Inspection Composition Description Security Reliable Messaging SOAP (Logical Messaging) XML, Encoding Transactions Quality of Service Other protocols Other services Interaction 31 31
SOA and Web services
Web Services
SOA are realized via Web Services “Web services are a new breed of Web application. They are
self-contained
,
self-describing
, modular applications that can be
published
,
located
, and
invoked
across the Web. Web services perform functions, which can be anything from simple requests to complicated business processes. … Once a Web service is deployed, other applications (and other Web services) can discover and invoke the deployed service.”
IBM web service tutorial
32 32
Limitations of Current Service Discovery
Keyword/Categorization based search No stemming of keywords Synonyms of a word return different results Context of use is not captured E.g. buyTicket- services returned include buying Air Ticket, Raffle Ticket, Movie Ticket etc.
Service discovery requires human filtering according to service needs Returned Services are not ranked according to relevance Dynamic Binding requires automation in discovering relevant services 33 33
WSDL-S (Contd.)
Normal WSDL Complex Input
Annotated WSDL-S Complex Input:
Discovery Ranking Algorithm
Rank Weights Domain – 1, Location – 1, Operation concept –2, Output Concept –3, Input Concept - 4 The actual ranking algorithm employed is: If URI's refer to different ontologies: Rank = 0 If the URI's are the 'same' Rank = 1 If the URI's are concepts: 1. Find the maximum distance of either URI from the deepest common parent.
2. Depending upon the distance - decrease the rank.
3. Find the minimum distance of either URI from the common subclass 4. If common child exists, increase the rank 5. List the properties of both concepts (a) See the number of properties that match using the property matching algorithm below.
(b) Depending upon the ratio of the number of properties that match/total properties, decide the rank If uri's are properties: 1. Check the data-type 2. Check the cardinality 3. Give a rank accordingly 35 35
OWL-S / WSMO Comparison
OWL-S Profiles used as - Advertisement of service - Requirements of requestor Profile hierarchy -Defined as taxonomy of profiles Profile has many non-functional properties of same type Defines geographic radius WSMO Profile is expressed as two files - Requestor view - Provider view Taxonomy defined as REAL goals WSMO has cardinality restrictions on non functional properties Absent in WSMO Rating property can be interpreted in many ways Interpret rating in terms of performance, reliability,security, etc.
Has process- flow represented Lacks logical formalism of rules Absent in OWL Offers no modeling for choreography/orchestration Based on rules and goals Post conditions defines relationship between input and output 36 36