Top Banner
Internet Engineering Internet Engineering Course Course Semantic Web, Web Services, Semantic Web Services 1
88

Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Jan 16, 2016

Download

Documents

Doris Copeland
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Internet Engineering Internet Engineering CourseCourse

Semantic Web,Web Services,Semantic Web Services

1

Page 2: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

AgendaVision of Next Generation Web Technology

Semantic Web Today’s Web The Semantic Web Impact Semantic Web Technologies A Layered Approach

Web Services Why Web Services? Enabling Technologies Web Service Composition Main Issues concerning the composition

Semantic Web Services

2

Page 3: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Static

◦ 500 million users ◦ more than 3 billion pages

WWWURI, HTML, HTTP

Vision of Next Generation Vision of Next Generation Web TechnologiesWeb Technologies

3

Page 4: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

WWWURI, HTML, HTTP

Serious Problems in information finding, information extracting, information representing, information interpreting and and information maintaining.

Semantic WebRDF, RDF(S), OWL

Static

Vision of Next Generation Vision of Next Generation Web TechnologiesWeb Technologies

4

Page 5: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

WWWURI, HTML, HTTP

Bringing the computer back as a device for computation

Semantic WebRDF, RDF(S), OWL

Dynamic Web ServicesUDDI, WSDL, SOAP

Static

Vision of Next Generation Vision of Next Generation Web TechnologiesWeb Technologies

5

Page 6: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

WWWURI, HTML, HTTP

Bringing the web to its full potential

Semantic WebRDF, RDF(S), OWL

Dynamic Web ServicesUDDI, WSDL, SOAP

Static

Semantic WebServices

Vision of Next Generation Vision of Next Generation Web TechnologiesWeb Technologies

6

Page 7: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

7

Semantic WebSemantic Web

Page 8: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

8

Semantic Web OutlineSemantic Web Outline

1. Today’s Web2. The Semantic Web Impact3. Semantic Web Technologies4. A Layered Approach

Page 9: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

9

Today’s WebToday’s WebMost of today’s Web content is

suitable for human consumption ◦ Even Web content that is generated

automatically from databases is usually presented without the original structural information found in databases

Typical Web uses today people’s◦ seeking and making use of information,

searching for and getting in touch with other people, reviewing catalogues of online stores and ordering products by filling out forms

Page 10: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

10

Keyword-Based Search Keyword-Based Search Engines Engines

Current Web activities are not particularly well supported by software tools◦Except for keyword-based search

engines (e.g. Google, AltaVista, Yahoo)The Web would not have been the

huge success it was, were it not for search engines

Page 11: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

11

Problems of Keyword-Based Problems of Keyword-Based Search EnginesSearch Engines

High recall, low precision.Low or no recallResults are highly sensitive to

vocabulary Results are single Web pages Human involvement is necessary to

interpret and combine resultsResults of Web searches are not

readily accessible by other software tools

Page 12: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

12

The Key Problem of The Key Problem of Today’s WebToday’s Web

The meaning of Web content is not machine-accessible: lack of semantics

It is simply difficult to distinguish the meaning between these two sentences:

I am a professor of computer science.

I am a professor of computer science,

you may think. Well, . . .

Page 13: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

13

The Semantic Web The Semantic Web ApproachApproachRepresent Web content in a form

that is more easily machine-processable.

Use intelligent techniques to take advantage of these representations.

The Semantic Web will gradually evolve out of the existing Web, it is not a competition to the current WWW

Page 14: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

14

Semantic Web OutlineSemantic Web Outline

1. Today’s Web2. The Semantic Web Impact3. Semantic Web Technologies4. A Layered Approach

Page 15: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

15

The Semantic Web Impact – The Semantic Web Impact – Knowledge ManagementKnowledge Management

Knowledge management concerns itself with acquiring, accessing, and maintaining knowledge within an organization

Key activity of large businesses: internal knowledge as an intellectual asset

It is particularly important for international, geographically dispersed organizations

