Using Semantic Web Services for Ad Hoc Collaboration in Virtual Teams Kay-Uwe Schmidt [email protected] Matthias Fluegge [email protected] Overview Motivation System Architecture Ontologies Matchmaking Engine Execution Engine Conclusions and Future Work 2 © Fraunhofer Institute FOKUS, Berlin, 2004 Overview Motivation System Architecture Ontologies Matchmaking Engine Execution Engine Conclusions and Future Work 3 © Fraunhofer Institute FOKUS, Berlin, 2004 Virtualization of Teams Team collaboration is a core issue for large organisations Internet enabled virtual organizations and virtual teams Groupware Shared task management Discussion forums Document repositories Shared calendars Promise: Cost reductions and increased productivity 4 © Fraunhofer Institute FOKUS, Berlin, 2004 Drawbacks of Groupware Systems Successful adoption of groupware is rare Lack of a seamless integration with existing applications and work processes Burden placed on users to effectively support the system is higher than perceived benefit 5 © Fraunhofer Institute FOKUS, Berlin, 2004 Electronic calendar with automatic meeting scheduling feature Workflow Check calendar for each potential participant, Find a time convenient for all Notify all participants of appointed date Problem Only few of the team members are likely to maintain their groupware calendars No familiarity with the groupware and its features Result Scheduling program finds all times open and subsequent conflicts are preassigned Solution Utilization of the tools the users are accustomed to 6 © Fraunhofer Institute FOKUS, Berlin, 2004 Loose Coupling of Personal Information Managers (PIMs) Common features of Personal Information Managers Calendar Scheduling Address book Task board Email Usually well-maintained by their owners Loose coupling of PIMs Data sharing of heterogeneous applications Simple but efficient distributed groupware (team calendars, group address books, team to-do lists etc.) Overcome shortcomings of centralistic groupware approaches 7 © Fraunhofer Institute FOKUS, Berlin, 2004 Communication through Web Services Web services Allow applications to collaborate over the internet irrespective of their concrete implementation Web service interface as the only prerequisite for coupling PIMs Standardization of ‘the one’ Web service interface unlikely Huge number of competitors and implementations Conclusion For ad hoc communication based on different Web service interfaces a more generic approach is needed Standardization of data formats – out of scope vCalendar, iCalendar, RDFCalendar vCard, iCard … 8 © Fraunhofer Institute FOKUS, Berlin, 2004 Semantics for Web Services Semantic Web gains momentum Several research activities in the direction of Semantic Web enabled Web services Adding Semantic Web support to Web services → automated collaboration of heterogeneous applications Automation of Web service discovery Web service invocation Web service composition and interoperation Web service execution monitoring 9 © Fraunhofer Institute FOKUS, Berlin, 2004 Why Semantics? XML-based Web service standards (SOAP, WSDL, UDDI ) lack intrinsic formal semantics Problem: Ad hoc collaboration between Web services that have not been designed to work together WSDL not adequate for Dynamic matchmaking and Dynamic invocation of heterogeneous Web services Semantic annotation of existing Web services 10 © Fraunhofer Institute FOKUS, Berlin, 2004 OWL-S Based on RDF and OWL Four complementary ontologies Service, Profile, Process and Grounding Service Descriptions OWL-S Ontologies OWL Taxonomies Jena to find and execute Web services RDF Schema Semantics Structure RDF XML Namespaces Syntax Interoperability XML Schema Web Services Semantic description of the whole spectrum of information necessary XML Unicode URI 11 © Fraunhofer Institute FOKUS, Berlin, 2004 OWL-S (cont‘d) Service ontology Upper ontology Meta concepts Sticking together the other ontologies Service presents presentedBy Profile ontology Parameters, preconditions, effects Properties describedBy describes ServiceProfile supports supportedBy ServiceGrounding ServiceModel Process ontology More detailed description of a Web service Control and data flow Grounding ontology Linking the Profile and Process descriptions to a concrete Web service and its WSDL definition 12 © Fraunhofer Institute FOKUS, Berlin, 2004 Overview Motivation System Architecture Ontologies Matchmaking Engine Execution Engine Conclusions and Future Work 13 © Fraunhofer Institute FOKUS, Berlin, 2004 The SemApp System Addressing the appointment scheduling process in virtual teams Workflow Investigation of the schedules of team members Making an appointment with certain team members based on the free times disclosed by their personal schedules Technologies Web services + Semantic Web Detailed description Appointment scheduling application that automatically collaborates with arbitrary personal calendars (Lotus Notes, Microsoft Outlook etc.) which provide semantically described Web services 14 © Fraunhofer Institute FOKUS, Berlin, 2004 Request Reading Ontologies Team and Contact Data System Architecture Semanic Data Flow Data Flow OWL-S Service Description SemApp Store Engine PIM Proxy Matchmaking Engine Controller HTML PIM PIM Pages Ontologies Ontologies Web Service Execution Engine Web Server Firewall Internet Firewall Firewall Firewall Advertisement Web Services OWL-S PIM PIM Service Ontologies Ontologies Description Web Server Ontologies PIM PIM Ontologies Ontologies Web Server User Personal Information Manager Personal Data 15 © Fraunhofer Institute FOKUS, Berlin, 2004 Request Controller Component Reading Ontologies Team and Contact Data Semanic Data Flow Data Flow OWL-S Service Description Generating Web pages for user interaction SemApp Controller role in MVC paradigm Store Engine Steering of the system interactions Processing the input Manipulating the data Generating the output PIM Proxy Matchmaking Engine Controller HTML PIM PIM Pages Ontologies Ontologies Web Service Execution Engine Web Server Firewall Internet Firewall Firewall Firewall Advertisement Web Services OWL-S PIM PIM Service Ontologies Ontologies Description Web Server Ontologies PIM PIM Ontologies Ontologies Web Server User Personal Information Manager Personal Data 16 © Fraunhofer Institute FOKUS, Berlin, 2004 Web Interface and Storage Engine Request Reading Ontologies Team and Contact Data Semanic Data Flow Data Flow OWL-S Service Description Web interface SemApp Creation and modification of team / contact data Manipulation of the associated PIMs Store Engine Matchmaking Engine Controller HTML PIM PIM Pages Ontologies Ontologies Storage Engine Storing Team and contact data persistently Factory pattern with one implementation (OWL file) PIM Proxy Web Service Execution Engine Web Server Firewall Internet Firewall Firewall Firewall Advertisement Web Services OWL-S PIM PIM Service Ontologies Ontologies Description Web Server Ontologies PIM PIM Ontologies Ontologies Web Server User Personal Information Manager Personal Data 17 © Fraunhofer Institute FOKUS, Berlin, 2004 Request PIM Proxy Reading Ontologies Team and Contact Data Semanic Data Flow Data Flow OWL-S Service Description Encapsulating the communication SemApp with the Web services Store Engine Not a generic component Web Service Execution Engine Web Server Firewall Controller Get the appointments of a given team member Put an appointment to the personal schedule Matchmaking Engine Controller HTML PIM PIM Pages Ontologies Ontologies Aware of the PIM domain semantics Two functions as interface to the PIM Proxy Internet Firewall Firewall Firewall Advertisement Web Services OWL-S PIM PIM Service Ontologies Ontologies Description Web Server Ontologies PIM PIM Ontologies Ontologies Web Server User Personal Information Manager Personal Data 18 © Fraunhofer Institute FOKUS, Berlin, 2004 Technical Details J2EE web application: J2SE 1.4, Java Web Service Developer Pack (JWSDP) 1.3 OWL-S processing: Jena 2 by HP Labs Web-based user interface: JavaServer Faces 1.0 Outlook Web service: .NET Framework 1.1 ZENO Web service: JWSDP 1.3 (JAX-RPC) 19 © Fraunhofer Institute FOKUS, Berlin, 2004 Overview Motivation System Architecture Ontologies Matchmaking Engine Execution Engine Conclusions and Future Work 20 © Fraunhofer Institute FOKUS, Berlin, 2004 Ontologies Definition Ontologies ensure the common understanding of a problem domain through the definition of concepts, properties and the relations among them. Functional ontology Description and classification of Web service functionalities Domain ontology Definition of domain-specific concepts 21 © Fraunhofer Institute FOKUS, Berlin, 2004 Domain ontologies Description of domain knowledge Concepts used for describing appointments Time data (Time Zone Database), appointment data (RDF Calendar), account data (Friend of a Friend) Should be defined by widely accepted standardisation bodies Reimplementaion of the ontologies for performance, granularity and consistency reasons OWL Lite Minimal set of concepts 22 © Fraunhofer Institute FOKUS, Berlin, 2004 Request and Advertisement Request ontology Containing all requirements a Web service has to satisfy in order to be recognized and invoked by the SemApp system Two OWL-S Profiles Defined as instances of GetAppointments() and MakeAppointment() of the Profile hierarchy Correspond to the functionality needed by the SemApp system Definition of in- and output parameters by means of domain ontologies Advertisement ontology Profile description of a concrete Web service Request and Advertisement are used for Matchmaking 23 © Fraunhofer Institute FOKUS, Berlin, 2004 Request (cont‘d) ... <hierachy:GetAppointments rdf:ID="getAppointments"> <profile:hasInput rdf:resource="#account"/> <profile:hasInput rdf:resource="#dateSpan"/> <profile:hasOutput rdf:resource="#vCalendarOut"/> </hierachy:GetAppointments> <process:Input rdf:ID="account"> <process:parameterType rdf:resource="&acc;#Account"/> </process:Input> <process:Input rdf:ID="dateSpan"> <process:parameterType rdf:resource="&time;#Interval"/> </process:Input> <process:UnConditionalOutput rdf:ID="vCalendarOut"> <process:parameterType rdf:resource="&vcal;#VCalendar"/> </process:UnConditionalOutput> ... 24 © Fraunhofer Institute FOKUS, Berlin, 2004 Overview Motivation System Architecture Ontologies Matchmaking Engine Execution Engine Conclusions and Future Work 25 © Fraunhofer Institute FOKUS, Berlin, 2004 Matchmaking Engine Generic component Compares service requests with service Request ReqProfile1 ReqProfile2 ... Advertisement AdvProfile1 AdvProfile1 AdvProfile1 AdvProfile2 AdvProfile2 AdvProfile2 AdvProfile3 AdvProfile3 AdvProfile3 ... ... ... advertisements in order to find Web services that provide the functionalities needed by the SemApp system Compares concepts instead of matching the method signatures by name Matchmaking Engine Foreach(ReqProfile) Foreach(AdvProfile) Match(ReqProfile, AdvProfile) The following matches are recognized: Exact match Equivalent match Sub class match Super class match Property match and No match Result Set ReqProfile1 matches AdvProfile1 ReqProfile2 matches AdvProfile2, AdvProfile3 ... 26 © Fraunhofer Institute FOKUS, Berlin, 2004 Overview Motivation System Architecture Ontologies Matchmaking Engine Execution Engine Conclusions and Future Work 27 © Fraunhofer Institute FOKUS, Berlin, 2004 Execution Engine Input Parameters Generic component Capable of executing arbitrary Web WSDL Service Description OWL-S AdvProfile1 AdvProfile1 Service AdvProfile2 AdvProfile2 Description AdvProfile3 AdvProfile3 ... ... RDF Graph services in an ad hoc fashion Prerequisites Web service must conform to the WS-I Basic Profile 1.0 Web service must provide SOAP/HTTP binding Web service must be described with OWL-S 1.0 Dependencies SAAJ from the JWSDP 1.3 Apache’s Xalan Hp Labs’ Jena 2 framework Execution Engine ConvertedInputs = Convert(Inputs, OWL-S) Outputs = Execute(ConvertedInputs, WSDL) Result = Convert(Outputs, OWL-S) Result RDF Graph 28 © Fraunhofer Institute FOKUS, Berlin, 2004 Overview Motivation System Architecture Ontologies Matchmaking Engine Execution Engine Conclusions and Future Work 29 © Fraunhofer Institute FOKUS, Berlin, 2004 Conclusions and Future Work Common applications may benefit from using Semantic Web services Problems encountered Frequently changing specifications, in particular OWL-S Jena OWL reasoner not sufficiently stable, slow and rather greedy regarding memory and processing resources RACER as substitute Assignment of OWL-S concepts to XSD and vice versa XSLT is labor intensive and error prone Several serializations of one OWL graph can lead to semantically equal but syntactically different XML documents Future activities Applying the concepts presented on other groupware applications (team to-do lists, team chats, group address books etc.) Extend matchmaker towards the consideration of effects, preconditions and properties Incorporation of security issues 30 © Fraunhofer Institute FOKUS, Berlin, 2004 Thank you. 31 © Fraunhofer Institute FOKUS, Berlin, 2004
© Copyright 2026 Paperzz