Formal Description of Web Services for Expressive Matchmaking
Total Page:16
File Type:pdf, Size:1020Kb
Zur Erlangung des akademischen Grades eines Doktors der Wirtschaftswissenschaften (Dr. rer. pol.) von der Fakult¨at f¨ur Wirtschaftswissenschaften der Universit¨at Karlsruhe (TH) genehmigte Dissertation. Formal Description of Web Services for Expressive Matchmaking Dipl.-Inform. Sudhir Agarwal Tag der m¨undlichen Pr¨ufung: 04.05.2007 Referent: Prof. Dr. Rudi Studer Koreferent: Prof. Dr. Christof Weinhardt Pr¨ufer: Prof. Dr. Andreas Oberweis 2007 Karlsruhe ii Abstract Web services are programmable interfaces that can be invoked via standardized Web communication protocols, such as HTTP, in order to embed the functionality they offer in a software system. The necessity of outsourcing parts of business processes together with the wide acceptance of the Service Oriented Architecture (SOA) will lead to a large number of Web services. Such a big market of Web services demands automatic methods for finding suitable Web services. Existing industrial standards for finding Web services are keyword based and hence require a lot of manual effort to select Web services with desired functionality and desired interface. Industrial standard UDDI allow only keyword based search that considers a fixed set of properties and methods known from research in the field of Semantic Web Services base on interoperable descriptions of Web service interfaces. However, in real business scenarios criteria for searching suitable Web services are much richer than just the types of input and output paremeters. In this work, our aim is to develop automatic methods for finding Web services based on the functional and non-functional properties of Web services. To be able to develop automatic reasoning algorithms about the functional and non-functional properties of Web services, they must be described formally. So, we first develop a formalism that allows to describe the involved resources, the credentials of the involved actors and the dynamic behavior of web services including access control policies in a unifying way. We identify that in order to support a broader spectrum of use cases, two types of matchmaking approaches are needed, namely goal based and equivalence based. Goal based matchmaking deals with specifying constraints on desired Web services and then finding the Web services that satisfy the constraints, whereas equivalence based match- making supports the use cases in which an existing Web service should be replaced by another Web service without changing the overall behaviour of the system it is incorpo- rated in. In this work, we develop an expressive formalism to specify desired constraints on a Web service and develop a sound and complete algorithm to check whether a Web service description fulfills a goal. Furthermore, we develop the notion of equivalence of Web service functionalities and show how two web service descriptions can be checked for equivalence. Finally, we present the implementation of our system and conclude by discussing some problems that may be of future research interest. iii iv Contents I Introduction 1 1 Motivation 3 1.1 Introduction to Web Services ......................... 3 1.1.1 Web Service Description Language (WSDL) ............. 5 1.1.2 Simple Object Access Protocol (SOAP) ............... 8 1.1.3 Using Web Services .......................... 8 1.2 B2B Integration and EAI with Web Services ................. 9 1.3 Web Service Markets .............................. 11 1.4 UDDI, Current Standard for Web Service Discovery ............ 14 1.4.1 Limitations of UDDI .......................... 17 1.5 Limitations of Existing Semantic Matchmaking Approaches ........ 18 1.6 Outline ..................................... 19 2 Requirements 23 2.1 Requirements for Matchmaking ........................ 24 2.1.1 Constraints on Resources ....................... 25 2.1.2 Security and Trust Constraints .................... 26 2.1.3 Constraints on Behavior ........................ 26 2.1.4 Combination of different Types of Constraints ............ 27 2.2 Requirements for Semantic Description of Web Services .......... 28 2.2.1 Requirements for Resource Descriptions ............... 29 2.2.2 Requirements for Credentials ..................... 30 2.2.3 Requirements for Behavior Description ................ 30 2.3 Conclusion ................................... 34 II Formal Description of Web Services 35 3 Modeling Resources 39 3.1 Introduction to Description Logics ...................... 39 3.2 Basic Description Logic ALC ......................... 40 3.2.1 Description logics with Concrete Domains .............. 42 v Contents 3.3 More Expressive Description Logic SHOIN (D) .............. 43 3.3.1 The Family of OWL Languages .................... 45 3.4 Query Languages ................................ 46 3.5 Rule Languages for OWL ........................... 50 3.6 Modeling Resources .............................. 51 4 Modeling Credentials 53 4.1 Role Based Access Control ........................... 53 4.2 Authorization based Access Control with SPKI/SDSI ........... 56 4.3 Modeling Credentials .............................. 61 4.3.1 Scenario ................................. 64 4.3.2 Specification of Certification Policies ................. 64 4.3.3 Users .................................. 67 4.4 Conclusion ................................... 69 5 Modeling Behavior 71 5.1 Introduction to π-calculus ........................... 71 5.1.1 Relation to Other Formalisms ..................... 71 5.1.2 Syntax .................................. 74 5.1.3 Semantics ................................ 77 5.1.4 The Polyadic π-calculus ........................ 78 5.2 Modeling Behavior ............................... 81 5.2.1 Message Types for Communication Operations ........... 82 5.2.2 Introducing Local Operations to Model Updates .......... 83 5.2.3 Integrating Access Control Policies as Conditions .......... 84 5.3 Related Work .................................. 87 5.3.1 OWL-S ................................. 87 5.3.2 WSMO ................................. 91 5.3.3 WSDL-S ................................. 96 5.3.4 BPEL4WS ............................... 97 5.3.5 Access Control Related Work ..................... 97 5.4 Conclusion ................................... 99 III Semantic Matchmaking of Web Services 101 6 Goal Specification 105 6.1 Modal Logics for Processes ..........................106 6.2 Early Logics ...................................107 6.3 Introduction to mu-calculi ...........................108 6.3.1 Syntax and Semantics of µ-calculus ..................110 vi Contents 6.3.2 Examples of Some Common Patterns ................111 6.4 Specification of Hybrid Formulas with Logic B ...............112 6.5 Related Work ..................................114 6.6 Conclusion ...................................117 7 Goal based Matchmaking 119 7.1 Introduction to Model Checking ........................119 7.2 Matchmaking Algorithm ............................121 7.2.1 Complexity ...............................127 7.3 Related Work ..................................127 7.3.1 OWL-S Matchmaker ..........................127 7.3.2 WSMO Discovery ...........................129 7.3.3 Other Matchmaking Approaches ...................130 7.4 Conclusion ...................................130 8 Simulation based Matchmaking 133 8.1 Simulation of Resources ............................133 8.2 Comparing Credentials of Agents .......................136 8.3 Comparing Behavior of Agents ........................137 8.3.1 Trace Equivalence: A First Attempt .................137 8.3.2 Strong Bisimilarity ...........................138 8.3.3 Weak Bisimilarity ...........................139 8.4 Algorithm ....................................142 8.5 Conclusion ...................................145 IV Implementation and Applications 147 9 Implementation 151 9.1 KASWS Web Service Management API ...................151 9.1.1 Generating Domain APIs from Ontology ...............152 9.1.2 Modeling the Knowledge Base with Description Logics .......156 9.2 KASWS Reasoning API ............................158 9.3 Bootstrapping ..................................160 9.4 User Interface ..................................162 10 Applications 165 10.1 Knowledge Integration in SemIPort ......................165 10.1.1 Sample Scenario ............................166 10.1.2 Integration of Heterogeneous Information Sources ..........167 10.2 Modeling Auctions in SESAM .........................169 vii Contents 10.2.1 Introduction ..............................170 10.2.2 Reference Model for Market Mechanisms ..............170 10.2.3 Formal Description of Reference Model for Market Mechanisms . 173 10.3 Further Potential Applications ........................175 10.3.1 Verification of Business Processes ...................175 10.3.2 Reasoning about Market Mechanisms ................175 10.3.3 Model Driven Architecture in Software Development ........176 10.4 Conclusion ...................................176 11 Conclusion and Outlook 177 11.1 Contribution ..................................177 11.2 Open Problems Concerning Our Work ....................180 11.2.1 Annotating Web Services with Logic B ................180 11.2.2 Semi-Automatic Support for Describing Web Services and Constraints181 11.2.3 Efficient Matchmaking .........................181 11.3 Further Research Ideas .............................182 11.3.1 Automatic Composition ........................182 11.3.2 Preference Based Ranking .......................183 viii List of Figures 1.1 Using Web Services in an Application .................... 8 1.2 B2B Integration