Most information is currently available in a weakly structured form (e.g. text, audio, video)

Page 16: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

16

Limitations of Current Knowledge Limitations of Current Knowledge Management TechnologiesManagement Technologies

Searching information ◦ Keyword-based search engines

Extracting information◦ human involvement necessary for browsing,

retrieving, interpreting, combiningMaintaining information

◦ inconsistencies in terminology, outdated information.

Viewing information ◦ Impossible to define views on Web knowledge

Page 17: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

17

Semantic Web Enabled Knowledge Semantic Web Enabled Knowledge ManagementManagement

Knowledge will be organized in conceptual spaces according to its meaning.

Automated tools for maintenance and knowledge discovery

Semantic query answeringQuery answering over several documentsDefining who may view certain parts of

information (even parts of documents) will be possible.

Page 18: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

18

The Semantic Web Impact – The Semantic Web Impact – B2C Electronic CommmerceB2C Electronic Commmerce

A typical scenario: user visits one or several online shops, browses their offers, selects and orders products.

Ideally humans would visit all, or all major online stores; but too time consuming

Shopbots are a useful tool

Page 19: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

19

Limitations of ShopbotsLimitations of ShopbotsThey rely on wrappers: extensive

programming requiredWrappers need to be reprogrammed

when an online store changes its outfitWrappers extract information based

on textual analysis◦ Error-prone◦ Limited information extracted

Page 20: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

20

Semantic Web Enabled B2C Semantic Web Enabled B2C Electronic CommerceElectronic Commerce

Software agents that can interpret the product information and the terms of service.◦ Pricing and product information, delivery and

privacy policies will be interpreted and compared to the user requirements.

Information about the reputation of shops

Sophisticated shopping agents will be able to conduct automated negotiations

Page 21: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

21

The Semantic Web Impact – The Semantic Web Impact – B2B Electronic CommerceB2B Electronic Commerce

Greatest economic promiseCurrently relies mostly on EDI

◦ Isolated technology, understood only by experts

◦ Difficult to program and maintain, error-prone◦ Each B2B communication requires separate

programming Web appears to be perfect infrastructure

◦ But B2B not well supported by Web standards

Page 22: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

22

Semantic Web Enabled B2B Semantic Web Enabled B2B Electronic CommerceElectronic Commerce

Businesses enter partnerships without much overhead

Differences in terminology will be resolved using standard abstract domain models

Data will be interchanged using translation services.

Auctioning, negotiations, and drafting contracts will be carried out automatically (or semi-automatically) by software agents

Page 23: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

23

Semantic Web OutlineSemantic Web Outline

1. Today’s Web2. The Semantic Web Impact3. Semantic Web Technologies4. A Layered Approach

Page 24: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

24

Semantic Web Semantic Web TechnologiesTechnologiesExplicit MetadataOntologiesLogic and InferenceAgents

Page 25: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

25

On HTMLOn HTMLWeb content is currently

formatted for human readers rather than programs

HTML is the predominant language in which Web pages are written (directly or using tools)

Vocabulary describes presentation

Page 26: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

26

An HTML ExampleAn HTML Example<h1>Agilitas Physiotherapy Centre</h1>Welcome to the home page of the Agilitas

Physiotherapy Centre. Do you feel pain? Have you had an injury? Let our staff

Lisa Davenport,Kelly Townsend (our lovely secretary) and Steve

Matthews take careof your body and soul.<h2>Consultation hours</h2>Mon 11am - 7pm<br>Tue 11am - 7pm<br>Wed 3pm - 7pm<br>Thu 11am - 7pm<br>Fri 11am - 3pm<p>But note that we do not offer consultation during the

weeks of the <a href=". . .">State Of Origin</a> games.

Page 27: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

27

Problems with HTMLProblems with HTMLHumans have no problem with

thisMachines (software agents) do:

◦How distinguish therapists from the secretary,

◦How determine exact consultation hours

◦They would have to follow the link to the State Of Origin games to find when they take place.

