OWL Web Ontology Language for Services (OWL-S)
Total Page:16
File Type:pdf, Size:1020Kb
Model Problems in Technologies for Interoperability: OWL Web Ontology Language for Services (OWL-S) Chris Metcalf Grace A. Lewis April 2006 Integration of Software-Intensive Systems Initiative Unlimited distribution subject to the copyright. Technical Note CMU/SEI-2006-TN-018 This work is sponsored by the U.S. Department of Defense. The Software Engineering Institute is a federally funded research and development center sponsored by the U.S. Department of Defense. Copyright 2006 Carnegie Mellon University. NO WARRANTY THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN "AS-IS" BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT. Use of any trademarks in this report is not intended in any way to infringe on the rights of the trademark holder. Internal use. Permission to reproduce this document and to prepare derivative works from this document for internal use is granted, provided the copyright and “No Warranty” statements are included with all reproductions and derivative works. External use. Requests for permission to reproduce this document or prepare derivative works of this document for external and commercial use should be addressed to the SEI Licensing Agent. This work was created in the performance of Federal Government Contract Number FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center. The Government of the United States has a royalty-free government-purpose license to use, duplicate, or disclose the work, in whole or in part and in any manner, and to have or permit others to do so, for government purposes pursuant to the copyright license under the clause at 252.227-7013. For information about purchasing paper copies of SEI reports, please visit the publications portion of our Web site (http://www.sei.cmu.edu/publications/pubweb.html). Contents Abstract................................................................................................................vii 1 Introduction....................................................................................................1 2 What is OWL-S?.............................................................................................3 2.1 OWL Web Ontology Language...............................................................3 2.2 OWL-S Ontologies..................................................................................4 2.3 OWL-S Description Elements .................................................................5 2.4 OWL-S Discovery and Execution Elements ...........................................5 2.5 Service Provider Perspective on the OWL-S Development Model.........7 2.6 Application Developer Perspective on the OWL-S Development Model 9 2.7 The OWL-S Runtime Model.................................................................. 11 3 Using the Model Problem Approach ..........................................................13 3.1 Model Problem Context ........................................................................14 3.2 Evaluation Hypotheses.........................................................................14 3.3 Evaluation Criteria ................................................................................14 4 Designing and Implementing the Model Solution.....................................15 4.1 Setting Up the OWL-S Development Environment...............................15 4.2 Selecting Potential Web Services.........................................................15 4.3 Creating the OWL Ontology..................................................................16 4.4 Generating the OWL-S Profile for the Selected Web Service ..............17 4.5 Publishing the OWL-S Profile on the Internet.......................................17 4.6 Advertising the OWL-S Profile with the OWL-S Matchmaker ...............17 4.7 Querying the OWL-S Matchmaker to Discover Services......................18 4.8 Developing a Java Application to Test the Hypotheses ........................18 5 Evaluation.....................................................................................................20 5.1 Hypothesis 1 Results............................................................................20 5.1.1 Effective Dynamic Discovery Depends Upon a Well-Defined Ontology....................................................................................20 CMU/SEI-2006-TN-018 i 5.1.2 Ideally, Service Providers within the Same Domain and Their Client Applications Should Share a Common Ontology ........... 21 5.1.3 Categorization of Services by Service Description or Category May Not Enable Effective Service Discovery ............ 21 5.2 Hypothesis 2 Results............................................................................ 22 5.3 Hypothesis 3 Results............................................................................ 23 6 Experience with OWL-S .............................................................................. 26 6.1 Successful Integration Using OWL-S Will Require a Change in Development Paradigms ...................................................................... 26 6.2 Tool Support for OWL-S is Immature.................................................... 28 6.3 OWL-S is not a “Drop-In” Solution........................................................ 28 6.4 Semantics is Not Exempt from the Abundance of Standards............... 28 6.5 The Use of Semantics is Valuable—if Only for Service Classification and Description .................................................................................... 29 7 Conclusions and Request for Feedback ................................................... 30 Appendix A OWL Ontology for the Mapping Domain................................. 31 Appendix B Service Profile for the TerraServer OWL-S Service .............. 39 Appendix C Service Process Model for the TerraServer OWL-S Service .42 Appendix D Service Grounding for the TerraServer OWL-S Service ........ 44 References........................................................................................................... 47 ii CMU/SEI-2006-TN-018 List of Figures Figure 1: An Incomplete Example of an Ontology of Foods .................................... 4 Figure 2: OWL-S Service Description Elements...................................................... 5 Figure 3: Service Provider Perspective on OWL-S Development using CODE ...... 8 Figure 4: Application Developer Perspective on OWL-S Development using CODE (Static Discovery and Invocation)................................................ 10 Figure 5: OWL-S Runtime Model .......................................................................... 12 Figure 6: Model Problem Process for Technology Evaluation ............................... 13 Figure 7: A Simplified Representation of an OWL Ontology for Maps................... 16 Figure 8: OWL-S Files Generated from a WSDL Service Definition...................... 17 Figure 9: Publishing an Advertisement of an OWL-S Profile on the Matchmaker .18 Figure 10: Simple and Composite Services Represented in the OWL-S Process Editor...................................................................................................... 23 Figure 11: The Code-Driven Approach................................................................... 26 Figure 12: The Model-Driven Approach................................................................... 27 CMU/SEI-2006-TN-018 iii iv CMU/SEI-2006-TN-018 List of Tables Table 1: Hypotheses and Criteria for the OWL-S Model Problem........................ 14 CMU/SEI-2006-TN-018 v vi CMU/SEI-2006-TN-018 Abstract In a services-oriented environment, services are constantly being added and removed. Application developers often do not have control over the services they utilize. What would happen if a service required by an application were removed from the environment or had its interface changed? What if a new and better service were introduced that an application might be able to utilize? Existing services-oriented frameworks do not protect application developers against these contingencies. The OWL Web Ontology Language for Services (OWL-S) is a language to describe the properties and capabilities of Web Services in such a way that the descriptions can be interpreted by a computer system in an automated manner. This technical note presents the results of applying the model problem approach to examine the feasibility of using OWL-S to allow applications to automatically discover, compose, and invoke services in a dynamic services-oriented environment. CMU/SEI-2006-TN-018 vii viii CMU/SEI-2006-TN-018 1 Introduction Service-oriented architectures (SOAs) require a different perspective on software development than traditional application-centric methods.1 SOAs support the decomposition of business processes into reusable elements implemented as services. These services provide support for tasks such as checking the inventory status of a particular item, obtaining the current location of a package, or checking the status of a customer. Developers can then build applications, such as order processing or customer account management,