Using Semantic Web Services for Ad Hoc Collaboration in Virtual Teams Kay-Uwe Schmidt...

31
Using Semantic Web Services for Ad Hoc Collaboration in Virtual Teams Kay-Uwe Schmidt [email protected] Matthias Fluegge [email protected]

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

© Fraunhofer Institute FOKUS, Berlin, 2004

31

Thank you.