Upload
trinhdieu
View
216
Download
0
Embed Size (px)
Citation preview
1
SemanticSemantic Web ServicesWeb ServicesWeb ServicesWeb Services
SOAPSOAP –– Simple Simple ObjectObject Access Access ProtocolProtocolWSDLWSDL –– Web Service Web Service DiscriptionDiscription LanguageLanguageUDDI UDDI –– Universal Description, Discovery and Universal Description, Discovery and
Integration Integration
Web Services mit Semantik Web Services mit Semantik OWLOWL--S S –– Web Web OntologyOntology LanguageLanguage Service Service WSMF WSMF –– Web Service Web Service ModellingModelling Framework Framework
22
Um die Verwendung von Diensten auch für Programme möglich zu macUm die Verwendung von Diensten auch für Programme möglich zu machenhen,sind folgende Funktionen erforderlich: sind folgende Funktionen erforderlich:
Eine komplette Übermittlung der Informationen Eine komplette Übermittlung der Informationen
Eine verwertbare Beschreibung des Dienstes Eine verwertbare Beschreibung des Dienstes
Ein Verzeichnis vorhandener Dienste Ein Verzeichnis vorhandener Dienste
Web ServicesWeb Servicesdie Transportinfrastruktur des die Transportinfrastruktur des SemanticSemantic WebWeb
SOAP SOAP –– Simple Simple ObjectObject Access Access ProtocolProtocol
WSDL WSDL –– Web Service Web Service DiscriptionDiscription LanguageLanguage
UDDI UDDI –– Universal Description, Discovery and IntegrationUniversal Description, Discovery and Integration
Webservices sind wieder verwertbare Dienste, die über das InternWebservices sind wieder verwertbare Dienste, die über das Internet et angeboten werden. angeboten werden.
Meistens auf die Meistens auf die Bedienung durch MenschenBedienung durch Menschen zugeschnitten zugeschnitten
SemanticSemantic Web Web Bedienung und Verarbeitung dieser Dienste für Bedienung und Verarbeitung dieser Dienste für ProgrammeProgramme
2
33
Web ServicesWeb Servicesdie Transportinfrastruktur des die Transportinfrastruktur des SemanticSemantic WebWeb
Grafik: http://w
ww
11.informatik.tu-m
uenchen.de/lehre/seminare/sem
inarSW-S
S2002/extension/w
ebservices.pdf
Die Suchanfrage eines Programms könnte so aussehen:
1. Das Programm fragt in einem UDDI-Verzeichnis nach Diensten die Suchanfragen beantworten
2. Von diesen Diensten wählt es einen aus und holt sich davon eine WSDL-Beschreibung, wie der Dienst zuverwenden ist
3. Mit diesen Informationen nimmt das Programm nun per SOAP-Nachricht Kontaktzu dem Dienst auf und erhält das Ergebnis zurück.
44
Web ServicesWeb ServicesBeispiel für einen Webservice: Beispiel für einen Webservice: GoogleGoogle
www.google.com/apis
Search Web Service•Monitoring•Marktforschung•Alerting•eigene Suchmaske•...
SOAP/WSDL
Java
.Net, Perl…
3
55
SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocol
Was ist SOAP?Was ist SOAP?
Hauptautor: Don Box, (DevelopMentor), einer der Autoren des XML-Manifests
Ziele:
•Einfachheit•Erweiterbarkeit•Einsatz auf verteilten Systemen, auch durch Firewalls hindurch•aktuelle Standards nutzen (HTTP und XML)
•einfacher und durchsichtiger Mechanismus zum Austausch von strukturierten und getypten Informationen zwischen Rechnern in einer dezentralisierten, verteilten Umgebung
•kein Programmiermodell, sondern ein unkomplizierter Mechanismus zur Beschreibung der internen Semantik einer Anwendung
Seife?
•Nachrichtenaustausch von XML-Dokumenten, meist zum entfernten Aufruf von Methoden bzw. Prozeduren auf anderen Rechnern (eigentlicher Transport meist über HTTP)
SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocol
SOAP ist XMLSOAP ist XML
SOAP ist SOAP ist XMLXML--basiertesbasiertesProtokoll, das aus 3 Teilen besteht:Protokoll, das aus 3 Teilen besteht:
Spezifikation für einen Umschlag (Spezifikation für einen Umschlag (EvelopeEvelope):):Was ist in der Nachricht?Was ist in der Nachricht?Von wem wird sie wie verarbeitet?Von wem wird sie wie verarbeitet?Welche Daten können/müssen enthalten sein?Welche Daten können/müssen enthalten sein?
KodierKodier-- und Ordnungsregeln (und Ordnungsregeln (SerializationSerialization):):Welche Instanzen und Welche Instanzen und anwendungsspezifischenanwendungsspezifischen Datentypen Datentypen
werden verwendet?werden verwendet?KonventionKonvention
Wie sind Wie sind RemoteRemote ProcedureProcedure CallsCalls und und deren Antworten darzustellen?deren Antworten darzustellen?
XML/SOAP
EnvelopeHeader
Body
4
77
SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocol
Das NachrichtenmodellDas NachrichtenmodellAktionen beim Empfangen einer Nachricht:•Welche Teile der Nachricht sind für die Anwendung bestimmt?
•Werden alle ausgewählten Teile der Nachricht von der Anwendung unterstützt?(Falls nicht, Nachricht verwerfen. Optionale Teile können ohne Einfluss auf Ergebnis entfallen)
•Ist diese Anwendung der endgültige Empfänger? (Falls nicht, alle für diese Anwendung bestimmten Teile entfernen, anschließend weiterleiten)
Verarbeiten einer Nachricht:
Der SOAP-Prozessor muss über folgende Informationen verfügen:•Das Muster des Nachrichtenaustauschs (Einweg, Frage/Antwort. Multicast)•Die Rolle des SOAP-Prozessors in diesem Nachrichtenwechsel•Den Einsatz von evtl. vorhandenen RPC-Mechanismen
•Die Datenrepräsentation und –kodierung•Alle weiteren Sematiken, die zum korrekten Verarbeiten der Nachrichten benötigt werden
88
SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocol
Die Die SOAPSOAP--NachrichtNachrichtDer Soap-Envelope: •Syntax-Regeln:
•Der Name lautet „Envelope“•Muss in jeder Nachricht enthalten sein•Darf Deklarationen von Namensräumen enthalten sowie zusätzliche Attributeund Unterelemente, die jedoch im Namensraum qualifiziert werden müssen•Das encodingStyle-Attribut verweist auf Ordnungsregel (Serialization),die in der SOAP-Nachricht verwendet werden soll
Der SOAP-Header:•Ist das erste direkte Kindelement des SOAP-Envelope-Elements.
•Syntax-Regeln:•Jeder Header-Entry wird durch seinen Namen identifiziert, der aus dem Namespace-URI und dem lokalen Namen besteht•Das Encoding-Style-Attribut darf benutzt werden, um die Ordnungsregelnder Header-Entries festzulegen
•Die Attribute mustUnderstand und actor können benutzt werden, um zubeschreiben, wie ein Header-Entry verarbeitet werden soll und von wem
5
99
SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocol
Die Die SOAPSOAP--NachrichtNachrichtDer SOAP-Body:•Body-Element ist direktes Kindelement des Envelopes und steht damit entweder direkt nach dem Header-Element (wenn vorhanden) oder ist das ersteKindelement des des Envelope-Elements.
•Alle direkten Kindelemente des Body-Elements heissen Body-Entries, wobei jeder Body-Entry ein unabhängiges Element im SOAP-Body darstellt.
•Es gelten folgende Syntaxregeln: •Das Body-Entry wird durch seinen Elementnamen, der aus Namespace und dem lokalen Namen besteht, eindeutig identifiziert.•Das Encoding-Style-Attribut darf verwendet werden, um die Serialization-Regelnnach denen dieses Element kodiert wurde, festzulegen.
•Ein Body-Element ist vordefiniert, das Fault-Element, welches zur Fehlerdiagnose dienen kann. Mögliche Kindelemente: faultcode | faultstring | faultactor | detail
Fehlercodes: VersionMismatch | MustUnderstand | Client | Server
1010
SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocol
Die Die SerialisierungSerialisierung•Serialisierung und Kodierung basiert auf einfachem Typsystem, welches eineVerallgemeinerung der Gesamtheit der in den bestehenden Programmiersprachen
und Datenbanksysteme vorhandenen Typsysteme darstellt.
•Ein Datentyp gehört entweder zu den einfachen oder zu den aus mehreren einfachen Datentypen zusammengesetzter Typ.
•Die Serialisierung der Daten erfolgt in 2 Schritten:
•Aus dem Datenmodell der Anwendung wird ein XML-Schema konstruiert
•Aus diesem Modell und dem aktuellen Datenbestand wird die eigentlicheXML-Datei erzeugt
•Default-Werte: Wird ein Wert nicht angegeben, wird ein Null-Wert angenommen (false/0/0.0)
6
1111
SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocol
Einfache DatentypenEinfache Datentypen•String, boolean, float, double, decimal, timeDuration, recurringDuration, binary, uriReference, ID, IDREF, ENTITY, QName<element name="nachname" type="string"/><element name="alter" type="int"/><element name="groesse" type="float"/><element name="lieblingsfarbe"><simpleType base="xsd:string"><enumeration value="Rot"/><enumeration value="Blau"/><enumeration value="Gelb"/></simpleType>
•Zwei Arten zusammengesetzter Datentypen: Structs und Arrays•Arrays: Einzelne Elemente werden durch ihre Position im Array identifiziert:
<element name="primzahlen" type="SOAP-ENC:Array"/><primzahlen SOAP-ENC:arrayType="xsd:int[2]">
<zahl>3</zahl><zahl>5</zahl>
</primzahlen>
Zusammengesetzte DatentypenZusammengesetzte Datentypen
1212
SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocolZusammengesetzte DatentypenZusammengesetzte Datentypen
•Structs: •Einzelne Bestandteile eines zusammengesetzten Wertes werden durch einzelne Unter-elemente repräsentiert. Bsp.:
•Structs können ihrerseits wieder Structs enthalten
<e:Buch><autor>David Flanagan</autor><titel>Java In A Nutshell</titel><verlag>O Reilly</verlag><preis>69.00</preis></e:Buch>
Structs mit Referenzen:<e:Buch><autor href="#pDF"/><titel>JavaScript - Das umfassende Referenzwerk</titel></e:Buch><e:Person id="pDF"><name>David Flanagan</name><adresse href="#adrDF"/></e:Person><e:adresse id="adrDF"><email>mailto:[email protected]</email><www>http://www.davidf.com</www></e:adresse>
7
1313
SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocol
RPCsRPCs über SOAPüber SOAPUm entfernte Methode aufzurufen, werden folgende Informationen veröffentlicht: •Der URI des Zielobjektes•Der Methodenname •Evtl. vorhandene Parameter der Methode
•Methodenaufruf wird von Struct repräsentiert, welcher mit Methodenname und Typ der entsprechenden Methode übereinstimmt
•Jeder IN oder IN/OUT-Parameter wird durch Element in diesem Struct repräsentiert
•Das Resultat des Methodenaufrufs wird ebenfalls durch einen einzigen Structrepräsentiert, jeder OUT oder IN/OUT-Parameter wird durch Element dieses Structrepräsentiert (Parameter in der selben Reihenfolge wie Methodensignatur)
•Evtl. Fehler sind mit dem SOAP-Fault-Element (sowie weiteren Protokollspezifischen Regeln, wie z.B. bei HTTP) zu übermitteln
1414
SOAPSOAPSimple Simple ObjectObject Access Access ProtocolProtocol
SOAP und SicherheitSOAP und Sicherheit•SOAP ist kein sicheres Protokoll, da sämtliche Daten in Klartext übersandt werden
•SOAP an sich ist unsicher, da…•Sicherheit kein Design-Ziel war•Alles möglichst einfach gehalten wurde•Sicherheitsaspekte an das Transportprotokoll oder die Anwendung delegiert werden
•Wie wird SOAP sicher?•Durch den Einsatz von sicheren Verbindungen (HTTPS)•Durch Zwischenschalten von Verschlüsselungsstationen•Durch Vergabe von einmaligen IDs zur Authentifizierung der jeweiligenNachricht
•SOAP sollte nicht unbedingt eingesetzt werden…•In homogenen Umgebungen, in Umgebungen die hohe Performance erfordern oder in Szenarios, die erhöhten Sicherheitsbedarf mit sich bringen
•Es empfiehlt sich SOAP einzusetzen:•In allen Umgebungen, die den obigen Punkten nicht entsprechen vor allem wenn es um Kommunikation unterschiedlicher Systeme aus unterschiedlichen Umgebungen über das Internet geht
8
1515
Kommunikation zu Services mittels SOAP Kommunikation zu Services mittels SOAP standardisiert, wie werden diese Schnittstandardisiert, wie werden diese Schnitt--stellen nun beschrieben? stellen nun beschrieben? WSDL (WSDL („„whistlewhistle““))
XMLXML--basiertebasierte Metasprache, definiert welche Methoden verfMetasprache, definiert welche Methoden verfüügbar sind, gbar sind, welche Parameter dabei welche Parameter dabei üübergeben werden mbergeben werden müüssen und was als ssen und was als RRüückgabetyp geliefert wird ckgabetyp geliefert wird technische Beschreibung der technische Beschreibung der auszutauschenden Nachrichten, gibt keine Information zur Bedeutuauszutauschenden Nachrichten, gibt keine Information zur Bedeutung der ng der Funktionen und ParameterFunktionen und Parameter
Wird serverseitig erzeugt und den Clients zur VerfWird serverseitig erzeugt und den Clients zur Verfüügung gestellt gung gestellt
WSDLWSDLWeb Service Description LanguageWeb Service Description Language
Was Was istist WSDL?WSDL?
1616
Unterteilung in 6 Teile:Unterteilung in 6 Teile:
1.1. Datentypen der RückDatentypen der Rück-- und Übergabeund Übergabe--werte werte –– typestypes
2.2. EingabeEingabe-- und Ausgabeparameter und Ausgabeparameter –– messagemessage
3.3. Methodensignaturen Methodensignaturen –– operationoperation
4.4. Zuordnung einzelner Methoden zu einer Zuordnung einzelner Methoden zu einer Operation Operation –– portTypeportType
5.5. Trägerprotokoll, über das kommuniziertTrägerprotokoll, über das kommuniziertwird wird –– bindingbinding
6.6. Adresse des Web Service Adresse des Web Service –– serviceservice
WSDLWSDLWeb Service Description LanguageWeb Service Description Language
DasDas WSDLWSDL--DokumentDokument
9
1717
UDDIUDDIUniversal Description, Discovery and IntegrationUniversal Description, Discovery and Integration
Was Was istist UDDI?UDDI?
•Nachdem ein Web-Service mittels WSDL definiert wurde, muss er veröffentlicht werden
•3 Informationsdienste: Business-, Service- und Technikinformationen
Kernbestandteile von UDDI:Kernbestandteile von UDDI:•Die Datenstruktur: Welche Datentypen sollen innerhalb von UDDI gespeichert werden?
•Die API-Spezifikation: Wie wird auf UDDI-Registry zugegriffen? Kann auf zwei Methoden reduziert werden: publishing-functions und inquiry functions
•Die Replikations-Spezifikation: Umfasst alle Informationen, um zwischen verschiedenenUDDI-Registries Informationen zu duplizieren
•Die Spezifikation für Registry-Anbieter: Umfasst Detail einzuhaltender Sicherheitsmaßnahmen, durch die ein standardisierter Zugriff erfolgen kann
1818
UDDIUDDIUniversal Description, Discovery and IntegrationUniversal Description, Discovery and Integration
XMLXML--Schema Schema einereiner UDDIUDDI--RegistryRegistry
Es gibt 4 verschiedene Elementtypen in einem UDDI-Registry-Eintrag:
tModel repräsentiert eine technische Spezifikation innerhalb derUDDI-Registry
10
1919
SemanticSemantic Web ServicesWeb Services
WWWURI, HTML, HTTP
Semantic WebRDF, RDF(S), OWL
Dynamic Web ServicesUDDI, WSDL, SOAP
Static
Semantic WebServices
Bisher: Bisher: Nur syntaktische InformationsbeschreibungNur syntaktische InformationsbeschreibungNur syntaktische Unterstützung beim suchen, erstellen und ausfühNur syntaktische Unterstützung beim suchen, erstellen und ausführenrenDie Art des WebDie Art des Web--Service und die möglichen Integrationen müssen Service und die möglichen Integrationen müssen manuell untersucht werdenmanuell untersucht werden
keine semantische Unterstkeine semantische Unterstüützungtzung
2020
SemanticSemantic Web ServicesWeb ServicesBeispiel: Online-Kauf eines Laptops (heute)
1) Finden von geeigneten Web Shops
2) Durchsuchen des Angebotes einzelner Web Shops nach dem gewünschten Modell
3) Vergleichen gleichwertiger Modelle aus den Angeboten verschiedener Shops
4) Anmeldung im ausgewählten Shop und
5) Abschließen des Kaufs durch Eintragen der Daten in ein Web Formular
6) Eventuelles wieder besuchen des Shops um den Versandstatus zu verfolgen.
11
2121
Beispiel: Online-Kauf eines Laptops mittels SWS:1) Eintragen des gewünschten Models und Kaufkriterien in eine Agentenanwendung2) Anwendung durchsucht automatisch das Web nach Shops und diese Shopsnach passenden Modellen3) Dem Benutzer wird eine Liste mit den gefundenen Ergebnissen präsentiert.4) Nach der Entscheidung des Benutzers schließt die Agentenanwendungautomatisch einen Kaufvertrag mit dem entsprechenden Web Shop über dasentsprechende Modell, übergibt zum Kauf notwendige Daten des Benutzers anden Web Shop und überweist den Kaufpreis vom Bankkonto (bei Vorkasse).5) Die Agentenanwendung wird vom Web Shop regelmäßig über den Versandstatus informieren
2222
SemanticSemantic Web ServicesWeb ServicesSemantic Web Service Komponenten:
12
2323
OWLOWL--SSUnterscheidet drei grundlegende Bestandteile einer semantischen Beschreibung v. WS:
•Profile – Was tut der Web Service?
•Prozessmodelle – Wie arbeitet der Web Service?
•Groundings – Wie kann man auf den Web Service zugreifen?
Eine Instanz von Service definiert einen auffindbaren und ausführbaren Service vollständig, wenn:
-mind. ein ServiceProfile-genau ein ServiceModel-mind. ein ServiceGrounding
2424
OWLOWL--SSProfile – Was tut der Web Service?
13
2525
OWLOWL--SS•Prozessmodelle – Wie arbeitet der Web Service?
2626
OWLOWL--SS•Groundings – Wie kann man auf den Web Service zugreifen?
14
2727
WSMFWSMFWeb Service Web Service ModellingModelling FrameworkFramework
Entwickelt auf zwei Prinzipien: •starke Verteilung der verschiedenen Dienste•Skalierbare Kommunikation verschiedener Formate über einen Verhandlungsservice
Dieter A. Fensel Christoph Bussler
Anforderungen: •Dokument-Typen•Semantiken•Protokoll-Abhängigkeit•Ablauf•Prozess-Ablauf•Sicherheit•Syntax•spezifische Konfiguration
Umgesetzt in WSMO – Web Service Modelling Ontology
2828
WSMOWSMOWeb Service Web Service ModellingModelling OntologyOntology
A Conceptual Model for SWS
A Formal Language for WSMO
A Rule-based Language for SWS
Execution Environment for WSMO
WSMO working group: SDK
WSMO
WSML
SDK + ASG = ESSI (European Semantic Systems initiative)
15
2929
WSMOWSMOWeb Service Web Service ModellingModelling OntologyOntology
Ziele, die ein Client mittels Web Services erreichen will
Stellt formal spezifizierte Terminologie der
Informationen zur Verfügung, die von allen
weiteren Bestandteile verwendet werden
Verbindung zwischen Bestandteilen als Vermittlung-Service bei Uneinheitlichkeit
Semantische Beschreibung des Web Service
Ontologien – Verwendung und Grundprinzipien •Werden als Datenmodell in WSMO verwendet•Sprache zur Beschreibung von WSMO-Ontologien ist WMSL•Designprinzipien:
•Modularisiert: Wiederverwendung und Import bestehender Ontologien•Entkoppelt: Unstimmigkeiten werden durch Mediators behoben
3030
WSMOWSMOWeb Service Web Service ModellingModelling OntologyOntology
Ziele, die ein Client mittels Web Services erreichen will
Stellt formal spezifizierte Terminologie der Informationen zur
Verfügung, die von allen weiteren Bestandteile
verwendet werden
Verbindung zwischen Bestandteilen als Vermittlung-Service bei Uneinheitlichkeit
Semantische Beschreibung des Web Service
Web Service DescriptionBeschreibung der Anforderungen: •Nicht funktionale Eigenschaften, importierte Ontologien, verwendete Mediators, Vorbedingungen, Annahmen, Nachbedingungen, Resultat
Beschreibung des Interface:•Nach außen sichtbares Verhalten, Kommunikationsstruktur, Grounding,
Formales Model
16
3131
WSMOWSMOWeb Service Web Service ModellingModelling OntologyOntology
Ziele, die ein Client mittels Web Services erreichen will
Stellt formal spezifizierte Terminologie der Informationen zur
Verfügung, die von allen weiteren Bestandteile
verwendet werden
Verbindung zwischen Bestandteilen als Vermittlung-Service bei Uneinheitlichkeit
Semantische Beschreibung des Web Service
Goals – die ZieleSpecification: •Nichtfunktionale Eigenschaften•Importierte Ontologien•Vermittler (Mediators) für importierte Ontologien mit unterschiedlichen Lösungen,Zieldefinition mittels Wiederverwendung eines bereits existierenden Ziels,
erlaubt Definition von Ziel-Ontologien•Erwartete Fähigkeiten: beschreibt die erwartete Funktionalität d. Service•Erwartetes Interface: beschreibt Kommunikationsverhalten welchesunterstützt werden muss
3232
WSMOWSMOWeb Service Web Service ModellingModelling OntologyOntology
Ziele, die ein Client mittels Web Services erreichen will
Stellt formal spezifizierte Terminologie der Informationen zur
Verfügung, die von allen weiteren Bestandteile
verwendet werden
Verbindung zwischen Bestandteilen als Vermittlung-Service bei Uneinheitlichkeit
Semantische Beschreibung des Web Service
Mediators - VermittlerUneinheitlichkeit:
•fehlende Übereinstimmung in struktureller/semantischer/ konzeptueller Ebene•Beruht auf Kombinationen von unterschiedlichen Komponenten, insbesonderein offenen Umgebungen wie dem Internet
Konzept der Mediator: •Intelligenter Mechanismus zur Behebung von Unstimmigkeiten abhängig vom Inhalt
•Können nicht vollständig automatisiert werden
17
3333
WSMOWSMOWeb Service Web Service ModellingModelling OntologyOntology
Mediators - Struktur
OO MediatorMediation Service
Train ConnectionOntology (s1)
Purchase Ontology (s2)
Train Ticket Purchase Ontology
Mediation Services
Goal:“merge s1, s2 and s1.ticket subclassof s2.product”
Discovery
Merging 2 ontologies
3434
WSMO WSMO OWLOWL--S S OWL-S:-Ontologien und Web Service beschreiben-nutzt und erweitert vorhandeneStandards
WSMO:-vollständiges Konzept für Web Services: Ontologien,Web Services, Goals, Mediators-Ontologien als Datenmodell
--MediatorsMediators--MediationMediation
Heterogeneity Heterogeneity handlinghandling
GroundingGrounding(WSDL / (WSDL / SOAP, SOAP,
ontologyontology--basedbased) )
Service Service Interfaces Interfaces
(Choreography (Choreography + +
Orchestration)Orchestration)
Goals and Web Goals and Web Services Services
(capability)(capability)
WSMOWSMO
WSDL / SOAPWSDL / SOAP
GroundingGrounding+ +
WSDL/SOWSDL/SOAPAP
InvocationInvocationHow to invokeHow to invoke
BPEL4WS / BPEL4WS / WSWS--CDL CDL
Process Process ModelModel
ConsumptionConsumption& Interaction & Interaction
How to consume How to consume & aggregate& aggregate
UDDI APIUDDI APIProfileProfileDiscoveryDiscoverydetection of detection of suitable WSsuitable WS
current Web current Web Service Service
technologiestechnologiesOWLOWL--SS