1 / 24

Kontext-basierte Personalisierung von Web Services

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. Gliederung. Motivation Kontext für Web Services

makaio
Download Presentation

Kontext-basierte Personalisierung von Web Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Gliederung • Motivation • Kontext für Web Services • Dienstplattform ServiceGlobe • Dynamische Dienstauswahl • Zusammenfassung und Ausblick

  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

  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

  5. Kontextinformationen • Kontaktinformationen:Name, Adresse, Email, … • Klienteninformationen:Hard-/Software, Standort, … • Vorgaben für die dynamische Dienstauswahl

  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

  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

  8. Einteilung von Diensten

  9. Beispielszenario: Portal für Reiseagenturen

  10. in oder bei Leipzig Klient UDDI- Verzeichnis Auerbachs Keller Zoo Leipzig Thomaskirche Externer Dienst Externer Dienst Service-Host Externer Dienst AttaktionenSuche Service-Host Reiseplanung Code-Bibliothek Architektur von ServiceGlobe AttraktionenSuche Reiseplanung

  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

  12. Zoo Leipzig S_3 S_2 S_1 S_1 S_2 S_3 Thomaskirche Auerbachs Keller S_2 S_1 Programmieren Aufruf der Dienste Beispiel zur Dienstauswahl UDDI-Verzeichnis tModel: Attraktion AttraktionenSuche Aufruf des tModels Attraktion

  13. Anwendung auf Metadaten(UDDI, …) Anwendung auf SOAP-Antwort Klassifikation von Vorgaben

  14. Metadaten-Vorgaben • XPath-Anfragen auf Dienst-Metadaten • Metadaten: UDDI + zusätzliche • Beispiele:<metadataPreference> /businessEntity/name="Sheraton"</metadataPreference><metadataCondition> /ServiceMetadata/CostsPerCall="0"</metadataCondition>

  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>

  16. Modus-Vorgaben • Spezifikation der Anzahl der aufzurufenden Dienste • Aufrufmodi: One, Some, All • Beispiele:<modeCondition modeType="Some" number="5" numberType="Percentage"/>

  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>

  18. Ergebnis-Vorgaben • Timeout-Vorgaben • FirstN-Vorgaben • Beispiele:<timeoutCondition value="100" valueUnit="Seconds"/><firstNCondition number="10" numberType="Percentage"/>

  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

  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>

  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

  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

  23. Zusammenfassung • Kontext für Web Services • Dienstplattform: ServiceGlobe • Architektur • Schlüsseleigenschaften • Dynamische Dienstauswahl • Personalisierbare und flexible Ausführung von Diensten

  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

More Related