24
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 <Nachname>@db.fmi.uni-passau.de

Kontext-basierte Personalisierung von Web Services

  • Upload
    derron

  • View
    28

  • Download
    2

Embed Size (px)

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

Citation preview

Page 1: 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

Page 2: Kontext-basierte Personalisierung von Web Services

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

Gliederung

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

Page 3: Kontext-basierte Personalisierung von Web Services

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

Page 4: Kontext-basierte Personalisierung von Web Services

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

Page 5: Kontext-basierte Personalisierung von Web Services

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

Page 6: Kontext-basierte Personalisierung von Web Services

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

Page 7: Kontext-basierte Personalisierung von Web Services

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

Page 8: Kontext-basierte Personalisierung von Web Services

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

Einteilung von Diensten

Page 9: Kontext-basierte Personalisierung von Web Services

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

Beispielszenario: Portal für Reiseagenturen

Page 10: Kontext-basierte Personalisierung von Web Services

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

Page 11: Kontext-basierte Personalisierung von Web Services

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

Page 12: Kontext-basierte Personalisierung von Web Services

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

Page 13: Kontext-basierte Personalisierung von Web Services

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

Page 14: Kontext-basierte Personalisierung von Web Services

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>

Page 15: Kontext-basierte Personalisierung von Web Services

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>

Page 16: Kontext-basierte Personalisierung von Web Services

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"/>

Page 17: Kontext-basierte Personalisierung von Web Services

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>

Page 18: Kontext-basierte Personalisierung von Web Services

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"/>

Page 19: Kontext-basierte Personalisierung von Web Services

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

Page 20: Kontext-basierte Personalisierung von Web Services

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>

Page 21: Kontext-basierte Personalisierung von Web Services

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

Page 22: Kontext-basierte Personalisierung von Web Services

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

Page 23: Kontext-basierte Personalisierung von Web Services

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

Page 24: Kontext-basierte Personalisierung von Web Services

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