Ontologies

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