Page 28: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

28

A Better RepresentationA Better Representation<company>

<treatmentOffered>Physiotherapy</treatmentOffered><companyName>Agilitas Physiotherapy Centre</companyName><staff>

<therapist>Lisa Davenport</therapist><therapist>Steve Matthews</therapist><secretary>Kelly Townsend</secretary>

</staff></company>

Page 29: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

29

Explicit MetadataExplicit MetadataThis representation is far more

easily processable by machinesMetadata: data about data

◦Metadata capture part of the meaning of data

Semantic Web does not rely on text-based manipulation, but rather on machine-processable metadata

Page 30: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

30

OntologiesOntologies

The term ontology originates from philosophy

The study of the nature of existence

Different meaning from computer science

An ontology is an explicit and formal specification of a conceptualization

Page 31: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

31

Typical Components of Typical Components of OntologiesOntologies

Terms denote important concepts (classes of objects) of the domain ◦ e.g. professors, staff, students, courses, departments

Relationships between these terms: typically class hierarchies◦ a class C to be a subclass of another class C' if every

object in C is also included in C' ◦ e.g. all professors are staff members

Page 32: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

32

Further Components of Further Components of OntologiesOntologies Properties:

◦ e.g. X teaches Y Value restrictions

◦ e.g. only faculty members can teach courses Disjointness statements

◦ e.g. faculty and general staff are disjoint Logical relationships between objects

◦ e.g. every department must include at least 10 faculty

Page 33: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Ontology ExampleOntology Example

Concept conceptual entity of the domain

Property attribte describing a concept

Relation relationship between concepts or properties

Axiom coherency description between Concepts / Properties / Relations via logical expressions

Person

Student Professor

Lecture

isA – hierarchy (taxonomy)

name email

Fieldresearch

field

topicSyllabus

attends holds

holds(Professor, Lecture) =>Lecture.topic = Professor.researchField

Page 34: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

34

The Role of Ontologies on The Role of Ontologies on the Webthe WebOntologies provide a shared

understanding of a domain: semantic interoperability◦overcome differences in terminology ◦mappings between ontologies

Ontologies are useful for the organization and navigation of Web sites

Page 35: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

35

The Role of Ontologies in Web The Role of Ontologies in Web SearchSearchOntologies are useful for improving the

accuracy of Web searches ◦ search engines can look for pages that refer to a

precise concept in an ontology Web searches can exploit generalization/

specialization information ◦ If a query fails to find any relevant documents, the

search engine may suggest to the user a more general query.

◦ If too many answers are retrieved, the search engine may suggest to the user some specializations.

Page 36: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

36

Web Ontology LanguagesWeb Ontology LanguagesRDF SchemaRDF is a data model for objects and

relations between themRDF Schema is a vocabulary description

language Describes properties and classes of RDF

resourcesProvides semantics for generalization

hierarchies of properties and classes

Page 37: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

37

Web Ontology Languages Web Ontology Languages (2) (2) OWL A richer ontology languagerelations between classes

◦e.g., disjointnesscardinality

◦e.g. “exactly one”richer typing of propertiescharacteristics of properties (e.g.,

symmetry)

Page 38: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

38

Logic and InferenceLogic and InferenceLogic is the discipline that studies the

principles of reasoningFormal languages for expressing

knowledgeWell-understood formal semantics

◦ Declarative knowledge: we describe what holds without caring about how it can be deduced

Automated reasoners can deduce (infer) conclusions from the given knowledge

Page 39: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

39

An Inference ExampleAn Inference Example

prof(X) faculty(X)faculty(X) staff(X)prof(michael)

We can deduce the following conclusions:faculty(michael)staff(michael)prof(X) staff(X)

Page 40: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

40

Logic versus OntologiesLogic versus OntologiesThe previous example involves

knowledge typically found in ontologies◦Logic can be used to uncover ontological

knowledge that is implicitly given ◦It can also help uncover unexpected

relationships and inconsistenciesLogic is more general than

