3 Service Publication l Performed by Service Provider
3 Service Publication l Performed by Service Provider Discover existing interfaces (services) to extend l Create service implementations and WSDL based definitions l Test , Deploy and Publish the services, in Service Registries (e. g. ) Enhanced UDDI l l Semantics Used to capture the behavior of the published service l Enables effective discovery by service requestors l 3
4 Service Discovery l l Based on Service requestor needs To find the service providing Required operations (methods) l Required signature for static/dynamic binding l Satisfying the requestors constraints such as Qo. S, Service locality, etc. l l Semantics To return relevant services ranked based on semantic match criteria l 4
5 Service Invocation l l Performed by Service Requestor after discovering required services Invoke a service using l l l WSDL Specifications SOAP Protocol Semantics l Apply transformations when necessary to enable service invocation 5
6 Service Composition Activity Choreography Web Service Composition 6
7 What does a service do? To improve service discovery one must describe what a • Semantics of service: service does • 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 , statei ) V ¬ pre ( input ) g ( input, statei ) Statei+1 = h ( input, statei ) assert post ( output, statei+1 ) = 1 f() – output function + g() – exception function + h() – transition function 7 + Unless there’s complete verification other exceptions are possible.
8 Semantic Web Services l SWSA and SWSL Committees l l l 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 l l l Enables definitions to be machine processable Provides clear and unambiguous meaning of service functionality Enhances automation in service discovery and invocation 8
9 METEOR-S l Uses semantics in the entire life cycle of Semantic Web Services and Processes l l Semantics in Annotation, Publication, Discovery and Constraint Driven Composition of Web Services Comprehensive use of semantics (Data, Functional, Qo. S and Execution) Integrates and co-exists with current industry tools E. g. Eclipse BPWS 4 J Editor, BPEL 4 WS Execution Engine Consistent with and builds upon current standards and recommendations 9
10 OWL-S 1. 1 l Represents Semantic Web Services via 4 files l Each service is created as an instance of service ontology Language: OWL + SWRL l 10
WSMO –Web Service Modeling Ontology l Represents Semantic Web Services by F-logic l F-logic is used to 11 Describe ontologies l Describe rules and goals l Uses Mediators to bring about inter-operability l 11
12 METEOR-S Architecture Front-End Back-End 12
13 METEOR-S Front-End l Semantic Web Service Designer l l Semantic Description Generator l l Making them available through UDDI registries (Enhanced UDDI) Enhanced UDDI l l Various types of semantic definitions for a service Publishing Interface l l Developing Semantic Web Services Reorganized UDDI to discover relevant service based on semantics Discovery Engine l To discover the relevant services according to requestor requirements 13
Semantic Web Service Designer l l l 14 Eclipse plug-in to design Semantic Web Services User Interface for developing semantic web services Facilitates annotation of source code with semantic information 14
Semantic Web Service Designer(contd. ) 15 15
16 Source Code Annotation l l l 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 jdk 1. 5 Metadata feature (JSR 175 & JSR 181) 16
17 Annotated Java Source Code - Semantic Concept 17
Semantic Description Generator l 18 Input Annotated Source Code - semantically enrich to enable semantic web service l l Output l l l 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
19 WSDL-S l WSDL-S (WSDL with Semantic Annotation) l Mapping Input and Output Message Parts to Ontology l l l Mapping Operations to Ontology l l 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* provides well defined semantics for operational data 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/postconditions of each operation l l Pre-conditions and Post-Conditions are added for each operation Can be optionally used for service discovery and selection * Rosetta. Net Business/Technical dictionary or eb. XML Core Component catalog/dictionary * Current implementation uses vocabularies The focus of our work is not in developing ontologies for representing functionality/preconditions/effects but to use such ontologies for semantic annotation 19
20 Enhanced UDDI Annotated Java Source Code Enhanced UDDI @interface ( domain = "naics: Computer and Electronic Product Manufacturing" , description = "Computer Power. Supply Battery Buy Quote Order Status ", business. Service = "Battery Outlet") public interface Battery. Supplier { @operation (name = "place. Order", action = "rosetta: #Request. Purchase. Order " ) @parameters ({ @in. Param ( name = "order", element = "rosetta: #Purchase. Order. Request @out. Param( name="order. Confirmation", element="rosetta: #Purchase. Order. Confirmation" ) }) Quote. Confirmation get. Quote (Quote. Request q. Request ); . . . - Publishing Interface 20
21 Discovery Engine l Input l l Output l l Semantic service template built by user /execution engine 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
22 Discovery Engine Service Template user uses Execution Engine <service. Template> <namespace rosetta=“http: //lsdis. cs. uga. eduMETEOR-SRosetta. owl/> <namespace …. . <domain name=Computer and Electronic Product Manufacturing <operations> <operation name=“place. Order “ concept= "rosetta: #Request. Purchase. Order" > <input name=“order” concept="rosetta: #Purchase. Order. Request" /> <output name=“order. Confirmation” concept="rosetta: #Purchase. Order. Confirmation" /> </operation> <operation…. . </operation> </operations>. </service. Template> Discovery Engine Ranked Response 22
23 METEOR-S Back-End Design-Time Abstract Process Designer (BPWS 4 J Editor) uses Abstract BPEL Process Instance Process Annotation Tool (Eclipse Plug-in) Initiation Time Execution Engine (BPWS 4 J ) Constraint Analyzer Optimized Service Set Executable BPEL Process Repository Discovery Engine Service Template(s) query Ranked Response Binder Enhanced UDDI 23
24 Conclusion l Semantics help to l l l Source code annotations l l l Enhance discovery of relevant services Reduces manual intervention in service composition Enable easy means of developing Semantic Web Services Alternative –METEOR-S Web Services Annotation Framework Annotated WSDL/ WSDL-S l l Light-weight approach to semantically enhance Web service definitions Minimal effort to gain benefits in discovery and composition. 24
25 References l l l l [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 1 st 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 Workflow. Technology, Proceedings of the 22 nd Intl. Conf. on Very Large Databases (VLDB 96) 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/d 2/v 0. 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 25 Service Composition in METEOR-S, Proceedings of the IEEE SCC (to appear), 2004.
Questions…
Thank You
28 WSDL-S Meta-Model 28
29 WSDL-S OWL Ontology 29
30 Service Oriented Architecture l l 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
Where Are We on Web Services? 31 BPEL 4 WS Composition WSDL, WS-Policy, UDDI, Inspection Description Reliable Messaging Transactions Quality of Service Other protocols Other services Interaction Security SOAP (Logical Messaging) XML, Encoding 31
32 SOA and Web services Web Services l 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 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
Limitations of Current Service Discovery l Keyword/Categorization based search l l l No stemming of keywords Synonyms of a word return different results Context of use is not captured l l 33 E. g. buy. Ticket- 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
34 WSDL-S (Contd. ) Normal WSDL Complex Input <message name="cancel. Order. Request"> <part name="order. Number" type="xsd: int" /> <part name="confirmation. Number" type="xsd: int" /> </message> Annotated WSDL-S Complex Input: <message name="cancel. Order. Request"> <part name="order. Number" type="xsd: int" ontoconcept=“rosetta: #Order. Number"/> <part name="confirmation. Number" type="xsd: int" ontoconcept=“rosetta: #Confirmation. Number"/> </message> 34
35 Discovery Ranking Algorithm l l Rank Weights Domain – 1, Location – 1, Operation concept – 2, Output Concept – 3, Input Concept - 4 The actual ranking algorithm employed is: l If URI's refer to different ontologies: Rank = 0 l If the URI's are the 'same' Rank = 1 l If the URI's are concepts: l 1. Find the maximum distance of either URI from the deepest common parent. l 2. Depending upon the distance - decrease the rank. l 3. Find the minimum distance of either URI from the common subclass l 4. If common child exists, increase the rank l 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 l If uri's are properties: § 1. Check the data-type § 2. Check the cardinality l 3. Give a rank accordingly 35
36 OWL-S / WSMO Comparison OWL-S WSMO Profiles used as - Advertisement of service - Requirements of requestor Profile hierarchy -Defined as taxonomy of profiles Profile is expressed as two files - Requestor view - Provider view Taxonomy defined as REAL goals Profile has many non-functional properties of same type Defines geographic radius WSMO has cardinality restrictions on nonfunctional 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 Offers no modeling for choreography/orchestration Based on rules and goals Lacks logical formalism of rules Absent in OWL Post conditions defines relationship between input and output 36
- Slides: 34