Kontext-basierte Personalisierung von Web Services

Post on 01-Feb-2016

28 views 2 download

description

Kontext-basierte Personalisierung von Web Services. Markus Keidl , Stefan Seltzsam, Christof König und Alfons Kemper Universität Passau Fakultät für Mathematik und Informatik 94030 Passau @db.fmi.uni-passau.de. Gliederung. Motivation Kontext für Web Services - PowerPoint PPT Presentation

Transcript of Kontext-basierte Personalisierung von Web Services

Kontext-basierte Personalisierung von Web Services

Markus Keidl, Stefan Seltzsam, Christof König und Alfons Kemper

Universität PassauFakultät für Mathematik und Informatik

94030 Passau<Nachname>@db.fmi.uni-passau.de

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 2

Gliederung

Motivation Kontext für Web Services Dienstplattform ServiceGlobe Dynamische Dienstauswahl Zusammenfassung und Ausblick

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 3

Motivation Einsatz von Web Services im B2C-

Bereich Heterogener Nutzerkreis erfordert

Personalisierbarkeit und Flexibilität

Kontext inkl. Vorgaben für dynamische Dienstauswahl

Internet als verteiltes System Dienstplattform ServiceGlobe

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 4

Kontext für Web Services

Informationen für einen Web Service, um Benutzern eine angepasste und personalisierte Version seiner selbst zur Verfügung zu stellen

Auswertung erfolgt automatisch, soweit möglich

Übertragung im SOAP-Header Verwendung ist optional

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 5

Kontextinformationen

Kontaktinformationen:Name, Adresse, Email, …

Klienteninformationen:Hard-/Software, Standort, …

Vorgaben für die dynamische Dienstauswahl

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 6

Was ist ServiceGlobe?

Forschungsplattform für Web Services Implementiert in Java Basierend auf Standards (XML, SOAP,

UDDI, WSDL, …) Entwicklung von neuen Technologien

für die Ausführung und Entwicklung von Diensten

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 7

Eigenschaften von ServiceGlobe

Dienste sind mobiler Code Laden des Codes von Diensten zur Laufzeit Verteilung von Diensten

Runtime Service Loading Sicherheitssystem Transaktionssystem Lastbalancierung und automatische

Dienstreplikation

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 8

Einteilung von Diensten

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 9

Beispielszenario: Portal für Reiseagenturen

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 10

in oder bei Leipzig

Code-Bibliothek

AttaktionenSuche

Reiseplanung

Klient

Service-Host

UDDI-Verzeichnis

Service-Host

Zoo Leipzig

Externer Dienst

Thomaskirche

Externer Dienst

Architektur von ServiceGlobe

Auerbachs Keller

Externer Dienst

Reiseplanung

AttraktionenSuche

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 11

Dynamische Dienstauswahl

UDDI: Zuordnung von Diensten zu tModels (Beschreibung der Funktionalität und der Schnittstelle)

'Aufruf eines tModels' anstatt 'Aufruf eines Dienstes'

Beeinflussung von Auswahl und Aufruf durch Vorgaben

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 12

Beispiel zur Dienstauswahl

AttraktionenSuche

Auerbachs Keller

S_2

Zoo Leipzig

S_3

Thomaskirche

S_1

UDDI-Verzeichnis

tModel: Attraktion

S_1 S_2 S_3

Programmieren

Aufruf des tModels

Attraktion

Aufruf der Dienste

S_1 S_2

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 13

Klassifikation von Vorgaben

Metadaten-Vorgaben

Orts-Vorgaben

Modus-Vorgaben

Antwort-Vorgaben

Ergebnis-Vorgaben

Selektion Eigenschaft Timeout FirstN

Präferenzen X X XEinschränkungen

Anwendung auf Metadaten(UDDI, …)

Anwendung auf SOAP-Antwort

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 14

Metadaten-Vorgaben

XPath-Anfragen auf Dienst-Metadaten Metadaten: UDDI + zusätzliche Beispiele:

<metadataPreference> /businessEntity/name="Sheraton"</metadataPreference>

<metadataCondition> /ServiceMetadata/CostsPerCall="0"</metadataCondition>

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 15

Orts-Vorgaben

Auswahl anhand des Dienst-Standorts (festgelegt in UDDI)

Beispiele:<locationCondition

addressType="Geographical" serviceType="All">

<center>DE-SN-LEJ</center> <maxDistance>50km</maxDistance></locationCondition>

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 16

Modus-Vorgaben

Spezifikation der Anzahl der aufzurufenden Dienste

Aufrufmodi: One, Some, All Beispiele:

<modeCondition modeType="Some" number="5" numberType="Percentage"/>

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 17

Antwort-Vorgaben Eigenschafts-Vorgaben:

Abfrage von Eigenschaften einer Antwort Einfügen von Eigenschaften durch Dienste, Dienstplattform

Selektions-Vorgaben: XPath-Anfragen auf SOAP-Antwort Beispiel:

<propertyCondition> <signature> <signatureDN> CN=Cust,O=Universität Passau, C=DE </signatureDN> </signature></propertyCondition>

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 18

Ergebnis-Vorgaben

Timeout-Vorgaben FirstN-Vorgaben Beispiele:

<timeoutCondition value="100" valueUnit="Seconds"/>

<firstNCondition number="10" numberType="Percentage"/>

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 19

Kombination von Vorgaben

Operatoren: AND, OR Negation:

Metadaten-, Selektions-Vorgaben: negierte XPath-Ausdrücke

Orts-, Eigenschafts-Vorgaben:momentan noch nicht möglich

Modus-, Ergebnis-Vorgaben: nicht sinnvoll

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 20

Beispiel für eine Vorgaben-Kombination Beispiel:

<orGroup> <andGroup> <metadataCondition> /ServiceMetadata/ServiceType="Dynamic" </metadataCondition> <locationPreference serviceType="Dynamic" addressType="Geographical"> <pattern>DE-SN-LEJ</pattern> </locationPreference> </andGroup> <locationPreference serviceType="All"

addressType="Geographical"> <pattern>DE-*-*</pattern> </locationPreference></orGroup>

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 21

Auswertung von Vorgaben

Zusammenfassen aller Vorgaben für einen tModel-Aufruf

Transformation in DNF Auflösung von Konflikten basierend

auf Prioritäten Parallele Auswertung von disjunktiv

verknüpften AND-Termen

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 22

Quellen für Vorgaben

Angabe direkt im Web Service Vorgaben im Kontext:

Klient fügt Vorgaben in Kontext ein Service-Hosts Web Services in der Aufrufkette

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 23

Zusammenfassung

Kontext für Web Services Dienstplattform: ServiceGlobe

Architektur Schlüsseleigenschaften

Dynamische Dienstauswahl Personalisierbare und flexible

Ausführung von Diensten

BTW '03 - Leipzig - Kontext-basierte Personalisierung von Web Services 24

Ausblick

Caching von SOAP-Antworten Evaluierung von automatisch

auswertbaren Kontextinformationen und Dienst-Metadaten

Weitere Informationen (inkl. Demo):http://www.db.fmi.uni.passau.de/projects/sg