ontologies◦It can also be used by intelligent agents

for making decisions and selecting courses of action

Page 41: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

41

Tradeoff between Expressive Power Tradeoff between Expressive Power and Computational Complexityand Computational ComplexityThe more expressive a logic is, the more

computationally expensive it becomes to draw conclusions◦ Drawing certain conclusions may become

impossible if non-computability barriers are encountered.

Our previous examples involved rules “If conditions, then conclusion,” and only finitely many objects◦ This subset of logic is tractable and is supported by

efficient reasoning tools

Page 42: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

42

Inference and Inference and ExplanationsExplanationsExplanations: the series of

inference steps can be retracedThey increase users’ confidence

in Semantic Web agents: “Oh yeah?” button

Activities between agents: create or validate proofs

Page 43: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

43

Typical Explanation Typical Explanation ProcedureProcedureFacts will typically be traced to

some Web addresses ◦The trust of the Web address will be

verifiable by agentsRules may be a part of a shared

commerce ontology or the policy of the online shop

Page 44: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

44

Software AgentsSoftware AgentsSoftware agents work autonomously and

proactively ◦ They evolved out of object oriented and

compontent-based programmingA personal agent on the Semantic Web will:

◦ receive some tasks and preferences from the person

◦ seek information from Web sources, communicate with other agents

◦ compare information about user requirements and preferences, make certain choices

◦ give answers to the user

Page 45: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

45

Semantic Web Agent Semantic Web Agent TechnologiesTechnologiesMetadata

◦Identify and extract information from Web sources

Ontologies◦Web searches, interpret retrieved

information ◦Communicate with other agents

Logic◦Process retrieved information, draw

conclusions

Page 46: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

46

Semantic Web Agent Technologies Semantic Web Agent Technologies (2)(2)Further technologies (orthogonal

to the Semantic Web technologies)◦Agent communication languages◦Formal representation of beliefs,

desires, and intentions of agents◦Creation and maintenance of user

models.

Page 47: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

47

Semantic Web OutlineSemantic Web Outline

1. Today’s Web2. The Semantic Web Impact3. Semantic Web Technologies4. A Layered Approach

Page 48: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

48

A Layered ApproachA Layered ApproachThe development of the

Semantic Web proceeds in steps◦Each step building a layer on top of

another

Principles:Downward compatibility Upward partial understanding

Page 49: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

49

The Semantic Web Layer The Semantic Web Layer TowerTower

Page 50: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

50

Semantic Web LayersSemantic Web LayersXML layer

◦Syntactic basisRDF layer

◦RDF basic data model for facts◦RDF Schema simple ontology

languageOntology layer

◦More expressive languages than RDF Schema

◦Current Web standard: OWL

Page 51: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

51

Semantic Web Layers (2)Semantic Web Layers (2)Logic layer

◦enhance ontology languages further◦application-specific declarative

knowledge Proof layer

◦Proof generation, exchange, validation

Trust layer◦Digital signatures◦recommendations, rating agencies

….

Page 52: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Web ServicesWeb Services

52

Page 53: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

AgendaAgendaWhat are Web Services?Why Web Services?Enabling Technologies?What is Web Service

Composition?Main Issues concerning the

composition?

53

Page 54: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Web Evolution

XMLXML

ProgrammabilityProgrammabilityConnectivityConnectivity

HTMLHTML

PresentationPresentation

TCP/IPTCP/IP

Technology

Technology

Innovation

Innovation

FTP,FTP, E-mail, Gopher

E-mail, Gopher

Web PagesWeb Pages

Browse Browse the Webthe Web

Program Program the Webthe Web

Web Services

Web Services

54

Page 55: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

What are Web Services?What are Web Services?Definition from W3C "Web Service is a software

application identified by a URI, whose interfaces and bindings are capable of being defined, described, and discovered by XML artifacts and which supports direct interactions with other software applications using XML-based messages via internet-based protocols".

55

Page 56: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

