Designing Semantic Web Process: The WSDL-S Approach Presented by Ke Li LSDIS Lab, University of Georgia (Under the Direction of John A. Miller) Acknowledgment • • • • • • Dr. John A. Miller Dr. Amit P. Sheth Dr. Eileen T. Kraemer Kunal, Meena Doug, Zixin Cary, Scott Outline • • • • • • • • • • Introduction Background Contribution The METEOR-S Semantic Discovery Tool – Lumina Design Semantic Web Process Using WSDL-S Sample Use Case Evaluation Related Work Conclusion Future Work Outline • • • • • • • • • Introduction Background The METEOR-S Semantic Discovery Tool – Lumina Design Semantic Web Process Using WSDL-S Sample Use Case Evaluation Related Work Conclusion Future Work Introduction • Web Service – Concept • Web Services are self-contained modular business applications that have open, internet-oriented and standards-based interface. – Web Service Standards • • • • SOAP (Simple Object Access Protocol) WSDL (Web Service Description Language) UDDI (Universal Description, Discovery and Integration) WS-BPEL (Web Service Business Process Execution Language) Introduction • Web Process – Combine individual services to achieve a more complex goal – Advantage • enables modular design • Implements the control and data flow between services – For example, Service A, B and C. B is dependent on A’s output message. A and C can be invoked at the same time Introduction • Semantic Web Service – Adding semantics to Web service standards – Bring “meaning” to the services – Removes ambiguity in the description of Web service elements. – Enables automation of tasks like discovery, invocation, composition Introduction • WSDL-S Based Tool Suite for Designing Semantic Web Process Radiant – Web Service Semantic Annotation and Semantic Publish Lumina – Semantic Web Service Discovery Saros – Web Services Composition Outline • • • • • • • • • Introduction Background The METEOR-S Semantic Discovery Tool – Lumina Design Semantic Web Process Using WSDL-S Sample Use Case Evaluation Related Work Conclusion Future Work Background • Problems with current Web Service publishing, discovery and composition – No unified WSDL to UDDI mapping structure – Syntactic search mechanism for service discovery Background • Mapping Structure from WSDL to UDDI Background • Modified Mapping Structure from WSDL-S to UDDI Service Implementation (WSDL) UDDI Business Entity <Service> Local Name Description {Namespace, WSDL Location} Business Service: Name Description CategoryBag Binding Template <PortType> Local Name WSDL Location {Namespace} <Operation> Local Name WSDL Location {Namespace, Domain, Input, Output, Semantic Concepts, Business Name, Service Name} TModel: Name OverviewDoc CategoryBag TModel: Name OverviewDoc CategoryBag Background • Four Semantic Web Service Standard Proposals (Brief Overview) – – – – OWL-S WSMO (Web Service Modeling Ontology) SWSO (Semantic Web Service Ontology) WSDL-S Background (OWL-S and WSMO) • OWL-S • WSMO Background (WSDL-S) – WSDL-S • Built on existing Web Service standard - WSDL • Enables semantic annotation of Web Services by using extensibility elements and attributes – Annotation on message types: modelReference, and schemaMapping – Annotation on operation: modelReference, category, precondition and effect • Uses external domain models to provide the semantics Outline • • • • • • • • • • Introduction Background Contribution The METEOR-S Semantic Discovery Tool – Lumina Design Semantic Web Process Using WSDL-S Sample Use Case Evaluation Related Work Conclusion Future Work Contribution • Design and develop the WSDL-S based semantic discovery tool called Lumina. • Develop the API for publishing WSDL / WSDL-S files to our enhanced UDDI registry. • Design the Semantic Template generator which can be used within Saros. Outline • • • • • • • • • Introduction Background The METEOR-S Semantic Discovery Tool – Lumina Design Semantic Web Process Using WSDL-S Sample Use Case Evaluation Related Work Conclusion Future Work The METEOR-S Semantic Discovery Tool - Lumina • Motivation 1. Support semantic discovery (WSDL-S approach) 2. Enable semi-automatic design of Web Processes (using Saros) 3. Supply a unified discovery style to discover from different Universal Business Registries The METEOR-S Semantic Discovery Tool - Lumina • Setting Environment – – – – Web Server: Tomcat 5.0.30 UDDI Registry Implementation: JUDDI 0.9 Registry Database: MySQL-4.1.12-win32 JDK 1.5 • Model Dependency – METEOR-S Discovery API – WSDLS4J – UDDI4J The METEOR-S Semantic Discovery Tool - Lumina • Discovery Modes – UDDI structure based discovery 1.General UDDI Discovery (Basic UDDI Discovery Panel) • Unified search style for all the UBRs • Provide discovery of “Business Entity”, “Business Service” and “Technical Model” – Business Entity: Business Name, Discovery URL, Categories, TModel Keys – Business Service: Service Name, Categories, Business Key, TModel Keys – TModel: TModel Name The METEOR-S Semantic Discovery Tool – Lumina – UDDI Structure Based Discovery The METEOR-S Semantic Discovery Tool – Lumina – UDDI Structure Based Discovery The METEOR-S Semantic Discovery Tool - Lumina • Discovery Modes – WSDL-S based Semantic Discovery 2. WSDL-S Discovery (WSDL-S Discovery Panel & Semantic Template View) • Input to the discovery module 1. Ontology URL 2. Operation functional concepts, semantic inputs and semantic outputs Input modes 1. Typed in by the user 2. Dragged and dropped from the Ontology Navigator in Radiant • Output from the discovery module 1. Service information (service name, WSDL location) 2. Service provider information (link to the business entity) 3. Detailed discovered operation information (operation name, input / output variables, ontological concepts about these parameters, input / output types, portType) The METEOR-S Semantic Discovery Tool – Lumina: Semantic Discovery Panel + Partner Service Viewer The METEOR-S Semantic Discovery Tool – Lumina: Semantic Template View The METEOR-S Semantic Discovery Tool - Lumina • Discovery Modes – WSDL based Syntactic discovery 3. WSDL Discovery (WSDL Discovery Panel) • Input to discovery module: – Exact operation name, input and output variables – Same as WSDL-S Discovery except the semantic information The METEOR-S Semantic Discovery Tool – Lumina – METEOR-S Discovery Class Diagram The METEOR-S Semantic Discovery Tool - Lumina • Architecture of Lumina – Adopts Eclipse Plugin Techniques: • Action: Lumina start button in tool bar • Editor: UDDI Editor (Basic UDDI Discovery, WSDL-S Discovery and WSDL Discovery) • View: (Semantic Template Viewer and Partner Service Viewer) • Perspective: Lumina Perspective The METEOR-S Semantic Discovery Tool – Lumina Model Class diagram The METEOR-S Semantic Discovery Tool – Lumina View Class diagram Outline • • • • • • • • • Introduction Background The METEOR-S Semantic Discovery Tool – Lumina Design Semantic Web Process Using WSDL-S Sample Use Case Evaluation Related Work Conclusion Future Work Design Semantic Web Process Using WSDL-S • Semantic Annotation and Publish – Radiant – WSDL-S to UDDI Mapping Structure WSDL UDDI Service Business Service Local Name Name Service Description Description Namespace, WSDL location CategoryBag portType TModel Local Name Name WSDL location OverviewDoc Namespace CategoryBag Operation TModel Local Name Name WSDL location OverviewDoc Namespace, inputs, outputs, semantic concepts, etc. CategoryBag Design Semantic Web Process Using WSDL-S: WSDL-S to UDDI Mapping Structure Service Implementation (WSDL) UDDI Business Entity <Service> Local Name Description {Namespace, WSDL Location} Business Service: Name Description CategoryBag Binding Template <PortType> Local Name WSDL Location {Namespace} <Operation> Local Name WSDL Location {Namespace, Domain, Input, Output, Semantic Concepts, Business Name, Service Name} TModel: Name OverviewDoc CategoryBag TModel: Name OverviewDoc CategoryBag Design Semantic Web Process Using WSDL-S – Annotating a Web service using Radiant Design Semantic Web Process Using WSDL-S • Semantic Discovery – Lumina – WSDL-S Discovery Panel (UDDI Editor) and Partner Service Viewer • Store the candidate partner services to partner service viewer (convenient) – Semantic Template Viewer • Save the semantic template to files • Load a exist semantic file – Enable discovery of multiple operations • Dependence • Economic • Efficient Design Semantic Web Process Using WSDL-S: WSDL-S Discovery Panel Design Semantic Web Process Using WSDL-S: Semantic Template View Design Semantic Web Process Using WSDL-S • Semantic Web Process Design - Saros – Dynamic partner selection using the Semantic Templates that describe virtual partners – Two phase design • Generate new semantic template(s) or load the exist semantic template(s) using Semantic Template Viewer (Lumina) • Discover the partner services using the semantic templates and bind the discovered services to the process Design Semantic Web Process Using WSDL-S • Semantic Web Process Design - Saros WSDL-S Semantic Template BPEL Process Process Designer Search Results UDDI Registry Semantic Publication and Discovery Design Semantic Web Process Using WSDL-S: Saros Design Panel Outline • • • • • • • • • Introduction Background The METEOR-S Semantic Discovery Tool – Lumina Design Semantic Web Process Using WSDL-S Sample Use Case Evaluation Related Work Conclusion Future Work Sample Use Case • Sample Scenario – Goal: investment strategy for buying stock – Input: stock ticker, possible investment amount – Output: value analysis for proceeding with the investment Sample Use Case 1. Analyze the business requirement and build a UML diagram Sample Use Case 2. Fill in the process skeleton Sample Use Case 3. Fill in the nested constructs / structured activities Sample Use Case 4. Identify partners – Binding the real partners: using concrete service information – Binding the virtual partners: filling a semantic template – Discovery based on: • Operation • Input and output Sample Use Case: Search for “investment” service Sample Use Case: Search for the other two services Sample Use Case: Add virtual partner Sample Use Case 1. Analyze the business requirement and build a UML diagram 2. Fill in the process skeleton 3. Fill in the nested constructs / structured activities 4. Identify partners – Binding real partners – Binding virtual partners Sample Use Case 5. Add namespace, variables 6. Link partners to “invoke”, “receive” and “reply” 7. Add the supplementary elements and fill in details 8. Generate BPEL process – BPEL file – WSDL file of the Process Sample Use Case: Complete BPEL Process part I Sample Use Case: Complete BPEL Process part II Outline • • • • • • • • • Introduction Background The METEOR-S Semantic Discovery Tool – Lumina Design Semantic Web Process Using WSDL-S Sample Use Case Evaluation Related Work Conclusion Future Work Evaluation 1. Efficient and effective service discovery – Comparative UBRs: • XMethods and Microsoft UBR – Search scenario: • – Stock Quote Comparative formulas: • Precision = number _ of _ correctly _ dis cov ered _ services number _ of _ dis cov ered _ services • Recall = number _ of _ correctly _ dis cov ered _ services number _ of _ all _ correct _ services Evaluation • Precision of “Stock Quote” Web Services Discovery Result on the Regular UBRs Keywords • XMethods Microsoft UBR TModel Service TModel Stock quote 3/3 = 100% 17/17 = 100% 28/28=100% Stockquote 3/3=100% 4/4=100% 18/18=100% Stock 7/7=100% 64/70=90% 18/18=100% Delayed 1/1=100% 5/5=100% 1/1=100% Real time 1/3=33% 0/1=0 0/0 Realtime 0/0 0/1=0 0/0 Recall of “Stock Quote” Web Services Discovery Result on XMethods: 9/13 = 69% Evaluation The “Stock Quote” services in the enhanced UDDI registry Services Operations Ontological Concepts DelayedStockQuote GetQuote OntologyNS#DelayedStockQuote GetQuickQuote OntologyNS#RealTimeStockQuote BasicRealTimeQuotes GetOneQuote OntologyNS#RealTimeStockQuote StockQuotes GetStockQuotes OntologyNS#DelayedStockQuote StockScraper GetQuote OntologyNS#StockQuote StockServices GetQuotes OntologyNS#StockQuote GetQuickQuotes OntologyNS#DelayedStockQuote StockQuote GetQuote OntologyNS#StockQuote DOTSFastQuote GetStockInfo OntologyNS#DelayedStockQuote Nexus6Studio_x0020_ Stock_x0020_Quote GetQuickQuote OntologyNS#StockQuote GetDetailedQuote OntologyNS#StockQuote Evaluation Precision of Lumina Discovery Result Using StockQuote Ontological Concepts Ontological Concepts Lumina TModel (Operations) Service OntologyNS# StockQuote 11/11=100% 8/8=100% OntologyNS# DelayedStockQuote 9/9=100% 7/7=100% OntologyNS# RealTimeStockQuote 7/7=100% 6/6=100% Evaluation Recall of Lumina Discovery Result Using StockQuote Ontological Concepts Ontological Concepts Lumina TModel (Operations) Service OntologyNS# StockQuote 11/11=100% 8/8=100% OntologyNS# DelayedStockQuote 9/9=100% 7/7=100% OntologyNS# RealTimeStockQuote 7/7=100% 6/6=100% Evaluation 2. Accurate discovery of specific operations – Service level discovery and operation level discovery – Operation level discovery: operation functional concept, semantic inputs, semantic outputs – Discovery of Multiple operations within one partner service Evaluation Web Services Based on the Currency Ontology Searching Requirement Searching Result Web Service: Operation Operation: ontologyNS#CurrencyRate Input: /n Output: /n Currencyws: GetRate CurrencyConvertor: ConvertionRate CurrencyExchangeService: getRate Operation: ontologyNS#Currency Input: /n Output: /n Country: GetCurrencies; GetCurrencyByCountry; GetCurrencyCode; GetCurrencyCodeByCurrencyName Operation: ontologyNS#Currency.country Input: /n Output: /n Country: GetCountries; GetCountryByCountryCode; GetCountryByCurrencyCode; GetISOCountryCodeByCountryName Operation: ontologyNS#Currency Input: ontologyNS#Currency.country Output: /n Country: GetCurrencyByCountry Operation: ontologyNS#Currency Input: ontologyNS#Currency.name Output: ontologyNS#Currency.code Country: GetCurrencyCodeByCurrencyName Operation: ontologyNS#Currency.country Input: ontologyNS#Currency.country_iso_code Country: GetCountryByCountryCode; Evaluation Web Services annotated with a part of the Travel Ontology describing the Weather domain Searching Requirement Searching Result Operation: ontologyNS#Forcast Input: /n Output: /n ForecastByZip: GetForecastByZip WeatherFetcher: GetWeather DOTSFastWeather: GetWeatherByCityState GetWeatherByZip Operation: ontologyNS#Forcast Input: ontologyNS#ZipCode Output: /n ForecastByZip: GetForecastByZipDOTSFastWeather: GetWeatherByZipWeatherFetcher: GetWeather Operation: ontologyNS#Forcast Input: ontologyNS#City Output: /n DOTSFastWeather: GetWeatherByCityState Operation: ontologyNS#Forcast Input: ontologyNS#City Output: OntologyNS#Weather.hasPercipitation DOTSFastWeather: GetWeatherByZip Evaluation 3. Semi-automatic BPEL process design – Supply the detailed information of the service and operations; these information are useful to design the process. Outline • • • • • • • • • Introduction Background The METEOR-S Semantic Discovery Tool – Lumina Design Semantic Web Process Using WSDL-S Sample Use Case Evaluation Related Work Conclusion Future Work Related Work • Two categories of Web Services Composition: – Workflow composition • Static workflow composition: – EFlow (Casati, Ilnicki, et al. 2000) • Dynamic workflow composition: – PPM (Polymorphic Process Model) (Schuster, Georgakopoulos, et al. 2000) – AI Planning – Golog – Logic Programming Language – Planning Domain Definition Language (PDDL) – action value – Rule-based plan generation – SWORD (Ponnekanti and Fox, 2002) – Hierarchical Task Network (HTN) – SHOP2 (Wu, Sirin, et al. 2003) Outline • • • • • • • • • Introduction Background The METEOR-S Semantic Discovery Tool – Lumina Design Semantic Web Process Using WSDL-S Sample Use Case Evaluation Related Work Conclusion Future Work Conclusion • By using Semantics to annotate the Web Services, we provide the efficient, effective and accurate services discovery. It enables the automatic and dynamic Web Process Design. • WSDL-S supplies a easy way to add semantics to the Web Services. Outline • • • • • • • • • Introduction Background The METEOR-S Semantic Discovery Tool – Lumina Design Semantic Web Process Using WSDL-S Sample Use Case Evaluation Related Work Conclusion Future Work Future Work • Organize Saros to run in the same workspace as Lumina, and supply the Drag and Drop functionality to further ease the work of the process developer • Develop a constraint analyzer to extend our WSDL-S based tool suite. • Adopt data mapping techniques to implement Web Process composition automatically. • Extend the discovery, composition by using “preconditions” and “effects” to achieve a more accurate result. • Develop a process monitor to trace the process at execution time. Demo Questions Thank you