Using Semantic Web Services for Ad Hoc Collaboration in Virtual Teams Kay-Uwe Schmidt...
-
Upload
camron-lindsey -
Category
Documents
-
view
215 -
download
0
Transcript of Using Semantic Web Services for Ad Hoc Collaboration in Virtual Teams Kay-Uwe Schmidt...
Using Semantic Web Services for Ad Hoc Collaboration in Virtual Teams
Kay-Uwe [email protected]
Matthias [email protected]
© Fraunhofer Institute FOKUS, Berlin, 2004
2
Overview
Motivation
System Architecture Ontologies Matchmaking Engine Execution Engine
Conclusions and Future Work
© Fraunhofer Institute FOKUS, Berlin, 2004
3
Overview
Motivation
System Architecture Ontologies Matchmaking Engine Execution Engine
Conclusions and Future Work
© Fraunhofer Institute FOKUS, Berlin, 2004
4
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
© Fraunhofer Institute FOKUS, Berlin, 2004
5
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
© Fraunhofer Institute FOKUS, Berlin, 2004
6
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
© Fraunhofer Institute FOKUS, Berlin, 2004
7
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
© Fraunhofer Institute FOKUS, Berlin, 2004
8
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 …
© Fraunhofer Institute FOKUS, Berlin, 2004
9
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
© Fraunhofer Institute FOKUS, Berlin, 2004
10
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
© Fraunhofer Institute FOKUS, Berlin, 2004
11
OWL-S
Semantic description of the whole spectrum of information
necessary to find and execute Web services
Based on RDF and OWL
Four complementary ontologies Service, Profile, Process
and Grounding
Unicode URI
XML
XML Namespaces
RDF
RDF Schema
OWL
OWL-S
Web
Ser
vice
s
Jena
Service Descriptions
Ontologies
Taxonomies
Semantics
Structure
Interoperability
XML Schema
Syntax
© Fraunhofer Institute FOKUS, Berlin, 2004
12
OWL-S (cont‘d)
Service ontology Upper ontology Meta concepts Sticking together the other ontologies
Profile ontology Parameters, preconditions, effects Properties
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
ServiceModel
ServiceGrounding
Service
ServiceProfile
describedBydescribes
presentspresentedBy
supportssupportedBy
© Fraunhofer Institute FOKUS, Berlin, 2004
13
Overview
Motivation
System Architecture Ontologies Matchmaking Engine Execution Engine
Conclusions and Future Work
© Fraunhofer Institute FOKUS, Berlin, 2004
14
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
© Fraunhofer Institute FOKUS, Berlin, 2004
15
System Architecture
Firewall
SemApp
Firewall
Team and Contact
Data
User
Web Services
Personal Information Manager
Personal Data
Firewall
PIM Ontologies
PIM Ontologies
Ontologies
Web Server
Web Server
Firewall
Internet
OWL-S Service
Description
PIM Ontologies
PIM Ontologies
HTML Pages
Matchmaking Engine
Web Service Execution Engine
PIM Proxy
Controller
Store Engine
PIM Ontologies
PIM Ontologies
OWL-S Service
Description
Request
Adverti-sement
Web Server
Data Flow
Semanic Data Flow
Reading Ontologies
© Fraunhofer Institute FOKUS, Berlin, 2004
16
Controller Component
Generating Web pages for user
interaction
Controller role in MVC paradigm
Steering of the system interactions Processing the input Manipulating the data Generating the output
Firewall
SemApp
Firewall
Team and Contact
Data
User
Web Services
Personal Information Manager
Personal Data
Firewall
PIM Ontologies
PIM Ontologies
Ontologies
Web Server
Web Server
Firewall
Internet
OWL-S Service
Description
PIM Ontologies
PIM Ontologies
HTML Pages
Matchmaking Engine
Web Service Execution Engine
PIM Proxy
Controller
Store Engine
PIM Ontologies
PIM Ontologies
OWL-S Service
Description
Request
Adverti-sement
Web Server
Data Flow
Semanic Data Flow
Reading Ontologies
© Fraunhofer Institute FOKUS, Berlin, 2004
17
Web Interface and Storage Engine
Web interface Creation and modification of
team / contact data Manipulation of the associated
PIMs
Storage Engine Storing Team and contact data
persistently Factory pattern with one
implementation (OWL file)
Firewall
SemApp
Firewall
Team and Contact
Data
User
Web Services
Personal Information Manager
Personal Data
Firewall
PIM Ontologies
PIM Ontologies
Ontologies
Web Server
Web Server
Firewall
Internet
OWL-S Service
Description
PIM Ontologies
PIM Ontologies
HTML Pages
Matchmaking Engine
Web Service Execution Engine
PIM Proxy
Controller
Store Engine
PIM Ontologies
PIM Ontologies
OWL-S Service
Description
Request
Adverti-sement
Web Server
Data Flow
Semanic Data Flow
Reading Ontologies
© Fraunhofer Institute FOKUS, Berlin, 2004
18
PIM Proxy
Encapsulating the
communication with the Web
services
Not a generic component Aware of the PIM domain
semantics
Two functions as interface to the
Controller Get the appointments of a given
team member Put an appointment to the
personal schedule
Firewall
SemApp
Firewall
Team and Contact
Data
User
Web Services
Personal Information Manager
Personal Data
Firewall
PIM Ontologies
PIM Ontologies
Ontologies
Web Server
Web Server
Firewall
Internet
OWL-S Service
Description
PIM Ontologies
PIM Ontologies
HTML Pages
Matchmaking Engine
Web Service Execution Engine
PIM Proxy
Controller
Store Engine
PIM Ontologies
PIM Ontologies
OWL-S Service
Description
Request
Adverti-sement
Web Server
Data Flow
Semanic Data Flow
Reading Ontologies
© Fraunhofer Institute FOKUS, Berlin, 2004
19
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)
© Fraunhofer Institute FOKUS, Berlin, 2004
20
Overview
Motivation
System Architecture Ontologies Matchmaking Engine Execution Engine
Conclusions and Future Work
© Fraunhofer Institute FOKUS, Berlin, 2004
21
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
© Fraunhofer Institute FOKUS, Berlin, 2004
22
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
© Fraunhofer Institute FOKUS, Berlin, 2004
23
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
© Fraunhofer Institute FOKUS, Berlin, 2004
24
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>...
© Fraunhofer Institute FOKUS, Berlin, 2004
25
Overview
Motivation
System Architecture Ontologies Matchmaking Engine Execution Engine
Conclusions and Future Work
© Fraunhofer Institute FOKUS, Berlin, 2004
26
Matchmaking Engine
Generic component
Compares service requests with service
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
The following matches are recognized: Exact match Equivalent match Sub class match Super class match Property match and No match
AdvProfile1AdvProfile2AdvProfile3...
AdvProfile1AdvProfile2AdvProfile3...
ReqProfile1ReqProfile2...
Request
AdvProfile1AdvProfile2AdvProfile3...
Adverti-sement
Result Set
ReqProfile1 matches AdvProfile1ReqProfile2 matches AdvProfile2, AdvProfile3...
Matchmaking Engine
Foreach(ReqProfile) Foreach(AdvProfile) Match(ReqProfile, AdvProfile)
© Fraunhofer Institute FOKUS, Berlin, 2004
27
Overview
Motivation
System Architecture Ontologies Matchmaking Engine Execution Engine
Conclusions and Future Work
© Fraunhofer Institute FOKUS, Berlin, 2004
28
Execution Engine
Generic component Capable of executing arbitrary Web
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
AdvProfile1AdvProfile2AdvProfile3...
AdvProfile1AdvProfile2AdvProfile3...
WSDL Service
Description
OWL-S Service
Description
Execution Engine
ConvertedInputs = Convert(Inputs, OWL-S)Outputs = Execute(ConvertedInputs, WSDL)Result = Convert(Outputs, OWL-S)
Input Parameters
RDF Graph
Result
RDF Graph
© Fraunhofer Institute FOKUS, Berlin, 2004
29
Overview
Motivation
System Architecture Ontologies Matchmaking Engine Execution Engine
Conclusions and Future Work
© Fraunhofer Institute FOKUS, Berlin, 2004
30
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