What are Web Services?What are Web Services?Every component that

◦works in a network, ◦is modular ◦is self-descriptive,◦provides services independent of

platform and application,◦conforms to an open set of standards

and ◦follows a common structure for

description and invocation.

56

Page 57: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Why Web ServicesWhy Web ServicesInteroperability.

◦ Any WS can interact with any other WS.

Ubiquity. ◦ Any device which supports HTTP + XML can

host & access WS.

Effortless entry in this concept. ◦ easily understood + free toolkits

Industry Support. ◦ major vendors support surrounding technology.

57

Page 58: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Web Services ArchitectureWeb Services ArchitectureComponents

◦Service Providers◦Service Brokers◦Service Requestors

Operations◦Publish / Unpublish◦Find◦Bind

58

Page 59: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

59

Page 60: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Enabling technologiesEnabling technologiesThey encapsulate a set of standards that allow

the developers to implement distributed applications.

SOAP (Simple Object Access Protocol),◦ XML messaging protocol for basic service

interoperabilityWSDL (Web Service Description Language)

◦ Common grammar for describing services UDDI (Universal Description Discovery and

Integration)◦ infrastructure required to publish and discover

services.60

Page 61: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

SOAPSOAP

Uniform way of ◦ passing XML-encoded data.◦ performing RPCs over SMTP,

FTP, TCP/IP, HTTP

1. The requestor sends a msg to the service

2. The service processes the msg.

3. The service sends back a response.The requestor has no knowledge of how the service is

implemented.

61

Page 62: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>

<SOAP-ENV:Body> <e:Book> <title>My Life and Work</title>

<firstauthor href="#Person-1"/> <secondauthor href="#Person-2"/>

</e:Book> <e:Person id="Person-1"><name>Henry Ford</name>

<address xsi:type="m:Electronic-address">

<email>mailto:[email protected]</email> <web>http://www.henryford.com</web> </address>

</e:Person> <e:Person id="Person-2"> <name>Samuel Crowther</name> <address xsi:type="n:Street-address">

<street>Martin Luther King Rd</street>

<city>Raleigh</city> <state>North Carolina</state> </address>

</e:Person> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

SOAP ExampleSOAP Example

62

Page 63: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

SOAP - RPCSOAP - RPCMust define an RPC protocol

◦How will types be transported (in XML) and how application represents them.

◦RPC parts (object id, operation name, parameters)

SOAP assumes a type system based on XML-schema.

63

Page 64: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

SOAP Example - SOAP Example - doGoogleSearchdoGoogleSearch

<SOAP-ENV:Envelope xmlns:SOAP-ENV= http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"><SOAP-ENV:Body>

<ns1:doGoogleSearch xmlns:ns1="urn:GoogleSearch" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

<key xsi:type="xsd:string">00000000000000000000000000000000</key>

<q xsi:type="xsd:string">my query</q> <start xsi:type="xsd:int">0</start>

<maxResults xsi:type="xsd:int">10</maxResults> <filter xsi:type="xsd:boolean">true</filter> <restrict xsi:type="xsd:string"/>

<safeSearch xsi:type="xsd:boolean">false</safeSearch> <lr xsi:type="xsd:string"/> <ie xsi:type="xsd:string">latin1</ie>

<oe xsi:type="xsd:string">latin1</oe></ns1:doGoogleSearch>

</SOAP-ENV:Body></SOAP-ENV:Envelope>64

Page 65: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" ………..<SOAP-ENV:Body><ns1:doGoogleSearchResponse xmlns:ns1="urn:GoogleSearch" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

<return xsi:type="ns1:GoogleSearchResult"><documentFiltering xsi:type="xsd:boolean">false</documentFiltering><estimatedTotalResultsCount

xsi:type="xsd:int">3</estimatedTotalResultsCount><directoryCategories

xmlns:ns2="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:Array" ns2:arrayType="ns1:DirectoryCategory[0]"/>

<searchTime xsi:type="xsd:double">0.194871</searchTime><resultElements

xmlns:ns3="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:Array" ns3:arrayType="ns1:ResultElement[3]"><item xsi:type="ns1:ResultElement"><cachedSize xsi:type="xsd:string">12k</cachedSize><directoryCategory

xsi:type="ns1:DirectoryCategory">Category</directoryCategory><relatedInformationPresent

xsi:type="xsd:boolean">true</relatedInformationPresent><directoryTitle xsi:type="xsd:string"/><summary xsi:type="xsd:string"/><URL xsi:type="xsd:string">http://hci.stanford.edu/cs147/example/shrdlu/</

URL><title xsi:type="xsd:string">&lt;b&gt;SHRDLU&lt;/b&gt;</title></item>

SOAP Example - doGoogleSearchResult

65

Page 66: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

WSDLWSDLIDL of Web ServicesXML format developed by IBM &

MS.Provides two types of information

◦Abstract interface: Application-level service description

◦Protocol dependent details

66

Page 67: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

WSDL - Abstract interfaceWSDL - Abstract interfaceMessages exchanged in an

interaction.Components:

◦Vocabulary (XSD for type definition) ◦Message: abstract, typed data

definition sent to and from services.◦Interaction

67

Page 68: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

VocabularyVocabulary<wsdl:types> <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"

targetNamespace="urn:GoogleSearch"> <xsd:complexType name="GoogleSearchResult">

<xsd:all> <xsd:element name="documentFiltering" type="xsd:boolean"/> <xsd:element name="searchComments" type="xsd:string"/> <xsd:element name="estimatedTotalResultsCount" type="xsd:int"/> <xsd:element name="estimateIsExact" type="xsd:boolean"/> <xsd:element name="resultElements" type="typens:ResultElementArray"/> <xsd:element name="searchQuery" type="xsd:string"/> <xsd:element name="startIndex" type="xsd:int"/> <xsd:element name="endIndex" type="xsd:int"/> <xsd:element name="searchTips" type="xsd:string"/> <xsd:element name="directoryCategories"

type="typens:DirectoryCategoryArray"/> <xsd:element name="searchTime" type="xsd:double"/>

</xsd:all></xsd:complexType>

68

Page 69: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

MessageMessage

<message name="doGoogleSearch"><part name="key" type="xsd:string"/><part name="q" type="xsd:string"/><part name="start" type="xsd:int"/><part name="maxResults" type="xsd:int"/><part name="filter" type="xsd:boolean"/><part name="restrict" type="xsd:string"/><part name="safeSearch" type="xsd:boolean"/><part name="lr" type="xsd:string"/><part name="ie" type="xsd:string"/><part name="oe" type="xsd:string"/>

</message><message name="doGoogleSearchResponse">

<part name="return" type="typens:GoogleSearchResult"/></message>

69

Page 70: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

InteractionInteraction<binding name="GoogleSearchBinding"

type="typens:GoogleSearchPort"><soap:binding style="rpc“ transport="http://schemas.xmlsoap.org/soap/http"/><operation name="doGetCachedPage">

<soap:operation soapAction="urn:GoogleSearchAction"/>

<input><soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/

soap/encoding/" namespace="urn:GoogleSearch"/>

</input><output>

<soap:body use="encoded"

encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:GoogleSearch"/></output>

</operation>

70

Page 71: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

UDDIUDDIGlobal business registryRoot under www.uddi.orgThree types of information

◦White pages◦Yellow pages◦Green pages

71

Page 72: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

UDDI information modelUDDI information model

BusinessEntityInfo about business that publishesInfo about service

BusinessServiceDescriptive info abouta service

BindingTemplateTechnical info about a serviceend point

tModelDescriptions on specifications ofservices

PublisherAssertionInfo about relationshipbetween 2 parties

encapsulates

encapsulates

72

Page 73: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Web Service CompositionWeb Service Composition

Definition: Technique of composing the functionalities of relatively simpler services to produce a ‘meaningful’ arbitrarily complex application.

73

Page 74: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

WS composition - WS composition - ClassificationClassification

Proactive Composition & Reactive Composition◦Proactive: offline composition of

available services When: services are stable and always

running Example: ticket reservation service

◦Reactive: dynamically creating a composite service. When: composite service not often used

and service processes not stable. Example: tour manager where the itinerary

is not predefined

74

Page 75: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

WS composition – Classification WS composition – Classification (2)(2)

Mandatory & Optional-Composite

Services ◦Mandatory: all subcomponents must

participate to yield a result Example: service that calculates the

averages of stock values for a company.◦Optional: subcomponents are not

obligated to participate for a successful execution. Example: services that include a

subcomponent that is an optimizer.

75

Page 76: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Important issues on WS Important issues on WS compositioncompositionService DiscoveryService DiscoveryService Coordination and Management Uniform Information Exchange

Infrastructure Fault Tolerance and Scalability Adaptiveness ReliabilityReliability & TransactionsTransactions SecuritySecurity Accountability Testing

76

Page 77: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Service DiscoveryService Discovery An efficient discovery structure should be able:

◦ find out all services implementing some functionality (ontology)

◦ semantic level reasoning (discover most appropriate service).

◦ scalable. Most of existing discovery infrastructures use a

central lookup server (Jini, UPnP) Semantic Language: DAML-S, a process modelling

language for computer-interpretable description of services. ◦ AI inspired description logic-based language, built on

top of XML + RDF for well-defined semantics and a set of language constructs and properties.

77

Page 78: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Service DiscoveryService Discovery - DAML- - DAML-SS

Enables automatic Web Service discovery. =automatic location of services with required functionality.

Currently performed manually DAML-S: expressed in computer

interpretable semantic markup.

78

Page 79: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Service Discovery - Example of Service Discovery - Example of DAML-SDAML-S

<daml:Class rdf: ID=”CompositeProcess”><daml:intersectionOf rdf>parseType =

“daml:collection”><daml:Class rdf:about=”#Process”/><daml:Restriction daml:minCardinality=”1”>

<daml:onProperty rdf:resource=”#composedOf”/></daml:Restriction>

</daml:intersectionOf></daml:Class>

<rdf:Property rdf:ID=”composedOf”><rdfs: domain rdf:resource=”#CompositeProcess”/><rdfs: range rdf:resource=”#ControlConstruct”/></rdf:Property>

79

Page 80: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

ReliabilityReliability & Transactions& Transactions How we can measure reliability? WS descriptions may lie! Transactions are fundamental to reliable distributed

computing. Traditional transaction systems support ACID

semantics, use a two-phase commit approach: all participating resources are locked until entire transaction is completed. ◦ Only in close environments where transactions are short-

lived ◦ Not on an open environment (flexibility in how it is

attained) MS XLANG: compensating transactions. Split the model into concurrent sub-transactions that

can commit independently (requires compensation over committed sub transactions in case of abortion).

80

Page 81: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

SecuritySecurity Basic security: HTTP over SSL Authorisation control.

◦ Existing authorisation control frameworks not applicable to WS (designed for some services e.g. network access control (DIAMETER) or not well designed to access different administrative domains (.NET Passport))

◦ Proposal: generic authorisation control protocol based on SOAP/XML. Supports credential transformation. Need for CA in each domain. It will issue users and

services with certificate and secret key pairs used for user authentication and request signing.

Credentials described in an XML-based language. Authorisation server validates the certificate, credentials etc. If everything is successfully validated, the authorisation server sends back a SOAP response containing the result.

81

Page 82: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Semantic Web ServicesSemantic Web Services

82

Page 83: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Semantic Web Technology

+

Web Service Technology

Semantic Web ServicesSemantic Web Services

=> Semantic Web Services as integrated solution for realizing Vision of Next Generation Web Technologies of the next generation of the Web

• allow machine supported data interpretation• ontologies as data model

automated discovery, selection, composition, and web-based execution of services

83

Page 84: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Semantic Web ServicesSemantic Web Servicesdefine exhaustive description

frameworks for describing Web Services and related aspects (Web Service Description Ontologies)

support ontologies as underlying data model to allow machine supported data interpretation (Semantic Web aspect)

define semantically driven technologies for automation of the Web Service usage process (Web Service aspect)

84

Page 85: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Semantic Web ServicesSemantic Web Services

Usage Process:Publication: Make available the description of the

capability of a service Discovery: Locate different services suitable for a

given task Selection: Choose the most appropriate services

among the available ones Composition: Combine services to achieve a goalMediation: Solve mismatches (data, protocol,

process) among the combined Execution: Invoke services following

programmatic conventions

85

Page 86: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

Semantic Web ServicesSemantic Web Services

Execution support:

Monitoring: Control the execution process

Compensation: Provide transactional support and undo or mitigate unwanted effects

Replacement: Facilitate the substitution of services by equivalent ones

Auditing: Verify that service execution occurred in the expected way

86

Page 87: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

87

Additional Reading (Semantic Web)

Dieter Fensel, Wolfgang Wahlster, Henry Lieberman, James Hendler (Eds.): “Spinning the Semantic Web: Bringing the World Wide Web to Its Full Potential”, MIT Press, 2002

John Davies, Dieter Fensel & Frank van Harmelen:, “Towards the Semantic WEB – Ontology Driven Knowledge Management”, John Wiley, 2002

Johan Hjelm, “Creating the Semantic Web with RDF”, John Wiley, 2001

Dieter Fensel: “Ontologies: A Silver Bullet for Knowledge Management and Electronic Commerce”, Springer Verlag, 2001

Jeff Pollock and Ralph Hodgson, "Adaptive Information: Improving Business Through Semantic Interoperability, Grid Computing, and Enterprise Integration“, Wiley Computer Publishing, September 2004

Michael C. Daconta, Leo J. Obrst, Kevin T. Smith: “The Semantic Web: A Guide to the Future of XML, Web Services, and Knowledge Management”, John Wiley, 2003

Thomas B. Passin, "Explorer's Guide to the Semantic Web", ISBN 1932394206, June 2004

M. Klein and B. Omelayenko (eds.), “Knowledge Transformation for the Semantic Web”, Vol. 95, Frontiers in Artificial Intelligence and Applications, IOS Press, 2003

87

Page 88: Internet Engineering Course Semantic Web, Web Services, Semantic Web Services 1.

88

1. Dipanjan Chakraborty, Technical Report TR-CS-01-19: Dynamic Service composition: State-of-the-Art and Research Directions. University of Maryland, Baltimore County, 2001.

2. Anans Rajamam, “Overview of UDDI”, Online, 2001.3. F.Curbera and al, “Unraveling the Web Services Web: An

Introduction to SOAP, WSDL, and UDDI”. IEEE Internet Computing March-April 2002, p.86-93.

4. DAML Service Coalition, DAML-S Semantic Markup for Web Services. Online at http://www.daml.org/services/daml-s/2001/10/daml-s.html, 2001.

5. WSDL Specification, Online at http://www.w3c.org/TR/wsdl.6. Steve Vinoski, Web Services and Dynamic Discovery, Online at

http://www.webservices.org/article.php?sid=389, 2001.7. UDDI Specification, Online at http://uddi.org/.8. Sheila A. McIlaith, Tran Cao Son, Honglei Zeng, Semantic Web

Services, IEEE Intelligent Systems, 20019. Vladimir Tosic, Bernard Pagurek, Babak Esfandiari, Kruti Patel, On

the Management of Composition of Web Services, Carleton University, Canada.

10.Tom Clements, “Overview of SOAP”. Online at: http://dcb.sun.com/practices/webservices/overviews/overview_soap.jsp

11.Deitel,”Web Services: A technical Introduction”, Prentice Hall, 2002.

Additional Reading (Web Services)

88