Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von...

113
Universit¨ at Hamburg Fachbereich Informatik Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨ at Hamburg von cand. inform. Cornelia Jacobsen uderfeldstraße 51 22529 Hamburg Matrikelnummer 472 41 79 - Erstbetreuer - Prof. Dr. J.W. Schmidt Arbeitsbereich Softwaresysteme, Technische Universit¨ at Hamburg-Harburg - Zweitbetreuer - Prof. Dr. A. Rolf Arbeitsbereich Angewandte und Sozialorientierte Informatik, Fachbereich Informatik, Universit¨ at Hamburg

Transcript of Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von...

Page 1: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

Universitat Hamburg Fachbereich Informatik

Personalisierung von Portalsystemen:Konzepte und Techniken

DiplomarbeitFachbereich InformatikUniversitat Hamburg

von

cand. inform.Cornelia JacobsenSuderfeldstraße 5122529 Hamburg

Matrikelnummer 472 41 79

- Erstbetreuer -

Prof. Dr. J.W. SchmidtArbeitsbereich Softwaresysteme,

Technische Universitat Hamburg-Harburg

- Zweitbetreuer -

Prof. Dr. A. RolfArbeitsbereich Angewandte und Sozialorientierte Informatik,

Fachbereich Informatik, Universitat Hamburg

Page 2: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

Ich erklare hiermit, dass ich die vorliegende Arbeit selbstandig verfasst und keine anderen alsdie angegebenen Quellen und Hilfsmittel verwendet habe.

Hamburg, den 10. September 2002

Page 3: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

Inhaltsverzeichnis

1 Einleitung und Gliederung 1

1.1 Ziele der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Gliederung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 Danksagung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.4 Anmerkung zu den Formatierungen . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Personalisierung 5

2.1 Grundlagen der Personalisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1 Nutzensteigerung durch Personalisierung . . . . . . . . . . . . . . . . . . . 6

2.1.2 Prozessorientierte Sichtweise der Personalisierung . . . . . . . . . . . . . . 9

2.1.3 Profiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.1.4 Objekte und Methoden der Anpassung . . . . . . . . . . . . . . . . . . . . 19

2.1.5 Kollaboration von Anwenderprofil, Inhaltsprofil und Anpassungsregeln . . 21

2.2 Identifizierung von Konzepten zur Personalisierung . . . . . . . . . . . . . . . . . 24

2.2.1 Mehrsprachigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.2.2 Alerting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.2.3 Zugriffskontrolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.2.4 Empfehlungen (recommendations) . . . . . . . . . . . . . . . . . . . . . . 31

2.2.5 Personliche und allgemeine Sichten . . . . . . . . . . . . . . . . . . . . . . 34

2.2.6 Zusammenfassung der Konzepte der Personalisierung . . . . . . . . . . . . 36

2.3 Allgemeine Anforderungen an ein personalisierbares System . . . . . . . . . . . . 36

3 Personalisierungsmoglichkeiten ausgewahlter Portalsoftware 39

3.1 Auswahl der Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Page 4: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

II Inhaltsverzeichnis

3.2 Untersuchung der Systeme anhand eines durchgangigen Beispiels . . . . . . . . . 40

3.2.1 Der Beispielprozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.2.2 Dynamo Personalization Server (DPS) in ATG Dynamo 5 Product

Suite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.2.3 Personalisierung des Portals mySAP.com durch den Workplace . . . . . 51

3.2.4 Der infoAsset Broker . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

3.3 Zusammenfassung und Bewertung . . . . . . . . . . . . . . . . . . . . . . . . . . 61

3.3.1 Bewertung der ATG Dynamo Product Suite . . . . . . . . . . . . . . 61

3.3.2 Bewertung des Workplaces von mySAP Enterprise Portals . . . . . . 64

3.3.3 Bewertung des infoAsset Brokers . . . . . . . . . . . . . . . . . . . . . 65

4 Design einer Personalisierungskomponente fur den infoAsset Broker 69

4.1 Auswahl der zu modellierenden Komponente . . . . . . . . . . . . . . . . . . . . 69

4.2 Alternative Modellierungsansatze . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4.3 Anwendungsfalle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

4.4 Beschreibung der fur die Implementierung relevanten Komponenten des infoAs-

set Brokers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

4.4.1 Wichtige Komponenten der Dienstebene . . . . . . . . . . . . . . . . . . . 73

4.4.2 Wichtige Komponenten der Prasentationsebene . . . . . . . . . . . . . . . 74

4.4.3 Bearbeitung einer Benutzeranfrage . . . . . . . . . . . . . . . . . . . . . . 75

4.5 Konzeptuelle Umsetzung in Broker-Dienste . . . . . . . . . . . . . . . . . . . . . 76

4.5.1 Der Service GroupAttributeName . . . . . . . . . . . . . . . . . . . . . . 76

4.5.2 Der Service GroupAttributeValue . . . . . . . . . . . . . . . . . . . . . . . 77

4.5.3 Der Service PersonValueRelationship . . . . . . . . . . . . . . . . . . . . . 77

4.5.4 Zusammenspiel der Dienste . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5 Implementierung 79

5.1 Implementierung von flexiblem Profiling auf der Ebene der Anwendungslogik . . 79

5.1.1 Implementierung eines Broker-Dienstes . . . . . . . . . . . . . . . . . . . 79

5.1.2 Klassen des Prototyps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.1.3 Implementierungsklassendiagramm . . . . . . . . . . . . . . . . . . . . . . 81

5.2 Implementierung von flexiblem Profiling auf der Prasentationsebene . . . . . . . 81

5.2.1 Erstellung der Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Page 5: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

Inhaltsverzeichnis III

5.2.2 Programmierung der Handler . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.2.3 Benutzungsoberflache des implementierten Dienstes . . . . . . . . . . . . 86

5.3 Ablauf der Personalisierung anhand eines Beispiels . . . . . . . . . . . . . . . . . 89

5.3.1 Das Beispielszenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

5.3.2 Ablauf im System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

6 Bewertung und Diskussion 95

6.1 Bewertung des Brokers mit der Erweiterung durch den flexiblen Profiling-Dienst 95

6.2 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

7 Zusammenfassung und Ausblick 97

7.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

7.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Anhang 98

A Die CD zur Arbeit 99

Literaturverzeichnis 100

Page 6: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

IV Inhaltsverzeichnis

Page 7: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

Abbildungsverzeichnis

2.1 Der Personalisierungsprozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Klassifizierung der Profiling-Daten . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3 Datengewinnungsmethoden (vgl. [GKL01]) . . . . . . . . . . . . . . . . . . . . . 14

2.4 Anordnung der Komponenten [Ins00] . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.5 Ubersicht uber Personalisierungskonzepte . . . . . . . . . . . . . . . . . . . . . . 25

2.6 Konzepte der Personalisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.7 Aufbau eines personalisierbaren Systems . . . . . . . . . . . . . . . . . . . . . . . 37

3.1 Beispielprozess zur Untersuchung der Systeme . . . . . . . . . . . . . . . . . . . . 41

3.2 Architektur der ATG Dynamo 5 Product Suite (nach [ATG01c]) . . . . . . . 42

3.3 Bildschirmkopie des Profile Repository . . . . . . . . . . . . . . . . . . . . . . . . 49

3.4 Szenario fur eine Mailing-Aktion [ATG01b] . . . . . . . . . . . . . . . . . . . . . 50

3.5 Aufbau des Workplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.6 Architektur des Workplace [SAP00b] . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.7 Log-In Maske des mySAP.com Workplace . . . . . . . . . . . . . . . . . . . . 54

3.8 Einrichten eines Alerting-Dienstes mit den aktuellen Nachrichten im Workplace . 55

3.9 Einrichten von Favoriten im Workplace . . . . . . . . . . . . . . . . . . . . . . . 56

3.10 Architektur des infoAsset Broker [inf01b] . . . . . . . . . . . . . . . . . . . . 58

3.11 Innerer Aufbau des Brokers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

3.12 Vergleich und Bewertung der Systeme mit Personalisierung . . . . . . . . . . . . 62

4.1 Aufbau eines personalisierbaren Systems . . . . . . . . . . . . . . . . . . . . . . . 70

4.2 Architektur des Brokers mit Erweiterung (vgl. [Weg02]) . . . . . . . . . . . . . . 72

4.3 Anwendungsfalldiagramm (use case diagram) . . . . . . . . . . . . . . . . . . . . 73

4.4 Bearbeitung einer Benutzeranfrage im Broker [MHW01] . . . . . . . . . . . . . . 76

Page 8: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

VI Abbildungsverzeichnis

4.5 Konzeptuelles Klassendiagramm der Implementierung . . . . . . . . . . . . . . . 77

5.1 Implementationsklassendiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

5.2 Web-Seite zur Administration der Gruppeneigenschaften . . . . . . . . . . . . . . 89

5.3 Navigationsmoglichkeiten des flexiblen Profiling . . . . . . . . . . . . . . . . . . . 90

5.4 Anlegen der Gruppe ”Qualitatssicherer“ . . . . . . . . . . . . . . . . . . . . . . . 91

5.5 Gruppe ”Qualitatssicherer“ (gruppe.htm) . . . . . . . . . . . . . . . . . . . . . . . 92

5.6 Gruppenattribute hinzufugen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

5.7 Anlegen eines Gruppenattributnamens . . . . . . . . . . . . . . . . . . . . . . . . 93

5.8 Gruppe ”Qualitatssicherer“ mit Gruppenattributen . . . . . . . . . . . . . . . . . 93

5.9 Gruppenattribut ”Abteilung“ mit zugeordneten Werte . . . . . . . . . . . . . . . 94

5.10 Mitglied der Gruppe ”Qualitatssicherer“ . . . . . . . . . . . . . . . . . . . . . . . 94

6.1 Bewertung des Brokers nach der Implementation des neuen Personalisierungs-dienstes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

A.1 Die CD zu Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

Page 9: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

Kapitel 1

Einleitung und Gliederung

Personalisierung ist in den letzten Jahren immer mehr zum Schlagwort in den Bereichen der Por-tale, des Customer Relationship Managements und des E-Commerce anvanciert. Viele Artikelim World Wide Web (WWW), in Fachzeitschriften oder der Marketing-Literatur beschaftigensich mit diesem Thema. Wiederum andere Schlagworter werden benutzt, um den Begriff Per-sonalisierung naher zu erklaren. Dabei wird meist allein der Marketing-Aspekt betrachtet. DieKonzepte und Technologien, die hinter der Personalisierung stehen, werden weit weniger aus-fuhrlich behandelt.

In der Vergangenheit waren verschiedene Entwicklungen zu beobachten, die fur die Akzeptanzvon Portalen und Dienstleistungen im Internet bedeutsam sind [Kim02]. Diese Entwicklungenwerden nun kurz aus der Sicht der Anwender und der Sicht der Anbieter geschildert:

Die Anwendersicht: Bei der Benutzung des Internets sieht sich der Anwender immer wiedermit verschiedenen Problemen konfrontiert:Er verliert leicht die Orientierung bei der Suche nach Informationen. Dafur gibt es verschie-dene Grunde: Zum einen gibt es zu viele verschiedene Seiten und Dienste, zum andern sinddie Seiten der einzelnen Dienste oft uberladen und dabei noch unubersichtlich aufgebaut.Auf der Suche nach Informationen oder Produkten steht meist kein personlicher Beraterzur Verfugung, der den Anwender bei der Suche mit Vorschlagen von Fachbegriffen unter-stutzen konnte. Informationen, die ein Anwender gerne auf einen Blick sehen wurde, sindmeist auf mehreren Seiten verstreut. Somit wird Surfen zu einer zeitintensiven Aktivitat.Als Konsequenz daraus geschieht es nicht selten, dass Anwender frustriert sind und zuherkommlichen, nicht digitalen Diensten ubergehen. Die Anwender brechen bei Diensten,deren Umgang zu kompliziert oder langsam ist, den Einkauf ab (Phanomen des verlassenenEinkaufswagens [Con00]). Aus diesen Grunden werden Internet-Dienstanbieter, die keinenbesonderen Service leisten, zum Teil eher zur Informationsbeschaffung als zum Einkaufengenutzt.

Die Anbietersicht: Im Zuge der Globalisierung sowie durch den zunehmenden Einsatz derneuen Technologien werden Dienstleistungen und Informationen weltweit mit geringemAufwand verfugbar und vergleichbar. In deren Folge befinden sich viele Branchen in ei-nem Wandel vom Verkaufermarkt zum Kaufermarkt. Der Kunde tritt zunehmend in denVordergrund. Er verfugt uber eine maßgebliche Verhandlungsmacht, weil er in der La-

Page 10: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

2 1. Einleitung und Gliederung

ge ist, verschiedenste Anbieter und Leistungen zu vergleichen [Mut00]. Um sich von derKonkurrenz abzugrenzen, versuchen Unternehmen fur ihre Kunden in besonderer Weiseeinen Mehrwert zu schaffen. Diese Differenzierung wird nicht mehr ausschließlich uber denPreis gesteuert. Sie geht daruber hinaus durch zusatzlich angebotene Informationen oderDienstleistungen.

Aus den beschriebenen Problemen der Anwender – wie Informationsuberangebot, Anonymitatdes Mediums, Starrheit des Mediums und Ineffizienz der Suche etc. – resultiert die Notwendigkeit,neue Strategien zu entwickeln, die dem Benutzer den Umgang mit Portalen bzw. Plattformenangenehmer machen. Suchmaschinen helfen zwar bei der Suche nach potentiell fur den Anwenderinteressanten Seiten und Diensten. Sie konnen aber nicht die eigentliche Funktionalitat, dieInformationen oder ihre Prasentation bzw. Anordnung beeinflussen. Innerhalb eines bestimmtenPortales oder Web-Angebotes besteht eine andere Moglichkeit, namlich die Sicht des Benutzersauf die Daten gezielt einzuschranken, um den Fokus auf ein bestimmtes Thema zu lenken. DieseAnpassung in Form von Konzentration auf fur einen bestimmten Benutzer relevante Daten –also Personalisierung – kann in entscheidendem Maße zu einer großeren Bedienungsfreundlichkeitbeitragen.

Bei den Anbietern ist die Problemstellung etwas anders gelagert. Fur sie stellen sich je nachOrientierung die Fragen: ”Wie kann ich einen Besucher zu einem Kunden machen?“, ”Wie wirdmein Kunde zu einem Stamm-Kunden?“, ”Wie kann ich einen gelegentlichen Portalbesucher zueiner regelmaßigen Nutzung meines Portals animieren?“ etc. . Um jeden potentiellen Kunden zueinem tatsachlichen zu machen, sind insbesondere wegen der Unsicherheit der Kundenbindungdurch die Anonymitat des Mediums Internet besondere Maßnahmen zu ergreifen. Dazu wirdversucht, dem Surfer moglichst effektiv und zielgenau Produkte vorzustellen, die seinen Prafe-renzen entsprechen. Informationen uber die Vorlieben des potentiellen Kaufers werden benotigt,deren Analyse Hinweise auf das Produkt mit der hochsten Kaufwahrscheinlichkeit geben sollen.Der Begriff ”One-to-One-Marketing“ hat in diesem Zusammenhang im Laufe der Zeit einen fes-ten Platz im Vokabular des E-Business eingenommen. Statt Anonymitat soll die Vertrautheitherrschen, die von dem realen Einkaufserlebnis mit personlicher Beratung bekannt ist. DieseAnpassung, Inhalte auf das Anwenderprofil maßzuschneidern, ist ein weiterer wichtiger Aspektder Personalisierung.

Personliche Sichten in einem Informationsraum erstellen zu konnen, ist ein weiterer wichtigerAspekt der Personalisierung und birgt positive Folgen fur die Zusammenarbeit von Mitgliederneiner Gruppe. Durch das Ablegen von Lesezeichen und durch das Verschachteln, aber auch Ver-knupfen von Begriffen konnen vollig neue Taxonomien mit neuartigen Erkenntnissen geschaffenwerden [For02]. Durch die Einschrankung der Sicht entsteht etwas Neues. Daruber hinaus findetzwischen den Besitzern der Sichten ein reger Austausch statt. Die resultierende Kooperations-unterstutzung bietet auch in Bezug auf Personalisierung ein interessantes Forschungsfeld.

Personalisierung ist als ein breites Spektrum von Einzelmaßnahmen und integrierenden Konzep-ten im Umgang mit Anwendern von Systemen – meist Portalsystemen – zu verstehen [KNV00].Das allgemeine Verstandnis von Personalisierung reicht vom einfachen Anzeigen des Namenseines Online-Kunden bis hin zu fast esoterisch anmutenden Mustererkennungsanalysen, die zurAnpassung eines Dienstes verhelfen konnen.

Motivation dieser Arbeit ist, einen Uberblick uber die Konzepte und Techniken von Personalisie-rung zu geben und Begriffe, die in ihrem Zusammenhang verwendet werden, sinnvoll einzuordnen.

Page 11: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

1.1. Ziele der Arbeit 3

1.1 Ziele der Arbeit

Die Hauptziele dieser Arbeit sind:

• Es soll ein Uberblick daruber gegeben werden, was unter dem Stichwort Personalisierungzu verstehen ist,

• es sollen Konzepte zur Personalisierung identifiziert werden,

• es sollen verschiedene Portalanwendungen untersucht werden, in denen Personalisierungumgesetzt oder benutzt wird, und

• es soll ein Prototyp erstellt werden, um bestehende Personalisierungsmoglichkeiten einerkommerziellen Portalsoftware zu erweitern.

1.2 Gliederung

Diese Arbeit gliedert sich in vier Teile:

Im ersten Teil (Kapitel 2) werden die Begriffe, die im Zusammenhang mit Personalisierung hau-fig genannt werden, zusammengetragen und erklart. Es werden die Intentionen aufgefuhrt, mitdenen Personalisierung durchgefuhrt wird. Die zur Personalisierung benotigten Informationenwerden kategorisiert. Der Prozess der Personalisierung wird beschrieben. Die Konzepte der Per-sonalisierung werden samt dem Informationsbedarf und der durchfuhrenden Techniken erlautert.

Im zweiten Teil (Kapitel 3) werden drei konkrete Portalsysteme vorgestellt, die verschiedeneAnsatze zur Personalisierung verfolgen. Anhand eines Beispielprozesses werden die Fahigkeitendieser Systeme in Bezug auf Personalisierung untersucht. Es wird bewertet, welche in Kapitel 2identifizierten Konzepte diese Systeme realisieren.

Im dritten Teil (Kapitel 4, 5 und 6) wird eine eigene Personalisierungskomponente in ein vor-handenes Portalsystem integriert.

In Kapitel 4 wird zunachst eine Personalisierungskomponente fur den in Kapitel 3 analysierteninfoAsset Broker modelliert. Dafur werden verschiedene Ansatze untersucht und diskutiert.Anschließend wird die Modellierung mit Hilfe von Anwendungsfallen vorgenommen. Es werdenfur die Modellierung relevante Komponenten des Brokers vorgestellt und die neu modelliertenBroker-Dienste und ihr Zusammenspiel beschrieben.

In Kapitel 5 wird die Implementierung der Personalisierungskomponente fur den infoAsset

Broker erst auf der Ebene der Anwendungslogik und dann auf der Prasentationsebene ausge-fuhrt. Anschließend wird der Ablauf der Personalisierung anhand eines Beispiels mit Bildschir-mausdrucken veranschaulicht.

In Kapitel 6 wird eine Bewertung des eigenen Ansatzes mit anschließender Diskussion der Er-gebnisse vorgenommen.

Im vierten Teil (Kapitel 7) wird eine Zusammenfassung der Arbeit und ein Ausblick auf For-schungsgebiete geliefert, die mit der Thematik der Personalisierung zusammenhangen.

Page 12: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

4 1. Einleitung und Gliederung

1.3 Danksagung

Ich bedanke mich herzlich bei Herrn Prof. Dr. Joachim W. Schmidt, Arbeitsbereich STS der TUHamburg-Harburg, fur die Betreuung dieser Arbeit und fur seine Anregungen, mit denen er michauf wichtige Aspekte und Probleme des Themas aufmerksam gemacht hat. Ich danke weiterhinStephan Ziemer, der meine Arbeit Korrektur gelesen hat und jederzeit fur Problemerorterungenzur Verfugung stand. Außerdem danke ich Patrick Hupe, wissenschaftlicher Mitarbeiter am Ar-beitsbereich STS der TU Hamburg-Harburg, fur seine Unterstutzung bei der Beschaffung vonSystemen und der Losung von Problemen. Herrn Prof. Dr. Arno Rolf, Arbeitsbereich ASI imFachbereich Informatik der Universitat Hamburg, danke ich dafur, dass er die Zweitbetreuungubernommen hat. Ich danke den wissenschaftlichen Mitarbeitern der Arbeitsbereiche STS undASI fur ihre Kommentare und aufmunternden Worte.

Außerdem danke ich meiner Familie fur die fortwahrende Unterstutzung wahrend meines gesam-ten Studiums.

1.4 Anmerkung zu den Formatierungen

Da es beim Verfassen einer wissenschaftlichen Arbeit im Fach Informatik kaum vermeidbar ist,eine Vielzahl von englischen Fachbegriffen zu verwenden, fur die es keine sinnvolle deutscheEntsprechung gibt, werden diese zumindest besonders gekennzeichnet.

Formatierungen werden folgendermaßen vorgenommen: Englische Begriffe sind durch eine geneig-

te Schrift gekennzeichnet. Allerdings werden ursprunglich englische Worter, die aber schon fastvollstandig in die deutsche Sprache ubernommen wurden, wie Computer, Server, Web etc. nichtgesondert behandelt und groß im Text verwendet. Firmennamen oder Produktnamen werdendurch Kapitalchen gekennzeichnet. Programmtext oder Klassen-Namen werden in Schreib-maschinenschrift geschrieben. Worter, die besonders hervorgehoben werden sollen, werdenkursiv gedruckt und bei der spateren Programmbeschreibung werden Link-Bezeichnungen durcheine serifenlose Schrift markiert.

Page 13: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

Kapitel 2

Personalisierung

In diesem Kapitel wird der Begriff ”Personalisierung“ von verschiedenen Blickwinkeln aus be-trachtet, um die Aspekte der Grundlagen der Personalisierung darzustellen. Im ersten Teil diesesKapitels wird geklart, was unter Personalisierung zu verstehen ist (Abschnitt 2.1). Von Persona-lisierung existieren viele sehr unterschiedliche Interpretationen, die von diversen Einsatzgebie-ten bestimmt werden. Zur Erorterung des Themas Personalisierung und zur Definitionsfindungwerden daher in dieser Arbeit die verschiedenen Aktivitaten und Eigenschaften von Systemenherangezogen, fur die Personalisierung eine Nutzensteigerung darstellen kann, und ihr Einsatzdurch Anwendungsbeispiele untermauert (Abschnitt 2.1.1). Anschließend wird der Prozess derPersonalisierung vorgestellt und die einzelnen erforderlichen Schritte erlautert (Abschnitt 2.1.2).Die fur die Personalisierung benotigten Informationen, deren Beschaffung und Analyse werdenbeschrieben und kategorisiert (Abschnitt 2.1.3), und es werden die Objekte der Anpassung iden-tifiziert und eingeordnet (Abschnitt 2.1.4). Am Ende des ersten Teils wird die Zusammenarbeitvon Benutzerprofilen, Inhalt und Personalisierungsregeln erortert (Abschnitt 2.1.5).

Im zweiten Teil dieses Kapitels (Abschnitt 2.2) werden die identifizierten Konzepte der Perso-nalisierung dargestellt und den Zielen, die sie verfolgen, zugeordnet.

Im abschließenden dritten Teil (Abschnitt 2.3) werden zusammenfassend die allgemeinen Anfor-derungen an ein personalisierbares System erortert.

Allgemein soll ein umfassender und ubergeordneter Uberblick uber den Kontext der Personali-sierung und uber die in ihr enthaltenen Konzepte gegeben werden.

2.1 Grundlagen der Personalisierung

Damit klar wird, wofur das Stichwort ”Personalisierung“ eigentlich steht, wird in diesem Ab-schnitt versucht, fur Personalisierung eine Definition zu finden.

Der Begriff ”Personalisieren“ wird folgendermaßen definiert:

”Personalisieren: auf Einzelpersonen ausrichten“ [Dud90].

Diese Definition ist sehr allgemein gehalten und nicht auf den Kontext der Informationstechno-logie ausgerichtet. Dort beschreibt Personalisierung ein wichtiges Konzept der Kommunikation

Page 14: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

6 2. Personalisierung

zwischen Anwendungssystemen und deren Benutzern. Sie umfasst die verschiedenen Auspragun-gen zum Individualisieren von Software. Jedes System, welches direkten Kontakt zu Anwendernzur Verfugung stellt, kann Personalisierung anbieten [Wel00].

Der Begriff ”Personalisierung“ tritt in ganz unterschiedlichen Kontexten auf und wird nicht im-mer einheitlich verwendet. Der Grund dafur ist, dass die Quellen aus verschiedenen Anwendungs-bereichen kommen und unterschiedliche Ziele mit dem Einsatz von Personalisierung verfolgen.Diese Heterogenitat und ihre Grunde werden im folgenden Abschnitt naher betrachtet.

Fur den Bereich der Informatik wird folgende Definition des Begriffes ”Personalisierung“ ge-geben: Das Prasentieren von Inhalten abgestimmt auf die jeweilige Benutzersituation wird alsPersonalisierung bezeichnet. Grundlage ist die Information uber Benutzer oder Benutzergruppen[IMA96].

Diese Informationen konnen von sehr unterschiedlicher Art sein. Die genauen Kategorien werdenim Abschnitt 2.1.3 dieses Kapitels beschrieben.

2.1.1 Nutzensteigerung durch Personalisierung

Um einen besseren Einblick zu erhalten, warum Personalisierung eingesetzt wird und welcherNutzen aus ihrem Einsatz gewonnen werden kann, werden im Folgenden die Aspekte der Nut-zensteigerung durch Personalisierung fur verschiedene Einsatzgebiete dargestellt. Dabei werdenauch typische Szenarien fur Personalisierung untersucht.

Es werden die folgenden vier Bereiche identifiziert und beschrieben:

• Marketing

• Umsetzung von Zugriffsrechten

• Bedienungsfreundlichkeit

• Kooperationsunterstutzung

Marketing

”Marketing umfasst alle Maßnahmen einer ziel- und wettbewerbsorientierten Ausrichtung dermarktrelevanten Aktivitaten der Unternehmung an ausgewahlten Problemfeldern gegenwartigerund zukunftiger Kundenpotentiale unter Einsatz planender, koordinierender und kontrollierender[...] sowie marketingpolitischer Instrumente [...].“ [SS88]

Das Massenmarketing uber Broadcast-Medien, wie TV, Radio und Zeitungen, ist oft mit großenStreuverlusten behaftet, die aus dem Erreichen einer sehr breiten und undifferenzierten Mas-se von potentiellen Kunden resultieren. Durch das gezielte Schalten von Anzeigen oder Spotsfur eine Fachleserschaft bzw. identifizierte Zielgruppe kann eine Minimierung der Streuverlus-te bewirkt werden [Pae01]. Die Personalisierung zu Markting-Zwecken stellt eine effizientereMarketing-Methode mit noch weniger Streuverlusten dar. Sie wird vor allem aber nicht nurim Internet eingesetzt. Die Wettbewerber des Internet-Marktes versuchen, ihr Angebot durchspeziell zugeschnittene Web-Seiten zu diversifizieren.

Page 15: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

2.1. Grundlagen der Personalisierung 7

Durch die Personalisierung und der vorangegangenen Profilerstellung des Kunden sollen dieAnbieterleistungen permanent optimiert werden. Die damit einhergehende Vermeidung von un-notigen, unprofitablen Inhalten und Diensten bewirkt eine Kostensenkung. Aus der Leistungs-verbesserung durch Kundenfeedback und die standige Erweiterung der Profile kann eine Ge-winnsteigerung resultieren [BBH+00].

Die folgenden Beispielszenarien von Web-Systemen sollen den Einsatz von Personalisierung zuMarketing-Zwecken veranschaulichen:

• Bei dem Internet-Buchanbieter Amazon (www.amazon.de) wird anhand von eingegebe-nen Suchbegriffen Werbung platziert. Durch die Bewerbung der Zielgruppe mit wenigerStreuverlusten entsteht eine großere Effizienz des Werbeplatzes, der wiederum zu hoherenPreisen verkauft werden kann und somit hohere Gewinne erzielt.

• Ebenfalls bei Amazon empfiehlt das System einem Kunden aufgrund der Transaktio-nen/Bestellungen, die er bereits durchgefuhrt hat, oder aber auch aufgrund des Artikels,nach dem gesucht wurde, den aus der Sicht des Systems passenden Artikel. Die Wahrschein-lichkeit, dass der Kunde auf diese Empfehlung hin ein themenverwandtes Buch kauft, isthoher als bei einem zufallig ausgewahlten Produkt. Umsatze konnen somit gesteigert wer-den. Außerdem fuhlt sich der Kunde gut beraten und verweilt langer bei dem Anbieter.Somit wird die Kundenbindung intensiver und die Besuche der Kunden haufiger.

• Nach der Registrierung eines Benutzers bei einem Internet-Dienstanbieter wird dieser aufder Seite mit Namen begrußt. Es soll eine Vertrautheit erzeugt werden, die die Kundenbin-dung starkt. Ob aber eine personliche Begrußung allein dies bewirken kann, ist fragwurdig.

In dem Beispielprozess, der in Kapitel 3.2.1 zur Analyse von Personalisierung umsetzenden Por-talen herangezogen wird, kann Personalisierung zur Nutzensteigerung von Marketing beitragen,z.B. bei dem Aufmerksammachen des Systems auf vom Anwender favorisierte Nachrichten. DieseNachrichten konnten Produkte betreffen, z.B. eine Nachfolge-Version fur ein Mobil-Telefon o.a. .Auch die Empfehlungen, die der Anwender im dritten Schritt des Beispielprozesses erhalt, aberauch die Benachrichtigung durch eine Email konnen eine hohere Effektivitat beim Marketingbestimmter Dienstleistungen bedeuten.

Umsetzung von Zugriffsrechten

Ob bei Betriebssystemen oder dem Mail-Anbieter im Internet, wenn Daten vor unberechtigtemZugriff geschutzt werden sollen, kommt die Einfuhrung von einem Zugriffskontrollmechanismuszum Einsatz. Die Identifizierung des Benutzers zur Zugriffskontrolle wird meist mit Hilfe einerBenutzeridentitat und einem Kennwort (oder auch nur mit Kennwort) durchgefuhrt. Zu demProfil, welches nach der Anmeldung geladen wird, gehoren haufig nicht nur die Einstellungen,die der Anwender bei den vorigen Nutzungen vorgenommen hat, vielmehr wird auch die Rol-le berucksichtigt, die der Anwender im System hat. Die Rolle bestimmt die Zugriffsrechte aufFunktionen oder Daten. Somit kann die Umsetzung von Zugriffsrechten haufig auch eine Ausblen-dung von nicht erlaubten oder nicht der Fertigkeit des Anwenders entsprechenden Funktionenbewirken.

Page 16: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

8 2. Personalisierung

Ein Beispiel fur die Anwendung eines Zugriffskontrollmechanismus ist die Anmeldung an einerWindows-NT-Workstation mit Benutzernamen und Kennwort; es werden u.a. das Hintergrund-bild und andere personliche Einstellungen des Benutzers aus den Profildaten geladen. Fur einennormalen Anwender werden viele der Administrationsfunktionen ausgeblendet.

Bedienungsfreundlichkeit

Bedienungsfreundlichkeit kann durch verschiedenste Konzepte und Techniken der Personalisie-rung umgesetzt werden. Die folgenden Szenarien veranschaulichen dieses:

• Im Internet-Portal Lycos konnen durch eine vom Benutzer durchgefuhrte Anpassung derSeite das Design und die Art der Informationen auf die individuellen Bedurfnisse ange-passt und fur den erneuten Aufruf abgespeichert werden. Auf dieselbe Weise kann sich einBenutzer, z.B. bei der Textverarbeitung Word von Microsoft, bestimmte Symbole derSymbolleisten ausblenden oder zusatzlich anzeigen lassen.

• Bei Online-Lernsystemen ist es notwendig, dass der zu absolvierende Stoff auf die Kennt-nisse des Benutzers ad-hoc zugeschnitten wird.

• Ein System, welches das Verhalten eines bestimmten Nutzers beobachtet und daraus logi-sche Schlussfolgerungen zieht, kann haufig benutzte Linksequenzen zu einem Link zusam-menfassen und diesen prasentieren.

Im Beispielprozess (Kapitel 3.2.1) sind eigentlich alle Schritte fur Bedienungsfreundlichkeit nutz-bringend. Besonders aber ist die Anzeige der Inhalte in der vom Anwender gewunschten Spracheund die Speicherung des Suchergebnisses in einer Sammelmappe hilfreich fur die komfortableBedienung, weil das eine Erleichterung bei der zukunftigen Arbeit mit dem System bedeutet.

Kooperationsunterstutzung

In großen Unternehmen oder innerhalb von Branchen kommt es haufig vor, dass unabhangigvoneinander an Projekten mit gleicher oder ahnlicher Aufgabenstellung gearbeitet wird, ohnedass dies in allen Fallen den Beteiligten bewusst ware. Eine Kooperation dieser nebeneinanderexistierenden Gruppen kann sich in vielerlei Hinsicht positiv auf die Ergebnisse ihrer Projekteauswirken. Es ist zu beobachten, dass manchmal sogenannte Communities of Practice entstehen,in denen ein reger Austausch uber Fachprobleme stattfindet. Solche informellen Netzwerke sindin mehreren Sparten zu finden, und die Art ihrer Kommunikation, ihre Vermaschung und ihrUmgang werden seit einiger Zeit untersucht [HH95].

Durch mangelnde Kooperation und fehlenden Wissenstransfer bleiben allerdings haufig kostbareRessourcen und potentielle Synergien unausgenutzt. Um diese Situation zu verbessern, werdenMittel benotigt, die solche wertvollen Zusammenhange transparent machen. Personalisierung,richtig eingesetzt, kann hier Abhilfe schaffen: Es werden personalisierte Anwendungen benotigt,die in der Lage sind Profildaten zu sammeln und abzugleichen. Dadurch werden die verschiedenenWissenstrager identifiziert, und es kann der Transfer der benotigten Informationen stattfinden.

Page 17: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

2.1. Grundlagen der Personalisierung 9

Ein Beispiel fur diese Art von Einsatz der Personalisierung ist das Anlegen von personlichenSammelmappen oder auch Bookmark-Listen in einem System (wie auch im Beispielprozess inKapitel 3.2.1), in dem sich mehrere Anwender gleichzeitig bewegen, wie in einem Intranet oderPortalsystem ublich: Jeder Benutzer eines Content Management Systems pflegt eine Liste mitVerweisen auf Inhalte zu verschiedenen Themen, meist in einem hierarchischen System, ahn-lich einem Dateisystem. Somit baut sich jeder Anwender seine eigene Taxonomie fur ein odermehrere Themen auf, die seine Interessen widerspiegeln. Diese Moglichkeit, eine eigene Sicht aufein Themengebiet in Form von Referenzen abzulegen und diese Referenzen eventuell zusatzlichnoch mit Kommentaren zu versehen, bildet die Grundlage fur Kooperationsunterstutzung: Zwi-schen den personlichen Sichten kann somit ein Vergleich stattfinden, der dazu fuhren kann, neueZusammenhange aufzudecken, die in einer einzigen Sicht nicht zu erkennen waren [For02].

2.1.2 Prozessorientierte Sichtweise der Personalisierung

Nachdem die verschiedenen Bereiche dargestellt wurden, fur die Personalisierung nutzbringendsein kann, soll nun zum besseren Verstandnis dafur, wie Personalisierung ablauft und was furihren Einsatz getan werden muss, das Thema unter praktischen Gesichtspunkten beleuchtet wer-den. Es wird erlautert, welche Schritte bei der Durchfuhrung von Personalisierung durchlaufenwerden.

Personalisierung soll dem richtigen Anwender zur richtigen Zeit die richtigen Inhalte in der aufdie Bedurfnisse des Anwenders abgestimmten Art und Form prasentieren. Es konnen drei Teil-schritte identifiziert werden, die im Personalisierungsprozess ablaufen [GKL01, EHW02]. Dieseprozessorientierte Sicht auf die Personalisierung beinhaltet, wie in Abbildung 2.1 dargestellt, diePhasen: Tracking, Profiling und Matching. Sie werden nachfolgend erlautert.

MatchingProfilingTracking

Interaktion

Abbildung 2.1: Der Personalisierungsprozess

1. Tracking :In dieser Phase werden durch das Mitprotokollieren wahrend der Kommunikation bzw.Interaktion mit dem Anwender oder durch seine direkte Eingabe oder den Kauf von Datenvon bestimmten Anbietern die fur die Personalisierung erforderlichen Daten gewonnen.

2. Profiling :Die in der Tracking-Phase fur jeden Anwender gewonnenen Daten werden bereinigt undgeordnet, so dass nur noch fur die Analyse brauchbare Daten zur Verfugung stehen. DieAnalyse soll verborgene Muster und Zusammenhange innerhalb und zwischen den Pro-filen aufdecken. Oftmals wird auch eine Segmentierung der Profile durchgefuhrt, bei dernach bestimmten Kriterien gleichartige Profile zu Gruppen zusammengefasst werden. Imweiteren Verlauf dieser Arbeit, wie auch in anderen Quellen, wird nicht weiter zwischen

Page 18: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

10 2. Personalisierung

Tracking und Profiling unterschieden und beides zusammen – also die Sammlung, Auf-bereitung und Analyse – als Profiling bezeichnet. In Abschnitt 2.1.3 werden verschiedeneAspekte des Profilings naher betrachtet.

3. Matching :Anhand von festgelegten Personalisierungsmodellen, auch genannt Business- oder Anpas-sungsregeln, werden individuelle personalisierte Web-Oberflachen generiert. Die Personali-sierungsmodelle definieren, welcher Inhalt anhand welcher Profileigenschaften oder durchsie gewonnenen Gruppenmitgliedschaften angezeigt wird.

Zur Vereinfachung des Matching konnen auch die Inhalte zuvor einen Profiling-Prozessdurchlaufen. Dazu werden den Inhalten (analog zum Profiling der Anwender) Profiling-Attribute zugeordnet. Die noch leeren Profile der Inhalte werden meist in einem manuellenProzess mit Werten gefullt. Somit bekommt z.B. ein Artikel die Attribute Thema, Autor,Schlagworter, Titel etc. zugeordnet. Die dazugehorigen Werte werden im Profil festgehal-ten. Die Vereinfachung des Matching besteht darin, dass sich die in der Matching-Phasefestgelegten Regeln nicht mehr explizit auf eine bestimmte Inhaltseinheit (Artikel, Pro-dukt, Werbebanner etc.), sondern auf hoherer Abstraktionsebene auf die Profilwerte undsomit auf eine Menge von Inhaltseinheiten beziehen (dazu siehe Abschnitt 2.1.5).

Nachdem der Personalisierungsprozess durchlaufen ist, kann dem Anwender die angepasste Ober-flache, meist eine Web-Seite, prasentiert werden. Die erneute Protokollierung des Anwender-verhaltens in der anschließenden Interaktion mit dem personalisierten System kann wiederumAnlass zu neuen Anpassungen geben. Es entsteht ein Personalisierungskreislauf, wobei die Qua-litat der Daten immer weiter steigt. Diese Tatsache wird auch als Learning Relationship oderFeed-Back-Loop Profiling [BBH+00] bezeichnet.

Nachdem der Prozess der Personalisierung vorgestellt und jede Phase kurz beschrieben wurde,wird im nachsten Abschnitt naher auf das Profiling im weiteren Sinne, also inklusive Tracking,eingegangen.

2.1.3 Profiling

Das Profiling stellt einen wichtigen Schritt im Personalisierungsprozess dar. Einige Aspekte desProfilings werden nun naher beleuchtet. Zunachst stellt sich die Frage, welche Daten der Anwen-der im Profiling gesammelt werden und wie diese Daten zu Kategorien zusammengefasst werdenkonnen. Außerdem werden die Techniken und Standards beschrieben, die bei der Sammlung derDaten zum Einsatz kommen. Zum Ende dieses Abschnitts werden schließlich Aspekte der Auf-bereitung und Analyse der Datenkollektion beleuchtet. Insgesamt soll erklart werden, wie dieGenerierung der Profile von Anwendern, aber auch von Inhaltseinheiten ablaufen kann.

Der Erfolg von Personalisierung hangt entscheidend von der Verfugbarkeit von aussagekraftigenBenutzerprofilen ab. Wie das System an die Daten gelangt, die fur das Anlegen von Profilenbenotigt werden, kann auf verschiedene Weisen erfolgen und wird in einem spateren Abschnittnoch weiter verdeutlicht; es kann eine aktive Strategie verfolgt werden, auch direktes Verfahrengenannt - der Benutzer gibt aktiv seine Daten preis - oder eine passive Strategie, auch indirektesVerfahren genannt - aus dem Verhalten des Benutzers wird durch geeignete Regeln auf verschie-

Page 19: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

2.1. Grundlagen der Personalisierung 11

dene Eigenschaften geschlossen (vgl. [RS01]). Ein dritte Moglichkeit, auf die aber nicht weitereingegangen werden soll, ist der Zukauf von Daten (vgl. [GKL01]).

Die gesammelten Daten geben uber verschiedene Eigenschaften des Benutzers Auskunft, wieuber seine Person (Name, Alter, Wohnort, Große etc.), seine Vorlieben (klassische Musik, haltsich nur abends im Internet auf etc.), Transaktionen, die er durchgefuhrt hat, oder Produkte,die er sich angesehen hat. Das zielbehaftete Aggregieren von Daten erscheint in der Literaturauch unter dem Begriff ”Usermodeling“ [KKP01].

Das Ziel von Profiling ist die geordnete Sammlung von Daten, die die Zuordnung von Diensten,Layout und Inhalten zu Benutzern oder Benutzergruppen erleichtern soll. Gesammelt werdenkann alles, was uber den Benutzer zur Verfugung steht oder aus seinem Verhalten erschlossenwerden kann. Entscheidend fur die konkrete Auswahl der Profilattribute ist die Art des Systems,welches die Profile nutzen soll. Eine genauere Kategorisierung der Daten wird im folgendenAbschnitt vorgenommen.

Welche Daten werden gesammelt?

In diesem Abschnitt wird aufgefuhrt, welche Informationen uber die Benutzerseite gesammeltwerden konnen, um spater in den Personalisierungsprozess eingebunden zu werden. In [KKP01]wird eine Kategorisierung vorgenommen, die in Abbildung 2.2 dargestellt ist. Es gibt die dreiHauptkategorien Benutzerdaten, Benutzungsdaten und Umgebungsdaten, die sich wiederum indiverse Unterkategorien unterteilen. Diese werden im Folgenden beschrieben:

UmgebungsdatenBenutzungsdatenBenutzerdaten

Demographische Daten

Benutzerkenntnis

Benutzerfertigkeit/-fähigkeit

Interessen/Vorlieben

Daten über Ziele/Pläne

Beobachtbare Nutzungsdaten

Regelmäßigkeitder Benutzung

Software des Rechners

Hardware des Rechners

Standort

Umfeld

Häufigkeit

Serie von Aktionen

Ratings

Kaufinformationen

TemporäresBeobachtungsverhalten

Auswahlaktionen

Abbildung 2.2: Klassifizierung der Profiling-Daten

Benutzerdaten In diese Kategorie fallen demographische Daten, das sind Informationen, dieobjektive Tatsachen uber den Benutzer verraten, wie:

• die Daten einer Visitenkarte, wie Name, Adresse, Telefonnummer etc.,

• geografische Daten, wie Land, Stadt, Stadtteil etc.,

Page 20: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

12 2. Personalisierung

• Benutzercharakteristika, wie Alter, Geschlecht, Schulbildung, Einkommen etc.,

• psychografische Daten, wie Daten, die etwas uber die Lebensart des Benutzers preisgeben,

• Kundendaten, wie Haufigkeit der Inanspruchnahme von Dienstleistungen und

• Registrierungsdaten fur Informationsangebote.

Die Benutzerkenntnis zahlt ebenfalls zu den Benutzerdaten. Dabei handelt es sich um Annah-men, die uber das Benutzerwissen, uber Konzepte, Beziehungen zwischen diesen, Tatsachen undRegeln bezogen auf ein bestimmtes systemrelevantes Gebiet gemacht werden. Die Sammlungsolcher Daten soll den Benutzer entweder vor Langeweile durch unnotige, schon bekannte Da-ten oder vor Uberforderung durch zu viele dem Anwender unbekannte Informationen bewahren.Diese Art der Daten spielt bei Online-Lernsystemen eine besonders große Rolle.

Die Aufzeichnung von Benutzerfertigkeit und -fahigkeit, mit einem System umzugehen, ist eineweitere Moglichkeit, Daten uber den Benutzer zu sammeln. Dabei konnen z.B. dem fortgeschrit-tenen Anwender mehr Menueintrage eines Systems gezeigt werden als einem Anfanger, der nurStandardfunktionen benutzt und den daruber hinaus gehende Funktionen verwirren wurden.

Die Benutzerinteressen und Vorlieben liefern ebenfalls sammelnswerte Daten, die es z.B. erlau-ben, bestimmte Produkte bestimmten Nutzergruppen zu empfehlen. Systeme, die Empfehlungenaufgrund von Profildaten vornehmen, werden Recommender Systeme genannt.

Daten uber die Ziele und Plane, die durch das Benutzen eines Systems verfolgt werden, konnendazu beitragen, Antwortzeiten zu verkurzen oder nur relevante Informationen bereitzustellen.

Benutzungsdaten Damit sind Informationen gemeint, die direkt beobachtet oder aufgezeich-net oder von aufgezeichneten Daten abgeleitet werden konnen.

Darunter fallen die beobachtbaren Nutzungsdaten, die sich wiederum in Auswahlaktionen (selec-tive actions), temporares Beobachtungsverhalten (temporal viewing behavior), Ratings sowie inKaufinformationen und kaufbezogene Informationen aufteilen.

Bei der Analyse der Auswahlaktionen konnen die Informationen uber das Interesse eines An-wenders auch dadurch gewonnen werden, dass sich der Anwender z.B. fur einen Link und gegenalle anderen Verweise entscheidet. Eine Selektion kann aber auch Auskunft uber die Unvertraut-heit oder Neugierde eines Benutzers mit bestimmten Themenbereichen geben (z.B. bei Online-Lernprogrammen). Bei Systemen, die dem Benutzer eine vorgefertigte Liste mit potentiellenVorlieben zum Bewerten vorlegen, ist es moglich, Informationen uber Praferenzen zu erhalten.

Das temporare Beobachtungsverhalten kann Auskunft uber Eigenschaften des Benutzers, nam-lich uber seine Interessen geben. Die Dauer der Betrachtungszeit, also wielange der Besuch aufeiner Internet-Seite andauert, kann mehr oder weniger aussagekraftig sein, da durch verschiedenegleichzeitig geoffnete Web-Seiten in verschiedenen Fenstern auf dem Bildschirm gar nicht ermit-telt werden kann, welches Fenster sichtbar ist. Ein besserer Indikator hingegen ist das sofortigeWeitergehen zu einer anderen Seite; das kann als Indikator fur Desinteresse bewertet werden.

Es gibt Systeme, die fordern den Benutzer auf, seine Meinung zu verschiedenen Themen preis-zugeben. Dafur werden Listen vorbereitet, die entweder aus einer binaren Abfrage (gut oderschlecht) oder einer mehrstufigen diskreten Abfrage bestehen. Diese Bewertung durch Anwender

Page 21: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

2.1. Grundlagen der Personalisierung 13

wird Rating genannt. Da die Benutzer eines Systems es nur ungern auf sich nehmen, Fragenzu beantworten, ohne einen direkten Vorteil davon zu haben, kann es geschehen, dass das Bildder Bewertung etwas verzerrt ist, weil manchmal eher negativ eingestellte Benutzer teilnehmen[CR87]. Durch zusatzliche Anreize kann diese Verzerrung allerdings wieder aufgehoben werden,wie z.B. Amazon.com vormacht: Bei bestimmten Aktionen werden fur eine Anzahl von Buchre-zensionen mit Bewertungen Gutscheine verschenkt. Dieses Angebot werden nicht in erster Liniepotentiell negativ eingestellte Bewerter annehmen.

Informationen uber das Interesse eines Kunden konnen gut von den Kaufen, die z.B. in einemOnline-Shop getatigt werden, abgelesen werden, also von Kaufinformationen. Sie konnen auch alsInformationen uber bestatigende Aktionen angesehen werden. Daneben gibt es die Moglichkeit,durch die Teilnahme bei Gewinnspielen oder die Registrierung von Produkten etc. weitere kauf-bezogene Informationen zu sammeln. Es gibt auch Informationen, die aus anderen bestatigendenoder nicht-bestatigenden Aktionen resultieren. Damit ist z.B. das Drucken von Inhalten oder dasWeiterleiten von bestimmten Angeboten gemeint. Inwieweit es moglich ist, solche Informationenzu sammeln, hangt sehr von dem Funktionsumfang der verwendeten Software ab.

Ebenfalls in die Kategorie der Daten uber die Benutzung fallen neben den beobachtbaren Datendie Daten uber die Regelmaßigkeit der Benutzung.

Damit ist u.a. die Haufigkeit der Benutzung gemeint. Solche Informationen helfen z.B. beim Se-lektieren, welche Informationen auf der obersten Ebene oder weniger prasent sein mussen. Eineandere Sparte stellen Informationen dar, die von der Beobachtung vorgenommener Aktionen inbestimmten Situationen (situation-action correlation) herruhren. Ein Beispiel hierfur sind Beob-achtungen uber den Umgang mit eingehenden Emails. Das System versucht hierbei die Aktionendes Anwenders, z.B. das Sortieren von Mails in bestimmte Ordner, zu analysieren. Es konnte,bezogen auf das Beispiel, die Mails selbststandig nach dem Vorgehen des Anwenders umord-nen. Der Anwender sollte allerdings die Ausfuhrung eines solchen Automatismus’ ausdrucklichbestatigen.

Als letzten Punkt dieser Kategorie sind Informationen uber Serien von Aktionen zu nennen.Sie konnen Auskunft uber zukunftige Aktionen der Benutzer geben. Uberdies konnen sie In-formationen liefern, die fur eine mogliche, systemseitige Anpassung, z.B. durch Vereinfachung/-Zusammenfassung von Links, oder die zum Vorschlagen von Aktionen gegenuber dem Benutzergeeignet sind.

Umgebungsdaten Zu den Umgebungsdaten gehoren Daten uber die Software des Benut-zerrechners (Browser Versionen, Plug-Ins, Java- oder Java-Script-Fahigkeit etc.) und uber dieHardware des Rechners (Bandbreite der Datenleitung, Prozessorgeschwindigkeit, Bildschirmauf-losung und Eingabegerate). Außerdem fallen in diese Kategorie die Informationen, die uber denStandort oder das Umfeld des Benutzers Auskunft geben.

Nachdem nun die verschiedenen Kategorien von Daten beschrieben worden sind, die fur dasProfiling eine Rolle spielen, wird im nachsten Abschnitt eine Ubersicht uber die Techniken undStandards zur Sammlung solcher Personalisierungsdaten gegeben.

Page 22: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

14 2. Personalisierung

Techniken und Standards zur Sammlung von Profiling-Daten

In diesem Abschnitt soll gezeigt werden, welche verschiedenen Methoden zur Sammlung vonDaten existieren. In Abbildung 2.3 angelehnt an die Klassifizierung in [GKL01] wird die Auftei-lung in direkte Verfahren, indirekte Verfahren und externe Sekundardaten vorgenommen (vgl.[RS01, JZ00]).

Externe SekundärdatenIndirekte VerfahrenDirekte Verfahren

User ID

Personenbezogene Angaben

Feedback

Datengewinnungsmethoden

Logfiles

Application Server Logging

Packet Sniffing

Cookies, OPS, P3P

Session ID

Zukauf

Fusion/Kooperation

Abbildung 2.3: Datengewinnungsmethoden (vgl. [GKL01])

Direkte Verfahren Bei den direkten Verfahren geben die Benutzer freiwillig ihre Informati-onen preis. Die aus den direkten Verfahren gewonnenen Daten sind haufig zuverlassiger als dieder anderen Methoden. Wie auch bei den anderen Verfahren kann allerdings nie ihre Richtigkeitvollstandig nachgepruft werden. Ein direktes Verfahren wird z.B. bei der Checkbox Personali-sation verwendet, eine Art der Personalisierung, bei der dem Benutzer explizite Fragen gestelltwerden (interviewing), deren Antworten direkt in das Benutzerprofil ubernommen werden kon-nen. Besonders bei den demographischen Daten ist dies die einzige Moglichkeit, an Informationenzu gelangen. Problematisch ist allerdings bei dieser Methode, dass viele Benutzer durch zu langeFragenkataloge abgeschreckt werden und der angebotene Service somit unattraktiv wird. DiesesVerhalten ist kontraproduktiv, da sich der Zeitaufwand fur den Benutzer oder Kunden durchauslangfristig lohnen konnte, wenn als Ergebnis der Muhe das Informationsangebot den Bedurfnissenbesser gerecht wird [CR87]. Zur Losung dieses Problems kann versucht werden, dem Anwenderbewußt zu machen, welchen Gewinn er durch seinen Zeiteinsatz erhalt [BBH+00] oder ihm direkteinen Bonus fur das Ausfullen eines Fragebogens anzubieten. Außerdem ist nicht jeder Benutzerdazu bereit, seine Daten preiszugeben, da er oft keine Kenntnis oder Garantie daruber hat, wievertraulich mit seinen Daten umgegangen wird.

Durch die Vergabe einer BenutzerID bzw. einer eindeutigen Kombination mit einem Passwortkann der Benutzer des Systems bei der nachsten Anmeldung wiedererkannt werden, ohne dassnoch weitere Eigenschaften bekannt sein mussen. Seine Aktivitaten werden protokolliert und so-mit sein Profil erweitert. Wie eben erwahnt, sind viele Web-Seiten-Betreiber dazu ubergegangen,dass vom Anwender ein Registrierungsfragebogen ausgefullt werden muss, bei dem zusatzlichepersonenbezogene Angaben gemacht werden mussen. Ein weiteres direktes Verfahren stelltdas aktive Feedback von Kunden dar, welches weitere wertvolle Informationen liefern kann.

Page 23: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

2.1. Grundlagen der Personalisierung 15

Indirekte Verfahren Bei Click-Stream- und Read-Time-Data-Analyse wird dagegen ein in-direktes Verfahren zur Datenkollektion verwendet, namlich Logfiles. Wo indirekte Verfahrenvon Profildaten eingesetzt werden, wird auf die aktive Hilfe des Benutzers verzichtet. Sie werdendaher auch als passiv bezeichnet. Ein System, welches diese Verfahren benutzt, versucht ei-gens durch die Analyse des beobachtbaren Verhaltens eines Benutzers, relevante Informationenzu extrahieren. Dabei sind von entscheidender Bedeutung, welche Links der Benutzer besuchthat, wie oft er diese besucht hat, wie lange er sich eine bestimmte Seite angeschaut hat undwelche Dienste er in Anspruch genommen hat. Diese Daten werden in Server-Log-Files festge-halten, aus denen dann die Benutzerprofile gewonnen werden. Falls der Anwender hinter einemProxy- oder Firewall-Server sitzt, kann allerdings bei wiederholtem Zugriff eine Verfalschungder Daten auftreten, da die zwischengeschalteten Server die Web-Seiten zwischenspeichern undmehrere reale Zugriffe wie ein Zugriff im Logfile erscheinen. Die zusatzliche Anwendung vonPacket Sniffing (vgl. [Fel98]) oder Application Server Logging (vgl. [Koh01]) soll diesesProblem umgehen. Beim Packet Sniffing werden alle Pakete, die vom Web-Server aus zum An-wenderrechner geschickt werden, zur Analyse herangezogen werden. Das Application ServerLogging protokolliert und analysiert alle Aktionen, die auf einem Application-Server ablaufen.

Ebenso fallen Cookies, die einfache Werkzeuge zum Sammeln bzw. Platzieren solcher Daten dar-stellen, in die Kategorie der indirekten Verfahren. Sie sind nicht standardisiert und werden aufAnweisung des besuchten Web-Servers beim Benutzer, also dezentral abgelegt. Cookies konnenzur Ablage von Profilinformationen bei einem Benutzer eines Web-Dienstes verwendet werden. Esgibt zwei Arten von Cookies: Session-Cookies und permanente Cookies. Session-Cookies werdenim Hauptspeicher des Browsers gehalten und werden nach dem Verlassen der Web-Seite wiedergeloscht. Permanente Cookies werden hingegen bis zu einem definierten Zeitpunkt persistent aufder Festplatte gespeichert und ermoglichen somit, den Anwender bei erneutem Besuch wieder-zuerkennen. Der Cookie wird uber HTTP einem bestimmten Server ubermittelt, der die Infor-mationen, die in dem Cookie abgelegt wurden, interpretiert und die Internetseite dem Benutzerentsprechend anpasst [Mer00]. Cookies konnen also zur automatischen Benutzeridentifizierungim Web eingesetzt werden. Es ist durch sie keinerlei Sicherung der Daten vor Unbefugten mog-lich. Es konnen somit auch keine Attribute einzeln oder gruppenweise freigegeben oder gesperrtwerden.

Ebenfalls haben sich Profiling-Standards etabliert, die den Umgang mit benutzerbezogenen Da-ten regeln und einen Zertifizierungsmechanismus zur Verfugung stellen. ”Open Profile Stan-dard“ (OPS) und ”Platform for Privacy Preferences Protocol“ (P3P) werden aktuellentwickelt und in den spateren Abschnitten dieses Kapitels vorgestellt. Die P3P- und OPS-Profilekonnen ebenfalls beim Benutzer gespeichert werden.

OPS (open profiling standard) wurde von VeriSign, einer Zertifizierungsautoritat, sowie vonNetscape und Firefly gesetzt und mittlerweile beteiligen sich eine Anzahl großer Firmen an derVerwendung. Bei diesem Verfahren werden Datenformate und Ubertragungsverfahren zur Ver-einfachung des Datenaustausches zwischen Anbieter und Benutzer festgelegt. Durch den Einsatzvon OPS soll verhindert werden, dass der Benutzer bei jeder neuen Registrierung wieder diegleichen Daten angeben muss. Das Profil wird zum Schutz vor Missbrauch bei dem Benutzergehalten.

Normalerweise verwalten die Benutzer ihre Profile selbst. Sie konnen eigene Angaben in dem Pro-fil ablegen. Es muss angegeben werden, welche Dienstleister die jeweiligen Daten lesen durfen.

Page 24: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

16 2. Personalisierung

Daruber hinaus hat der Anwender die Moglichkeit, fur verschiedene Zwecke mehrere Profile anzu-legen. Profile konnen auch von Online-Anbietern, die von einer neutralen Instanz als glaubwurdigangesehen werden, uber die Befehle Profile Write und Profile Read gelesen und beschrieben wer-den. Wenn ein Kunde eine Web-Seite besucht, die OPS implementiert hat, versucht diese Seite,das abgelegte Profil zu lesen. Wenn der Dienstleister nun zusatzliche Informationen erhalt, kanner diese auch wiederum in dem Profil ablegen. OPS erlaubt dem Benutzer, die Herausgabe seinerDaten selbst zu kontrollieren. Allerdings wird im OPS uber die Verarbeitung und Weitergabeder Daten beim Web-Dienstleister nichts festgelegt.

Mit OPS konnen grundsatzlich alle Arten von Daten verwaltet werden. Es sind aber die meistbenutzten Sektionen schon vordefiniert worden. Einige von ihnen werden nun aufgefuhrt:

• Ein Unique Identifier fur das Profil;

• Ein Unique Identifier fur jeden Service, der das Profil schon benutzt hat;

• Demographische Daten;

• Kontaktdaten, die in einem Format abgelegt sind, das auf der vCard basiert;

• Eine Sektion fur Daten fur den Handel (commerce information);

• Eine Sektion fur anbieterspezifische Daten, wie Vorlieben von Produkten etc. .

Ist eine Sektion des Profils erst einmal fur einen Anbieter freigegeben, dann gibt es keine tech-nische Moglichkeit mehr, den Dienstleister daran zu hindern, diese Informationen an Dritteweiterzuleiten. Daher ist in dem OPS-Rahmenwerk vorgeschlagen worden, dass eine neutraleInstanz sowohl den Endbenutzer als auch den Dienstleister als glaubwurdig kennzeichnet undsogenannte Credentials ausstellen kann. Als zusatzliche Kontrolle, wer auf das Profil zugegriffenhat, werden alle Transaktionen in einem Transaktionsprotokoll festgehalten.

Alles in allem vereinfacht OPS die Steuerung des Zugriffs auf personliche Daten nur begrenzt.Der Benutzer muss immer dazu angehalten werden, darauf zu achten, welcher Anbieter aufwelche Informationen zugreifen darf.

P3P wird vom W3C entwickelt und dient der Vereinheitlichung des Umgangs mit Profilinfor-mationen, indem eine Automatisierung der Ubermittlung und des Abgleiches von personenbezo-genen Daten stattfindet. Ein Kunde muss nicht mehr die Datenschutzerklarungen verschiedenerDienstanbieter studieren und bewerten, ob er diesen zustimmen kann. Dieses Vorgehen kannneuerdings ein Agent ubernehmen. Dazu mussen die Datenschutzerklarungen in einer maschi-nenlesbaren Form vorliegen, die u.a. vom P3P-Standard definiert ist. Gleichzeitig formuliert derAnwender am Anfang, welche Informationen er preisgeben will. Von einem Agenten wird uber-wacht, ob ein Dienst einen fur ihn nicht zuganglichen Wert abrufen will, wobei der Anwenderdaruber informiert wird.

Der P3P-Standard setzt sich aus Teilstandards zusammen, die folgende Punkte umfassen [Mer00]:

• P3P-Syntax-Spezifikation, Definition des Formates der Austausch-Objekte;

• Einheitliches Vokabular fur Profile und Datenschutzpraktiken (harmonized vocabulary);

Page 25: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

2.1. Grundlagen der Personalisierung 17

• Festlegung von Verhandlungsprotokollen;

• A P3P Preference Exchange Language (APPEL), Sprache zur Angabe von Praferenzenvon Benutzern gegenuber von Servern;

• XML-Namensraume.

Ziel ist es, den Anwendern Sicherheit bezuglich der Weiterverarbeitung der Daten zu geben undEinfluss auf deren Verwendung nehmen zu lassen.

Zur Unterstutzung der Dienstbenutzer und -anbieter bei der Profilverarbeitung dient das P3P-Protokoll. Es enthalt mindestens:

• Ein Angebot (proposal) und die Erklarung, welche Daten warum gesammelt werden, mitwem sie ausgetauscht werden und ob die Daten auf eine bestimmte Art und Weise ge-nutzt werden. Das Angebot kann auch noch einen elektronischen Notar (assuring party),der versichert, dass die Daten korrekt verarbeitet werden, oder Informationen uber dieZugriffsmoglichkeit des Benutzers beinhalten;

• Außerdem enthalt es die Annahme (acceptance). Die Annahme beinhaltet eine Einigung(agreement). Nach der Einigung werden die Daten unter der Agreement-ID gespeichert.

Zur Unterstutzung des Benutzers bei der Eingabe und dem Abgleich der Sicherheitsinforma-tionen konnen Agenten eingesetzt werden. Wenn ein Repository zum Einsatz kommt, kann derBenutzer fur verschiedene Anbieter unterschiedliche Sicherheits-Profile abspeichern. Das Repo-

sitory dient dann auch zur Ablage des Benutzerprofils. Nach der Einigung der Partner kann ausdem Repository die gewunschte Profil-Information extrahiert werden.

Dem Dienstanbieter steht die Moglichkeit offen, noch zusatzliche Schritte zur Verbesserung derVertrauensbeziehung zu unternehmen: er kann sich noch bei einem Rating-Service die Einhaltungseiner Datenschutz-Strategien bestatigen lassen. Bisher geschieht dieses aber nur informell. P3Psoll helfen, auch dieses Vorgehen zu automatisieren.

Als klarer Nachteil dieser Technik kann genannt werden, dass Anwender, die noch kein P3P-Profil besitzen, einige Dienste gar nicht in Anspruch nehmen konnen, ohne P3P einzusetzen.Abzuwarten bleibt, wie groß die Akzeptanz dieser Technik sein wird. Die neueren Entwicklungen,wie z.B. die Integration von P3P in den Internet Explorer Version 6, lassen eine positive Zukunftfur diesen Standard vermuten. Allerdings ist ein haufiger Kritikpunkt, dass die Voreinstellungenauf einem niedrigen Datenschutzniveau liegen. Zudem wird angemahnt, dass der Standard eherdazu verhilft, mehr Daten weiterzugegeben als weniger. Es wurde beobachtet, dass z.B. beiCookies oft keine Anderungen an den Standardeinstellungen vorgenommen werden, weil diemeisten Anwender diesen Prozess zu schwierig und umstandlich empfinden. Uberdies werdenStimmen laut, die bemangeln, dass P3P keine Kontrollmechanismen beinhaltet, die uberprufen,dass die Verwendung der Daten auch tatsachlich gemaß den Datenschutzerklarungen stattfinden.

Als weiteres indirektes Verfahren wird der Einsatz der SessionID aufgefuhrt. Diese wird meisteingesetzt, wenn Anwender die Speicherung von Cookies etc. verhindern. Mit der SessionID kannder Betreiber den Anwender dennoch wahrend einer Session wiedererkennen. Sie ist Teil der URLund wird wahrend einer Session beibehalten.

Page 26: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

18 2. Personalisierung

Techniken zur Gewinnung von externen Sekundardaten Die fur den Personalisierungs-prozess erforderlichen Profiling-Daten konnen neben den oben aufgefuhrten Methoden auch an-derweitig erworben werden. Es gibt verschiedene Anbieter von bestimmten Daten-Kategorien.Eine weitere Moglichkeit besteht in der Externalisierung des Analyse-Vorganges der Logfiles

durch die Ubergabe an spezialisierte Kooperationspartner.

Sehr problematisch bei der Sammlung von Daten zum Profiling von Anwendern ist, dass weit-reichende Moglichkeiten zu ihrer missbrauchlichen Benutzung existieren. Indes gibt es nur sehreingeschrankte Kontrollmoglichkeiten seitens der Anwender. Datenschutz wird bei vielen An-bietern groß geschrieben, aber ob und wie er durchgefuhrt wird, bleibt haufig verborgen. DenAspekt des Datenschutzes tiefergehend zu behandeln, wurde allerdings den Rahmen dieser Arbeitubersteigen.

Aufbereitung und Analyse der gesammelten Daten

Wie in 2.1.2 beschrieben wurde, werden in der Profiling-Phase im weiteren Sinne nicht nurDaten gesammelt, sondern auch fur die spatere Verwendung in den Profilen aufbereitet undanalysiert. Fur die weitere Verwendung der Daten im Personalisierungsprozess ist die eindeutigeIdentifizierung des Anwenders essentiell.

Leider lasst haufig die Qualitat der insbesondere durch indirekte Methoden gesammelten Da-ten sehr zu wunschen ubrig, so dass vor der Analyse eine Aufbereitung der Daten notig wird.Diese Phase wird in zwei wesentliche Schritte aufgeteilt [MCS00]: das Daten-Cleaning, in demdie Daten bereinigt werden und gegebenenfalls Erganzungen stattfinden sowie das Mining, indem Muster in der Benutzung uber Methoden, wie Pfadanalysen, Assoziationsregelanalysen,Sequenzanalysen, Klassifikation oder Clustering, identifiziert werden. Bei den mit direkten Ver-fahren gesammelten Daten entfallt haufig der Cleaning-Schritt, und es wird nur das Mining

angewendet. Die Umsetzung der Rohdaten zu Profildaten wird unter Anwendung von Annah-men vorgenommen, die nicht verallgemeinert dargestellt werden konnen, da sie vollstandig vondem Anwendungsgebiet des Systems bestimmt werden. In [RS01] sind ausfuhrlich die Annahmennachzulesen, die bei dem Karriereportal StepStone vorgenommen werden.

Leider wurde die ausfuhrliche Behandlung aller Mining-Methoden den Rahmen dieser Arbeituberschreiten. Im Folgenden soll aber naher auf eine spezielle Mining-Aktivitat, namlich derKlassifikation von Benutzern bzw. Benutzerprofilen, eingegangen werden, weil diese sehr an-schaulich darstellt, welche Vorbereitungen zur Segmentierung der Profile vorgenommen werdenkonnen (vgl. Abschnitt 2.1.5).

Zur Vereinfachung der Recherche innerhalb von Bibliotheken werden die Themen, die in denBuchern behandelt werden, von Bibliothekaren in bestimmter Weise organisiert. Diese Organi-sation benotigt eine gewisse Struktur. Wissen oder Inhalt beinhaltet von sich aus keine solcheStruktur. Diese Struktur im allgemeinen Fall wird von Philosophen, Chemikern, Informatikern,Soziologen etc. durch ihre besondere Sichtweise auf bestimmte Themen geformt. In den biblio-thekswissenschaftlichen Veroffentlichungen zur Klassifizierung von Buchern wird u.a. zwischeneiner non-faceted und faceted classification unterschieden [Ive95, AG87].

Bei dem non-faceted oder auch enumerativen Ansatz wird die Organisation der Begriffe, die dieInhalte von Buchern naher beschreiben sollen, durch eine Auflistung der einfachen und zusam-

Page 27: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

2.1. Grundlagen der Personalisierung 19

mengesetzten Attribute in einem hierarchischen System vorgenommen. Das bedeutet, dass nichtnur alle existierenden Kombinationen, sondern auch alle eventuell in der Zukunft benotigtenKombinationen der einfachen Attribute im Voraus aufgelistet werden sollten, was sich als keineeinfache Aufgabe erweist.

Der faceted Ansatz basiert eher auf Kombinationen von einfachen konzeptuellen Gruppen, wasdurch die Dekomposition von Konzepten in alle moglichen Unterfacetten erreicht wird. Die Facet-ten in Kombination spannen somit einen mehrdimensionalen Raum auf, in dem die einzelnen zukategorisierenden Objekte an dem Ort ihrer speziellen Attributauspragungen einzuordnen sind.Alle Kombinationen der einzelnen Facetten sind moglich und konnen bei Bedarf zur Klassifizie-rung benutzt werden. Ein bestimmtes Klassifikationsschema, welches dem faceted Ansatz folgt,benutzt z.B. die funf sehr allgemeinen Facetten: Personality, Matter, Energy, Space und Time.Denkbar sind auch andere beliebige Facettierungen. Rein enumerative oder faceted Ansatze sindsehr selten. Die meisten Klassifizierungen kombinieren beide Ansatze.

Da enumerative Schemata vergleichsweise mehr Eintrage aufweisen als faceted Schemata, sinddie enumerativen besonders fur abgeschlossene, leicht uberschaubare und anderungsstabile Ein-satzgebiete geeignet. Dagegen sind faceted Klassifikationen kurzer und konnen besser mit An-derungen umgehen.

Diese Klassifizierungsverfahren konnen auch bei der Klassifizierung der Anwender zum Einsatzkommen. Die Wahl des Verfahrens hangt dabei, wie diskutiert, entscheidend vom Einsatzgebietdes Systems ab. Ebenso wird bei Bedarf der Inhalt einer solchen Klassifizierung unterzogen, dieidealerweise mit der bei den Anwendern gewahlten ubereinstimmt oder durch eine Ubersetzungder einzelnen Begriffe deckungsgleich gemacht werden kann.

Zusammenfassend werden somit in der Profiling-Phase durch das Tracking Daten uber Anwen-der und ihr Verhalten mit Hilfe verschiedener Verfahren gesammelt oder direkt vom Anwenderbezogen oder von Anbietern erkauft. Diese Daten bedurfen meist noch der Aufbereitung. Siewerden bereinigt und verdichtet sowie in der Analysephase z.B. anhand der vorgenommenenKlassifikation sortiert, gruppiert oder anderweitig analysiert. Ebenso werden die Objekte derAnpassung, also der Inhalt, seine Prasentation oder Verknupfung, einer Klassifikation unter-zogen, damit sie moglichst einfach den Anwendern oder Anwendergruppen zugeordnet werdenkonnen.

In diesem Abschnitt wurde beschrieben, welche Daten zur Anpassung herangezogen werdenkonnen, mit welchen Techniken das geschehen kann und wie die Nachbereitung der Daten erfolgenkann. Nun wird im folgenden Abschnitt ein Uberblick daruber gegeben, auf welche Komponenteneines Systems und mit welchen Methoden die Anpassung angewendet werden kann.

2.1.4 Objekte und Methoden der Anpassung

Auf der Grundlage der vorigen Kapitel wird nun in diesem Abschnitt dargestellt, welche Kom-ponenten eines Systems auf die Bedurfnisse eines Benutzers zugeschnitten werden konnen, au-ßerdem soll erlautert werden, auf welche Art bzw. mit welchen Methoden die Anpassung durch-gefuhrt werden kann.

Wenn man Systeme im Allgemeinen betrachtet, stellt man fest, dass sie aus Programmmaskenoder entsprechend aus Web-Seiten bestehen, die durch bestimmte Navigationssteuerelemente,

Page 28: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

20 2. Personalisierung

wie Schaltflachen und Hyperlinks, miteinander verbunden sind. Auf den Programmmasken oderWeb-Seiten sind Inhalte der Seite selbst und Verweise bzw. Links zu anderen Masken bzw. Seitenoder Diensten zu finden. Zusammengefasst kann die Anpassung also einerseits auf Inhaltsebe-ne (content-level adaption) oder andererseits auf Verweisebene (link-level adaption) stattfinden[Bru96].

Anpassung des Inhaltes (content-level adaption)

Zu dieser Art der Anpassung gehort die Prasentation einer Software, also die Gestaltung derOberflache eines Systems. Damit kann sowohl das Farbschema der Software, das Klangschemaoder aber auch das Design der Fenster gemeint sein. Ein Sammelbegriff fur die Erscheinung einesSystems ist das Look & Feel, welches meist durch das Betriebssystem bestimmt wird, auf dem dieAnwendung lauft. Bei Internetseiten wird die Oberflache durch das Design und die Anordnungdes Inhaltes determiniert. Mit dem Inhalt eines Systems sind nicht nur die Texte oder verschie-dene multimediale Artefakte gemeint, die z.B. eine Web-Seite anzeigt. Daruber hinaus beinhaltetder Begriff die Dienste, die ein System zur Verfugung stellt, wie z.B. die Rechtschreibprufungbei der Textverarbeitungssoftware Word von Microsoft oder die Moglichkeit, eine Textnach-richt auf ein Handy verschicken zu konnen bei dem Portal Web.de. Als letzten Punkt sind dieVerknupfungen (Links oder Schaltflachen) zwischen Inhalten, also z.B. Web-Seiten zu nennenoder zu Diensten einer Web-Seite.

Wenn Text in einem System haufig einen bestimmten Typ von Objekt beschreibt, konnen durchStrukturierung Attribute zu einem bestimmten Typ wie z.B. einem Produkt aggregiert werden.Dazu konnen wieder die im vorigen Abschnitt (2.1.3) vorgestellten Klassifizierungsansatze – fa-

ceted und non-faceted classification – herangezogen werden. Vorteilhaft bei dieser Abstraktionist es, dass die Zuordnung von Eigenschaften eines Benutzers zu den Attributen eines Artefak-tes einfacher in Regeln ausgedruckt werden kann und es dadurch leichter ist, den Inhalt samtPrasentation auf die Bedurfnisse eines Anwenders zuzuschneiden.

Anpassung der Verweisstruktur (link-level adaption)

Mit der Anpassung der Verweisstruktur auf bestimmte Anwender wird das Ziel verfolgt, dassder Benutzer leichter seinen Weg durch die Anwendung bzw. den Inhalt finden soll.

Es werden vier Arten von Verweisprasentationen unterschieden [Bru96]:

• Lokale nicht kontext-abhangige Verweise: Das sind alle Verweise, die nicht von dem Kon-text, in dem sie auftreten, abhangig sind. Meist kommen sie in Form von Mengen, Listenoder in Menuform vor.

• Kontext-abhangige Verweise: Links dieser Kategorie treten mitten in einem Fließtext auf.Es werden z.B. einige Schlusselworter in einem Text als Link eingerichtet, um den Begriffan einer anderen Stelle naher zu erklaren.

• Verweise aus einem Index : Solche Index-Seiten sind Web-Seiten, die nur Verweise enthal-ten. Die Links sind in einer bestimmten Reihenfolge, meist thematisch, aber auch alpha-betisch angeordnet.

Page 29: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

2.1. Grundlagen der Personalisierung 21

• Verweise in Karten: Zum Teil werden Karten zum Reprasentieren von Verweisstrukturenbenutzt. Diese Karten enthalten dann Links. Die Anordnung der Links wird durch dieForm und Bedeutung der Karte bestimmt.

Methoden der Anpassung

Zur Anpassung von Inhalten oder Verweisen in Systemen werden funf Methoden identifiziert[Bru96]:

• Direktes Leiten (direct guidance): Das System berechnet aus den Vorlieben und Zielendes Anwenders, welche Informationen/Seiten er am ehesten besuchen mochte. Dabei kanndas System den geeignetsten Weg entweder visuell markieren oder aber auch einen neuenzusatzlichen Link zeigen, der eine Abkurzung (short cut) zu dem vermeintlich besten Inhaltdarstellt. Sinnvoll ist es, dem Anwender die Flexibilitat zu lassen, einen anderen Weg zugehen.

• Anpassung der Anordnung (adaptive ordering): Alle Verbindungen zu den Inhalten werdengeordnet. Das Ordnungskriterium besteht darin, die Links mit der großten Relevanz ganznach oben zu stellen. Diese Art der Anpassung kann allerdings nur bei nicht kontextab-hangigen Verweisen benutzt werden. Nachteilig wirkt sich auf die Bedienungsfreundlichkeitaus, dass sich nach jedem Besuch die Anordnung geandert haben kann.

• Verbergen (hiding): Bei dieser haufig angewendeten Technik werden vom Anwender nichtals relevant erachtete Verweise verborgen. Das Ergebnis ist eine Verbesserung der Uber-sichtlichkeit der Navigationsunterstutzung.

• Angepasste Kommentare (adaptive annotation): Die Verweise werden mit Kommentarenz.B. in Form von Tooltips versehen, die Auskunft uber den Inhalt der Seite/Maske ge-ben, der hinter dem Verweis steckt. Die Prasentation dieses Kommentares ist ebenfallsanpassbar. In diese Kategorie fallt die farbliche Markierung der Links, die bereits besuchtwurden.

• Karten-Anpassung (map adaption): Sogenannte Hypermedia-Karten werden angepasst.Dabei konnen die Techniken Verbergen, angepasste Kommentare und direktes Leiten be-nutzt werden. Haufig wird diese Art von Anpassung allerdings noch nicht verwendet.

Nachdem herausgearbeitet worden ist, welches die Objekte der Personalisierung sind und mitwelchen Methoden die Anpassung vonstatten gehen kann, wird zum Abschluss des Grundlagen-teils dieses Kapitels das Zusammenwirken der durch die in Abschnitt 2.1.3 erstellten Profile undder Personalisierungsregeln dargestellt.

2.1.5 Kollaboration von Anwenderprofil, Inhaltsprofil und Anpassungsregeln

Die vorigen Abschnitte dieses Kapitels haben gezeigt, mit welcher Intention Personalisierungangewendet wird und wie die praktische Umsetzung in Form eines Personalisierungsprozessesaussieht. Dabei sind besonders Aspekte der Datenkollektion, der Datenkollektionstechniken, der

Page 30: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

22 2. Personalisierung

Datenkategorisierung und der Profilklassifikation in der Profiling-Phase behandelt worden. Zu-dem wurde herausgearbeitet, welche Objekte eines Systems angepasst werden konnen und aufwelche Weise dies geschehen kann.

In diesem letzten Abschnitt des Kapitels ”Grundlagen der Personalisierung“ werden verschiedeneAspekte der Matching-Phase (siehe Abschnitt 2.1.2) beleuchtet. Dabei soll herausgearbeitetwerden, wie Profile und Anpassungsregeln zusammenarbeiten.

Es werden zunachst die Begriffe ”Anwenderprofil“, ”Inhaltsprofil“ und ”Anpassungsregeln“ er-lautert. Anschließend wird ein grober Uberblick uber das Zusammenspiel der Anwenderprofilesowie Inhaltsprofile und ihrer Zuordnung zueinander durch sog. Anpassungsregeln (adaption

rules) gegeben.

Anwenderprofil

Ein Anwenderprofil stellt die Aggregation der Profildaten eines Anwenders dar. Es wird zwischendem primaren und sekundaren Profil unterschieden [BBH+00], wobei das primare hauptsachlichaus Benutzerdaten besteht, das sekundare zusatzlich Benutzungs- und Umgebungsdaten erfasst.Falls der Benutzer die Moglichkeit hat, sein Profil zu pflegen, wird er meist nur sein primaresProfil bearbeiten konnen. Die Daten des sekundaren Profiles, welches z.B. den letzten System-zugriff, alle vom Kunden durchgefuhrten Transaktionen, die durchschnittliche Verweildauer imSystem etc. enthalt, werden dem Anwender eher nicht prasentiert.

Bei der Personalisierung eines Systems wird meist im Voraus festgelegt, welche Daten des An-wenders gesammelt werden sollen. Dafur wird ein Schema angelegt, welches die Attribute derProfile samt ihren Wertebereichen definiert. Diese Attributdefinitionen konnen nach den in 2.1.3vorgestellten faceted und non-faceted Klassifizierungsansatzen vorgenommen werden. Fur denFall, dass sehr viel uber die Art der Anwender und ihre Attribute bekannt ist, ist der Einsatz ei-ner non-faceted Klassifizierung geeignet. Falls aber die Eigenschaften der Anwender weitgehendunbekannt oder weitgefachert sind, ist es empfehlenswert, dem kompakteren faceted Ansatz zufolgen.

Inhaltsprofil

Das Inhaltsprofil ist – analog zum Anwenderprofil – die Sammlung der Attribute, die eine Inhalts-einheit (content item) beschreiben. Somit konnte ein Werbebanner fur eine Computer-Zeitschriftdurch die Attributbundel (Art: Banner, Gebiet: Computer, Artikel: Printmedien) beschriebenwerden. Inhaltsprofile mussen nicht zwangsweise zur Verfugung stehen. Allerdings erleichtern siedie Gruppierung der Inhaltseinheiten und somit die Personalisierung.

Anpassungsregeln

Die Anpassungsregeln ordnen bestimmten Attributen der Anwenderprofile Attribute der In-haltsprofile zu. Wenn keine Inhaltsprofile existieren, so werden die Inhalte direkt den Attributender Anwenderprofile zugeordnet. Sie konnen in einer Metasprache formuliert werden z.B. mitif-then-else Klauseln und temporalen Klauseln. Sie bestimmen also, was wem wann warum pra-

Page 31: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

2.1. Grundlagen der Personalisierung 23

sentiert wird. Dazu sollten alle schon bestehenden Profilattribute der Anwender und des Inhalteszur Definition der Klauseln zur Verfugung stehen. Idealerweise kann man sie uber eine graphischeBenutzungsoberflache definieren, die ebenfalls eine Vorschau uber die personalisierte Oberflachebietet.

Von der Definition der Anpassungsregeln hangt entscheidend der Erfolg der Personalisierung ab.Nur wenn die Anpassung das System und den Anwender in gleicher Weise positiv unterstutzt undeinen Mehrwert fur beide Seiten erzeugt, wird sich die Personalisierung auch positiv auswirken,sowohl auf den Umsatz eines Shops als auch auf die Akzeptanz der Anwender. In der Literaturwerden leider keine allgemeingultigen Verfahren oder Referenzmodelle zur erfolgreichen Persona-lisierung von bestimmten Systemen, z.B. von bestimmten Branchen, vorgeschlagen. Somit solltebei der Einrichtung eines neuen Systems mit Personalisierung sorgfaltig auf die Eigenheiten desAnwendungsgebietes eingegangen werden.

Zusammenspiel der Komponenten

Zur individuellen Anpassung von Anwendungssystemen auf Bedurfnisse ihrer Benutzer mussenverschiedene Komponenten zusammenwirken (siehe Abbildung 2.4).

User Content

User Interface Layer

Set of Attributes

Profile Layer

UserProfile

ContentProfile

ContentAttributes

UserAttributes

Personalization

Specific Values

PersonalizationRules

PersonalizationRules

Vocabulary Layer

Abbildung 2.4: Anordnung der Komponenten [Ins00]

Die Saule auf der linken Seite mit der Beschriftung Users stellt die Anwender eines Systemsdar. Analog dazu reprasentiert die Saule auf der rechten Seite den Inhalt, den ein System zurPrasentation vorhalt.

Auf der untersten Schicht ist die Vokabularschicht (vocabulary layer) angelegt. Hier werden dieAttribute der Anwender- und Inhaltsprofile definiert und festgelegt, welche Werte akzeptiertwerden. Zwischen bestimmten Werten konnen hierarchische Beziehungen bestehen (z.B. eineKatze ist ein Haustier), die auf dieser Schicht identifiziert und angegeben werden.

Page 32: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

24 2. Personalisierung

Daruber befindet sich die Profilschicht (profile layer). Auf ihr wird festgelegt, welcher Inhalt unterwelchen Umstanden welchem Benutzer prasentiert wird. Hier sind die konkreten Benutzerprofileangesiedelt. Wenn es Inhaltsprofile gibt, sind diese ebenfalls auf dieser Ebene zu finden. Siewerden durch die Personalisierungsregeln (personalization rules) Benutzerprofilen zugeordnet.

Die Abbildung zeigt auf der obersten Ebene die Benutzungsoberflache (user interface layer), aufder der Benutzer mit dem Inhalt durch die Personalisierung zusammengebracht wird.

Benutzerprofile und Inhaltsprofile konnen implizit oder explizit durch den Benutzer geandertwerden: Die implizite Anderung des Benutzer- und Inhaltsprofiles kann z.B. durch den Kauf einesProduktes erfolgen, explizit kann der Benutzer sein Profil durch das Ausfullen von Fragebogenbeeinflussen. Durch die Teilnahme an Bewertungen kann der Benutzer das Inhaltsprofil explizitformen.

Zwischen den Attributen bzw. Profilen wirken die Anpassungsregeln oder auch Personalisierungs-regeln. Sie verknupfen auf verschiedenen Ebenen bestimmte Benutzerattribute mit bestimmtenInhalten und sorgen dafur, dass dem richtigen Benutzer die passenden Inhalte prasentiert werden.

Einige Regeln der Vokabularschicht arbeiten auf einer Menge von Attributen als Ganzes. EinBeispiel hierfur sind ”Lieblingssanger“ auf der Seite des Benutzerprofils und ”Kunstler“ auf derSeite des Inhaltsprofils. Teilweise ist es nicht moglich, auf der Ebene der Attributtypen eineRegel festzulegen, dann muss die Regel auf die Ebene der Werte heruntergebrochen werden.

Mit diesem Abschnitt schließt der erste Teil des zweiten Kapitels. Im nachsten Abschnitt werdendie Konzepte der Personalisierung, also die Instrumente und ihre Techniken beschrieben, durchdie die Personalisierung realisiert werden kann.

2.2 Identifizierung von Konzepten zur Personalisierung

Dieser Abschnitt baut auf die im vorigen Abschnitt herausgearbeiteten Grundlagen der Perso-nalisierung auf. Es werden verschiedene Konzepte der Personalisierung identifiziert, die jeweilsunter den Gesichtspunkten der Nutzensteigerung (vgl. Abschnitt 2.1.1), der benotigten Profi-

ling-Daten (vgl. Abschnitt 2.1.3), der Objekte der Anpassung (vgl. Abschnitt 2.1.4) und der dasKonzept umsetzenden Techniken untersucht werden.

Bei der Untersuchung, welche Konzepte oder Instrumente bei der Personalisierung zum Einsatzkommen, wurde zunachst eine Liste von Instrumenten und Techniken zusammengestellt, die beider Recherche von Literatur und Systemen identifiziert werden konnten. Es fiel schnell auf, dassviele verschiedene Konzepte und Techniken ahnlich geartet sind und daher zu einem Konzeptzusammengefasst werden konnen. Somit kristallisierten sich funf Konzepte heraus, die alle Tech-niken der Personalisierung umfassen sollen. Diese Konzepte lauten: Mehrsprachigkeit, Alerting,Zugriffskontrolle, Empfehlungen sowie personliche und allgemeine Sichten.

In Abbildung 2.5 wird eine schematische Ubersicht uber die Konzepte und deren Zielsetzun-gen gegeben. In der Abbildung bezeichnen die fettgedruckten oberen Zeilen das Einsatzgebiet,wahrend in den horizontalen Kasten die Konzepte der Personalisierung aufgefuhrt sind.

Page 33: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

2.2. Identifizierung von Konzepten zur Personalisierung 25

Umsetzung vonZugriffsrechten

MarketingBedienungs-freundlichkeit

Kooperations-unterstützung

Zugriffsrechte

Mehrsprachigkeit

Alerting

Empfehlungen

Persönliche und allgemeine Sichten

Abbildung 2.5: Ubersicht uber Personalisierungskonzepte

2.2.1 Mehrsprachigkeit

Die Mehrsprachigkeit von Systemen ist in der Vergangenheit wenig behandelt worden. Die Ent-wicklungsarbeit wurde meist im monolingualen Bereich vorangetrieben. Die generell akzeptierteStandardsprache war Englisch. Das lag zum einen daran, dass die meisten Entwicklungen ausden USA kamen, aber andererseits auch daran, dass der Hauptanteil von Anwendungen kei-ne Web-Anwendungen waren, die mit einer großen Anzahl unterschiedlicher Benutzer umgehenmussten. Inzwischen hat sich das Bild geandert. Es besteht ein Bedarf von Anwendungen, mitdenen in verschiedenen Sprachen gearbeitet werden kann. Außerdem wird die Fahigkeit gefor-dert, multilingual zu suchen. Bisher konnte noch nicht die Vielfalt der Sprachen befriedigend imWeb eingesetzt werden. Die Standardprotokolle und Dokumente sind nicht besonders auf denUmgang mit Zeichendekodierung (character encoding), vielsprachigen Dokumenten oder denspeziellen Anforderungen von bestimmten Sprachen vorbereitet. Die meisten Web-Browser sindnicht fahig, mehrsprachige Dokumente zu erkennen oder zu prasentieren.

Die Hauptanforderungen an mehrsprachige Anwendungen richten sich an die Unterstutzungvon verschiedenen Zeichensatzen und -dekodierungen, da sinnvolle Anzeigen von multilingualenDaten und ihre interne Manipulation nicht vorhanden sind.

Nutzensteigerung und Objekte der Anpassung

Das Hauptziel, welches mit der Mehrsprachigkeit von Systemen verfolgt wird, ist Bedienungs-freundlichkeit, wie in Abbildung 2.5 deutlich wird. Sicherlich wirkt ein gewisser Anteil von Mar-ketingerwagungen mit hinein, aber der Komfort spielt hier die großere Rolle.

Durch die Mehrsprachigkeit eines Systems wird teilweise die Benutzbarkeit uberhaupt erst er-moglicht; wenn das der Fall ist, konnen sogar neue Benutzergruppen als Kunden gewonnenwerden. Benutzern kann der Umgang aber auch einfach nur angenehmer gemacht werden, weilz.B. statt der Sprache Englisch die Muttersprache oder eine andere gut beherrschte Spracheverwendet wird [SC98b].

Page 34: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

26 2. Personalisierung

Informationsquellen

Fur die Mehrsprachigkeit werden Benutzerdaten der Kategorie Demographische Daten (vgl. Abb.2.2), und zwar Daten uber die Herkunft eines Benutzers oder aber auch die von ihm beherrschtenSprachen benotigt. Die Sprache kann entweder bei der Installation der Software bzw. per Dialo-gabfrage explizit gewahlt werden (direktes Verfahren) oder von der Sprache des Betriebssystemsimplizit abgeleitet werden (indirektes Verfahren), aber auch durch eine jederzeit anderbare Op-tionsauswahl. Die Daten uber die Sprache des Betriebssystems stammen aus Unterkategoriender Umgebungsdaten, und zwar von Software oder Standort.

Techniken

Es wurden in verschiedenen Programmiersprachen Voraussetzungen geschaffen fur einen ein-facheren Umgang mit Multilingualitat. Zwei von ihnen werden im folgenden Abschnitt naherbeschrieben.

Maßnahmen fur Mehrsprachigkeit bei HTML Zur sprachlichen Anpassung stellt HTMLspezielle Funktionen bereit. Der sogenannte RFC 2070-Standard fugt neue Funktionen zu HTMLhinzu: es konnen mehrsprachige Dokumente beschrieben werden, und der Umgang mit sprach-bedingten Funktionen wird ermoglicht.

Der zuerst von HTML verwendete Code war nur 8-bit lang. Somit konnten 256 verschiedeneZeichen dargestellt werden. Diese Anzahl reicht aber nicht aus, um Zeichen aus verschiedenenSprachen wie Franzosisch, Arabisch und Japanisch, anzuzeigen. Daher musste die Bitzahl desCodes erhoht werden, aber gleichzeitig sollte HTML eine gultige Untermenge von SGML bleiben.Zum Einsatz kommt nun der 16-bit lange Universal Character Set (UCS) von ISO 10646:1993. Erenthalt Zeichen der Sprachen aller Kontinente. Zur Identifikation der Sprache dient ein Protokollhoherer Ebene.

Der Einsatz dieses Codes bringt nicht nur Vorteile mit sich: die Speicherung ist aufwandiger,und die Ubertragungszeitenn sind somit langer. Demgegenuber stehen allerdings die Potentialeder Vielsprachigkeit von HTML-Seiten. Wenn die Browserhersteller ihre Produkte entsprechendanpassen, konnen Web-Seiten in verschiedenen Sprachen unter einer URL abgerufen werden.

Neben dem Unicode bietet RFC 2070 noch eine andere Neuerung – das Sprachattribut LANG(language attribute). Es kann den meisten HTML-Elementen beigefugt werden. Es zeigt fur einDokument oder einen bestimmten Abschnitt die Sprache an, in der sie verfasst sind. Die Werte,die LANG annehmen kann, sind in RFC 1766 spezifiziert. Die Angabe des LANG-Attributesist wichtig fur das Klassifizieren, Suchen, Sortieren und zur Kontrolle von sprachabhangigenEigenarten, wie Interpunktion etc. . Trotz all dieser Vorkehrungen kann es immer noch geschehen,dass Zeichen aufgrund von fehlenden Schriften nicht dargestellt werden konnen. Die einzelnenSchriftarten mussen von der lokal installierten Anwendung zur Verfugung gestellt werden.

Zusammenfassend kann festgehalten werden, dass mit diesen Vorkehrungen eine solide Basis furmehrsprachige Dienstleistungen im Web geschaffen worden ist.

Page 35: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

2.2. Identifizierung von Konzepten zur Personalisierung 27

Maßnahmen fur Mehrsprachigkeit bei Java Ein vorausschauender Entwickler versuchtbei der Programmierung einer Anwendung, Texte, Labels und Nachrichten, die auf der Oberflacheerscheinen, von seinem Programmcode zu trennen und diese separat abzuspeichern. Auf dieseWeise lassen sich einfacher andere Sprachen einpflegen, da nicht der gesamte Sourcecode fur eineanderssprachige Version neu geschrieben werden muss. Lediglich die Textbausteine der neuenSprache werden an zentraler Stelle ausgetauscht. Viele Programmiersprachen bieten ahnlicheMoglichkeiten. In diesem Abschnitt soll anhand von Java eine Technik zur Realisierung vonMehrsprachigkeit exemplarisch vorgestellt werden.

Der Einsatz von sogenannten Resource Bundles ermoglicht den Umgang mit Mehrsprachig-keit in Java [O’C98b], [O’C98a]. Dabei wird fur jede neue Sprache eine neue Version von deminitialen Bundel erzeugt. Der Benennung der verschiedenen Bundel liegt eine besondere Namens-konvention zu Grunde, die aus Basisnamen und einem optionalen lokalen Bestandteil (fur sehrahnliche Sprachen, wie z.B. Britisches Englisch und Amerikanisches Englisch) besteht. Mit dergetBundel-Methode wird bei dem Aufruf ohne Spezifizierung eines lokalen ”Unterbundels“ dasStandardbundel geladen. Mit der genauen Angabe des gewunschten Bundels gibt die Methodedurch Uberladen das lokale Bundel zuruck. Wenn das angegebene Bundel nicht gefunden wird,wird durch einen Suchalgorithmus, der die Komponenten der Namenskonvention berucksichtigt,nach einem ahnlichen Bundel gefahndet. Sollten keine Ahnlichkeiten festgestellt werden, wirddas Standardbundel zuruckgeliefert.

Durch die Vererbung der einzelnen lokalen Unterarten von Sprachen wie Englisch und die beidenUnterarten, Britisches Englisch und Amerikanisches Englisch, ist es nicht notwendig, z.B. Texte,die sich nicht unterscheiden, doppelt zu definieren. Wenn sich die Texte nicht unterscheiden, wirdautomatisch die Definition dieses Textes der Oberklasse (in diesem Fall Englisch) ausgewahlt.Das bedeutet, dass nur die Teile fur eine Unterklasse einer Sprache definiert werden mussen, diesich unterscheiden.

Resource Bundels bieten eine gute Moglichkeit, um einen Text, der einer bestimmten Sprachezugeordnet ist, vom eigentlichen Quellcode zu isolieren und ihn somit austauschbar zu gestalten.

2.2.2 Alerting

Darunter versteht man jegliche Form der Benachrichtigung eines Benutzers in Softwaresyste-men, sei es durch eine angepasste Email oder durch das Prasentieren eines auf Praferenzen desBenutzers abgestimmten Werbebanners.

Nutzensteigerung und Objekte der Anpassung

Ein personalisierter Alerting-Dienst kann grundsatzlich mehrere Ziele verfolgen. Das wahrschein-lich Elementarste ist die Bedienungsfreundlichkeit: das System nimmt dem Benutzer die Arbeitab; er muss sich nun nicht mehr aktiv um Informationen bemuhen. Wenn neue Informationenauftreten, wird er automatisch davon in Kenntnis gesetzt.

Diese Technik unterstutzt außerdem Marketingbemuhungen vor allem im Internet. Es bestehtdie Moglichkeit, mit schon vorhandenen Dienstnutzern einen regelmaßigen Kontakt zu halten

Page 36: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

28 2. Personalisierung

und somit das Angebot oder Neuerungen immer wieder ins Gedachtnis zu rufen. Dadurch kanneine intensivere Kundenbeziehung enstehen, die eventuell zu hoheren Umsatzen fuhrt.

Die Nutzensteigerung der Kooperationsunterstutzung ist auch dem Alerting zuzurechnen. Durchdie Benachrichtigung werden die Anwender uber Tatsachen informiert, die die Kooperation beider Arbeit uberhaupt erst ermoglichen, wie z.B. die Existenz eines ahnlichen Projektes in der-selben Firma, mit deren Beteiligten nun Wissensaustausch stattfinden kann.

Informationsquellen

Daten, die in diesem Zusammenhang benotigt werden, sind u.a. aus der Kategorie Demogra-phische Daten die Kontaktdaten (konkret E-Mail-Adresse) oder Daten der Kategorie Interes-sen/Vorlieben. Der Benutzer kann den Dienst unter direkter Angabe seiner Interessen abonnierthaben. Denkbar ist aber auch, dass diese aus einem automatisch erstellten Profil abgeleitet wer-den bzw. dass dann der Notifikationsdienst vom System aktiv zur Subskription angeboten wird.

Techniken

Die Techniken Namenserkennung, Notifikation und Empfehlungen setzen das Konzept des Aler-

ting um und werden in den nachsten Abschnitten behandelt.

Namenserkennung (name recognition) Die Namenserkennung stellt eine sehr einfache undhaufig verwendete Form der Personalisierung dar [IMA96]. Hierbei wird der Benutzer zur Begru-ßung im System mit Namen angesprochen. Die Wiedererkennung eines bestimmten Benutzerserfolgt meist uber den Einsatz von Cookies oder Logins. Gewunschter Effekt ist der Aufbau einerVertrautheit zwischen Benutzer und System, die wiederum zur besseren Kundenbindung fuhrensoll. Ob die Kundenbindung aber tatsachlich durch die personliche Anrede effektiv verbessertwerden kann, ist fraglich.

Notifikation Im Kontext von Personalisierung tritt Alerting u.a. als Notifikation in Formvon Newsletters auf, die den Empfanger auf verschiedene Neuigkeiten oder Angebote aufmerk-sam machen konnen. ”Notifikation beschreibt also die gezielte elektronische Benachrichtigunginteressierter Personen uber fur sie relevante Vorgange“ [Thu00]. Dabei ist denkbar, dass diePersonalisierung in Form von einer personlichen Anrede in einer Mail, aber auch zusatzlichdurch die gezielte Auswahl eines speziellen Angebotes erfolgt. Daruber hinaus ist es moglich,einen Benutzer von der Anderung oder Neuerung bestimmter Inhalte im Web zu informieren,fur die sich der Empfanger zu einem fruheren Zeitpunkt registriert hat (Subskription). Auch dasdurch das Profil eines Benutzers beeinflusste Hinweisen auf Angebote oder Empfehlungen vonProdukten durch eine Email fallt in diese Kategorie der Personalisierung.

Newsletters sind ”regelmaßig erscheinende redaktionelle Beitrage zu einem gewissen Themenge-biet“ [Sch01]. Man kann mit relativ großer Sicherheit davon ausgehen, dass ein Kunde diese Artvon Personalisierung schnell erhalt. Somit konnen auch zeitkritische Nachrichten, wie Borsen-nachrichten oder Terminerinnerungen, zugestellt werden. Sinnvoll sind z.B. auch Informationen

Page 37: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

2.2. Identifizierung von Konzepten zur Personalisierung 29

uber die Umgestaltung einer Web-Seite, Erweiterung der Dienstangebote oder das Aufmerksam-machen auf Sonderangebote einer bestimmten Produktkategorie, fur die sich der Kunde schonzu einem fruheren Zeitpunkt interessiert hat.

Der Einsatz von Newsletters sollte immer mit dem Einverstandnis des Benutzers verbunden sein.Ohne Erlaubnis ist das Versenden von Emails rechtlich zwar nicht gestattet, doch leider haltensich nicht alle Anbieter daran, obwohl dies garantiert mit einem Image-Schaden einhergeht.

Es gibt reine Text-Newsletters, die vollkommen ohne Bilder und Links auskommen. Zum Einsatzkommen aber auch HTML-Newsletters, die wesentlich mehr Moglichkeiten fur das Design, aberauch fur die Funktionalitat bieten. Oftmals werden nur die Links zu den Nachrichten mit demNewsletter verschickt. Der eigentliche Inhalt ist dann auf den Anbieter-Seiten zu finden. Um denMarketingeffekt dieser Technik nicht negativ zu beeinflussen, sollten Anbieter immer sorgfaltigauf die Qualitat ihrer Beitrage achten. Ebenfalls sollte es dem Anwender erleichtert werden, denDienst wieder abzubestellen.

Empfehlungen Empfehlungen gelten ebenfalls als eine Technik, um Alerting in die Praxisumzusetzen. Gleichzeitig werden sie aber in dieser Arbeit als eigenes Konzept der Personalisie-rung klassifiziert. Daher werden Empfehlungen in Kapitel 2.2.4 beschrieben.

2.2.3 Zugriffskontrolle

Ein weiteres Konzept, welches in dieser Arbeit der Personalisierung zugeordnet wird, ist dieZugriffskontrolle. Sie ist weit verbreitet und wird nicht unbedingt im Zusammenhang mit Perso-nalisierung angewendet. Vielmehr geht es darum, Systeme oder Teile von Systemen vor unberech-tigtem Zugriff zu schutzen. Die Zugriffskontrolle ist bei der Durchfuhrung von Personalisierungsehr hilfreich, weil sie es ermoglicht, dass die Profildaten dem Anwender zugeordnet werden,wenn dieser das System wiederholt benutzt.

Nutzensteigerung und Objekte der Anpassung

Zugriffskontrolle stellt ein sehr wichtiges Instrument zur Sicherung von Daten und somit der Pri-vatsphare in einem Softwaresystem dar. Der Anwender wird nur auf die Bereiche eines Systemszugreifen konnen, die fur ihn freigeschaltet sind. Das Prinzip der ”gezielt eingeschrankten Sicht“wird auch durch die Zugriffskontrolle realisiert. Zum einen werden Daten, Funktionen und Ein-stellungen vor mißbrauchlicher Benutzung geschutzt (z.B. Mail bei einem Internet-Mailanbieter),zum andern dient die Zugriffskontrolle dazu, die Sicht des Anwenders einzuschranken und damitden Uberblick, z.B. fur ungeubte Benutzer, zu erweitern. Außerdem wird erreicht, dass sich dieAnwender in einer fur sie gewohnten Arbeitsumgebung bewegen konnen, die sie sogar selbstgestalten durfen, wenn die entsprechenden Rechte vergeben sind. Mit der Technik Rollenkon-zept (siehe Abschnitt 2.2.3 Techniken) soll das Ziel der Umsetzung von Zugriffsrechten fur anRollen gebundene Benutzer erreicht werden. Dem Systemadministrator beispielsweise werdenalle erdenklichen Rechte eingeraumt, wie das Loschen von Ordnern und die gesamte Benutzer-verwaltung, wahrend hingegen ein normaler Benutzer nur die konkret ihn betreffenden Datenverwalten darf.

Page 38: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

30 2. Personalisierung

Informationsquellen

Zu den zu sammelnden Daten gehoren z.B. die Funktionen, die ein Anwender im System benutzendarf oder nicht benutzen darf. Daruber hinaus wird fur den Benutzer eine eindeutige Kennungund ein zugehoriges Passwort gespeichert.

Techniken

Zur Umsetzung der Zugriffskontrolle sind in der Literatur viele verschiedene Techniken zu finden.Die wichtigsten von ihnen werden im Folgenden kurz beschrieben.

Mandatory Access Control (MAC) Bei dieser Art der Zugriffskontrolle wird fur jedes In-formationsartefakt eine bestimmte Sicherheitsstufe gemaß seiner Sensibilitat festgelegt. Sicher-heitsstufen konnen z.B. sein: nicht sensibel, eingeschrankte Sichtbarkeit, hochste Sensibilitat.Diese Methode wird beispielsweise beim Militar fur bestimmte Anwendungen eingesetzt. DieBenutzer erhalten daraufhin das Recht, eine bestimmte Sicherheitsstufe einsehen zu durfen. DieSicherheitsstufen sind hierarchisch angeordnet. Das bedeutet, dass der Benutzer mit dem Rechtzur Einsicht einer bestimmten Stufe auch die untergeordneten, weniger sensiblen Stufen einsehendarf [San93].

Discretionary Access Control (DAC) Bei dieser Zugriffskontrolltechnik kann jeder Be-nutzer seinen Dokumenten (Dokumente, die er angelegt hat) oder Ordnern Zugriffsrechte selbstzuordnen [FK92].

Role Based Access Control (RBAC) Das Grundprinzip von RBAC besagt, dass eine Zu-griffserlaubnis mit bestimmten Rollen verknupft werden kann, wobei einer Rolle wiederum An-wender zugeordnet werden. Die rollenbasierte Zugriffskontrolle ist durch die Struktur fur denEinsatz in Wirtschaftsorganisationen pradestiniert.

Im Folgenden werden die drei Entitaten des Grundkonzeptes von RBAC, genannt RBAC0, be-schrieben [SCFY96]:

1. User : Hiermit ist der Benutzer des Systems gemeint. Er kann sowohl eine Person sein alsauch ein anderes System oder ein Agent. Ihm werden Rollen zugeordnet. Diese Zuordnungkann sich im Laufe der Benutzung andern.

2. Role: Der User des Systems hat in der Organisation, in der das System Anwendung fin-det, ein bestimmtes Amt oder eine bestimmte Rolle, nach der seine Tatigkeiten festgelegtwerden. Rollen konnen Zugriffsrechte zugeordnet werden.

3. Permission: Der Begriff kann synonym mit Zugriffsrecht verwendet werden und beschreibtdie Zusicherung, dass der Benutzer auf bestimmte Artefakte bestimmte Einsichten habendarf.

Mittlerweile setzen einige Produkte RBAC vollstandig um, Teile von RBAC werden in Standards,wie z.B. SQL3, integriert. Mehr zum Thema RBAC ist u.a. in [FK92] zu finden.

Page 39: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

2.2. Identifizierung von Konzepten zur Personalisierung 31

2.2.4 Empfehlungen (recommendations)

Die Personalisierung eines Systems kann durch Empfehlungen erfolgen. Diese Form kommt haufigbei web-basierten Systemen vor. Sie versuchen, ihre Kunden bei der Suche nach Produkten zuunterstutzen und liefern dazu Empfehlungen.

Nutzensteigerung und Objekte der Anpassung

Das System empfiehlt seinen Kunden bestimmte Produkte, von denen es durch bestimmte An-nahmen vermutet, dass diese besonders den Interessen der Kunden entsprechen. Der textuelleInhalt einer Web-Seite wird dabei angepasst; die Empfehlung kann aber auch durch multimedialeInhalte, wie Bilder, Banner etc., prasentiert werden. Mit Empfehlungen werden vor allem dieZiele Marketing, Bedienungsfreundlichkeit und Kooperationsunterstutzung verfolgt. Durch diespeziell angebotenen Produkte kann die Kundenbindung verbessert werden. Durch die individu-ellen Empfehlungen genießt der Kunde eine bedienungsfreundliche Umgebung, da er sich die furihn passenden Inhalte nicht selbst aus der Fulle von Informationen herausfiltern muss. Koopera-tionsunterstutzung wird bei einigen Formen der Empfehlungsfindung sehr stark eingesetzt, wiez.B. bei dem spater diskutierten Collaborative Filtering.

Informationsquellen

Fur das Platzieren von Empfehlungen konnen viele verschiedene Arten von Daten genutzt wer-den. Die genauen Quellen richten sich nach den eingesetzten Techniken. Im Grunde gehoren dieverarbeiteten Daten der Kategorie Interessen/Vorlieben der Oberkategorie Benutzerdaten an.

Techniken

Grob kann zwischen nicht-individualisierten Empfehlungen und individualisierten Empfehlungenunterschieden werden.

Nicht-individualisierte Empfehlungen Bei der Erstellung von nicht-individualisierten Emp-fehlungen werden nicht-individualisierte Daten benutzt. Es wird somit fur jeden Benutzer diesel-be Empfehlung generiert. Dieses Verhalten widerspricht dem Grundprinzip der Personalisierung,namlich dass verschiedenen Anwendern oder Anwendergruppen eine extra angepasste Oberflacheprasentiert wird, und daher nur der Vollstandigkeit halber aufgefuhrt ist.

Individualisierte Empfehlungen Individualisierte Empfehlungen hingegen sind individuellpassende Angebote, die unter Einbeziehung personlicher Praferenzen einzelner Personen erstelltwerden. Der Unterschied der beiden Unterarten der individualisierten Empfehlungen ergibt sichaus dem jeweils verwendeten Mechanismus. Bei den individualisierten Empfehlungen konnendrei unterschiedliche Ziele verfolgt werden:

1. Die Selektion von einem oder mehreren Objekten, die entsprechende Kriterien erfullensollen (Filtern).

Page 40: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

32 2. Personalisierung

2. Die Erstellung einer Rangliste von Objekten, die mit der Rangliste des Benutzers moglichstgut ubereinstimmen soll.

3. Eine Prognose uber die Praferenz eines Objektes fur einen bestimmten Benutzer.

Die individualisierten Empfehlungen untergliedern sich in eigenschaftsbasierte Empfehlungenund Empfehlungen durch andere Personen.

Eigenschaftsbasierte Empfehlungen (feature based filtering) Eigenschaftsbasierte Emp-fehlungen entstehen, indem die Eigenschaften der potentiell zu empfehlenden Objekte nach ob-jektiven Kriterien untersucht werden. Hierfur wird fur jedes Objekt ein Eigenschaftsprofil entwi-ckelt. Ziel ist es, durch den Abgleich des Profils und der allgemeinen Praferenzen des Benutzersauf seine Praferenz diesem Produkt gegenuber zu schließen. Es wird eine Filterung vorgenom-men, indem die Praferenzen des Benutzers mit den Eigenschaften der Objekte verglichen werdenund dadurch eine Anzahl von Objekten ausgeschlossen werden kann. Unter den verbleibendenObjekten wird unter Berucksichtigung von Teil-Praferenzen eine Rangliste erstellt. Das kanndurch die explizite Befragung der Benutzer erfolgen (self-explicated measurements). Dabei wirder aufgefordert, fur jede Eigenschaft eines Produktes ein Bedeutungsgewicht anzugeben. Ausdiesen Angaben lasst sich dann die Zusammenfassung der Einzelwerte, die Globale Preference,berechnen. Wie die Globale Preference berechnet wird, hangt von der angewendeten Methodeab: Eine mogliche Methode ist, die Eigenschaften fur das Produkt in Zahlen ausgedruckt mitdem Bedeutungsgewicht fur das Attribut zu multiplizieren und alle Teilprodukte zu summieren.Es kann aber auch die Conjoint-Analyse durchgefuhrt werden. Hierzu wird der Benutzer aufge-fordert, mehrere verschiedene Produkte zu bewerten, und das System schließt eigenstandig aufdie Teilbewertungen der einzelnen Eigenschaften [Run00].

Eigenschaftsbasierte Empfehlungen werfen verschiedenartige Problematiken auf:

• Es ist aufwandig, samtliche Objekte mit Eigenschaften zu versehen und zu bewerten. BeiText ist es moglich, dies automatisch durchzufuhren, oft ist es aber nur durch manuellenAbgleich machbar (bei Klang, Bildern etc.).

• Objekte, die sich von bisher bekannten sehr unterscheiden, aber trotzdem fur den Benutzerrelevant sind, sind fur diese Methode schwer zu identifizieren.

• Nicht messbare Eigenschaften wie Qualitat oder Aussagekraft konnen von dieser Methodenicht erfasst und deshalb nicht einbezogen werden.

• Einige Objektkategorien sind generell schwierig in einem Eigenschaftsschema zu erfassen(z.B. Theaterstucke, Kinofilme etc.). Es scheint daher nicht sinnvoll, sie auf diese Art zubewerten.

Empfehlungen durch andere Personen (collaborative filtering) Eine Gruppe von Be-nutzern gibt Praferenzen zu bestimmten Objekten ab. Aus den Bewertungen werden Empfeh-lungen fur einen bestimmten Benutzer generiert, indem zunachst aus der Menge der BenutzerGruppen von ahnlichen Benutzern identifiziert werden. Diese Methode wird Collaborative Filte-ring genannt.

Page 41: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

2.2. Identifizierung von Konzepten zur Personalisierung 33

Es werden zwei Arten von Collaborative Filtering unterschieden:

Active Collaborative Filtering Hierbei empfehlen sich die Benutzer aktiv Objekte (Push-Kommunikation). Die Empfehler kennen die Personen, denen sie Empfehlungen zukommenlassen. Der Empfehler sollte also abschatzen konnen, welche Empfehlungen fur andere Per-sonen von Interesse sein konnten.Beim Passive Collaborative Filtering fragt der Benutzer bei einer Datenbank nach Emp-fehlungen [ME95].

Automated Collaborative Filtering So wird die automatische Form von Empfehlungen be-zeichnet. Die Ahnlichkeitsbestimmung von Benutzern erfolgt hierbei uber algorithmischeVerfahren; die Filterdefinitionen kann das System selbst ubernehmen. Die Notwendigkeit,dass sich die Benutzer untereinander kennen, entfallt. Dadurch konnen Benutzer in si-gnifikant großeren Gruppen zusammenkommen. Das Automated Collaborative Filtering

Verfahren lasst sich wiederum in zwei Kategorien aufteilen: in speicherbasierte Algorith-men, die fur die Generierung einer Empfehlung versuchen, die gesamte Datenmatrix derEmpfehlungen aller Anwender mit den vorhandenen Bewertungen des aktiven Anwendersin Beziehung zu setzen, und modellbasierte Algorithmen, die versuchen, durch die Untersu-chung von bereits bewerteten Objekten mit probabilistischen Methoden darauf zu schlie-ßen, wie die Praferenz gegenuber noch unbewerteten Objekten sein konnte [BHK98]. Dermodellbasierte Ansatz weist gegenuber dem speicherbasierten einen Vorteil auf. Da meistnur ein Teil der Datenbasis herangezogen werden muss, kommt der modellbasierte Ansatzmit weniger Rechenzeit aus. Durch die Datenverdichtung konnen aber auch Informations-lucken auftreten. Es wird innerhalb des modellbasierten Ansatzes noch zwischen ClusterModels und dem Bayesian Network Model unterschieden. Bei den Cluster-Modellen wirdbasierend auf den angegebenen Praferenzen versucht, die Benutzer durch Anwendung vonprobabilistischen Verfahren zu verschiedenen Benutzergruppen zuzuordnen. Im Bayesian

Network Model werden von speziellen Lernalgorithmen, die uber Trainingsdaten iterieren,Baume aufgespannt, die bedingte Wahrscheinlichkeiten zu den Praferenzen prasentieren.Es wird abgebildet, wie groß die Wahrscheinlichkeit ist, dass ein Benutzer ein Objekt Apraferiert, wenn er Objekt B praferiert. Dabei sind die weiter an der Wurzel befindlichenKriterien besonders zuverlassige Aussagen.

Eigenschaftsbasiertes Filtern versus Kollaboratives Filtern Wann welche Methode bes-ser eingesetzt werden kann, hangt von der Art der zu filternden Objekte ab. Fur das eigenschafts-basierte Filtern muss zunachst untersucht werden, ob sich den Objekten sinnvolle Eigenschaftenzuordnen lassen. Außerdem ist von Bedeutung, ob die Bewertung nach diesen Eigenschaften mitvertretbarem Aufwand moglich ist.

Wenn sich das eigenschaftsbasierte Filtern gut einsetzen lasst, dann bietet es die Vorteile, dassdie Berechnungen der Empfehlungen relativ einfach nachzuvollziehen sind und dass ein System,welches diese Methode verwendet, sofort nach der Einfuhrung eingesetzt werden kann. Allerdingskonnen subjektiv ermittelte Eigenschaften, wie Qualitat oder Aussagekraft, nicht mit in diePrognosen eingerechnet werden. Auch stellt die Pflege der Eigenschaftsbewertungen einen großenAufwand dar.

Page 42: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

34 2. Personalisierung

Wenn allerdings nach subjektiven Eigenschaften bewertet werden soll, ist der Einsatz von kol-laborativem Filtern gut geeignet, da die Vorlieben der Benutzer eine zentrale Rolle spielen undversucht wird, von Benutzern mit ahnlichen Praferenzen auf Empfehlungen zu schließen. DiePrognosen dieser Methode sind nicht so leicht nachzuvollziehen, wie bei der eigenschaftsbasier-ten Methode, was die Uberprufbarkeit der Ergebnisse erschwert. Im Ubrigen muss, bevor dasSystem einem neuen Benutzer Empfehlungen prasentieren kann, das Profil erst mit Daten gefulltwerden. Diese Tatsache schmalert die Akzeptanz bei vielen Benutzern und macht zumindest indiesem Punkt das eigenschaftsbasierte Filtern uberlegen.

2.2.5 Personliche und allgemeine Sichten

Diese Art der Personalisierung eroffnet dem Benutzer die Moglichkeit, auf eine individuell an-gepasste Sicht eines Informationsbereiches oder eines Systems zu blicken. Der Benutzer kannexplizit zwischen verschiedenen Optionen auswahlen. Z.B. kann er bestimmen, wie die Anord-nung der Komponenten einer Seite sein soll und welche Inhalte bzw. Links erscheinen sollen.Durch die Auswahl ergeben sich personliche Sichten auf eine Software oder Web-Seite. Es istaber auch vorstellbar, dass die personlichen Sichten durch das System automatisch fur einen be-stimmten Benutzer erstellt werden. Die benotigten Daten konnen vom vorherigen Benutzen desDienstes stammen oder aber auch durch Schließen von in bestimmten Kriterien ahnlichen Benut-zern auf diesen Benutzer hergeleitet worden sein. Diese automatische Anpassung spielt bei derKonzeption von Online-Lern-Systemen eine große Rolle. Hier gibt es Techniken, die jedem Be-nutzer einen bestimmten Level zuordnen und ihm daher mehr, weniger oder anders aufbereiteteInhalte vermittelt werden [KKP01].

Nutzensteigerung und Objekte der Anpassung

Wie in Abbildung 2.5 zu sehen, verfolgt das Filtern bzw. Selektieren von Inhalten zunachstdas Ziel der Bedienungsfreundlichkeit. Bei genauerer Betrachtung fallt allerdings auf, dass dieseDifferenzierung der Sicht auch einen anderen Aspekt von Personalisierung unterstutzt: Durchdie Bundelung bestimmter Artefakte zu einer Sicht ist es moglich, neue Zusammenhange zudokumentieren und diese von anderen abzugrenzen. Durch diese Beobachtung lasst sich alsoauch Kooperationsunterstutzung als Ziel dieser Art von Personalisierung angeben.

Informationsquellen

Die Informationsquellen zur Erzeugung von personlichen Sichten werden Benutzerdaten der Ka-tegorie Interessen/Vorlieben verwendet. Bei den personlichen Sichten der Online-Lernsystemewerden auch Benutzerdaten der Kategorien Benutzerkenntnis und Benutzerfahigkeit und -fertig-keit zur Anpassung herangezogen. Um festhalten zu konnen, was der Benutzer in seine Sichtintegriert haben mochte, muss er die einzelnen Bestandteile entweder explizit benennen oderaber das System kann durch bestimmte Mechanismen darauf schließen. Es werden Informa-tionen benotigt wie: Inhalte, Funktionalitaten, Services und Anordnung bzw. Gruppierung derBestandteile.

Page 43: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

2.2. Identifizierung von Konzepten zur Personalisierung 35

Techniken

Als Techniken zur Umsetzung von personlichen Sichten konnen Lesezeichen, Sammelmappensowie das Customizing genannt werden. Diese Begriffe sollen nunmehr erlautert werden.

Lesezeichen Eine Form der Personalisierung ist das Konzept der Lesezeichen (bookmarks).Dieses Konzept ist besonders bei Browsern weit verbreitet. Der Benutzer hat hier die MoglichkeitInternetadressen nach bestimmten Kriterien als Lesezeichen abzulegen, um zu einem spaterenZeitpunkt komfortabel auf bestimmte Seiten zuruckzugelangen.

Lesezeichen bieten dem Nutzer einfacheren Umgang mit z.B. haufig besuchten Internet-Seitenbzw. Services. Durch die Verwaltung von Lesezeichen bekommt der Nutzer die Moglichkeit, sichein Register von Themengebieten einzurichten. Auch hier wird das Ziel der Bedienungsfreund-lichkeit verfolgt.

Um Lesezeichen anlegen zu konnen, wird zunachst die Information benotigt, welche Quelle ge-speichert werden soll. Falls es sich um einen Dienst handelt, der von mehreren Nutzern imInternet oder auf einem PC benutzt werden kann, wird, um spater zu diesen Lesezeichen zuruck-zugelangen, eine Art Zugriffsinformation (z.B. der Benutzername) benotigt.

Es ist auch moglich, diese Lesezeichen automatisch vom System speichern zu lassen. In diesemFall werden Informationen uber das Navigationsverhalten des Benutzers benotigt.

Sammelmappen Dieses Konzept bietet die Moglichkeit zur Haltung von Referenzen auf furden Benutzer interessante Inhalte in einem dafur vorgesehenen Arbeitsbereich, der Sammelmap-pe. Sie sollten wie auch die Lesezeichenlisten uber Sitzungen gespeichert werden konnen. DieSammelmappe besitzt eine sehr große Ahnlichkeit zur Lesezeichenliste, unterscheidet sich aberdoch in einem ganz entscheidenden Punkt. Der Inhalt einer Sammelmappe sollte jederzeit undeinfach umstrukturiert werden konnen. Der Zweck einer Sammelmappe besteht darin, durchdie Bundelung von Referenzen zu einem bestimmten Thema eventuell noch nicht entdeckteZusammenhange aufzuzeigen [For02]. Ein weiterer Aspekt, der bei Lesezeichen nicht ubermaßigberucksichtigt wird, ist der Vergleich mit anderen bestehenden Sammelmappen. Wenn zwei Wis-senschaftler ihre erforschten, in Sammelmappen zusammengefassten Topologien abgleichen, sowird das Instrument Sammelmappe zu einem Werkzeug der Kooperationsunterstutzung. Betontwerden muss aber, dass die Ubergange von einer Lesezeichenliste zu einer Sammelmappe fließendsind [RMS+01].

Eine spezielle Unterart von Sammelmappen stellt der Einkaufswagen (shopping cart) dar, dermeist in Online-Shopping-Systemen eingesetzt wird. In ihm werden die zum Kauf vorgemerktenProdukte abgelegt. Sein Einsatz ist eher der Verbesserung der Bedienungsfreundlichkeit dienlichals der Kooperationsunterstutzung. Es ist aber vorstellbar, dass z.B. Chat-Raume fur Anwendermit ahnlichen Einkaufswagen eingerichtet werden konnten, die sich gegenseitig noch weitereProdukte empfehlen. Dieses Beispiel ist aber bisher rein fiktiv.

Customizing: Anwendergesteuerte Anpassung von Anwendungen Unter dem engli-schen Begriff ”Customizing“ wird der Prozess der Anpassung (engl.: customize = (an Wunsche)anpassen) verstanden, der bei oder nach der Installation einer Software vorgenommen werden

Page 44: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

36 2. Personalisierung

kann. Oftmals wird der Begriff im Zusammenhang von Standardsoftware benutzt, wobei danndie Freischaltung oder Sperrung von Funktionen oder die Anpassung von Tabellen, Masken etc.mit Customizing bezeichnet wird.

In dieser Arbeit wird unter Customizing das anwenderseitige Anpassen von Software-Oberflachenverstanden. Darunter fallt z.B. die Neugestaltung der Schaltflachenleiste durch den Anwender beiMicrosoft Office. Aber auch die Funktionen fur eine individualisierte Oberflachengestaltungbei diversen Web-Portalen mit dem Prafix ”My“ (myyahoo.com, mylycos.com etc.) gehoren indiese Kategorie der Personalisierung. Auch in den personlichen Profilen, die bei Betriebssystemenzu finden sind, ist die Technik Customozing gebrauchlich, wenn sich z.B. ein Anwender seinindividuelles Hintergrundbild fur die Arbeitsflache definiert.

Hiermit kann der Abschnitt von den Konzepten der Personalisierung abgeschlossen werden.Zunachst werden in einer Tabelle zusammenfassend die wichtigsten Eigenschaften der Konzepteaufgefuhrt.

2.2.6 Zusammenfassung der Konzepte der Personalisierung

Zum Abschluss dieses Abschnitts werden die Konzepte der Personalisierung samt ihrer Nutzen-steigerung, die Informationsquellen, Objekte der Anpassung und die Techniken in einer Ubersichtdargestellt (siehe Abbildung 2.6).

Techniken

Kontaktdaten (f. Notifikation),Interessen/Vorlieben

Bereich derNutzensteigerung

M, BMehrsprachig-

keit

Alerting

Empfehlungen

PersönlicheSichten

B, M, K

B, K

B, M, K

M = MarketingB = Bedienungsfreundlichkeit

Informations-quellen

Interessen/Vorlieben

Demographische Daten,Herkunftsdaten, Daten überSoftware oder den StandortInteressen/Vorlieben,Benutzerkenntnis, -fähigkeitund -fertigkeit,Informationen über Layout,Funktionen

Z.B. HTML: RFC 2070Java: Resource Bundles

Name Recognition,Notifikation,Empfehlungen

Feature-Based Filtering,Collaborative Filtering

Lesezeichen,Sammelmappen,Annotationen,Customizing

Z Meist Id und Kennwort,z.T. Rolle, Rechte, etc.

MAC, DAC, RBAC

K = KooperationsunterstützungZ = Zugriffskontrolle

Zugriffs-kontrolle

Abbildung 2.6: Konzepte der Personalisierung

2.3 Allgemeine Anforderungen an ein personalisierbares System

Aus den Untersuchungen der vorigen Abschnitte ergeben sich verschiedene Merkmale fur einpersonalisierbares System. Diese sind in Abbildung 2.7 dargestellt und werden nun zusammen-gefasst:

Page 45: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

2.3. Allgemeine Anforderungen an ein personalisierbares System 37

Ein personalisierbares System besitzt als Datengrundlage einen Datenbestand, der personenbe-zogene Daten seiner Anwender beinhaltet (user profiles) und einen Datenbestand, in dem dieanzeigbaren Inhalte (content profiles) abgelegt werden. Die Benutzer- und Inhaltsprofile sollensowohl im Schema als auch auf der Wertebene dynamisch – also zur Laufzeit – veranderbar sein.Fur die Realisierung der beiden Datenbestande sind Datenbanken denkbar, aber auch andereFormen der Datenablage, wie zum Beispiel Dateisysteme.

Die Funktionen wie Mehrsprachigkeit (multilinguality), die personlichen und allgemeinen Sich-ten (personal views), das Alerting und Empfehlungen (recommendations) sind in der Schichtdaruber zu finden. Durch ihren Einsatz wird die Personalisierung zielorientiert eingesetzt. Zu-griffskontrolle (access control) und Auswertungswerkzeuge zur Analyse der Auswirkungen vonPersonalisierung (behavior tracking / reporting) stellen ebenfalls wichtige Bestandteile einespersonalisierbaren Systems dar. Da sie nicht den Kern der Personalisierung bilden, sondern mit-telbar zur Personalisierung beitragen, sind diese beiden Funktionen nebengeordnet und separatdargestellt.

User Interface:Personalized Pages / System

Multi-linguality

AccessControl

PersonalViews

BehaviorTracking/Reporting

Recommen-dationsAlerting

UserProfiling

ContentProfiling

Abbildung 2.7: Aufbau eines personalisierbaren Systems

Page 46: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

38 2. Personalisierung

Page 47: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

Kapitel 3

Personalisierungsmoglichkeitenausgewahlter Portalsoftware

Nachdem in Kapitel 2 theoretisch untersucht wurde, welche Konzepte Personalisierung umsetzen,soll nun in diesem Kapitel anhand von praktischen Beispielen gezeigt werden, inwieweit vorhan-dene Systeme diese Konzepte einsetzen. Dafur wird zuerst die Auswahl der Systeme erlautert(Abschnitt 3.1). Anschließend werden die Systeme vorgestellt und anhand eines Beispielprozessesuntersucht (Abschnitt 3.2). Zum Abschluss dieses Kapitels werden die Systeme im Hinblick aufden Funktionsumfang fur die Personalisierung bewertet (Abschnitt 3.3).

3.1 Auswahl der Systeme

Es werden Systeme untersucht, die Personalisierung als Hauptanliegen ihrer Software verstehen.Grundvoraussetzung ist, dass die Systeme aus verschiedenen Anwendungsbereichen stammenund sich hinreichend unterscheiden. Damit soll vermieden werden, dass die Ergebnisse der Un-tersuchung zu einseitig ausfallen und an Aussagekraft verlieren.

Die Wahl fallt auf diese drei Plattformen:

• Die ATG Dynamo Product Suite1,

• der Workplace von mySAP.com2 und

• der infoAsset Broker3.

Zunachst werden die Systeme allgemein mit ihren Personalisierungsfunktionen beschrieben. EinBeispielprozess dient dazu herauszufinden, in welchem Umfang die Konzepte der Personalisie-rung umgesetzt werden. Es wird bewertet, in welcher Form und mit welchem Erfolg die inKapitel 2 identifizierten Konzepte umgesetzt werden. Zum Abschluss dieses Kapitels wird eineZusammenfassung der vorigen Abschnitte gegeben.

1Im Folgenden auch kurz Product Suite genannt.2Im Folgenden auch kurz Workplace genannt.3Im Folgenden auch kurz Broker genannt.

Page 48: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

40 3. Personalisierungsmoglichkeiten ausgewahlter Portalsoftware

Die Systeme unterscheiden sich in ihrem Zweck, Aufbau und Umfang betrachtlich. Die folgendeKurzbeschreibung soll die Produkte voneinander abgrenzen:

• ATG Dynamo Product Suite bietet nach eigenen Angaben ”Losungen fur personali-sierten E-Commerce, Portale und Relationship Management an“. Die Product Suite unter-stutzt ihre Anwender bei dem Aufbau und Erhalt von langfristigen Kundenbeziehungen.Dadurch sollen Umsatze gesteigert und Kosten reduziert werden [ATG01a].

• Der Workplace von mySAP.com, der im Laufe der Zeit in mySAP.com Enterprise

Portals aufgegangen ist, hat sich zur Aufgabe gemacht, die Informationen dem Anwenderin einer einheitlichen Form bzw. Oberflache zu prasentieren, die er fur seine tagliche Arbeitbenotigt. Dieses System bietet eine individuell konfigurierbare web-basierte Oberflache,die auf dem SAP-System aufbauen kann. Somit wird es moglich, von jedem Ort aus ubereinen Browser auf das SAP-System mit einer gleichbleibenden Oberflache zuzugreifen.Ziel ist es, den Anwender auf die bestmogliche, aber auch flexibelste Art bei seiner Arbeitzu unterstutzen, damit er fundierte Entscheidungen treffen kann. Des Weiteren wird dieZusammenarbeit mit Kollegen effektiver gestaltet und dadurch die Effizienz verbessert[SAP01a].

• Der infoAsset Broker ist ein personalisierbares Wissensportal fur Firmen (enterprise

knowledge portal). Er bietet eine interaktive Wissenslandkarte, integriertes Dokumenten-management, die automatische Klassifikation von Dokumenten und die Benachrichtigungder Benutzer gemaß ihren individuellen Interessen [inf01a].

Nach diesem Abriss ist zu erkennen, dass sich alle drei Systeme zwar mit Personalisierung be-schaftigen, dass dies aber aus ganz unterschiedlichen Grunden geschieht. In den folgenden Ab-schnitten wird naher betrachtet, welche Konzepte auf welche Weise und in welchem Umfangumgesetzt werden. Es wird zu beobachten sein, ob und wie sich die unterschiedlichen Ziele aufdie Personalisierung auswirken.

3.2 Untersuchung der Systeme anhand eines durchgangigen Bei-spiels

In diesem Abschnitt wird zunachst ein Beispielprozess entwickelt, mit dessen Hilfe die Unter-suchung gefuhrt werden soll. Anschließend werden nacheinander die oben genannten Systemevorgestellt und verschiedene Aspekte ihres Aufbaus beleuchtet. Die Untersuchung jedes Systemsschließt ab, indem versucht wird, den Beispielprozess in dem System abzubilden.

3.2.1 Der Beispielprozess

Der angekundigte Beispielprozess soll helfen, den Funktionsumfang der doch recht unterschied-lichen Systeme anschaulich zu beschreiben. In Abbildung 3.1 wird der Prozess graphisch darge-stellt sowie nachfolgend textuell beschrieben.

Der Beispielprozess sieht wie folgt aus:

Page 49: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

3.2. Untersuchung der Systeme anhand eines durchgangigen Beispiels 41

Anzeigen der Inhalte in der Muttersprache des Benutzer

Anzeige von Ergebnis undEmpfehlung

Login in das System

Suche nach Objekt

Übernahme desErgebnisses in die

Favoritenliste

Einrichtung einerBenachrichtigung bei

Änderung desSuchobjektes

Anzeigen von News

1

2

5

4

3

Abbildung 3.1: Beispielprozess zur Untersuchung der Systeme

1. Nachdem sich der Benutzer in das System eingeloggt hat, wird er in seiner bevorzugtenSprache begrußt.

2. Die von ihm bei einem vorigen Besuch gebuchten Neuigkeiten erscheinen gleich darauf.

3. Der Anwender startet eine Suchanfrage nach einem bestimmten Objekt. Bei der Prasen-tation des Ergebnisses erhalt der Benutzer auch noch Empfehlungen fur andere Inhalte.

4. Der Anwender speichert das Suchergebnis in seiner Favoritenliste.

5. Der Anwender bucht einen Dienst, der ihn benachrichtet, falls sich die Daten des gesuchtenObjektes verandern.

In diesem Prozess stecken die in der Reihenfolge ihres Erscheinens aufgelisteten Personalisie-rungskonzepte: Mehrsprachigkeit (Schritt 1), Alerting (Schritt 2), Empfehlungen (Schritt 3),personliche und allgemeine Sichten (Schritt 4) sowie die Alerting-Technik Notifikation (Schritt5).

Nach der Einfuhrung des Beispielprozesses wird nun mit der Untersuchung der einzelnen Systemefortgefahren. Zunachst soll das System ATG Dynamo 5 Product Suite betrachtet werden.

Page 50: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

42 3. Personalisierungsmoglichkeiten ausgewahlter Portalsoftware

DynamoControlCenter

Application Server

Dynamo Application Server

Dynamo Personalization Server

Dynamo Szenario Server

ATG Portal Application

ATG Commerce Application

Dyn

amo

Com

mer

ceS

erve

r

Abbildung 3.2: Architektur der ATG Dynamo 5 Product Suite (nach [ATG01c])

3.2.2 Dynamo Personalization Server (DPS) in ATG Dynamo 5 ProductSuite

Die ATG Dynamo 5 Product Suite ist eine Plattform fur den elektronischen Handel, diein besonderem Maße Personalisierung unterstutzen soll. Die Einfachheit der Software sowie dieMoglichkeit, sehr schnell ein Web-Portal aufbauen zu konnen, werden von ATG als Vorteil her-ausgestellt. Der Umgang mit Anderungen von Geschaftsregeln wird als sehr einfach dargestellt,da kein Programmcode geandert werden muss, sondern Anpassungen auf einer hoheren Ebenestattfinden [ATG01b].

Wie in Abbildung 3.2 zu sehen, besteht die Product Suite aus vier Servern, die bestimmteAufgaben erfullen, und dem DCC, das Dynamo Control Center. Diese Komponenten werden imnachsten Abschnitt beschrieben.

Uberblick uber die Architektur der Product Suite

Der Dynamo Application Server (DAS) bildet die Basis der Suite. Er ist eine java-basierte An-wendung, die die Dynamo- und Java-Anwendungen ablaufen lasst. Der DAS sorgt außerdemdafur, dass HTTP-Anfragen bearbeitet werden und ist zustandig fur Aufgaben, wie Datenbank-verbindung, Session Management, Transaktionen etc. .

Daruber ist in der Architektur der ATG Dynamo Product Suite der Dynamo Personalization

Server (DPS) angesiedelt. Seine Aufgabe ist es, auf flexible Art und Weise den Kunden aufihr Profil zugeschnittenen Inhalt zu prasentieren. Er ist fur die Benutzerprofil- und die Inhalts-Verwaltung zustandig, die in spateren Abschnitten dieses Kapitels noch naher diskutiert werden.

Der Dynamo Scenario Server (DSS) bietet die Moglichkeit, Szenarien zu definieren, mit deneneinfach Reaktionen auf bestimmtes Kundenverhalten festgelegt, getestet und austariert werdenkonnen. Zudem konnen Datenauswertungen in Form von Grafiken, Tabellen und Statistikenvorgenommen werden.

Page 51: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

3.2. Untersuchung der Systeme anhand eines durchgangigen Beispiels 43

Der Dynamo Commerce Server (DCS) erweitert die Suite um das Produktkatalog-Management,Preisermittlungswerkzeuge, Inventar- und Verkaufsforderungswerkzeuge.

Als Benutzungsoberflache fur alle Anwendungen, die die Dynamo Product Suite beinhaltet,dient das Dynamo Control Center (DCC).

Da fur diese Arbeit die Module Dynamo Personalization Server (DPS) und Dynamo Scanario

Server (DSS) von besonderer Bedeutung sind, werden diese in den nachsten Abschnitten nocheingehender behandelt.

Der Dynamo Personalization Server (DPS)

Der DPS erweitert die Product Suite um Funktionen fur das Profiling, Content Management

und das Targeting. Ziel ist es, dass nicht nur Entwickler, sondern auch Manager das Verhalten,den Inhalt und die Prasentation der Anwendung den Bedurfnissen der verschiedenen Benut-zer individuell anpassen konnen. In den nachsten Abschnitten werden die Funktionen des DPSaufgefuhrt und beschrieben.

User Profile Management Wenn ein Benutzer auf eine DPS-Seite gelangt, so wird er auf-gefordert, einige Angaben uber seine Person in ein Registrierungsformular einzutragen. AndereDaten werden automatisch festgehalten, wie Log-In-Zeit und Lange. Diese Daten werden in ei-nem standardisierten Format, einem Template, abgelegt und in einer Datenbank gespeichert.Das Wiedererkennen eines Benutzers, also die Assoziation mit dem gespeicherten Profil, erfolgtentweder uber Cookies oder die Log-In-Funktion. Es gibt zwei verschiedene Arten von APIs, umauf diese Daten zuzugreifen. Zum einen gibt es ein SQL Profile Repository, zum andern kannuber das LDAP (lightweight directory access protocol) Profile Repository zugegriffen werden.Naheres uber diese Zugriffsmoglichkeiten ist in [ATG01e] zu finden.

Uber die Definition bestimmter Regeln konnen im DPS verschiedene Profilgruppen eingerichtetwerden. Durch Zugriff auf die Profildaten konnen die Systementwickler sehr einfach zum Beispielden Namen des Benutzers zur Begrußung verwenden (siehe Alerting im Abschnitt 2.2.2).

Der DPS lasst eine rollenabhangige Anpassung der Seiten zu. Durch den Eintrag Benutzertyp(Feld: userType) im Profil lasst sich die Rolle, die dem Benutzer zugeordnet wurde, abfragenund auch danach die Seite entsprechend gestalten.

Zur komfortablen Gestaltung von Formularen, z.B. zum Registrieren oder Andern des Passwor-tes, bietet der DPS Profile Form Templates an. Das sind vorgefertigte Formulare, die nur nochden speziellen Bedurfnissen der Anwendung angepasst werden mussen.

Die Profilpflege im DPS ist sehr komfortabel. Fur sie werden sogenannte Profile Administration

Tools zur Verfugung gestellt. Mit ihrer Hilfe konnen Profile hinzugefugt, geloscht oder nachihnen gesucht werden. Außerdem gibt es eine Funktion, mit der man sich in der Entwicklungbefindliche ATG-Seiten fur ein bestimmtes Profil in der Vorschau anzeigen lassen kann.

Content Management Im ATG Kontext ist unter Content eine klar abtrennbare Einheitvon Informationen zu verstehen, wie Werbebanner, Artikel etc. , die dem Benutzer angezeigt

Page 52: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

44 3. Personalisierungsmoglichkeiten ausgewahlter Portalsoftware

werden konnen. Jede Inhaltseinheit wird mit einem bestimmten Format assoziiert und besitztMeta-Daten, welche das Dokument noch naher beschreiben (z.B. Name, Titel, Stichworter etc.).

Genau wie die Benutzerprofile sind auch die Inhaltsprofile in einem Repository abgelegt, und siekonnen ebenfalls durch spezielle Werkzeuge, sog. Content Repository Management Tools gean-dert, geloscht sowie hinzugefugt werden, außerdem kann nach ihnen gesucht werden. Dieses Con-

tent Repository kann durch ein Datenbanksystem, ein Filesystem oder durch ein Dokumenten-Management-System realisiert werden. Die Product Suite bietet drei verschiedene APIs fur denZugriff: eine SQL-Schnittstelle, ein HTML Content Repository und ein XML Content Reposi-

tory.

Ebenfalls wie die Benutzerprofile konnen die Inhaltsprofile zu Gruppen zusammengefasst werden.Dafur mussen sogenannte Business Rules definiert werden, die die Kriterien fur die logischeOrdnung angeben. Die Regeln werden im Control Center definiert. Nach der Definition derInhaltsprofilgruppen konnen sogenannte Targeting Rules und Szenarien festgelegt werden.

Das Targeting ist der Prozess, der dafur sorgt, dass Inhaltseinheiten bestimmten Benutzernzu einer definierten Zeit in einem festgelegten Kontext prasentiert werden. Dazu werden dieschon erwahnten Targeting Rules festgelegt, die auch Content Targeter genannt werden und diebestimmen, wie der Inhalt auf der Web-Seite angezeigt werden soll.

Beim Targeter-Entwicklungsprozess werden folgende Aufgaben abgearbeitet:

• Der Zweck des Targeters muss festgelegt werden, und es ist zu bestimmten, wo das Ergebnisangezeigt werden soll.

• Es muss dafur gesorgt werden, dass im Content Repository der benotigte Inhalt und diebenotigten Attribute verfugbar sind.

• Die Business Rules mussen festgelegt werden, die mit dem Targeter verbunden sind.

• Das Design der anzuzeigenden Komponenten muss festgelegt werden. Dafur wird ein HTML-Prototyp erstellt.

• Der Targeter und die zukunftig personalisierte Web-Seite werden durch ein Servlet Bean

verknupft. Anschließend wird der HTML-Prototyp in die Seite hineingearbeitet.

• Durch die Benutzung eines sog. People to Profiles Screens kann die Funktionalitat desTargeters uberpruft werden.

Ein Targeter beginnt seine Aufgabe mit einer leeren Liste und soll am Ende seiner Berechnungeine Liste von Inhaltselementen enthalten, die einem bestimmten Benutzer dann angezeigt wird.Dazu iteriert der Targeter uber seine Regeln. Die Regeln bewirken entweder, dass Inhalt zu derListe hinzugefugt wird (show rule) oder aber dass Inhalt von der Liste entfernt wird (hide rule).Jede Regel enthalt die gleichen Bestandteile: Eine Inhaltsbedingung, eine Benutzerbedingung,eine Datums- und Zeitbedingung sowie eine Umgebungsbedingung. Bei der Abarbeitung einerRegel wird zunachst die Inhaltsbedingung ignoriert und alle anderen Bedingungen ausgewertet.Wenn eine der Bedingungen fehlschlagt, wird die gesamte Regel nicht weiter beachtet.

DPS hat ebenfalls eine Notifikationsfunktion eingebaut, die Targeted Email. Fur die Erstellungeiner solchen Email konnen Profilgruppen und Targeters verwendet werden.

Page 53: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

3.2. Untersuchung der Systeme anhand eines durchgangigen Beispiels 45

Je nachdem welche Version der Product Suite installiert ist, gibt es verschiedene Moglichkeiten,um die Schritte, die ein Benutzer auf einer Dynamo-Seite vornimmt, mitzuprotokollieren undaus diesen Aufzeichnungen die Profile zu aktualisieren, aber auch Auswertungen zu fahren.

Der Dynamo Scenario Server (DSS)

In dieser Komponente werden Szenarien zur Verfugung gestellt, die die Interaktion zwischen demBenutzer und dem System, also der Web-Seite regeln. Ein Szenario beschreibt ein Verhalteneines Benutzers und die systemseitige Reaktion auf dieses Verhalten. Scenario Development

Tools helfen bei der Definition von solchen Szenarien oder bei der Anpassung von Template

abgeleiteten Szenarien. Fur die Definition stehen verschiedene Elementtypen zur Verfugung wiePeople, Time, Event, Condition, Action, Fork und Randomized Fork.

Neben der Definition von Szenarien konnen auch Datenanalysen und graphische Auswertungenuber die Aktivitaten der Web-Anwendung abgerufen werden. Eine Reihe von graphischen Vor-lagen werden von DSS zur Verfugung gestellt, man kann allerdings eigene Analysen definierenoder aber die Werte in andere Formate wie Excel-Tabellen exportieren.

Nachdem nun die fur die Personalisierung wichtigen Bestandteile der Product Suite Architekturbehandelt wurden, wird in den nachsten Anschnitten auf die verschiedenen Arten der Program-mierelemente eingegangen.

Programmieren in der Dynamo 5 Product Suite

In den folgenden Abschnitten werden die grundlegenden Programmierkomponenten des Systems,ihre Erstellung und Integration vorgestellt.

Erstellen von Dynamo-Komponenten Zunachst wird eine Java-Klasse entwickelt, die Ei-genschaften besitzt und gegebenenfalls auch noch getter- und setter-Methoden sowie andereMethoden enthalt. Diese wird kompiliert. Um die Klasse nun in der Product Suite verwendenzu konnen, muss sie uber das Control Center als neue Komponente eingebunden werden. Dabeilegt das System eine Datei mit dem Klassennamen und der Extension .properties an. In Proper-

ties-Dateien werden u.a. die Werte der Attribute, Datum der letzten Anderung und Sichtbarkeitder Klasse angegeben. Im Control Center konnen Werte eines Objektes verandert werden. DieDaten in der Properties-Datei werden automatisch abgeglichen und angepasst.

Dynamo Server Pages (DSP) in JHTML Fur die Personalisierung werden im HTML-Code dynamische Komponenten benotigt, die auf Personalisierungsanforderungen reagieren kon-nen. Leider bietet HTML solche dynamischen Eigenschaften nicht. Somit werden in DSPs mitder Extension .jhtml verwendet, die mit dynamischen und HTML-Bestandteilen gleichermaßenumgehen konnen. Die dynamischen Komponenten sind Java Servlet Beans, die Java Standardsgenugen. Es wurde versucht, die Rollen des HTML-Designers und des Java-Entwicklers klar ab-zugrenzen. Java-Code und HMTL-Code werden getrennt gehalten. Haufig lasst sich allerdingseine Vermischung der beiden Gebiete nicht vermeiden.

Page 54: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

46 3. Personalisierungsmoglichkeiten ausgewahlter Portalsoftware

Verwenden von Dynamo-Komponenten in DSPs In den JHTML-Seiten konnen die Dy-

namo-Komponenten benutzt werden. Dazu stehen verschiedene Sprachelemente zur Verfugung,die den Zugriff auf sogenannte Beans und auch andere Komponenten, wie HTML-Seiten ermog-lichen. Im Folgenden werden ein paar von diesen Elementen aufgefuhrt. Dieser Abschnitt sollein Gefuhl dafur vermitteln, welche Funktionen und Vorkehrungen notwendig sind, um ein per-sonalisiertes System mit der Product Suite zu erstellen. Außerdem soll der nachste Abschnittdabei helfen, die Beschreibung der Implementierung des Beispielprozesses besser nachvollziehenzu konnen.

Mit dem valueof-Tag konnen Werte einer Properties-Datei auf einer .jhtml-Webseite angezeigtwerden. Einfachste Anwendung hierfur ist die Technik Name Recognition. Die Syntax diesesBefehles sieht folgendermaßen aus:

<valueof bean={component}.{property}>{default_value}</valueof>

Wenn der Property-Wert null ist, wird der {default_value} angezeigt. Bevor eine Dynamo-Komponente verwendet werden kann, muss sie allerdings mit diesem Tag importiert werden:

<importbean bean={full component name}>

Das Setzen von Property-Werten erfolgt uber den setvalue-Tag.

<setvalue bean={component}.{property} [value={property_value}]>

Des Weiteren kann mit dem droplet-Tag die Einbettung von ausgelagertem HTML realisiertwerden:

<droplet source={URL of included file}></droplet>

Es konnen aber auch Fallunterscheidungen mit dem Befehl droplet in Kombination mit derEinbettung des Beans Switch vorgenommen werden. JHTML bietet auch umfangreiche Mog-lichkeiten, Parameter einzubinden. Die genauen Beschreibungen aller Funktionen sind im Anhangvon [ATG01d] zu finden.

Entstehungsprozess einer personalisierten Web-Seite mit der Product Suite

Das Vorgehen wird bei der Product Suite folgendermaßen beschrieben:

Zunachst wird festgelegt, welche Besucherprofildaten gesammelt werden sollen. Wenn ein Kundedie Web-Seite besucht, so wird automatisch ein Profil angelegt und im Profile Repository ab-gelegt. Es werden explizite und implizite Profilattribute unterschieden (vgl. Kapitel 2.1.3); dieexpliziten werden von den Besuchern selbst geliefert, die impliziten lassen sich aus dem Verhaltender Benutzer ableiten. Die Profile werden vom System bei wiederholten Besuchen eines Kun-den auf dem neuesten Stand gehalten. Es ist aber auch moglich, sich Profile im Control Center

anzuschauen, zu andern, zu loschen oder neue hinzuzufugen. Durch den Query Editor lassensich Abfragen formulieren, die nur die Profile, die bestimmten Kriterien genugen, als Ergebnisliefern. Seit der Version 5.5 des Dynamo Personalization Server (DPS) kann mehr als ein Typvon Profilen in dem Repository definiert werden. Man kann einen Profil-Basistypen festlegenund Subtypen definieren, die noch zusatzliche Eigenschaften enthalten. Diese Subtypen werdenProfiltypen genannt. Durch sie werden Gruppen von Kunden definiert, die dann als Filter zumAnzeigen von Profilen benutzt werden konnen.

Page 55: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

3.2. Untersuchung der Systeme anhand eines durchgangigen Beispiels 47

Sodann werden die Profile zu Gruppen zusammengefasst. Eine Profilgruppe reprasentiert ein Seg-ment der Zielkunden. Definiert werden konnen diese Gruppen, indem Regeln aufgestellt werden,die Besucher aufgrund ihrer Profilattribute in Gruppen ein- oder ausschließen. Nachdem einesolche Gruppe eingerichtet wurde, konnen dieser Gruppe Inhaltseinheiten zugeordnet werden.

Es werden Inhaltseinheiten (content items) festgelegt. Eine Inhaltseinheit ist ein Stuck Informa-tion, welches auf einer Web-Seite angezeigt wird. Solch eine Inhaltseinheit besitzt verschiedeneEigenschaften (properties), die der Autor oder Inhaltsverwalter angibt und Auskunft uber ihreCharakteristiken gibt. Wie die Benutzerprofile werden auch die Inhaltseinheiten in einem Re-

pository abgelegt, dem Content Repository. Mit dem Content Repository Editor konnen dieEigenschaften der Inhaltseinheiten beliebig angeschaut, geandert, geloscht oder neu angelegtwerden.

Anschließend konnen die Inhaltseinheiten zu Gruppen zusammengefasst werden. Die Gruppie-rung erleichtert die spatere Zuordnung zu den Profilen der Anwender. Die Gruppierung wirdnach der Ahnlichkeit der Eigenschaften vorgenommen. Beim Anlegen einer neuen Inhaltsgrup-pe, die durch eine bestimmte Regel beschrieben wird, wird jeder Inhaltseinheit ein neues Attributmit dem Namen der neuen Inhaltsgruppe zugeordnet und je nachdem, ob die Regel zutrifft odernicht, der entsprechende Boolesche Wert auf wahr oder falsch gesetzt. Als Werkzeug, um die ver-schiedenen Inhaltsgruppen zu verwalten, stellt die Product Suite das Content Group Window

bereit. Fur die bedienungsfreundliche Erstellung von neuen, aber zu anderen ahnlichen Gruppenkann die Funktion ”Duplizieren von Inhaltsgruppen“ genutzt werden.

Nachdem die Profilgruppen der Anwender und die Inhaltsgruppen definiert worden sind, kannfestgelegt werden, welcher Inhalt unter welchen Umstanden zu welcher Zeit welchem Anwenderzugetragen wird. Dafur werden die Content Targeter definiert. Mit einem Content Targeter kannfestgelegt werden, welche Inhalte bestimmten Benutzergruppen gezeigt werden sollen, aber auch,was vor ihnen verborgen bleiben soll. So ein Content Targeter wird in einer besonderen Spracheformuliert, die im Control Center in Form von Pull-Down-Menus komfortabel unterstutzt wird.Seine Form sieht ungefahr folgendermaßen aus: Zeige/verberge diesen Inhalt ... diesen Anwen-dern ... zu diesen Zeiten ... unter diesen Bedingungen. Wenn ein Targeter aufgerufen wird, dannpruft er alle Bedingungen, bevor er die Bedingung fur den Inhalt naher betrachtet. Wenn namlicheine dieser Bedingungen nicht zutrifft, ist die Bearbeitung abgeschlossen. Wenn allerdings eineder Regeln zutrifft, wird die Inhaltsbedingung ausgewertet und der Inhalt wird angezeigt oderverborgen. Nachdem ein Targeter definiert wurde, muss er, damit er zur Anwendung kommenkann, innerhalb eines Servlet Beans in eine Seite eingebettet werden. Zum Testen eines Targe-

ters kann die Vorschau-Funktion benutzt werden. Ein komfortabler Weg immer wieder ahnlicheRegeln zu kreieren, bietet die Entwicklung eines Regel Macros (rule macro), welches fortan im-mer wieder in verschiedene Content Targeter eingebettet werden kann. Durch den Einsatz desScenario Servers gibt es noch eine zweite Moglichkeit, die Verknupfung zwischen Inhaltsgruppenund Profilgruppen herzustellen, und zwar mit Hilfe von Szenarien (siehe unten).

Wenn die personalisierten Seiten erst definiert sind, so ist der nachste Schritt, das Verhaltenund die Eigenschaften der Besucher festzuhalten und auszuwerten, um den Inhalt daraufhinnoch besser und effizienter zu platzieren. Wie oben schon erwahnt, konnen Informationen uberden Anwender sowohl explizit - uber Fragebogen - oder implizit - wie in diesem Abschnitt be-schrieben wird - gesammelt werden. Sogenannte Tracking Sensoren konnen definiert werden, umdamit solche impliziten Profilinhalte zu erfahren. Ein Tracking Sensor besteht aus Action State-

Page 56: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

48 3. Personalisierungsmoglichkeiten ausgewahlter Portalsoftware

ments. Diese bestimmen, auf welche Weise ein Profilattribut unter welchen Bedingungen geandertwerden soll (fur den Fall, dass die Product Suite einen Scenario Server umfasst, mussen zumProtokollieren des Benutzerverhaltens Szenarien eingesetzt werden (siehe nachster Abschnitt)).

Szenarien bestehen aus einer Abfolge von Ereignissen und Aktionen, die die Interaktion derWeb-Seite mit dem Besucher beschreiben. Durch sie kann in einer allgemeinen Form bestimmtwerden, welche Maßnahmen ergriffen werden sollen, wenn z.B. sich ein Benutzer nach der erstenRegistrierung eine gewisse Zeit lang nicht mehr einloggt. Es kann definiert werden, dass eineErinnerungsmail an den Anwender gesendet werden soll. Szenarien grenzen sich gegen Content

Targeter ab, indem sie die Zeit als weitere Dimension einfuhren. Somit kann eine Wartezeitbestimmt werden, ab wann der Anwender eine Nachricht vom System erhalten soll.

Realisierung des Beispielprozesses mit der Product Suite

Der Beispielprozess, der in Abschnitt 3.2 definiert wurde, wird nun mit Hilfe der Product Suite

modelliert. Dieser Abschnitt soll Handhabbarkeit und Fahigkeiten des Systems in Bezug aufPersonalisierung beschreiben. Nacheinander wird die Realisierung der einzelnen Schritte desProzesses diskutiert und eventuelle Alternativen aufgezeigt.

Schritt 1: Zugriffskontrolle und Mehrsprachigkeit Profile Repository Definition: Zuerstmuss definiert werden, welche Attribute in den Benutzerprofilen vorhanden sein sollen. Die Inhal-te der Profile konnen im ATG-System im Profile Repository eingesehen, geandert und angelegtbzw. geloscht werden (siehe Abbildung 3.3). Dazu wird ein passendes SQL-Datenbank-Schemaangelegt und die Profile Repository Komponente konfiguriert. Zu Testzwecken kann allerdingsauch das Standard Repository benutzt werden.

Registrierung und Log-In: Zur Zugriffskontrolle wird ein Registrierungsformular und ein Log-In-Formular benotigt, die in dem HTML-Derivat von ATG, genannt JHTML, programmiert wird.Fur einige solcher Standard-Seiten stehen im Control Center Vorlagen zur Verfugung. In der Log-

In bzw. Registrierungsseite wird zur Verarbeitung der Userprofildaten das ATG-Bean Profile-

FormHandler benutzt. Diese Komponente bietet den Zugriff auf das Attribut loginSuccessURL,welchem die URL der Seite ubergeben wird, die nach erfolgreichem Log-In angezeigt werden soll.Falls nicht das richtige Passwort eingegeben wird, erscheint eine Fehlernachricht, die von demAttribut formException gesteuert wird.

Mehrsprachigkeit: Die Mehrsprachigkeitsbemuhungen von ATG basieren auf den Java Interna-

tionalization Standards (Kapitel 2.2.1). Dynamo-Seiten konnen fur mehrere verschiedene Re-gionen aufgesetzt werden. Dabei konnen der Inhalt und das Format von Datum und Wahrungan die lokalen Gegebenheiten angepasst abgelegt werden.

Die verschiedenen Sprachversionen werden in verschiedenen Ordnern abgelegt. Beim Aufruf derEingangsseite, in diesem Fall der Log-In-Seite, wird durch das Bean RequestLocale die Spracheabgefragt. Daraufhin wird ein LocalRedirect mit den neuen Sprachangaben gesendet und diefolgenden Seiten werden nach den aktuellen Spracheinstellungen ausgerichtet.

Schritt 2: Alerting durch Anzeigen von Nachrichten (news) Nachdem sich der Benut-zer eingeloggt hat, werden auf der folgenden Seite die favorisierten Informationen gezeigt, die der

Page 57: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

3.2. Untersuchung der Systeme anhand eines durchgangigen Beispiels 49

Abbildung 3.3: Bildschirmkopie des Profile Repository

Benutzer bei der Registrierung angegeben hat. In der .JTML-Seite werden aus dem Benutzer-profil Bean die entsprechenden Attribute abgefragt und somit die richtigen Bausteine aneinandergereiht.

Fur umfangreichere und kompliziertere Anpassungen konnen die Targeting Rules (siehe oben)angelegt werden. Sie sind in einem SGML-Dokument mit vordefinierter Syntax verfasst. Zunachstmuss dafur ein Content Repository angelegt werden. In XML verfasste Dokumente bestimmendie Attribute, die das Content Repository hat. Es konnen fur verschiedene Zwecke auch un-terschiedliche Repositories angelegt werden, die im Parallelbetrieb laufen. Das Anlegen einesRepository ist nicht sehr komfortabel unterstutzt. In der Regel soll diese Tatigkeit von einemProgrammierer (nicht von einem Business-Anwender) durchgefuhrt werden. Nachdem Content-Gruppen und Profil-Gruppen im DCC angelegt wurden, wird mit der Definition eines Content

Targeters bestimmt, wann und unter welchen Umstanden wem welcher Inhalt prasentiert wird.Sein Aufruf erfolgt durch ein Targeting Servlet Bean, welches auf einer Web-Seite platziert wird.

Schritt 3: Empfehlungen abgestimmt auf ein Suchergebnis Suchen: Zum Durchsuchendes Repository z.B. nach Produkten stellt der Applikationsserver die Klasseatg.repository.servlet.SearchFormHandler zur Verfugung. Ihre Methoden ermoglichen u.a.

Page 58: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

50 3. Personalisierungsmoglichkeiten ausgewahlter Portalsoftware

die Suche nach bestimmten Stichwortern, Textsuche und hierarchische Suche. Im DCC konnendie Handler-Attribute konfiguriert werden. Anschließend wird der Handler in eine Seite einge-bunden. Des Weiteren stehen Attribute und Methoden zur Verfugung, die es ermoglichen, dasSuchergebnis in verschiedene Seiten aufzuteilen und die Navigation zwischen ihnen zu steuern.

Empfehlungen: In der Product Suite ist keine direkte Unterstutzung von Empfehlungen oderRatings vorgesehen. Durch die Einbettungsmoglichkeit von Java in die Dynamo-Seiten stehendem Entwickler aber alle Moglichkeiten offen, einen RatingsFormHandler zu entwerfen, der vondem GenericFormHandler von ATG erbt, diesem alle moglichen Werte zu entnehmen, diesewiederum in einem eigens entwickelten Anwender-Repository oder Java-Komponenten abzulegenund diese Informationen bei der Anzeige von Suchergebnissen dem Kunden zu prasentieren.

Schritt 4: Personliche und allgemeine Sichten in Form von Favoriten bzw. einerLesezeichenliste Favoriten und Lesezeichenlisten werden von der Product Suite nicht direktunterstutzt, dennoch sind alle Vorkehrungen fur diese getroffen worden. Im Profile Reposito-

ry konnen Listen gehalten werden. Es ist also moglich, Listen fur die letzten Suchanfragen,die gekauften Produkte, aber auch Wunschlisten oder Merklisten mit dem Benutzerprofil zuverknupfen. Die gesamte Funktionalitat (FormHandler, Dynamo Beans etc.), wann Listen mitInformationen bestuckt werden oder ihre Werte verwendet werden, muss von einem Program-mierer bzw. Seiten-Entwickler implementiert werden.

Schritt 5: Benachrichtigung durch einen ereignisgesteuerten Notifikationsdienst ZumVersenden von gezielten Emails bietet die Product Suite mehrere Moglichkeiten: zum einen kon-nen Targeting Rules definiert werden, die eine Email als Reaktion auf ein bestimmtes Ereignisverschicken; andererseits konnen, wenn der Szenario Server verfugbar ist, Szenarien kreiert wer-den, die eben dies bewirken. Die Email selbst wird mit Hilfe von Dynamo Server Page Templates

in JHTML erstellt, in die die festen Textbestandteile aber auch die dynamischen Elemente, wiez.B. der Name des Empfangers, eingebettet werden. Die Adressierung und das Senden der Mailkann nun mit Hilfe eines Szenarios gesteuert werden. Abbildung 3.4 zeigt ein Szenario, welchesim DCC erstellt wurde. Die Mailing-Aktion bekommt einen Namen zugewiesen. Es wird die Zeitbestimmt, wann die Mails verschickt werden sollen. Die Kundengruppe wird spezifiziert undder Inhalt der Mail wird durch Angabe der JHTML-Datei festgelegt. Die Empfanger-Adressenkonnen aus dem Profil abgelesen werden.

Abbildung 3.4: Szenario fur eine Mailing-Aktion [ATG01b]

Die zweite Moglichkeit ist, die Schritte, die die Szenarien automatisch ausfuhren, per Handmit dem Targeting Service (Erstellen der Empfangerliste) und TemplateEmailSender Service

(Versenden der Nachrichten) zu programmieren.

Page 59: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

3.2. Untersuchung der Systeme anhand eines durchgangigen Beispiels 51

Nachdem die Personalisierung in der Product Suite von ATG beschrieben worden ist, wirdnun auf die Personalisierungsfunktionen des zweiten Produkts eingegangen, namlich des SAP

Workplaces.

3.2.3 Personalisierung des Portals mySAP.com durch den Workplace

mySAP.com ist eine Plattform aus E-Business-Losungen, Serviceleistungen und Technologien.Die mySAP.com E-Business-Plattform basiert auf einer offenen, flexiblen und unternehmens-ubergreifenden Servicearchitektur, die sowohl Systeme von SAP als auch von anderen Anbie-tern unterstutzt. mySAP.com ist eher ein Konzept als eine Technologie, welches versucht, dieWettbewerbsfahigkeit und Rentabilitat zu verbessern bzw. zu bewahren. Dabei sind ”Kollabo-ration“, ”Integration“ und ”Befahigung“ zentrale Begriffe: Die Zusammenarbeit der Mitarbeitereines Unternehmens soll aktiv unterstutzt werden, indem moderne Kommunikationsmoglichkei-ten ausgenutzt werden. Dadurch rucken erweiterte Wertschopfungsketten dichter zusammen,und eine effizientere Kollaboration wird ermoglicht. Durch die Integration von Mitarbeitern,Geschaftsprozessen und Unternehmen zu einer Einheit konnen Kosten gesenkt und ebenfallsdie Effizienz erhoht werden. Dabei wird jeder Anwender durch ein individuell zugeschnittenesArbeitsumfeld befahigt, auf fur ihn relevante Informationen und Anwendungen zuzugreifen.

Der Workplace ist der Kern der unternehmensubergreifenden Geschaftsstrategie. Er ist einepersonalisierbare Benutzungsschnittstelle. Durch seine Hilfe haben Mitarbeiter eines Unterneh-mens Zugang zu den Informationen, Anwendungen und Dienstleistungen ihrer Firma, die siezur effizienten Erledigung ihrer Aufgaben benotigen. Das gilt fur interne und externe Anwendergleichermaßen. Der Anwender muss hierbei nicht wissen, woher die Informationen stammen oderin welchem Format sie abgelegt sind. Der Zugriff ist transparent. Er wird uber samtliche Artenvon Internet-Geraten, Browsern sowie mobilen Geraten zur Verfugung gestellt [SAP01b].

Der Workplace besteht aus zwei Teilen (siehe Abbildung 3.5): dem Launchpad und dem Work-

space. Das Launchpad wird durch den linken Rahmen gebildet, wahrend sich der Workspace imrechten Rahmen befindet. Der Aufbau ahnelt der Struktur vieler Webseiten: der linke Rahmendient zur Navigation und enthalt eine Art Menu oder Navigationsbaum, wahrend die rechte Seitedie Anzeige der Inhalte ubernimmt. Beim Launchpad haben alle Anwender Zugriff auf die fur ihreAufgabe in der Organisation relevanten Informationen und Services. Dabei kann auf SAP undnicht-SAP Anwendungen gleichermaßen zugegriffen werden. Hierbei findet eine Pull-Interaktionstatt, das heißt, dass vom Launchpad die Informationen angefordert werden, wahrend in denWorkspace die fur die Rolle relevanten Informationen geschoben werden (Push-Interaktion). ImWorkspace werden also die vom Launchpad angeforderten Komponenten angezeigt.

Architektur des Workplace Servers

Die Architektur des Workplace, dargestellt in Abbildung 3.6, beinhaltet einen Workplace Server

und die Workplace Middleware. Zur Darstellung wird nur ein Browser benotigt. Der Workplace

Server halt Werkzeuge zur Benutzeradministration, zur Rollendefinition und -anderung sowiedie Remote Function Call Administration fur Anwendungen bereit, die vom Workplace ausaufgerufen werden konnen. Die Middleware stellt einen Web-Server zur Verfugung, der die Web-

Page 60: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

52 3. Personalisierungsmoglichkeiten ausgewahlter Portalsoftware

Abbildung 3.5: Aufbau des Workplace

Anfragen der Browser bearbeitet, einen SAP Internet Transaction Server und eine Komponente,die die Drag & Relate Anfragen abwickelt [SAP00b].

mySAP.com beinhaltet die Funktionalitat eines Rollen-Managements. Da ein Unternehmens-portal seinen Anwendern den Zugriff auf alle benotigten Daten und Anwendungen ermoglichensoll, mussen Rollen verwaltet werden, die Zugriff auf verschiedene Komponenten festlegen. Dazugehort auch die Zuordnung, welche Informationen dem Benutzer permanent zur Verfugung ste-hen mussen. Außerdem ist eine Alerting-Funktionalitat (siehe Kapitel 2.2.2) integriert worden,die bei vordefinierten Vorkommnissen aktiviert wird; der Benutzer wird dann mit einer ent-sprechenden Nachricht alarmiert. Zur Durchfuhrung des Rollen-Management werden Werkzeugezur Verfugung gestellt. Sie sollten einfach zu bedienen sein, so dass Rollen flexibel und schnellangepasst werden konnen.

Das Rollen-Management wird durch das Benutzer-Management erganzt. Es steuert die Authen-tifizierung der einzelnen Benutzer. Fur jeden einzelnen Anwender wird ein Datensatz angelegt,der alles Wissenswerte fur die kooperierenden Systeme beinhaltet, wie auch Adressdaten undTelefonnummern. Die Zuordnung eines Anwenders zu einer Rolle bestimmt, welche Funktionener benutzen darf, wenn er eingeloggt ist. Die Komponenten konnen die Authentifizierungsdateneinsehen, damit sichergestellt ist, dass die richtigen Komponenten zum Arbeiten freigeschaltetwerden. Die Rechte eines Anwenders innerhalb einer Komponente mussen von ihr selbst verwal-tet werden.

Page 61: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

3.2. Untersuchung der Systeme anhand eines durchgangigen Beispiels 53

WorkplaceServer

SAPNon SAP

WorkplaceMiddleware

WebBrowser

Server

Middleware

Presentation

Abbildung 3.6: Architektur des Workplace [SAP00b]

Der Inhalt und die Anordnung der Komponenten kann auf zwei Stufen angepasst werden: Durchdie Rollenzuordnung wird bestimmt, welche Benutzergruppen welche Informationen und Anwen-dungen benutzen durfen. Der Anwender selbst kann daruber hinaus festlegen, welchen Inhalt erwo platziert haben mochte und welche Anwendungen oder Web-Seiten zum Zugriff bereit stehensollen. Die Personalisierung des Portals kann auf den drei Ebenen Navigation, Prasentation undInhalt erfolgen. Es gibt die Moglichkeit, Bookmark-Listen abzulegen, die von jedem Rechner auszuganglich sind. Alerting-Funktionen konnen ebenfalls angepasst werden.

Durch die Einrichtung von sogenannten MiniApps konnen dem Anwender aktuelle rollenspezifi-sche Inhalte auf den Bildschirm gebracht werden. Sie werden nicht nur von SAP zur Verfugunggestellt, sondern auch von Fremdanbietern angeboten. MiniApps sind mit entsprechenden Werk-zeugen einfach zu erstellen. Sie sind unabhangig bestehende Web-Dokumente, die vom Workplace

Server verwaltet werden und eine URL besitzen. MiniApps sollten folgende Eigenschaften haben:

• Unabhangigkeit (self-contained): Sie sollten unabhangig von anderen Objekten ausfuhrbarsein.

• Zustandslosigkeit (stateless): Sie sollten keine permanente Verbindung zum SAP-Systembenotigen.

• Einfachheit (simple): Alle Informationen sollten in einem Fenster zu sehen sein.

• Schlankheit (lean): Sie sollten nur essentielle Funktionen ausfuhren.

• Zugriffsbereitstellung (access-providing): Sie sollten Zugriff zu anderen Komponenten an-bieten.

• Direktheit (direct): Sie sollten direkten Zugriff auf andere Informationen und Funktionenbieten.

• Personalisierbarkeit (personalizable): Anwender sollten selbst MiniApps aufsetzen konnen.

• Aktivheit (active): Sie greifen fur den Anwender auf die Daten zu.

Page 62: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

54 3. Personalisierungsmoglichkeiten ausgewahlter Portalsoftware

Beispiele fur Funktionen, die geeignet in einem MiniApp realisiert werden konnen, sind: Alert-Funktionen, Reports, Email-Zugriff, Kalender, Suchmaschinen, To-Do-Listen etc. [SAP00c] .

Realisierung des Beispielprozesses im mySAP.com Workplace

Der Beispielprozess, der in Abschnitt 3.2 definiert wurde, wird nun mit Hilfe des Workplaces

modelliert. Dieser Abschnitt soll Handhabbarkeit und Fahigkeiten des Systems in Bezug aufPersonalisierung beschreiben. Nacheinander werden die Realisierung der einzelnen Schritte desProzesses beschrieben und eventuelle Alternativen aufgezeigt.

Schritt 1: Zugriffskontrolle und Mehrsprachigkeit Zugriffskontrolle: Um den Workplace

nutzen zu konnen, ist ein Log-In erforderlich. Daraufhin werden alle gespeicherten rollenbeding-ten und personlichen Einstellungen des Workplaces ausgefuhrt.

Mehrsprachigkeit : Bei dem Log-In werden verschiedene Sprachen zur Auswahl angeboten. Aller-dings kann es passieren, dass man z.B. Deutsch als Sprache auswahlt (siehe Abbildung 3.7), aberdennoch einige Anwendungen in englischer Sprache angezeigt werden, weil Deutsch bei diesenAnwendungen nicht zur Verfugung steht.

Abbildung 3.7: Log-In Maske des mySAP.com Workplace

Schritt 2: Alerting durch Anzeigen von Nachrichten Die bevorzugte Nachrichten-Seiteist ganz einfach einzurichten: Unter dem Menu Personalize bei dem Reiter Startpage kann ein-gestellt werden, dass kunftig eine Nachrichten-Seite angezeigt werden soll. Dazu wird eine Web-Adresse angegeben. Außerdem kann bestimmt werden, wie hoch das Fenster mit den Nachrichtensein soll und ob es maximiert oder minimiert beim Start zu sehen ist (siehe Abbildung 3.8 unten).Auch mit der Einrichtung von MiniApps ist es moglich, einen Notifikationsdienst einzurichten.Storend ist allerdings, dass bei einem Wechsel innerhalb einer Workplace-externen Seite zu ei-nem ebenfalls externen Link das System mit automatischem Logout verlassen werden muss.Zwar wird das mit einer Systemnachricht abgefangen, aber es wird keine Alternative angeboten,diesen Link in einem neuen Browserfenster zu offnen o.a..

Page 63: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

3.2. Untersuchung der Systeme anhand eines durchgangigen Beispiels 55

Abbildung 3.8: Einrichten eines Alerting-Dienstes mit den aktuellen Nachrichten im Workplace

Schritt 3: Empfehlungen abgestimmt auf ein Suchergebnis Initial sind im Workplace

Server keine Recommendation-Funktionalitaten integriert. Zu prufen ist, ob so etwas von Drit-tanbietern als Add-On zu erwerben oder mit Hilfe von MiniApps oder anderen Schnittstellen zurealisieren ist.

Schritt 4: Personliche und allgemeine Sichten in Form von Favoriten/LesezeichenlisteDer Workplace bietet die Funktionalitat von sogenannten Workplace-Favoriten. Unter demMenupunkt Personalize auf dem Reiter Workplace Favorites kann die personliche Ordnerstruk-tur angepasst werden. Dabei konnen den Workplace-Favoriten sowohl Web-Adressen als auchrollenbedingte Ordner bzw. Dokumente oder Funktionen hinzugefugt werden. Auch mitten imBearbeiten einer Bestellung ist es moglich, diese per Drag & Relate als Favoriten zu deklarie-ren. Leider sind dabei die zunachst vom System vergebenen Namen sehr lang und umstandlich,aber der Anwender kann die Namensgebung im Personalisierungsmenu relativ einfach in einemnemonische Bezeichnung andern. Wunschenswert ist aber eine Bezeichnungsanderung direktin der Favoritenliste.

Schritt 5: Benachrichtigung durch einen ereignisgesteuerten Notifikationsdienst DieBenachrichtigung, dass sich das Suchobjekt geandert hat, ist nicht initial im Workplace integriert.Diese Funktionalitat lasst sich aber mit Hilfe der oben eingefuhrten MiniApps realisieren.

Andererseits wird ein Publish & Subscribe-Dienst von dem SAP Knowledge Warehouse angebo-ten. Durch den Workplace wird ein rollenbasiertes Konzept zur Verfugung gestellt, durch welches

Page 64: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

56 3. Personalisierungsmoglichkeiten ausgewahlter Portalsoftware

Abbildung 3.9: Einrichten von Favoriten im Workplace

man Anwendungen, Informationen oder Dienstleistungen veroffentlichen und abonnieren kann[SAP00a].

Nachdem der mySAP.com Workplace und die Realisierung des Beispielprozesses beschriebenwurde, wird nun auf das dritte System, den infoAsset Broker, eingegangen.

3.2.4 Der infoAsset Broker

Der infoAsset Broker ist eine Systemplattform fur die Erstellung eines personalisierten In-haltsportals oder auch eines firmeninternen Wissensportals. Er ist in Kooperation mit dem Ar-beitsbereich Softwaresysteme der Technischen Universitat Hamburg-Harburg entwickelt worden.

Die Kernfunktionen des Brokers

Die Kernfunktionen werden im Folgenden beschrieben. Sie werden in abgeschlossenen Modulenzur Benutzung bereitgestellt, so dass sie beliebig kombinierbar sind und dadurch individuellzusammenwirken konnen:

• Die Lieferung von personalisierten Inhalten – Die Ergebnisse konnen in zweierleiHinsicht auf den Anwender zugeschnitten sein – einerseits bezogen auf das Layout, an-dererseits bezogen auf den Inhalt. Beim Layout werden die Ergebnisse in verschiedenenFormaten geliefert, wie z.B. als Videosequenz oder aber speziell zugeschnitten fur das

Page 65: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

3.2. Untersuchung der Systeme anhand eines durchgangigen Beispiels 57

Display eines bestimmten Handys oder in verschiedenen Sprachen (Mehrsprachigkeit). Be-zogen auf den Inhalt des Ergebnisses konnen Anpassungen je nach Rolle oder Rechtendes Anwenders vorgenommen werden. Zudem steht ein Empfehlungsdienst bereit, der aufBasis des Anwenderprofils Empfehlungen zu Objekten, wie z.B. Dokumenten, generierenkann.

• Die Dokumentenmanagement-Funktion – Sie bietet unter anderem jederzeit dasHoch- und Herunterladen von Dokumenten, eine Versionsverwaltung von Dokumenten,eine automatische Indexerstellung, die Ahnlichkeitssuche zwischen Dokumenten mit ahn-lichem Inhalt und eine Metadatenverwaltung von Dokumenten.

• Community Funktionen – Unter diesem Begriff werden folgende Funktionen zusam-mengefasst: Registrierung und Authentifizierung von bekannten oder neuen Benutzern,Verwaltung von beliebigen Gruppen und Mitgliedschaften sowie entsprechende Rechte aufverschiedene Informationsobjekte, Benutzerdaten (Sitzungsaktivitaten, personalisierter Li-zenzschlussel, personalisiertes Portfolio und Notifikationsdienst, personalisierte Entwick-lungen, personalisierte Notizen und offentliche Beitrage) und Registrierungsinformationen,die mit anderen Systemen uber ein bestimmtes Format (LDAP) ausgetauscht werden kon-nen, Verwaltung von Benutzerprofilen und Diskussionsforen;

• Portal Funktionen – Es werden Funktionen zur Verfugung gestellt, die eine schnelle Su-che auf gespeicherte Informationsobjekte zulassen. Das Hauptwerkzeug hierfur ist ein in-teraktiver grafischer Navigator, der Konzeptnavigator (concept navigator). Mit ihm kannman in sehr großen hierarchisch angeordneten oder im Netz organisierten Informations-sammlungen navigieren. Der Benutzer hat direkt Einsicht in alle Informationsobjekte, dieAttribute besitzen: Außerdem gibt es die Moglichkeit, dass bei direkt gefundenen Objektendie Lokation dieses Objektes im Konzeptnavigator angezeigt wird.

• Die Shop-Funktion – Es werden verschiedene Shop-Funktionen zur Verfugung gestellt.Dem Kunden sollen Informationen zum Kauf angeboten werden. Die Shop-Funktion bietetu.a. eine Einkaufswagenfunktion. Es konnen Bestelltransaktionen sowohl von dem Verkau-fer als auch vom Kaufer ausgefuhrt werden. Ferner ist die Ubergabe der Bestellinformatio-nen zu einem Buchhaltungssystem, eine Katalogverwaltung und eine Produktverwaltungvorgesehen.

Die technische Voraussetzung fur die Clients ist ein JavaScript-fahiger Web-Browser. Außerdemist fur den grafischen Konzeptbrowser die Verarbeitungsfahigkeit von Java-Anwendungen erfor-derlich. Die Kommunikation zwischen Server und Client findet ausschließlich uber das HTTP-Protokoll statt.

Bei den Serveranforderungen wird zwischen dem Offline Server und dem Enterprise Server un-terschieden. Fur den Offline Server konnen alle Betriebssysteme eingesetzt werden, die fahigsind Java 2 zu verarbeiten. Fur den Enterprise Server werden als Betriebssysteme Sun Solaris,HP-UX oder Linux empfohlen [inf01b].

Page 66: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

58 3. Personalisierungsmoglichkeiten ausgewahlter Portalsoftware

Architektur des Brokers

Er ist als Client/Server-System aufgebaut, wobei die Clients entweder durch Webbrowser oderandere HTML-fahigen Gerate oder aber durch einen WML-Client, also ein WAP-fahiges Gerat,gestellt werden (siehe Abbildung 3.10). Der Broker an sich bildet den Applikationsserver.

Der Broker besteht aus Schichten, die durch die Hierarchie der Java-Packages gebildet werden.Im Broker wird durch die Packages server, handler und session ein Web-Server realisiert. Eskonnen aber auch Web-Server von Drittanbietern integriert werden.

Die Speicherung von Daten erfolgt entweder uber ein einfaches Dateisystem, eine SQL-Datenbankoder aber uber ein Content Management System. Zwischen Client und Server wird ausschließ-lich uber das HTTP-Protokoll kommuniziert. Je nachdem welche Art von Client verwendet wird,werden die beiden Formate WML- oder HTML-Seite vom Server bereitgestellt. Der Broker als ge-nerisches System verfugt uber verschiedene Standardfunktionen. Die Template-gesteuerte Web-Oberflache und die offenen Schnittstellen ermoglichen seine Konfigurationsoptionen. Geschafts-objekte werden medienneutral in Assets abgelegt, was die Anpassungsfahigkeit des Brokers aufverschiedene Einsatzbereiche erleichtert.

Die Kommunikation zwischen Datenbank und Server findet uber JDBC statt, zwischen Content

Management System und Server uber entsprechende Interfaces (API).

HTML-ClientWML-Client

(optional)

Broker

Content-Management

System

File-System

SQLDB

Abbildung 3.10: Architektur des infoAsset Broker [inf01b]

Abbildung 3.11 zeigt, dass der Broker aus funf Hauptkomponenten besteht:

• Die Web-Server-Komponente wickelt die Kommunikation zwischen den Clients unddem Broker ab. Eine Client-Anfrage wird zum Handler weitergeleitet und das zuruckgelie-ferte Ergebnis wird dem Client prasentiert. Es kann jeder Web-Server eingebunden werden,der in der Lage ist Servlets zu verarbeiten.

Page 67: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

3.2. Untersuchung der Systeme anhand eines durchgangigen Beispiels 59

• Die Handler-Komponente (handler component) wahlt eine Broker Dienstleistung pas-send zu einer Anfrage, die zusammen mit einer Template-Komponente eine Ergebnislistegeneriert.

• Die Template-Komponente (template component) bestimmt die Benutzungsschnittstel-le des Clients. Die Templates sind in verschiedenen Formaten HTML, WML etc. vorhanden.Durch den Einsatz von Templates wird es moglich, das Layout von der Programmlogik ele-gant zu trennen, was den Vorteil hat, dass mit Hilfe von verschiedenen Werkzeugen dasDesign auch ohne Programmierkenntnisse verandert werden kann. Auch bei der Erstellungneuer Templates mussen idealerweise keine Handler oder sonstige Klassen umprogrammiertwerden. Statische Inhalte werden im Voraus verarbeitet, um die Anwortzeiten moglichstgering zu halten.

• Die Broker Dienstleistungskomponente (broker services component) ist das Kernstuckdes Brokers. Es werden Funktionen, wie Benutzerverwaltung, Zugriffsrechte und Verwal-tung von Informationsobjekten zur Verfugung gestellt. Fur Programmierer gibt es die Mog-lichkeit, durch die Benutzung von objektorientierter Programmierung eigene Dienstleistun-gen zu erganzen.

• Die Komponente Anpassungsdaten (customizing data) dient bei Projekten zur Anpas-sung auf die jeweiligen Gegebenheiten.

Client

Web-Server

Handler

BrokerServices

Store

Templates(HTML, WML)

Cust. Data

Broker

Abbildung 3.11: Innerer Aufbau des Brokers

Realisierung des Beispielprozesses im infoAsset Broker

Der Beispielprozess, der in Abschnitt 3.2 definiert wurde, wird nun mit Hilfe des infoAsset

Brokers modelliert. Dieser Abschnitt soll Handhabbarkeit und Fahigkeiten des Systems inBezug auf Personalisierung beschreiben. Nacheinander werden die einzelnen Schritte der Reali-sierung des Prozesses beschrieben und eventuelle Alternativen aufgezeigt.

Page 68: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

60 3. Personalisierungsmoglichkeiten ausgewahlter Portalsoftware

Schritt 1: Zugriffskontrolle und Mehrsprachigkeit Zugriffskontrolle: Der infoAsset

Broker hat eine eingebaute Benutzerverwaltung mit Zugriffskontrolle. Die Einrichtung vonneuen Anwendern und Zuweisung von Rollen wird von den Administratoren vorgenommen. Einpotentieller Benutzer schickt eine Registrierungsanfrage an den Administrator. Wenn der Anwen-der freigeschaltet wurde, erhalt dieser eine Email mit den Zugangsdaten. Es steht ebenfalls eineFunktion zur Verfugung, die vergessene Passworter nach Angabe von bestimmten Informatio-nen erneut zusendet. Das Passwort und die Email-Adresse kann vom Anwender selbst verwaltetwerden. Im Benutzerprofil werden verschiedene Arten von Daten gespeichert: Dokumente, Kom-mentare, Bewertungen, Personendaten, Buchungsinformationen, Gruppenzugehorigkeiten undAnmeldeinformationen. Es gibt die Moglichkeit, Benutzergruppen, Projektteams und Verteiler-listen zu verwalten.

Mehrsprachigkeit : Der Broker ist mehrsprachig benutzbar. Bei der Registrierung neuer Anwen-der, aber auch im laufenden Betrieb konnen die Sprachen gewechselt werden. Die zu Beginneingestellte Sprache wird vom Browser abgeleitet. Die Mehrsprachigkeit im Broker wurde nichtnach den Java-Standards implementiert: Fur jede Sprache werden Templates erstellt und nachSprachen sortiert abgelegt. Es sind allerdings nicht alle potentiell sprachabhangigen Elemente,wie z.B. Inhalte, austauschbar. An einer Losung dieses Problems wird aber zur Zeit gearbeitet.

Schritt 2: Praferenzbasiertes Alerting mit Anzeigen von Nachrichten Das Anzeigenvon Nachrichten ist im Broker grundsatzlich moglich. Da alle Informationseinheiten als Assets

gespeichert werden, sind die anzuzeigenden Neuigkeiten ebenfalls als Asset verfugbar und konnenin ein Template eingebettet werden. Je nach Profileintragen konnte also eine Liste von Neuig-keiten, die fur den Anwender relevant sind, angezeigt werden. Allerdings lauft dieses Targeting

auf einer technischen Ebene ab. Jede einzelne Regel muss von Hand in die Templates hinein-programmiert werden. Es ware wunschenswert das praferenzbasierte Alerting auf einer hoherenEbene anzusiedeln, so dass auch Nicht-Programmierer in der Lage sind, Targeting-Regeln zudefinieren.

Schritt 3: Empfehlungen abgestimmt auf ein Suchergebnis Der Broker lasst mehrereArten von Recherchen zu:

• Dokumentenrecherche: Suche nach Kriterien wie Erstellungszeitraum, Dokumenttyp, aberauch Volltextsuche.

• Verzeichnisrecherche: Zugriff ist auch uber das Dateisystem moglich. Es wurde auf einerWeb-Seite mit Hilfe von Links nachempfunden.

• Begriffsrecherche: Neben der Ordnerstruktur gibt es eine andere Moglichkeit, durch die Ob-jekte zu navigieren. Durch ein Begriffsnetz, welches im Hinblick auf bestimmte Projektegebildet wird, werden Objekte bestimmten Begriffen nach inhaltlichen Aspekten zugeord-net, und die Begriffe sind wiederum miteinander verknupft. Die Recherche im Begriffsnetzist sowohl uber eine Suchmaske als auch uber die Navigation im Netz selbst moglich.

Zur Verwaltung von Empfehlungen steht das Modul Recommendation System im Broker zurVerfugung. Die Anwendungsfalle – ”Eingabe von Bewertungen“, ”Ausgabe eines Empfehlungs-wertes“, ”Ausgabe einer Liste interessanter Artefakte“, ”Auswahl einer Bewertungsregel“ etc. –

Page 69: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

3.3. Zusammenfassung und Bewertung 61

konnen eingesetzt werden [Die01]. Somit ist es bei der Konfiguration des Brokers moglich, dassbei der Suche nach einem bestimmten Objekt gleichzeitig auch Referenzen zu anderen Objektenprasentiert werden, deren Anzeige zum einen durch das Profil des Broker-Anwenders und zumandern durch die Ergebnisse der Suchanfrage selbst bestimmt werden. Zur Empfehlungsgenerie-rung eines bestimmten Objektes konnen verschieden komplexe Bewertungsregeln herangezogenwerden. Beispielsweise kann ein Objekt mit Hilfe der Beurteilung eines anderen ausgewahltenBenutzers bewertet werden. Es ist aber auch moglich, Collaborative Filtering durchzufuhren(vgl. Abschnitt 2.2.4). Hierbei wird ein Anwender einer Gruppe von Anwendern mit ahnlichenVorlieben zugeordnet und werden Empfehlungen basierend auf den Bewertungen der Gruppe,der er angehort, ausgesprochen. Moglich ist es auch, dass Empfehlungen verschiedener Verfahrenkombiniert als neue Regel angewendet werden.

Schritt 4: Personliche und allgemeine Sichten in Form von Favoriten bzw. Lesezei-chenliste Uber eine Suchmaske kann nach Dokumenten mit verschiedenen Kriterien gesuchtwerden. Als Ergebnis wird dem Anwender eine Liste mit Verknupfungen zu in einem bestimmtenMedium gespeicherten Objekten (z.B. Text, Bilder, Filme, Personen, Ordner etc.) zuruckgelie-fert. Diese Objekte kann sich der Anwender nun ansehen. Falls der Anwender den dauerndendirekten Zugriff zu diesem Objekt haben mochte, kann er das Objekt einer seiner Sammelmappenhinzufugen.

Schritt 5: Benachrichtigung durch einen ereignisgesteuerten Notifikationsdienst Inder Profilmaske in der Rubrik ”personlich“ befindet sich u.a. ein Link zur Einrichtung einesNewsletter fur bestimmte Begriffe des Begriffsnetzes oder auch Schlagworter. Die Notifikationeines Anwenders bei Anderung eines bestimmten Objektes, welches fur den Anwender von In-teresse ist, ist im Broker durch einen Awareness-Support implementiert. Der Anwender wirduber die Anderung eines Informationsobjektes informiert, welches sich in seiner Sammelmappebefindet, wenn er sein Interesse zuvor durch die Definition eines Goals bekundet hat.

Mit der Beschreibung des Brokers und der Realisierung des Beispielprozesses schließt dieserAbschnitt. Im nachsten und letzten Abschnitt dieses Kapitels werden die bisher erarbeitetenErgebnisse dieses Kapitels zusammengetragen und bewertet.

3.3 Zusammenfassung und Bewertung

In diesem Abschnitt werden nun die oben beschriebenen Systeme bezogen auf die Umsetzungder Profilverwaltung der Anwender und Konzepte der Personalisierung miteinander in Beziehunggesetzt. In der Abbildung 3.12 sind die Ergebnisse tabellarisch zusammengefasst. Diese werdenanschließend naher erlautert. Die Bewertungsskala reicht von ++, als bestes Ergebnis, uber +(gut), o (neutral) zu — als schlechteste Note.

3.3.1 Bewertung der ATG Dynamo Product Suite

Die Bedienung ist etwas ungewohnlich, aber nicht kompliziert. Die Dokumentation ist sehr aus-fuhrlich und dadurch umfangreich. Beim naheren Studieren der Dokumentation fallt auf, dass die

Page 70: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

62 3. Personalisierungsmoglichkeiten ausgewahlter Portalsoftware

Profilverwaltung

Mehrsprachigkeit

Empfehlungen

PräferenzbasiertesAlerting / NotifikationPersönliche undallgemeine Sichten

Personalisierungs-konzept

o

+

infoAsset Broker

++

++

+

++

+

ATG DynamoProduct Suite

++

++

o

mySAP EnterprisePortals

++

Abbildung 3.12: Vergleich und Bewertung der Systeme mit Personalisierung

Bedienung und das Aufsetzen des Systems nicht – wie versprochen – fur Business-Anwender ge-staltet ist. Man muss sich gerade bei spateren Prozessschritten sehr gut mit den Grundlagen desSystems auskennen, um z.B. eine sinnvolle Targeting-Funktionalitat zu definieren. Selbst die gra-fische Schnittstelle zum Definieren von Szenarien ist nicht trivial. Entwickler, Seiten-Entwicklerund Business-Anwender mussen eng zusammenarbeiten, um ein akzeptables Ergebnis zu erzie-len. Auf der anderen Seite sind alle Komponenten der Personalisierung sehr schon integriert undkonzeptuell einheitlich, so dass nach einem gewissen Einarbeitungsaufwand die Arbeit mit demSystem leicht fallen sollte.

Verwaltung der Profile

Bewertung : +

Begrundung : Die Zugriffskontrolle in Form von Nutzerkennung und Passwort wird von dem Sys-tem zur Verfugung gestellt. Fur An- und Abmeldung an das System existieren bereits Templates,die wiederverwendet werden konnen. Die Verwaltung der Profile auf Wertebene ist komfortabel.Es kann einfach auf das Benutzer-Objekt und seine Attribute zugegriffen werden. Die Anwen-derprofile konnen zusatzlich komfortabel uber das Control Center editiert, geloscht und angelegtwerden. Leider ist die Anderung der Attribute zur Laufzeit uber eine grafische Benutzungsober-flache nicht vorgesehen. Somit ist die Flexibilitat des Profilings eingeschrankt.

Eine Starke der Profilverwaltung ist, dass ebenfalls Inhaltseinheiten mit Attributen versehen wer-den konnen und darauf sogar Targeting-Funktionalitat aufbauen kann. Es ist eine gute Grundlagefur durchdachte Personalisierung geschaffen.

Mehrsprachigkeit

Bewertung : ++

Begrundung : Mehrsprachigkeit basiert auf den Java Internationalization Standards (siehe Ab-schnitt 2.2.1). Somit wird der Text, der in unterschiedlichen Sprachen erscheinen muss, ausdem Code ausgelagert. Das vereinfacht die spatere Wartung und die Templates mussen nichtredundant abgelegt werden.

Page 71: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

3.3. Zusammenfassung und Bewertung 63

Empfehlungen

Bewertung : — (nicht vorhanden)

Begrundung : Empfehlungen sind leider nicht als Baustein von ATG in der Product Suite vor-handen. Obwohl Personalisierung ein Hauptanliegen dieses Produktes ist und Empfehlungen imB2C-E-Commerce immer haufiger verwendet werden und bei Kunden sowie Anbietern gleicher-maßen hohe Akzeptanz genießen, bietet ATG keine Losung fur eine Recommendation Engine

an.

Programmierer haben aber die Moglichkeit, mit Java ein eigenes Empfehlungssystem zu imple-mentieren und diese Klassen in ATG einzubinden. Die Vorgabe von ATG, dass Personalisierungauch fur Nicht-Programmierer einfach und ubersichtlich zu integrieren sein sollte, widersprichtallerdings dieser Losung.

Alerting/Notifikation

• Praferenzbasiertes Alerting

Bewertung : +

Begrundung : Praferenzbasiertes Alerting wird im ATG-Kontext schlicht Targeting ge-nannt. Das Targeting erfolgt uber eine umfangreiche Definition von verschiedenen ATG-Komponenten (Rule Set Service und die Targeter- Komponente). Danach konnen die Tar-

geter auf einer Dynamo-Seite mit Hilfe von Targeting Servlet Beans eingebettet werden.Es ist fraglich, ob dieses Vorgehen nicht noch einfacher mit weniger Programmieraufwandgelost werden kann, so dass ein Business-Anwender die Chance hat, Inhalt mit Attributenvon Anwenderprofilen auf eine Web-Seite zu bringen.

• Targeted Email

Bewertung : +

Begrundung : Ein Notifikationsdienst ist von ATG integriert worden. Es konnen Mailing-Aktionen angelegt werden. Dazu stehen auch einige Vorlagen zur Verfugung. Außerdemgibt es die Moglichkeit, eine zeitliche Steuerung mit dem Scenario Server vorzunehmen.Allerdings ist auch hier die Bedienung nicht einfach. Der Anwender muss sich sehr gutmit dem gesamten System und schon vorhandenen Komponenten auskennen, um solcheine Mailing-Aktion zu planen. Die Emails selbst werden in JHTML verfasst. Es gibtein Email-Template, welches festlegt, welche Attribute jede Email besitzt. Um von derVorlage abzuweichen, kann eine Subklasse von dem Standard-Template erzeugt werden,die die Eigenschaften der Oberklasse erweitert.

Personliche und allgemeine Sichten

Bewertung : — (Nicht explizit vorhanden)

Begrundung : Leider ist es nicht explizit vorgesehen, eine Art Lesezeichenliste zu benutzen. Den-noch kann man in einem Profil Listen ablegen, die beliebige Objekte enthalten konnen. Das

Page 72: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

64 3. Personalisierungsmoglichkeiten ausgewahlter Portalsoftware

befahigt den Entwickler, selbst programmierte Listen mit dem Profil zu verknupfen und somit

”Einkaufswagen“ oder Favoritenlisten einzusetzen.

Insgesamt bleibt also festzuhalten, dass die Product Suite in den Bereichen Profilverwaltung,Mehrsprachigkeit und Alerting Starken aufweist. Die Einrichtung von personalisierbaren Web-Seiten ist allerdings nicht so evident und einfach, dass auch Business-Anwender selbststandigzumindest Systemteile aufsetzen konnten. In den Bereichen Empfehlungen und personliche undallgemeine Sichten besteht noch Implementationsbedarf. An dem Beispiel Amazon ist zu erken-nen, wie wichtig diese beiden Bereiche in Bezug auf Personalisierung sind.

Als nachstes werden die Funktionen des Workplaces naher betrachtet.

3.3.2 Bewertung des Workplaces von mySAP Enterprise Portals

Aufgrund dessen dass zur Untersuchung kein Enterprise Portals Server, sondern nur ei-ne Demonstrationswebseite (http://www.mysap.com/ides) herangezogen werden konnte, stehenfur die Bewertung wenig technische Details zur Verfugung. Trotz allem wird der Umfang derPersonalisierung des Enterprise Portals Servers an diesem Beispiel sichtbar.

Verwaltung der Profile

Bewertung : ++

Begrundung : Der Zugriff auf das Portal wird nur mit Benutzer-ID und Kennwort gewahrt. DieEinrichtung von Benutzern ubernimmt der Administrator. Uber eine Rollenzuordnung werdendem Anwender Zugriffsrechte ubertragen, d.h. es wird festgelegt, welche Daten der Anwenderpotentiell sehen darf. Im Profil wird u.a. gespeichert, welche Informationen an welcher Stelleprasentiert werden sollen, welche Lesezeichen abgelegt sind etc.. Die Haltung der Profile ist furden Anwender nicht direkt sichtbar. Wie beschrieben, kann aber der Anwender auf die Auswahlund Anzeige der Inhalte uber das Menu Einfluss nehmen. Da alle Inhalte uber URLs erreichbarsind, ist dieses Vorgehen sehr flexibel.

Mehrsprachigkeit

Bewertung : ++

Begrundung : Diese Eigenschaft wird vom Enterprise Portals Server umgesetzt und ist beidem Demo-System zu finden. Das Portal wird in drei Sprachen angeboten. Wie die Realisierungder Mehrsprachigkeit aussieht, ist allerdings nicht zu erkennen.

Empfehlungen

Bewertung : — (Nicht vorhanden)

Begrundung : Empfehlungen oder Ranglisten sind nicht enthalten. Wenn mehr technische Detailsvorlagen, konnte untersucht werden, inwieweit MiniApps zur Realisierung von Recommendation

Engines eingesetzt werden konnen.

Page 73: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

3.3. Zusammenfassung und Bewertung 65

Alerting/Notifikation

• Praferenzbasiertes Alerting Bewertung : ++Begrundung : Bei dieser Art von Alerting ist sehr einfach von dem Anwender selbst zusteuern, welche Informationen sofort nach Login erscheinen sollen. Dazu wird im Persona-lisierungsmenu in dem Bereich Startseite eine Referenz auf die gewunschten Informationengespeichert.

• Targeted Email Bewertung : — (Nicht vorhanden)Begrundung : Diese Funktion ist leider nicht vorhanden, kann aber eventuell durch dasvorhandene Mail-Programm in das System integriert werden.

Personliche und allgemeine Sichten

Bewertung : ++

Begrundung : Im Bereich Workplace-Favoriten konnen Lesezeichen fur jegliche Art von Infor-mationen uber HTML-Links oder MiniApps abgelegt werden. Dieser Bereich ist einfach in derHandhabung, so dass der Anwender ohne fremde Hilfe die wichtigsten Arbeitsmittel in einerselbst definierten Ordnerstruktur kategorisieren kann.

Insgesamt weist das System bis auf die Bereiche Empfehlungen und Alerting durchweg Star-ken auf. Die Empfehlungen sind im System gar nicht enthalten. Da der Workplace die Ober-flache eines SAP-Systems bildet, sind Empfehlungen nicht unbedingt ein zentrales Thema furseinen erfolgreichen Einsatz. Das Fehlen von personalisierten Emails bildet die Schwache im Be-reich Alerting. Diese Funktionalitat wurde auch fur den Workplace eine Bereicherung darstellen.Wahrscheinlich ist der Aufwand fur eine Integration des verwendeten Email-Programms nichtsehr groß.

Als nachstes werden die Personalisierungsfunktionen des infoAsset Broker bewertet.

3.3.3 Bewertung des infoAsset Brokers

Zugriffskontrolle und Benutzerverwaltung

Bewertung : —

Begrundung : Die Benutzerverwaltung ist in der Broker-Grundversion bereits vorhanden. DieFunktionen sind komfortabel. Es ist sogar vorgesehen, sich ein vergessenes Passwort zusenden zulassen. Bestimmte Informationen, wie Email-Adresse und Passwort, kann der Anwender in seinemProfil direkt verwalten. Bei der Anpassung des Brokers auf eine bestimmte Umgebung muss indie Benutzerverwaltung kein weiterer Entwicklungsaufwand oder nur wenig Anpassungsaufwandinvestiert werden.

Profiling, insbesondere flexibles Profiling wird von der Benutzerverwaltung aber nur in rudi-mentarem Maße unterstutzt. Jedem Benutzer sind zwar Attribute zugeordnet, diese sind abernicht auf Personalisierungszwecke zugeschnitten, und – was wichtiger ist – sie sind im Code festverankert und nicht zur Laufzeit anderbar. Das bedeutet, dass der Administrator, der die Per-

Page 74: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

66 3. Personalisierungsmoglichkeiten ausgewahlter Portalsoftware

sonalisierung aufsetzt, die Definition neuer Profilattribute nur im Programmcode andern kann.Diese Art der Konzeption stellt eine große Einschrankung dar.

Mehrsprachigkeit

Bewertung : o

Begrundung: Sie wird nicht nach dem Java-Standard implementiert, dennoch bringt das Ab-weichen vom Standard keine verheerenden Nachteile. Bei der Umsetzung der Mehrsprachigkeitder Templates wird der Ansatz verfolgt, dass fur jede Sprache neue Templates geschrieben undin einem gemeinsamen Unterordner gebundelt gespeichert werden. Die unterschiedliche Langevon Text in verschiedenen Sprachen beispielsweise bringt durch die Definition eines separatenTemplates keine Probleme. Da die Programmlogik vollstandig von den Templates getrennt ist,kann ihre Ubersetzung ohne technisches Hintergrundwissen ausgefuhrt werden. Leider ist esbis jetzt jedoch nicht gelungen alle sprachabhangigen Elemente, wie z.B. Systemmeldungen zuextrahieren, so dass die Mehrsprachigkeit nicht vollstandig eingefuhrt ist.

Daruber hinaus gehende Sprachunterschiede, z.B. in verschiedenen Sprachen verfasste Dokumen-te oder auch andere Inhalte, sind im jetzigen Stand des Brokers leider noch nicht befriedigendbehandelt worden.

Empfehlungen

Bewertung : ++

Begrundung : Der Broker beinhaltet einen Dienst, der einem Anwender zu einem beliebigen Ob-jekt eine Empfehlung prasentiert. Zur Berechnung der Empfehlung konnen verschiedene Bewer-tungsregeln herangezogen werden.

Alerting

• Praferenzbasiertes Alerting Bewertung : oBegrundung : Praferenzbasiertes Alerting ist im Broker noch nicht vorhanden. Mit Hilfeder bisher vorhandenen Profilattribute konnen zwar Wenn-Dann-Bedingungen explizit indie Templates eingebaut werden, regelbasiert, also auf einer hoheren Abstraktionsebene,ist das allerdings noch nicht im Broker vorgesehen.

• Targeted Email/Notifikation Bewertung : ++Begrundung : In den Broker ist ein Awareness-Support-Dienst integriert worden. SeineAufgabe u.a. ist, die Anwender uber Anderungen von Informationsobjekten per Mail zuinformieren.

Personliche und allgemeine Sichten

Bewertung : ++Begrundung : Personliche und allgemeine Sichten werden in Form von Sammelmappen angeboten.Ihr Umgang ist sehr komfortabel. Außerdem konnen Annotationen vorgenommen werden.

Page 75: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

3.3. Zusammenfassung und Bewertung 67

Der Broker setzt die Mehrzahl der geforderten Personalisierungskonzepte erfolgreich um. ImBereich Profilverwaltung und Mehrsprachigkeit bestehen allerdings Schwachen. Die Modellierungim folgenden Kapitel baut auf der Bewertung des Brokers auf und diskutiert Ansatze fur dieVerbesserung von einem der beiden Bereiche.

Page 76: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

68 3. Personalisierungsmoglichkeiten ausgewahlter Portalsoftware

Page 77: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

Kapitel 4

Design einerPersonalisierungskomponente furden infoAsset Broker

Nachdem in Kapitel 3 verschiedene Systeme naher betrachtet wurden, die Personalisierung um-setzen, baut dieses Kapitel großtenteils auf der Analyse des infoAsset Brokers auf. Dabei wirdunter Betrachtung der aufgezeigten Defizite genauer diskutiert, welche Maßnahmen zur Erweite-rung der Personalisierung des Brokers vorgenommen werden konnen. Nachdem herausgearbeitetist, welcher Teil des Brokers erweitert wird (Abschnitt 4.1), werden alternative Modellierungsan-satze diskutiert (Abschnitt 4.2). Es werden die Anwendungsfalle fur die Profiling-Komponente(Abschnitt 4.3) und die fur die Modellierung relevanten Broker-Komponenten vorgestellt underlautert (Abschnitt 4.4). Danach erfolgt die konzeptuelle Analyse des Entwurfes (Abschnitt4.5).

4.1 Auswahl der zu modellierenden Komponente

Zunachst wird noch einmal zusammenfassend dargestellt, welche Komponenten ein personali-sierbares System typischerweise aufweist (siehe Abbildung 4.1).

Ein personalisierbares System besitzt als Datengrundlage einen Datenbestand fur die Anwen-derprofile(user profiles) und einen Datenbestand fur die Inhaltsprofile (content profiles). DieseDatenbestande sollen sowohl im Schema als auch mit Daten dynamisch – also zur Laufzeit– veranderbar sein. Fur ihre Realisierung sind Datenbanken oder Dateisysteme denkbar. DieFunktionen, wie Mehrsprachigkeit (multilinguality), die personlichen und allgemeinen Sichten(personal views), das Alerting sowie Empfehlungen (recommendations) (siehe Kapitel 2.2), sindin der Schicht daruber zu finden. Die Zugriffskontrolle (access control) und Auswertungswerk-zeuge zur Analyse der Auswirkungen von Personalisierung (behavior tracking / reporting) sindin derselben Schicht zu finden.

Zunachst soll eine Entscheidung daruber getroffen werden, welches Konzept der Personalisierungim Broker uberarbeitet werden soll. Dazu wird noch einmal zusammengefasst, wo die Starkenund Schwachen der Personalisierung des Brokers liegen:

Page 78: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

70 4. Design einer Personalisierungskomponente fur den infoAsset Broker

User Interface:Personalized Pages / System

Multi-linguality

AccessControl

PersonalViews

BehaviorTracking/Reporting

Recommen-dationsAlerting

UserProfiling

ContentProfiling

Abbildung 4.1: Aufbau eines personalisierbaren Systems

Das System besitzt eine große Uberlegenheit im Bereich Empfehlungen, Alerting sowie per-sonliche und allgemeine Sichten durch die Implementation einer Recommendation-Engine unddie Realisierung von Lesezeichen, Annotationen und verschiedenen kooperationsunterstutzendenFunktionen. Im Gegensatz dazu sind in den Bereichen Benutzerverwaltung bzw. Profiling undMehrsprachigkeit einige Schwachen zu finden (siehe auch Kapitel 3.3.3):

• Die Mehrsprachigkeit ist nicht in allen Bereichen des Brokers vorhanden. Die Speicherungvon Dokumenten unterstutzt u.a. nicht den Umgang mit Dokumenten oder Systemmel-dungen in unterschiedlichen Sprachen.

• Die Benutzerverwaltung ist nicht fur den flexiblen Umgang mit Benutzerattributen aus-gelegt. Die Attribute sind bisher fest im Code verankert. Sie konnen nicht flexibel zurLaufzeit definiert oder uberarbeitet werden. Alle Anwender haben die gleichen Attributezugeordnet. Diese Tatsachen stellen eine Einschrankung fur die Erstellung neuer Anpas-sungssregeln dar.

Da das Profiling eine wichtige Grundlage der Personalisierung darstellt, fallt die Entscheidungauf die Modellierung eines Dienstes, mit dem Attribute verwaltet und Benutzern zugewiesenwerden konnen. Außerdem sollte das Profiling flexibler gestaltet werden. Das bedeutet, dassdie Attribute der Anwenderprofile, die bisher statisch festgelegt sind, zur Laufzeit erzeugt undgeandert werden konnen, da bei einem personalisierbaren System nicht zwingend alle Attributeim Vorwege bekannt sind.

Im folgenden Teil dieser Arbeit werden verschiedene alternative Modellierungsansatze dargestelltund eine Auswahl fur die weitere Behandlung getroffen.

4.2 Alternative Modellierungsansatze

Es soll die Erweiterung der Benutzerprofile auf der Dienstschicht vorgenommen werden. Forde-rungen fur die Modellierung der Personalisierungsattribute sind Bedienungsfreundlichkeit, Fle-xibilitat und leichte Verstandlichkeit des Ansatzes.

Page 79: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

4.2. Alternative Modellierungsansatze 71

Die Personalisierungsattribute konnen auf unterschiedliche Weisen modelliert werden:

Modellierungsansatz 1 Die Attribute bleiben im Code. Der Personalisierungsadministratorfugt neue Attribute im Code hinzu. Die Gruppierung der Anwender wird uber die Attri-butwerte ihrer Profile vorgenommen. Die Gruppenbildung ist fur die Vereinfachung desTargeting hilfreich.

Nachteil : Die Anderung des Programmcodes zum Anlegen von neuen Attributen ist unele-gant und nicht bedienungsfreundlich. Es sollte versucht werden, die Attribute der Benutzerauf einer hoheren Abstraktionsebene anzusiedeln.

Modellierungsansatz 2 Die Attribute sollen nicht weiter direkt im Code verankert bleiben.Es soll moglich sein, uber eine bedienungsfreundliche Oberflache Attribute und eventuelleWerte fur die Anwenderprofile zu definieren. Da man im Voraus nicht genau weiß, wievielePersonalisierungsattribute benotigt werden, mussen bei der Initialisierung des Systemseine bestimmte Anzahl von Attributen erzeugt werden (mit den Bezeichnungen Attribut1,Attribut2, ..., AttributN). Bei der Erzeugung eines neuen Attributes behalt es intern denschematischen Namen, nach außen wird ein neuer, mnemonischer Name sichtbar.

Nachteil : Da eine Voraussage uber die genaue Anzahl der Attribute nicht moglich ist, mussdie Zahl hinreichend groß gewahlt werden. Das ist ressourcenaufwandig und unelegant.Außerdem ist das Namensmapping von internen auf externe Namen unschon.

Modellierungsansatz 3 Um nicht im Vorwege die Anzahl der Attribute festlegen zu mussen,werden die Attribute aus dem Code ausgelagert und als eigene Komponenten modelliert.Dabei wird ein Attribut aufgespalten in einen neu zu modellierenden Attributnamen undverschiedene ebenfalls zu erstellende Attributwerte, die das Attribut annehmen kann. At-tributnamen und -werte konnen zur Laufzeit erzeugt und einander zugeordnet werden.Jeder Nutzer des Systems besitzt zwar bereits ein Profil mit Attributen, allerdings sinddiese Attribute allen Anwendern gleichermaßen zugeordnet und – wie schon erwahnt – sinddiese nicht zur Laufzeit erzeugbar oder anderbar. Die geplante Veranderung des Profilings

bietet die Moglichkeit, den Benutzern zur Laufzeit neue Attribute zuzuordnen. Dies ge-schieht uber Mitgliedschaften in Gruppen, die schon im Broker-System vorhanden sind. Eswerden namlich den Gruppen Attribute in Form von Attributnamen und Attributwertenzugeordnet, die dann in den Profilen der Mitglieder dieser Gruppe sichtbar werden. JederAnwender pflegt sein eigenes Profil und kann somit die von der Gruppenmitgliedschaftgeerbten Attribute mit Werten bestucken.

Vorteil : In diesem Ansatz kann die Personalisierung zur Laufzeit vorgenommen werden.Außerdem muss fur ein neues Attribut keine Codeanderung vorgenommen werden. Dieaufwandige Reservierung von einer großen Anzahl von Attributen entfallt. Die Personali-sierung laßt sich somit flexibel gestalten.

Da der dritte Ansatz alle geforderten Eigenschaften erfullt und keine offensichtlichen Nachteilemit sich bringt, gewinnt er bei der Modellierungsentscheidung.

Die Erweiterung des Brokers, die die letzte Modellierungsmoglichkeit beschreibt, wird in Abbil-dung 4.2 illustriert. Die Dienste GroupAttributeName und GroupAttributeValue stellen die obengenannten Attributnamen und Attributwerte dar.

Page 80: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

72 4. Design einer Personalisierungskomponente fur den infoAsset Broker

Web-Browser eMail-ToolsPresentation

HTTP-Server Mail-ServerCommunication

Templates SessionsInteraction Handler

Documents

PersonsServices

Directories

Assets

Concepts GroupAttrValuesGroups

GroupAttrNames

ContentTypes Container

Store

Manager

Queries

Content

Persistence/Integration

Internet / Intranet / Extranet

Abbildung 4.2: Architektur des Brokers mit Erweiterung (vgl. [Weg02])

4.3 Anwendungsfalle

Wie in Abbildung 4.3 zu sehen, werden die folgenden Anwendungsfalle identifiziert:

Die Verwaltung von Gruppen beinhaltet das Anlegen, Loschen sowie Andern von Gruppenund wird vom Personalisierungsadministrator vorgenommen. Gruppen haben bisher Ein-fluss auf die Rechte im System. Nun beeinflussen sie ebenfalls die Attributnamen und damitauch -werte, die einem Anwender zugeordnet werden konnen.

Die Verwaltung von Gruppenattributen beinhaltet das Anlegen, Loschen sowie Andernvon Gruppenattributen und wird ebenso vom Personalisierungsadministrator vorgenom-men. Die Gruppenattribute sind die Merkmale der Personen, die dieser Gruppe zugeordnetsind. Wenn nun also eine Person Mitglied der Gruppe ”Qualitatssicherer“ ist, so bekommtsie auch alle Gruppenattribute zugeordnet, die der Gruppe ”Qualitatssicherer“ eigen sind.Das Gruppenattribut ”Abteilung“ ist hierfur ein Beispiel.

Die Verwaltung von Gruppenattributwerten beinhaltet das Anlegen, Loschen sowie An-dern von Gruppenattributwerten und wird ebenfalls vom Personalisierungsadministratorvorgenommen. Gruppenattributwerte sind den einzelnen Gruppenattributen zugeordnet.Im oben genannten Beispiel konnte das die Abteilung ”Verkauf“ sein, die dem Gruppenat-tribut ”Abteilung“ der Gruppe ”Qualitatssicherer“ zugeordnet ist.

Page 81: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

4.4. Beschreibung der fur die Implementierung relevanten Komponenten des infoAssetBrokers 73

Personalisierungs-administrator

Anwender

Auswahl vonGruppenattributwerten

Definition von Profil-Inhalt-Verknüpfungen

Verwaltung vonGruppenattributen

Verwaltung vonGruppenattributwerten

Verwaltung vonGruppen

PersonalisierbarerBroker

Abbildung 4.3: Anwendungsfalldiagramm (use case diagram)

Um den Anwendern ein gewisses Mass an Flexibilitat beim Ausfullen von Fragebogen ga-rantieren zu konnen, wird die Existenz eines speziellen Wertes gefordert, der nicht im Vor-wege vom Personalisierungsadministrator festgelegt wurde, sondern durch den Anwenderselbst bestimmt wurde. Dieser Any-Wert (any value) ist vergleichbar mit einem freigelas-senen Textfeld in einem Fragebogen, in das der Befragte alles eintragen kann, was nochnicht vordefiniert zur Auswahl steht.

Die Eingabe von Gruppenattributwerten wird vom Anwender des Systems vorgenommenund beinhaltet das Preisgeben von Informationen in Form von Anklicken der zutreffendenGruppenattributwerte eines Gruppenattributes. Bei dem Auftreten eines Any-Wertes kannaber auch eine textuelle Angabe gewunscht sein.

Die Definition von Profil-Inhalt-Verknupfungen wird vom Personalisierungsadministra-tor vorgenommen. Dabei werden einzelnen Gruppen-Attribut-Kombinationen Inhalte zu-geordnet, die dann in bestimmten Situationen prasentiert werden, z.B. auf der Startseiteeines Nutzers oder aber auch anderen Bereichen des Systems.

4.4 Beschreibung der fur die Implementierung relevanten Kom-ponenten des infoAsset Brokers

In diesem Abschnitt werden die fur die Implementierung wichtigen Konzepte und Komponentendes infoAsset Brokers aufgefuhrt und naher erlautert.

4.4.1 Wichtige Komponenten der Dienstebene

Nun werden die Dienste der Brokerarchitektur beschrieben, die direkten Einfluss auf die Model-lierung haben.

Asset und Assetcontainer Jegliche im Broker persistent zu haltenden Informationsobjektewerden als Asset reprasentiert. Dienste wie Person oder Group erben von dem Interface

Asset. Alle Assets haben dieselben Charakteristiken wie eine Id, einen Namen und gemein-

Page 82: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

74 4. Design einer Personalisierungskomponente fur den infoAsset Broker

same Methoden wie write(). Die Verwaltung der Assets findet in einem Assetcontainer

statt.

Die Aufgabe eines Assetcontainers ist die Verwaltung von Asset-Objekten einer Art. Dasbeinhaltet die Erzeugung, das Loschen und das Auffinden bestimmter Asset-Objekte.

Fur jeden Broker-Service in der Dienstschicht, wie Person, existiert ein Assetcontainer, der– analog zu dem Vorgehen bei Assets – von dem Interface AssetContainer erbt. Dabeigilt die Namenskonvention, dass der zugehorige Assetcontainer die Pluralform des Assets

als Namen erhalt, wahrend der Dienst stets im Singular benannt ist; bei Person also heißtder Assetcontainer Persons.

Zur konkreten Implementation der Services werden Klassen mit dem Prefix ”IMP“ pro-grammiert, die das Interface des Assets implementieren und von der abstrakten KlasseAbstractAsset erben. Das gleiche Vorgehen wird bei der Implementierung des konkretenzugehorigen Assetcontainers vorgenommen.

Zwischen Assets und ihren Assetcontainern besteht konzeptuell gesehen eine Aggregati-onsbeziehung. Ein Assetcontainer ist ein Singleton, d.h. es darf von jedem Assetcontainer

nur eine Instanz geben [GHJV96].

Person Eine Person aggregiert alle Informationen eines Anwenders. Dazu hat jede Person einegewisse Anzahl an vordefinierten Attributen. Diese Informationen bilden die Grundlagebei der Personalisierung des Brokers.

Group Eine Gruppe im Broker, realisiert durch das Interface Group, ist eine Ansammlung vonPersonen und hat einen Namen. Gruppen werden vor allem zur Vergabe von Zugriffsrechtenverwendet. Durch die Realisierung von flexiblem Profiling wird die Zugehorigkeit einerPerson zu einer Gruppe eine neue Semantik erhalten: die Mitgliedschaft bestimmt diePersonalisierungsattribute, die einer Person zugeordnet sein konnen.

Relationship und Relationships Eine Relationship realisiert im Broker eine n:m-Beziehungund entspricht einer Beziehungstabelle im relationalen Datenbankmodell. Ein Objekt dieserKlasse besteht aus zwei Referenzen auf zwei Assets und wird durch die Angabe des Asset-Typs und der AssetId spezifiziert. Ferner besitzt es eine Id und wird im Assetcontainer

Relationships verwaltet. Der Container stellt eine Reihe von Methoden zum Auffindenvon einzelnen oder auch Mengen von Relationships zur Verfugung.

4.4.2 Wichtige Komponenten der Prasentationsebene

Auf der Prasentationsebene gibt es zum einen Templates, die die eigentliche Oberflache desSystems ausmachen, und zum anderen Handler, die die Anwendungslogik mit der Oberflacheverbinden. Diese beiden Komponenten werden nun beschrieben.

Templates Ein Template stellt die statische Komponente der Prasentationsebene dar. Es de-finiert eine Formatvorlage, die als Web-Seite ausgegeben wird, nachdem ihre Platzhalterzur Laufzeit ersetzt wurden. Platzhalter sind immer durch die Verwendung von einemDollarzeichen ($) am Anfang und am Ende gekennzeichnet. Es gibt drei Kategorien vonPlatzhaltern:

Page 83: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

4.4. Beschreibung der fur die Implementierung relevanten Komponenten des infoAssetBrokers 75

• Ersetzungsplatzhalter: Z.B.: $name$Der Platzhalter wird durch eine Zeichenkette der Variablen name ersetzt.

• Bedingte Platzhalter: Z.B.: $cond[$ conditionalContent $]cond$Der conditionalContent wird nur angezeigt, wenn die Bedingung cond wahr ist. Fureine if-then-else-Bedingung wird der Ausdruck wie folgt erweitert:$cond[$ conditionalContent $]cond[$ elseContent $]cond$

• Listen-Platzhalter:Z.B.: $[listElement l $$l.attribute$ Element der Liste$l.attribute$ letztes Element der Liste$]listElement[$$noElementinListContent$ Inhalt, falls Liste leer$listElement]$In diesem Ausdruck wird spezifiziert, welche Attribute der Listenobjekte angezeigtwerden und was angezeigt wird, wenn die Liste leer ist.

Handler Die Handler bilden das Bindeglied zwischen der anpassbaren Oberflache und der An-wendungslogik. Ein Handler erbt von der Superklasse GenericHandler und besitzt dieMethode handleRequest(). Sie wird vom Web-Server aufgerufen und ausgefuhrt. Es sindzwei Arten von Handlern zu unterscheiden:

1. Die sichtbaren Handler bewirken bei ihrem Aufruf, dass ein Template-Objekt erzeugtwird und alle Ersetzungen durchgefuhrt werden.

2. Die unsichtbaren Handler andern nur den Zustand des Systems und leiten ihre Er-gebnisse an einen sichtbaren Handler weiter.

Die konkreten Java-Methoden, mit denen die Ersetzungen durchgefuhrt werden oder mitdenen auch Parameter ausgelesen werden, sind im Implementationskapitel in Abschnitt5.2.2 aufgefuhrt und erlautert.

Nachdem die fur die Implementation wichtigsten Komponenten eingefuhrt wurden, wird imfolgenden Abschnitt zum besseren Verstandnis der Implementation dargestellt, wie und vonwelchen Komponenten die Abarbeitung einer Benutzeranfrage abgewickelt wird.

4.4.3 Bearbeitung einer Benutzeranfrage

In die Bearbeitung einer Benutzeranfrage sind verschiedene Komponenten verwickelt. Das Ab-arbeitungsschema ist in Abbildung 4.4 dargestellt und wird im Folgenden beschrieben:

Ein Benutzer stellt eine Anfrage an den Broker durch die Wahl eines Links. Die HTTP-Anfragewird uber den Browser an den Web-Server weitergeleitet. Dieser wertet die gesendeten Infor-mationen, wie den Link und Parameter, aus und sucht in einer besonderen Text-Datei, derhandler.txt, nach dem Namen des Handlers, der dem Link zugeordnet ist. Der Web-Server er-zeugt das entsprechende Handler-Objekt und ruft die handleRequest()-Methode auf. Im Falleeines unsichtbaren Handlers wird der Systemzustand den Vorgaben entsprechend geandert unddie Anfrage an einen sichtbaren Handler weitergeleitet. Der sichtbare Handler erzeugt das Tem-

plate und erfragt die benotigten Informationen vom Services-Objekt. Nun werden die Platzhalter

Page 84: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

76 4. Design einer Personalisierungskomponente fur den infoAsset Broker

durch die Informationen aus den Assets ersetzt und das Template instantiiert. Der Web-Serversendet das fertige Template zum Browser des anfragenden Anwenders.

Sende Anfrage

Browser Web-Server Handler Services

Frage handler.txtnach demHandler

Erzeuge Handler-Objekt und rufehandleRequest()

auf Lade Template

Erfrage benötigteInformationenbeim Services-

ObjektErzeuge Assets /

ErfrageInformationen bei

den Assets

Ersetze diePlatzhalter

Instantiiere dasTemplateSende das

Template zurück

Abbildung 4.4: Bearbeitung einer Benutzeranfrage im Broker [MHW01]

4.5 Konzeptuelle Umsetzung in Broker-Dienste

Nachdem im vorigen Abschnitt exemplarisch einige fur die Realisierung relevante Dienste erlau-tert wurden, werden nun die Basisdienste des flexiblen Profilings aufgefuhrt und ihr Zusammen-spiel in einem konzeptuellen Klassendiagramm betrachtet.

4.5.1 Der Service GroupAttributeName

Der Dienst GroupAttributeName reprasentiert den Namen eines Attributes einer Gruppe. Furdie Verwaltung, also das Erzeugen, Loschen oder Auffinden der GroupAttributeName-Objekteist der AssetContainer GroupAttributeNames zustandig.

Ein GroupAttributeName-Objekt wird von der Methode createGroupAttributeName() vonGroupAttributeNames erstellt. Dabei sollte der Name und eine Beschreibung des Objektes an-gegeben werden. Das erzeugte Objekt muss nicht notwendigerweise sofort einem Gruppenobjektzugeordnet werden. Im Einsatz zur Personalisierung sollte dies aber fruher oder spater geschehen.

Page 85: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

4.5. Konzeptuelle Umsetzung in Broker-Dienste 77

Group

Person GroupAttributeName

GroupAttributeValue

*

*

*

*

*

*

* *

*

*

Abbildung 4.5: Konzeptuelles Klassendiagramm der Implementierung

4.5.2 Der Service GroupAttributeValue

Der Dienst GroupAttributeValue reprasentiert den Wert eines Attributes einer Gruppe. DerAssetcontainer GroupAttributeValues hat die Verwaltung der GroupAttributeValue-Objekte zurAufgabe.

Ein Objekt wird durch die Methode createGroupAttributeValue() erzeugt, und es kann derWert sowie eine Beschreibung zugeordnet werden. Auch diesem Objekt muss nicht sofort eineZugehorigkeit zu einem GroupAttributeName zugeordnet werden. Fur den spateren Einsatz beider Personalisierung ist das aber unverzichtbar.

4.5.3 Der Service PersonValueRelationship

Der Dienst PersonValueRelationship nimmt die Zuordnung von einer Person zu einem Attribut-name-Attributwert-Paar vor.

Folgender Ablauf soll diesen Zusammenhang verdeutlichen: Durch die Gruppenzugehorigkeiteiner Person erhalt der Anwender eine Menge von potentiell zutreffenden Personalisierungs-attributen zur Auswahl. Die Eigenschaften, die er fur zutreffend halt, kann er von potentiellenEigenschaften zu konkreten Eigenschaften seiner Person machen. Diese Konkretisierung wird ineinem PersonValueRelationship-Objekt festgehalten.

4.5.4 Zusammenspiel der Dienste

Die oben eingefuhrten Dienste des flexiblen Profilings sollen nun einmal im Zusammenhang in ei-nem konzeptuellen Klassendiagramm (Abbildung 4.5) dargestellt und im Folgenden beschriebenwerden:

Page 86: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

78 4. Design einer Personalisierungskomponente fur den infoAsset Broker

Die Klasse Group ist mit Person verbunden. Wie an den Sternchen * der Assoziation zu sehen ist,kann eine Gruppe mehrere Personen enthalten und eine Person kann ebenfalls Mitglied in mehre-ren Gruppen sein. Assoziation zwischen Group und GroupAttributeName beschreibt, dass einerGruppe mehrere Gruppenattribute und deshalb auch Gruppenattributnamen zugeordnet wer-dem konnen und dass ein Gruppenattributname in mehreren Gruppen integriert sein kann. Dergleiche Zusammenhang besteht zwischen GroupAttributeName und GroupAttributeValue. DesWeiteren besteht eine Assoziation zwischen Person und GroupAttributeName und eine weitereAssoziation zwischen GroupAttributeName und GroupAttributeValue. Diese beiden Assozia-tionen beschreiben die Zuordnung der konkreten Personalisierungsattribute zu einer Person, dieoben durch PersonValueRelationship beschrieben wurde.

Page 87: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

Kapitel 5

Implementierung

In diesem Kapitel wird die prototypische Implementierung der im vorigen Kapitel modelliertenDienste beschrieben. Anschließend wird ihr Einsatz anhand eines Beispiels im Broker veran-schaulicht.

5.1 Implementierung von flexiblem Profiling auf der Ebene derAnwendungslogik

Es wird gezeigt, wie die Implementierung eines Broker-Dienstes allgemein vorgenommen wird.Anschließend sind die Klassen des Prototyps aufgefuhrt und in einem Implementationsklassen-diagramm illustiert.

5.1.1 Implementierung eines Broker-Dienstes

Bei der Implementation eines neuen Broker-Dienstes werden, wie schon in Abschnitt 4.4.1 be-schrieben, ein Asset-Interface (z.B. Person), ein Container-Interface (z.B. Persons) mit ihrenMethodenrumpfen und jeweils diese Interfaces implementierende Klassen (z.B. IMPPerson undIMPPersons) fur den neuen Dienst erstellt. Anschließend werden in dem Interface Services undder Klasse IMPServices Methoden zum Zugriff auf die neuen Services hinzugefugt.

5.1.2 Klassen des Prototyps

Im Folgenden sind die wichtigsten Klassen des flexiblen Profilings aufgefuhrt. Konzeptuell wer-den einer Gruppe sog. Gruppenattribute zugeordnet. Jedes Gruppenattribut besteht aus einerBezeichnung fur das Gruppenattribut, dem Gruppenattributnamen und einem Wert, dem Grup-penattributwert. Die Aufteilung dieser Konzepte in Klassen wird in den folgenden Abschnittenerlautert.

Page 88: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

80 5. Implementierung

Die Klassen IMPGroupAttributeName und IMPGroupAttributeNames

Die Klasse IMPGroupAttributeName erbt von der Klasse AbstractAsset und implementiert dasInterface GroupAttributeName. Sie enthalt die Attribute name fur den Namen des Attributes,welches einer Gruppe zugeordnet werden soll, und description, um die Bedeutung des Attri-butes noch naher zu spezifizieren. Weiter enthalt die Klasse Methoden zum Setzen und Abrufenihrer Attribute.

IMPGroupAttributeNames implementiert das Interface GroupAttributeNames und erbt von Ab-stractAssetContainer und fungiert als AssetContainer der Klasse IMPGroupAttributeName.

Die Klassen IMPGroupAttributeValue und IMPGroupAttributeValues

Die Klasse IMPGroupAttributeValue erbt wie auch IMPGroupAttributeName von der KlasseAbstractAsset und implementiert das Interface GroupAttributeValue. Sie enthalt die Attri-bute value, welches den Wert eines Attributes speichert, und description, um den Wert desAttributes noch naher zu erklaren. Die Klasse enthalt ebenfalls Methoden zum Setzen und Aus-lesen ihrer Attribute.

Der Assetcontainer zur Klasse IMPGroupAttributeValue ist IMPGroupAttributeValues. Erhat die Erzeugung, das Loschen und Auffinden von Objekten seiner zu verwaltenden Klasse zurAufgabe.

GGAN-RelationshipManager

Die Klasse GGAN-RelationshipManager verwaltet Beziehungen zwischen Gruppen und Gruppen-attributnamen. Diese Klasse ist als Singleton implementiert [GHJV96]. Ihre wichtigsten Metho-den sind relate(Group g, GroupAttributeName gan), welche eine Relationship zwischen denbeiden Argument-Objekten erstellt und unlink(Group g, GroupAttributeName gan), welchedie Verbindung wieder aufhebt. Außerdem besitzt die Klasse Methoden zum Abfragen, z.B. vonGruppenattributnamen, die mit einer bestimmten Gruppe verbunden sind oder umgekehrt.

GANGAV-RelationshipManager

Diese Klasse hat analog zu der oben beschriebenen die Aufgabe, Beziehungen zwischen Grup-penattributnamen und Gruppenattributwerten zu verwalten. Sie ist ebenfalls als Singleton im-plementiert, so dass immer hochstens eine Instanz vorhanden sein kann. Analog zur KlasseGGAN-RelationshipManager besitzt sie auch die Methoden relate und unlink sowie Methodenzur Abfrage von Verbindungen zwischen Gruppenattributnamen und Gruppenattributwerten.

IMPPersonValueRelationship

Diese Klasse implementiert das Interface PersonValueRelationship und erbt von AbstractAsset.Sie hat zur Aufgabe die konkret spezifizierten Werte, die aus den durch Gruppenmitgliedschaft

Page 89: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

5.2. Implementierung von flexiblem Profiling auf der Prasentationsebene 81

erhaltenen potentiellen Gruppenattributwerten ausgewahlt wurden, samt den Relationen zwi-schen Person, Gruppe, Gruppenattributnamen und -werten abzulegen. In der Tabelle 5.1 sindihre Attribute aufgefuhrt.

MembershipId Zeichenkette, welche die Id der Membership, al-so der Relation zwischen Person und Gruppe be-schreibt.

Group-GroupAttributeName-Relationship

Zeichenkette, die die Id der Relationship zwi-schen Gruppe und Gruppenattributnamen spe-zifiziert.

GroupAttributeName-GroupAttributeValue-Relationship

Zeichenkette, die die Id der Relationship zwi-schen Gruppenattributnamen und Gruppenat-tributwert spezifiziert.

Anyvalue Zeichenkette, die fur einen Any-Wert einer be-stimmten Person angegeben wurde.

Tabelle 5.1: Attribute der Klasse PersonValueRelationship

Der zugehorige Container heißt nach der Namenskonvention IMPPersonValueRelationships.Neben der Verwaltung seiner Assets stellt er Abfragemethoden zur Verfugung.

In der ursprunglichen Modellierung des flexiblen Profilings im Broker war nicht vorgesehen, dieseKlasse direkt zu implementieren, sondern Relationships zwischen den Relationships von Grup-pen, Gruppenattributnamen und Gruppenattributwerten zu kaskadieren. Die Performanz diesesVorgehens war aber nicht akzeptabel. So wurde das Interface PersonValueRelationship samtContainern und Implementationen eingefuhrt. Zu beachten bei der neuen Vorgehensweise ist diemanuelle Sicherung der referentiellen Integritat : das Loschen einer Gruppe, eines Gruppenattri-butnamens, eines Gruppenattributwertes oder einer Person oder das Loschen von Beziehungenzwischen diesen hat das Loschen aller PersonValueRelationship-Objekte zur Folge, in denen dieId des geloschten Objektes vorkommt.

5.1.3 Implementierungsklassendiagramm

Fur die wichtigsten der oben beschriebenen Klassen sind in Abbildung 5.1 die Beziehungen zu denInterfaces Asset und AssetContainer und ihren abstrakten Implementationsklassen dargestellt.

5.2 Implementierung von flexiblem Profiling auf der Prasenta-tionsebene

Im Folgenden wird die Implementierung der Prasentationsebene des flexiblen Profilings vorge-stellt. Zunachst werden die statischen Templates sowie die Handler-Klassen beschrieben. DasResultat der Interaktion zwischen Templates und Handlern wird im Web-Interface sichtbar,dessen Darstellung in Kapitel 5.3 erfolgt.

Page 90: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

82 5. Implementierung

Group Groups

GroupAttributeName GroupAttributeNames

GroupAttributeValue GroupAttributeValues

IMPGroup IMPGroups

IMPGroupAttrName IMPGroupAttrNames

IMPGroupAttrValue IMPGroupAttrValues

Asset AssetContainer

AbstractAsset AbstractAssetContainer

PersonValueRelship PersonValueRelshipsIMPPersonValueRelship IMPPersonValueRelships

interface interface

interface

interface

interface interface

interface

interface

interface interface

Abbildung 5.1: Implementationsklassendiagramm

5.2.1 Erstellung der Templates

Templates bilden den statischen Anteil der Benutzungsoberflache im Broker und sind zum groß-ten Teil in HTML verfasst. Fur das flexible Profiling haben sie die Aufgabe, die Verwaltungder Gruppenattribute zu visualisieren und die Zuordnung der Gruppenattribute zu Personen zuermoglichen.

Die nachfolgenden Tabellen liefern einen Uberblick uber die Templates fur das flexible Profi-

ling des Brokers und sind gruppiert nach den Services, die sie visualisieren, namlich Group,GroupAttributeName, GroupAttributeValue und Person.

Templates Funktion

addAttribute.htm Template zum Hinzufugen von Gruppenattributena-men zu einer Gruppe

createAttributeForGroup.htm Template zum Anlegen eines neuen Gruppen-attributnamens, welcher anschließend zu einer Gruppehinzugefugt werden kann

editAttrGroupRelships.htm Template zum Bearbeiten von Beziehungen zwischenGruppen und Gruppenattributnamen

Tabelle 5.2: Templates fur die Manipulation von Gruppenattributen einer Gruppe

Templates konnen Broker-spezifische Platzhalter fur verschiedene Zwecke enthalten (vgl. Kapi-tel 4.4.2). Zur Weitergabe der Flusskontrolle oder zur Ubergabe von Variablen beinhalten sieJavascript-Passagen, wie im folgenden Beispiel dargestellt:

<a href="javascript:s.show(’groupAttributeValue/$v.id$.htm’)">

Page 91: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

5.2. Implementierung von flexiblem Profiling auf der Prasentationsebene 83

Templates Funktion

addAttributeValue.htm Template zum Hinzufugen von Gruppenattributwer-ten zu einem Gruppenattributnamen

createAttribute.htm Template zum Anlegen eines neuen Gruppenattribut-namens

createValueForAttributeName.htm Template zum Erzeugen eines Gruppenattributwer-tes, der anschließend zu einem Gruppenattributnamenhinzugefugt werden kann

delete.htm Template zum Loschen eines Gruppenattributnamens,der vorher ausgewahlt wurde

editAttribute.htm Template zum Bearbeiten der Eigenschaften einesGruppenattributnamen

editAttrValueRelships.htm Template zum Bearbeiten von Beziehungen zwischeneinem Gruppenattributnamens und seinen Gruppe-nattributwerten

groupAttributeName.htm Template zum Anzeigen der Eigenschaften und Grup-penattributwerte eines Gruppenattibutnamens

groupAttributeNames.htm Template zum Anzeigen aller existierenden Gruppe-nattributnamen

showAttributesForGroup.htm Template zum Anzeigen aller Gruppenattributnamenund -werte einer Gruppe und einem Zeichen, ob einWert fur eine bestimmte Person gesetzt ist

Tabelle 5.3: Templates fur die Verwaltung von Gruppenattributen

Templates Funktion

createValue.htm Template zum Erzeugen eines Gruppenattributwertesdelete.htm Template zum Loschen eines GruppenattributwerteseditAttributeValue.htm Template zum Bearbeiten der Eigenschaften eines

GruppenattributwertesgroupAttributeValue.htm Template zum Anzeigen der Attribute eines bestimm-

ten GruppenattributwertesgroupAttributeValues.htm Template zum Anzeigen aller existierenden Gruppe-

nattributwerte

Tabelle 5.4: Templates fur die Verwaltung von Gruppenattributwerten

Page 92: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

84 5. Implementierung

In dem HTML-Link ist ein Javascript-Befehl eingebettet, in dem der Ort der als nachstes auf-zurufenden Seite angegeben wird. Die weitere Abarbeitung der Anfrage eines Anwenders ist inder Abbildung 4.4 des vorigen Kapitels bereits gezeigt worden.

5.2.2 Programmierung der Handler

Jedes der oben aufgefuhrten Templates wird durch einen entsprechenden sichtbaren Handler

erzeugt. Dabei werden bei dem Aufruf der Methode handleRequest() fur das Anzeigen der an-gepassten Web-Seite alle durch Dollarzeichen ($) gekennzeichneten Platzhalter durch dynamischeInhalte ersetzt (vgl. Abschnitt 4.4.2).

Die speziellen Befehle, durch die die Variablen vom Session-Objekt ubergeben werden und durchdie die Ersetzung erfolgt, werden im Folgenden naher erlautert.

Abruf eines Parameters vom Session-Objekt Das Session-Objekt wird beim Aufruf deshandleRequest()-Befehles ubergeben und halt alle durch die HTML-Seite ubergebenen Para-meter zum Abruf durch den Befehl getRequestParameter(String placeholder) vor. Es spieltdabei keine Rolle, ob der Parameter mit dem Link oder durch eine Zuweisung im HTML-Codedefiniert wurde.

Parameterubergabe an das Session-Objekt Die Ubergabe von Parametern an das Sessi-

on-Objekt erfolgt uber die Anwendung des Befehles putRequestParameter(String placeholder,

String replacement). Ein Handler, der diesen Befehl benutzt, kann kein Template erzeugen. DieAnfrage wird durch forwardRequestParameter() zu einem sichtbaren Handler weitergeleitet,der dieses fur den unsichtbaren Handler ubernimmt.

Ersetzung eines Platzhalters in einem sichtbaren Handler Die sichtbaren Handler sindfur die Ersetzung der Platzhalter in einem Template zustandig. Fur die unterschiedlichen Artenvon Platzhaltern (siehe 4.4.2) existieren unterschiedliche Ersetzungsbefehle.

Die einfache textuelle Ersetzung erfolgt folgendermaßen:

template.put(placeholderString, new PrintSubstitution(){public void print( Session session, PrintStream p) {

p.print(replacementString);}

});

Fur die bedingte Ersetzung wird folgender Ausdruck verwendet:

template.put(placeholderString, new ConditionalTemplate(){public boolean test(Session session) {

return replacementBoolean;}

});

Die Ersetzung von Listenplatzhaltern erfolgt uber folgenden Java-Ausdruck:

Page 93: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

5.2. Implementierung von flexiblem Profiling auf der Prasentationsebene 85

template.put(placeholderString, new ListTemplate(){Iterator iterator = null;Element element = null;public void start(){

iterator = ...;//Zuweisung der Menge, auf der operiert werden soll

}public boolean hasNext(){

return iterator.hasNext();}public void next(){

element = iterator.next();}public void init(){//Definition aller Platzhalter mit den oben beschriebenen Ersetzungsmethoden

}});

Die Definition des Iterators in start() bestimmt die Menge, auf der operiert wird. In hasNext()wird gepruft, ob die Menge noch ein nachstes Element besitzt. In next() wird das nachsteElement der Iterator-Menge geholt, welches zur Abfrage von Attributen in init() zur Verfugungsteht.

In der folgenden Tabelle sind die Namen der sichtbaren Handler, die zur Prasentation des fle-xiblen Profilings implementiert wurden, und die Templates aufgefuhrt, die sie erzeugen.

Handler Template

AddAttributeForGroupHandler group/addAttribute.htmEditAttrGroupRelshipsHandler group/editAttrGroupRelships.htmEditNewAttributeForGroupHandlergroup/createAttributeForGroup.htmAddAttributeValueHandler groupAttributeName/addAttributeValue.htmDefaultHandler groupAttributeName/groupAttributeNames.htmDeleteAttributeHandler groupAttributeName/delete.htmEditAttributeHandler groupAttributeName/editAttribute.htmEditNewAttributeHandler groupAttributeName/createAttribute.htmEditNewAttributeValueHandler groupAttributeName/createValueForAttributeName.htmEditRelationshipsToValuesHandler groupAttributeName/editAttrValueRelships.htmGroupAttributeNameHandler groupAttributeName/groupAttributeName.htmShowAttributesForGroupHandler groupAttributeName/showAttributesForGroup.htmDefaultHandler groupAttributeValue/groupAttributeValues.htmDeleteAttributeValueHandler groupAttributeValue/delete.htmEditAttributeValueHandler groupAttributeValue/editAttributeValue.htmEditNewAttributeValueHandler groupAttributeValue/createValue.htmGroupAttributeValueHandler groupAttributeValue/groupAttributeValue.htmEditAttributesHandler persons/editAttributes.htmShowAttributesForGroupHandler persons/showAttributesForGroup.htm

Tabelle 5.5: Sichtbare Handler und die Templates, die sie erzeugen

Page 94: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

86 5. Implementierung

Unsichtbare Handler hingegen fuhren nur Aktionen aus, die den Systemzustand andern. Um dieAktionen sichtbar zu machen, leiten sie ihre Anfrage mit der Methode forwardRequest() aneinen sichtbaren Handler weiter.

In den Tabellen 5.6, 5.7 und 5.8 sind die unsichtbaren Handler der Implementation, ihre Funk-tionen und die sichtbaren Handler, an die die Anfragen weitergeleitet werden, gruppiert nachPackages aufgefuhrt.

Handler Funktion sichtbarer Handler

AddSelectedAttributesHandler Verbindet alle ausgewahltenGruppenattributnamen miteiner bestimmten Gruppe.

AddAttribute-ForGroupHandler

AttrGroupRelships-DeleteHandler

Loscht die Verbindungen zwi-schen einer Gruppe und aus-gewahlten Gruppenattribut-namen.

EditAttrGroup-RelshipsHandler

CreateAttribute-ForGroupHandler

Erzeugt einen Gruppenattri-butnamen fur die anschließen-de Zuordnung zu einer Grup-pe.

EditNewAttribute-ForGroupHandler

EditAttributeForGroup-SubmitHandler

Speichert die Attribute ei-nes neuen Gruppenattribut-namens fur die anschließendeZuordnung zu einer Gruppe.

AddAttribute-ForGroupHandler

EditAttributeSubmitHandler Speichert die geandertenAttribute eines Gruppenat-tributnamens mit anschlie-ßender Weiterleitung aufeine Liste aller existierendenGruppenattributnamen.

groupAttributeNames-DefaultHandler

Tabelle 5.6: Unsichtbare Handler, die Gruppen betreffen (Package ”handler.perso“)

5.2.3 Benutzungsoberflache des implementierten Dienstes

Das flexible Profiling ist nahtlos in das Web-Interface des infoAsset Brokers integriert. Dafurmussten ein paar schon vorhandene Templates modifiziert werden. Der Einstiegspunkt des neuenDienstes befindet sich im modifizierten Template groups/group.htm (Abbildung 5.2). Neu hin-zugekommen ist die untere Sektion Gruppenattribute. In ihr werden die der Gruppe zugeordnetenGruppenattributnamen aufgefuhrt sowie Links zum Bearbeiten der Zuordnung und zum Hinzu-fugen von neuen Gruppenattributnamen. Außerdem stellt sie Verbindungen zur Verfugung, mitdenen man zu den einzelnen Attributen gelangt.

Daneben existieren diverse Seiten zum Anzeigen der Details der einzelnen Gruppenattributna-men und -werte, zum Bearbeiten, Loschen und Zuordnen untereinander sowie zur Zuordnung zueinem Anwender.

Page 95: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

5.2. Implementierung von flexiblem Profiling auf der Prasentationsebene 87

Handler Funktion sichtbarer Handler

AddSelected-AttributeValuesHandler

Verbindet alle ausgewahltenGruppenattributwerte mit ei-nem Gruppenattributnamen.

AddAttribute-ValueHandler

CreateAttributeHandler Erzeugt einen Attributnamen. Edit-NewAttributeHandler

AttrValueRelships-DeleteHandler

Loscht alle Verbindungenzwischen den ausgewahltenGruppenattributwerten undeinem Gruppenattributna-men.

EditRelationships-ToValuesHandler

CreateValue-ForAttributeHandler

Erzeugt einen neuen Grup-penattributwert, der anschlie-ßend einer bestimmten Grup-pe zugeordnet werden kann.

EditNewAttributeValue-Handler

DeleteAttribute-SubmitHandler

Loscht einen Attribut-namen und seine Bezie-hungen zu Gruppen oderGruppenattributwertenund deren Eintrage inPersonValueRelationships.

DefaultHandler

EditAttributeValue-SubmitHandler

Speichert die Attribute ei-nes neuen Gruppenattribut-wertes, der anschließend ei-nem Gruppenattributnamenzugeordnet werden kann.

AddAttributeValue-Handler

SaveAttributeHandler Speichert die Anderung vonAttributen eines Gruppenat-tributnamens mit anschlie-ßender Weiterleitung aufdie Ansicht des bearbeitetenGruppenattributnamens.

GroupAttributeName-Handler

Tabelle 5.7: Unsichtbare Handler, die Gruppenattributnamen betreffen (Package ”hand-ler.perso.groupAttributeNames“)

Page 96: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

88 5. Implementierung

Handler Funktion sichtbarer Handler

CreateValueHandler Erzeugt einen neuenGruppenattributwert

EditNewAttributeValue-Handler

DeleteAttributeValue-SubmitHandler

Loscht einen Gruppenat-tributwert und alle zuge-horigen Verbindungen zuGruppenattributnamen,sowie deren Eintrage beiPersonValueRelationships

DefaultHandler

SaveNewValueHandler Speichert die Attribute einesneuen Gruppenattributwertes

DefaultHandler

SaveValueHandler Speichert die bearbeiteten At-tribute eines Gruppenattri-butwertes

GroupAttributeValue-Handler

Tabelle 5.8: Unsichtbare Handler, die Gruppenattributwerte betreffen (Package ”hand-ler.perso.groupAttributeValues“)

Handler Funktion sichtbarer Handler

RemoveAttributeValues-Handler

Loscht die Verbindung zwi-schen einer Person und einemGruppenattributwert

ShowAttributes-ForGroupHandler

SetAttributeAnyValues-Handler

Setzt fur eine Person einenAny-Wert (ein speziellerGruppenattributwert, fur deneine beliebige Zeichenkettefur eine Person gespeichertwerden kann)

ShowAttributes-ForGroupHandler

SetAttributeValuesHandler Setzt eine Verbindung zwi-schen einem Gruppenattri-butwert und einer Person

ShowAttributes-ForGroupHandler

Tabelle 5.9: Unsichtbare Handler, die Personen betreffen (Package ”handler.perso.persons“)

Page 97: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

5.3. Ablauf der Personalisierung anhand eines Beispiels 89

Abbildung 5.2: Web-Seite zur Administration der Gruppeneigenschaften

In Abbildung 5.3 ist mit Hilfe eines UML-Zustandsdiagramms [FS98] die Navigierbarkeit zwi-schen den einzelnen Templates graphisch dargestellt. Dabei ist die Darstellung der Entitaten vonGruppe, Gruppenattributname, Gruppenattributwert und Person hellgrau und ihre Auflistungendunkelgrau unterlegt.

5.3 Ablauf der Personalisierung anhand eines Beispiels

In diesem Abschnitt wird dargestellt, wie der Umgang mit dem flexiblen Profiling des Brokers ineiner konkreten Anwendung aussieht. Es wird ein mogliches Vorgehen in einem Anwendungsbei-spiel gezeigt. Dabei werden die Vorbereitungen getroffen, die fur den Einsatz von Personalisierungnotig sind. Zunachst soll das Szenario, welches das flexible Profiling erfordert, dargestellt werden.

5.3.1 Das Beispielszenario

Mitglieder der Gruppe Qualitatssicherung sollen, bezogen auf die Abteilung oder den Abteilun-gen, fur die sie die Qualitatssicherung durchfuhren, Informationen uber die neuesten Termine,Konferenzen etc. erhalten.

Dazu werden die folgenden Schritte durchgefuhrt:

Page 98: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

90 5. Implementierung

group.htm

editAttrGroupRelships.htm

bearbeitenaddAttribute.htm

hinzufügen

groupAttributeName.htmAttributname

zurück

Attribute entfernen

createAttributeForGroup.htm

neu

zurück

speichern

Attributehinzufügen

Gruppenname

Attributname

editAttribute.htm

bearbeiten

delete.htm

löschen

editAttrValueRelships.htm

Wertebearbeiten

addAttributeValue.htm

Wertehinzufügen

speichern

groupAttributeNames.htm

weiter

zurück

createAttribute.htm

neu

Attributname

speichern

zurück

Attributwerte entfernen

zurück

Attributwerte hinzufügen

createValueForAttributeName.htmneu

speichern

groupAttributeValue.htmAttributwert

editAttributeValue.htm

bearbeiten

speichern

delete.htm

löschenzurück

groupAttributeValues.htm

weiterAttributwert

neu

createValue.htm

speichern

Attributwert

person.htm

Personalisierungsattributebearbeiten

Personenname

editAttributes.htm

Attribute

showAttributesForGroup.htmAttribut setzen Attribut löschen

Abbildung 5.3: Navigationsmoglichkeiten des flexiblen Profiling

1. Es wird eine neue Gruppe ”Qualitatssicherer“ angelegt.

2. Es werden die Gruppenattributnamen ”Abteilung“ und ”Verantwortungsgrad“ der Personfur die Personalisierung festgelegt.

3. Es werden die moglichen Gruppenattributwerte fur die Gruppenattributnamen definiert.Fur ”Abteilung“ werden das konkrete Abteilungen wie ”Marketing“ und ”Controlling“ sein.

”Verantwortungsgrad“ wird die Werte ”Verantwortlich“ und ”Untergeordnet“ haben.

5.3.2 Ablauf im System

Zunachst meldet sich der Administrator, der die Personalisierung durchfuhrt, im allgemeinenSystemlogin an. Um zur Verwaltung der Gruppen und auf den Dialog einer bestimmten Gruppe(Template group.htm) zu gelangen, der als Startpunkt der Navigationsubersicht in Abbildung5.2 markiert ist, offnet er in der Navigationsleiste die Unterpunkte von Personen durch den Klickauf das Pluszeichen und geht auf den Menupunkt Gruppen. Hier wahlt er Neue Gruppe anlegen

und gelangt zu dem in Abbildung 5.4 gezeigten Dialog.

Page 99: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

5.3. Ablauf der Personalisierung anhand eines Beispiels 91

Abbildung 5.4: Anlegen der Gruppe ”Qualitatssicherer“

Nach dem Eintragen des Namen der neuen Gruppe sowie ihrer Beschreibung und Auswahl desLinks mit der Bezeichnung weiter erscheint der nachste Bildschirm mit der Detailansicht derneu angelegten Gruppe, zu sehen in Abbildung 5.5. Sie besitzt in diesem Stadium noch keineGruppenattribute.

Dieser Gruppe werden als nachstes Gruppenattributnamen zugeordnet, die zur Zeit noch nichtexistieren und deshalb angelegt werden mussen. Die Auswahl des Links [hinzufugen] bringt dennachsten Bildschirm (Abbildung 5.6), bei dem die ausgewahlten Attribute durch Klicken desLinks Ausgewahlte Gruppenattribute hinzufugen mit der Gruppe verknupft werden. Falls die be-notigten Gruppenattributnamen noch nicht vorhanden sind, wie in unserem Fall, dann konnensie einzeln durch den Klick des Links neu erzeugt werden (Abbildung 5.7).

Nachdem die Gruppenattributnamen der Gruppe hinzugefugt worden sind, sieht das Template

group.htm wie in Abbildung 5.8 aus.

Den Gruppenattributen werden im nachsten Schritt ihre Gruppenattributwerte zugeordnet. Diesgeschieht analog zum oben beschriebenen Vorgehen beim Hinzufugen von Gruppenattributna-men zu Gruppen. Der Gruppenattributname mit den zugeordneten Werten ist in Abbildung5.9 zu sehen. Zudem ist der Gruppe uber den Link Mitgliedschaften [hinzufugen] eine Personzugeordnet worden.

Die Auswirkungen, die diese Mitgliedschaft mit sich bringt, sind in der Abbildung 5.10 demons-triert.

In dem Ausschnitt des Bildschirmdruckes sind die Gruppenattribute und -werte als auswahlbareEigenschaften der Person zu sehen.

Page 100: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

92 5. Implementierung

Abbildung 5.5: Gruppe ”Qualitatssicherer“ (gruppe.htm)

Abbildung 5.6: Gruppenattribute hinzufugen

Page 101: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

5.3. Ablauf der Personalisierung anhand eines Beispiels 93

Abbildung 5.7: Anlegen eines Gruppenattributnamens

Abbildung 5.8: Gruppe ”Qualitatssicherer“ mit Gruppenattributen

Page 102: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

94 5. Implementierung

Abbildung 5.9: Gruppenattribut ”Abteilung“ mit zugeordneten Werte

Abbildung 5.10: Mitglied der Gruppe ”Qualitatssicherer“

Page 103: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

Kapitel 6

Bewertung und Diskussion

Dieses Kapitel liefert eine Bewertung der Personalisierung im infoAsset Broker samt derModellierung und Implementation der neu erstellten Personalisierungskomponente. Dazu wirddas schon in Kapitel 3 verwendete Bewertungsschema herangezogen.

6.1 Bewertung des Brokers mit der Erweiterung durch den fle-xiblen Profiling-Dienst

Wie in Abbildung 6.1 zu sehen ist, hat sich im Vergleich zur Bewertung aus Kapitel 3 eineVerbesserung der Benutzerverwaltung durch die Erweiterung mit dem flexiblen Profiling-Dienstergeben.

Profilverwaltung

Mehrsprachigkeit

Empfehlungen

PräferenzbasiertesAlerting / NotifikationPersönliche undallgemeine Sichten

Personalisierungs-konzept

++

o

+Notifikation, Empfehlungen,präferenzbasiertes Alerting

Lesezeichen, Sammelmappen,Annotationen

Bewertung für deninfoAsset Broker

Flexibles Profiling, Attribute könnenzur Laufzeit erzeugt werden.

Nicht standardisierte Bündelung derTemplates nach Sprachen.

Collaborative Filtering

Eingesetzte Techniken

++

++

Abbildung 6.1: Bewertung des Brokers nach der Implementation des neuen Personalisierungs-dienstes

Die noch bestehende Schwache in der Umsetzung der Mehrsprachigkeit, die auch in Kapitel 4.1andiskutiert wurde, wird inzwischen in [Kha02] behandelt. Die Verbesserung der Anbindung andas Notifikationsframework des Brokers konnte Gegenstand der Untersuchung in weiterfuhren-den Arbeiten sein. Auch die Verwendung von Notifikationen als Personalisierungstechnik konnte

Page 104: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

96 6. Bewertung und Diskussion

noch tiefergehend insbesondere mit dem Aspekt der Kollaborationsunterstutzung untersuchtwerden.

6.2 Diskussion

In diesem Abschnitt wird dargestellt, was der flexible Profiling-Dienst leistet. Daruber hinauswird diskutiert, welche Probleme der Personalisierung durch den technischen Ansatz nicht gelostwerden konnten.

Profiling ist die Grundlage der Personalisierung. Zur Tatigkeit des Profilings gehort auch dieMoglichkeit, neue Profilattribute und Werte anzulegen. Die Profileigenschaften einer Person,die im Broker bereits vorhanden waren, wie Name, Adresse, Telefonnummer, Abteilung etc.,wurden beim Starten des Systems durch den Code des Containers Persons angelegt. Diese sindauch nach der Erweiterung noch immer im Code fest verankert. Ihre Anderung ist nicht durchdie Benutzungsoberflache des Brokers oder anderweitig zur Laufzeit durchfuhrbar. Der flexibleProfiling-Dienst setzt genau an diesem Punkt an. Er ermoglicht zusatzlich den Umgang mitneuen Profilattributen zur Laufzeit, die uber die Gruppenmitgliedschaften von Personen erwor-ben werden. Somit lost ein Teil der Implementierung des neuen Dienstes auf der technischenEbene das Problem der Schemaevolution von Datenbanken. Auf der Ebene der Benutzermodel-lierung liefert die Implementierung einen gewissen Grad an Flexibilitat, die benotigt wird, umdie Personalisierung im laufenden Betrieb standig weiterentwickeln zu konnen.

Auf der anderen Seite kann und soll die Flexibilitat, die die Implementierung auf der Ebene derBenutzermodellierung erzeugt, nicht ein allgemein gultiges Konzept zur Modellierung von Be-nutzern liefern. Die technischen Voraussetzungen fur das flexible Profiling sind vorhanden, nurder weitere Umgang mit den gewonnenen Informationen – die Zuordnung zwischen den den Be-nutzern zugewiesenen Eigenschaftswerten und den Inhaltseinheiten – ist nach wie vor in keinemSchema festgelegt. Somit bleibt die Wahl der Strategie zur erfolgreichen Personalisierung immernoch allein dem Personalisierungsadministrator uberlassen. Der Einsatz von Personalisierungsollte unbedingt in eine ganzheitliche Marketingstrategie integriert werden [RK02].

Page 105: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

Kapitel 7

Zusammenfassung und Ausblick

In diesem Kapitel sollen Erweiterungsvorschlage fur den erstellten Prototypen vorgestellt werden,die in weiterfuhrenden Arbeiten verwirklicht werden konnten (Abschnitt 7.2). Zunachst wird abereine Zusammenfassung daruber geliefert, was in dieser Arbeit behandelt wird (Abschnitt 7.1).

7.1 Zusammenfassung

Im Rahmen dieser Arbeit wird der Begriff ”Personalisierung“ von verschiedenen Seiten beleuch-tet (Kapitel 2). Dazu werden die Gebiete identifiziert, fur die der Einsatz von Personalisierungeine Nutzensteigerung bedeuten kann. Die praktische Erlauterung des Personalisierungsprozessesbietet weiteren Stoff fur die Beantwortung der Fragen ”Welche Daten werden fur die Anpassunggesammelt?“ und ”Was wird angepasst?“. Es wird das Profiling und eine Kategorisierung vonanpassbaren Elementen der Systemoberflache sowie Anpassungstechniken behandelt. Ein zen-traler Punkt der Arbeit ist die Identifikation von Personalisierungskonzepten und -techniken wieMehrsprachigkeit, Alerting, Zugriffskontrolle, Empfehlungen, personliche und allgemeine Sichtensowie die zugehorigen Techniken.

Die Kategorisierung der Konzepte bildet die Grundlage fur die Untersuchung der drei Personali-sierungssysteme, der ATG Dynamo Product Suite, des mySAP.com Workplaces und desinfoAsset Brokers. Die Systeme, jeweils einzeln beschrieben, und ihre Funktionsweisen wer-den an einem konkreten Beispiel auf die Umsetzung der Personalisierungskonzepte aus Kapitel2 untersucht. Anschließend werden die Ergebnisse bewertet.

Aus der Bewertung der Personalisierung des infoAsset Brokers, aber auch der anderen Sys-teme, ergeben sich die Anforderungen fur die Modellierung einer Personalisierungskomponente.Da die Benutzerprofile im Broker nicht zur Laufzeit veranderbar sind und das Profiling zentralerBestandteil eines personalisierbaren Systems ist, fallt die Entscheidung darauf, die Schemaevo-lution durch die Modellierung eines flexiblen Profiling-Ansatzes zur Laufzeit zu ermoglichen.Dieser wird in Kapitel 4 modelliert und diskutiert.

Die Integration des Profiling-Ansatzes in den infoAsset Broker und die Implementationder Services, Handler und Templates wird in Kapitel 5 ausfuhrlich erlautert, und es wird einBeispielvorgang zur Veranschaulichung des Ablaufs im System gezeigt.

Page 106: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

98 7. Zusammenfassung und Ausblick

Die Bewertung und Diskussion der Ergebnisse sind im Kapitel 6 zu finden.

7.2 Ausblick

Der in dieser Arbeit realisierte Profiling-Dienst stellt eine erste, prototypische Version dar. Anverschiedenen Stellen bietet sich unmittelbar die Moglichkeit einer Erweiterung durch neue Funk-tionalitaten. Es sind aber auch allgemeine Erweiterungen an der Funktionalitat der Broker-Personalisierung denkbar. Diese sollen im Folgenden naher betrachtet werden.

• Ebenfalls, wie die Profile von Personen, mussten die Profile der bei Anpassung benutztenInhaltseinheiten mit Attributnamen und -werten versehen werden. Anschließend kann danndie Zuordnung von Personenattributen zu Inhaltsattributen geschehen, die unmittelbar dieAnpassung der Templates durch Anwendung von Regeln bestimmt.

• Bisher konnen als Attributnamen und -werte nur Zeichenketten verarbeitet werden. Ineinem nachsten Schritt sollte diese Einschrankung auf Assets ausgeweitet werden. Somitkonnten beliebige Assets als das Attribut name eines Gruppenattributname-Objektes bzw.value des Gruppenattributwert-Objektes fungieren.

• Die Regeln, die bestimmen, fur welche Personeneigenschaften welche Inhalte angezeigtwerden, werden bisher in den einzelnen Templates durch bedingte Platzhalter direkt ver-ankert. Dieses Vorgehen ist nicht sehr elegant und widerspricht der Design-Entscheidungdes Brokers, dass Anwendungslogik und Prasentation zu trennen sind. Die Realisierungeines Regeleditors konnte diesem Problem Abhilfe schaffen. Somit wurden die Regeln ineinem Regeleditor erstellt und anschließend durch geeignete Platzhalter in die Templates

eingebunden werden.

• Die andauernde Weiterentwicklung der Personalisierungsregeln und die resultierende Er-stellung immer effektiverer Benutzer-Inhalt-Zuordnungen sollte langfristig durch die Imple-mentierung eines Reporting-Werkzeuges unterstutzt werden. Dafur mussen Informationenuber die Wirkung der Personalisierung aufgezeichnet und ausgewertet werden, die dann inleicht verstandlicher Form, idealerweise grafisch, die Verantwortlichen bei neuen Entschei-dungen unterstutzen.

• Weiterhin sollte eine Einbindung des Notifikations-Frameworks des infoAsset Brokers

in die Personalisierung zur Erstellung von personalisierten Emails stattfinden.

• Ein weiterer Punkt fur eine Erweiterungsmoglichkeit konnte außerdem der personliche In-halt der Sammelmappen darstellen. Nach der Idee des Feed-Back-Loop Profilings konntendie gespeicherten Objekte Grundlage fur neue Personalisierungsmaßnahmen sein, z.B. furdie Empfehlung von neuen, ahnlichen Objekten.

Page 107: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

Anhang A

Die CD zur Arbeit

Dieser Arbeit ist eine CD-Rom beigelegt, auf der sich sowohl der in Kapitel 4 und 5 beschriebenePrototyp, als auch der schriftliche Teil dieser Diplomarbeit befindet.

Das Wurzelverzeichnis mit dem Namen ”Personalisierung“ (siehe Abbildung A.1) enthalt zweiOrdner mit den Namen ”Programmierung“ und ”Schriftliche Arbeit“.

In dem Ordner ”Programmierung“ ist eine Version des infoAsset Brokers zu finden, in diedie neue Personalisierungskomponente integriert ist.

In dem Ordner ”Schriftliche Arbeit“ liegt die Pdf-Version dieser gedruckten Fassung.

Abbildung A.1: Die CD zu Arbeit

Page 108: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

100 A. Die CD zur Arbeit

Page 109: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

Literaturverzeichnis

[Abd99] Abdel, Joanne C.: MULINEX: Multilingual Web Search and Navigation. In: Pro-ceedings of Natural Language Processing and Industrial Applicatons, 1999

[AG87] Aitchison, Jean ; Gilchrist, Alan: Thesaurus construction – A practical manual.2.Auflage. The Association for Information Management, 1987

[ATG01a] ATG: Homepage der Art Technology Group. http://www.atg.com/de/index.jhtml.2001. – Letzer Zugriff: 19.08.2002

[ATG01b] ATG – Art Technology Group: ATG Dynamo 5 - Business User´s Guide. 2001

[ATG01c] ATG – Art Technology Group: ATG Dynamo 5 - Overview. 2001

[ATG01d] ATG – Art Technology Group: ATG Dynamo 5 - Page Developer´s Guide. 2001

[ATG01e] ATG – Art Technology Group: ATG Dynamo 5 - Programmer´s Guide. 2001

[BBH+00] Buhrer, Roger ; Burgin, Nora ; Herzog, Leo ; Pahud, Daniel ; Sauter, Viviane.Personalisierungsstrategien am Beispiel einer fiktiven Airline. 2000

[BHK98] Breese, John S. ; Heckerman, David ; Kadie, Carl: Empirical Analysis of Pre-dictive Algorithms for Collaborative Filtering. In: Proceedings of the FourteenthConference on Uncertainty in Artificial Intelligence (UAI-98). San Francisco, USA,1998, S. 43–52

[BM98] Buchner, Alex G. ; Mulvenna, Maurice D.: Discovering Internet Marketing Intel-ligence through Online Analytical Web Usage Mining. In: SIGMOD Record 27.Jahr-gang (1998), Nr. 4, S. 54–61

[BRS00] Bradley, Keith ; Rafter, Rachael ; Smyth, Barry: Case-Based User Profiling forContent Personalisation. In: Proceedings of the International Conference on AdaptiveHypermedia and Adaptive Web-based Systems. Trento, Italien, 2000, S. 62–72

[Bru96] Brusilovsky, Peter: Methods and Techniques of Adaptive Hypermedia. In: UserModeling and User-Adapted Interaction, Kluwer academic publishers, 6.Jahrgang(1996), Nr. 2-3, S. 87–129

[Con00] Contentmanager.de: Nie mehr allein - Agententechnologie im Ein-satz. http://www.contentmanager.de/magazin/artikel 93 nie mehr allein -agententechnologie im einsatz.html. 2000. – Letzer Zugriff: 19.08.2002

Page 110: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

102 Literaturverzeichnis

[CR87] Caroll, J. ; Rosson, M.B. The Paradox of the Active User. 1987

[Die01] Diestelhorst, Lars. Recommendation Engines. Technische Universitat Hamburg-Harburg, Arbeitsbereich STS, Studienarbeit. 2001

[Dud90] Dudenredaktion: Duden Fremdwoerterbuch. Bibliographisches Institut & F.A.Brockhaus AG, Mannheim, 1990

[EHW02] Englbrecht, Andreas ; Hippner, Hajo ; Wilde, Klaus D.: Personalisierung imeCRM. In: Wist Inforum – Informationswirtschaftliches Wissen fur Wirtschaftsstu-denten, Verlag C.H. Beck und Vahlen Munchen / Frankfurt am Main 31. Jahrgang(2002), Nr. 05

[Fel98] Feldmann, Anja. Continuous online extraction of HTTP traces from packet traces.Position paper for the W3C Web Characterization Group Workshop. 1998

[FK92] Ferraiolo, D. ; Kuhn, R.: Role-Based Access Controls. In: 15th NIST-NCSCNational Computer Security Conference. Baltimore, USA, 1992, S. 554–563

[For02] Fornfeist, Jorn. Webinterfaces fur multimediale, digitale Bibliotheken. TechnischeUniversitat Hamburg-Harburg, Arbeitsbereich STS, Studienarbeit. 2002

[FS98] Fowler, Martin ; Scott, Kendall: UML konzentriert – Die neue Standard-Objektmodellierungssprache anwenden. Addison Wesley Longman, Bonn, 1998. –2.Auflage

[GHJV96] Gamma, E. ; Helm, R. ; Johnson, R. ; Vlissades, J.: Entwurfsmuster: Elementewiederverwendbarer Software. Addison-Wesley-Longman, Bonn, 1996

[GKL01] Grabner-Krauter, Sonja ; Lessiak, Christoph: Web-Mining als Ansatzpunkt furpersonalisiertes Internet-Marketing. In: der markt – Zeitschrift fur Absatzwirtschaftund Marketing, Wirtschaftsuniversitat Wien, Osterreichische Gesellschaft fur Absat-zwirtschaft 40. Jahrgang (2001), Nr. 120, S. 123–141, Heft 4

[HH95] Huberman, Bernardo A. ; Hogg, Tad: Communities of Practice: Performance andEvolution. In: Computational and Mathematical Organization Theory 1.Jahrgang(1995), S. 73–92

[IMA96] IMAFDI.de: Infos zu Personalisierung. http://www.imafdi.de/personalisierung.htm.1996. – Letzer Zugriff: 02.09.2002

[inf01a] infoAsset, AG: Homepage der infoAsset AG. http://www.infoasset.de. 2001. –Letzer Zugriff: 19.08.2002

[inf01b] infoAsset, AG: The infoAsset Broker. 2001. – Technical White Paper

[Ins00] Instone, Keith: Information Architecture and Personalization – An InformationArchitecture-Based Framework for Personalization Systems. White paper, Argus As-sociates. 2000. – Letzter Zugriff 16.08.2002

[Ive95] Iver, Hemalata: Classificatory Structures, Concepts, Relation and Representation.Indeks Verlag, Frankfurt am Main, 1995

Page 111: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

Literaturverzeichnis 103

[JP95] Jaeger, T. ; Prakash, A.: Implementation of a Discretionary Access Control Modelfor Script-based Systems. In: 8th IEEE Computer Security Foundations Workshop,1995

[JZ00] Janetzko, Dietmar ; Zugenmaier, Dirk: Viele Gesichter – Personalisierte Websitesstellen sich auf Besucher ein. In: C’t - Magazin fur Computer Technik, Heise Verlag,Hannover (2000), Nr. 18, S. 88–92

[Kha02] Khan, Abdul L. Multilinguality Support in an Enterprise Portal Software. TechnischeUniversitat Hamburg-Harburg, Arbeitsbereich STS, Studienarbeit. 2002

[Kim02] Kim, Won: Personalization: Definition, Status, and Challenges Ahead. In: JOURNALOF OBJECT TECHNOLOGY 1 (2002), Nr. 1, S. 29–40

[KKP01] Kobsa, A. ; Koenemann, J. ; Pohl, W.: Personalized Hypermedia PresentationTechniques for Improving Online Customer Relationships. In: The Knowledge En-gineering Review, Cambridge University Press, UK 16.Jahrgang (2001), Nr. 2, S.111–115

[KNV00] Kramer, J. ; Noronha, S. ; Vergo, J.: A user-centered design approach to perso-nalization. In: Communications of the ACM Bd. 43, 2000, S. 44–48

[Koh01] Kohavi, Ron: Mining E-Commerce Data: The Good, the Bad, and the Ugly. In:Provost, Foster (Hrsg.) ; Srikant, Ramakrishnan (Hrsg.): Proceedings of the Se-venth ACM SIGKDD International Conference on Knowledge Discovery and DataMining, 2001, S. 8–13

[LR01] Labrinidis, Alexandros ; Roussopoulos, Nick: WebView materialization. In:Proceedings of the Fourth International Workshop on the Web and Databases(WebDB’2001). Santa Barbara, USA, 2001, S. 367–378

[MCS00] Mobasher, Bamshad ; Cooley, Robert ; Srivastava, Jaideep: Automatic perso-nalization based on Web usage mining. In: Communications of the Association ofComputing Machinery (CACM) 43 (2000), Nr. 8, S. 142–151

[ME95] Maltz, D. ; Ehrlich, K.: Pointing the way: Active collaborative filtering. In:Proceedings of the Conference on Human Factors in Computing Systems, CHI’95.New York, USA : ACM, 1995

[Mer00] Merz, Michael: Electronic Commerce – Marktmodelle, Anwendungen und Technolo-gien. dpunkt.verlag GmbH, Heidelberg, 2000

[MHW01] Muller, Rainer ; Hupe, Patrick ; Wegner, Holm: Slides for infoAsset Broker.infoAsset, AG, 2001

[Mut00] Muther, Andreas: Electronic Customer Care - Die Anbieter-Kunden-Beziehung imInformationszeitalter. 2. Auflage. Springer Verlag, Berlin, 2000

[O’C98a] O’Conner, John: Internationalization: Localization with ResourceBundles.http://developer.java.sun.com/developer/technicalArticles/Intl/ResourceBundles/.1998. – Letzer Zugriff: 18.08.2002

Page 112: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

104 Literaturverzeichnis

[O’C98b] O’Conner, John: Java Internationalization: An Overview.http://developer.java.sun.com/developer/technicalArticles/Intl/IntlIntro/. 1998. –Letzer Zugriff: 18.08.2002

[Pae01] Paes, Thomas. Personalisierungsstrategien im Internet. Universitat Frankfurt, Fach-bereich Informatik, Seminararbeit. 2001

[Poh96] Pohl, W.: Learning about the user – user modeling and machine learning. In:Moustakis, V. (Hrsg.) ; Herrmann, J. (Hrsg.): Proceedings ICML’96 WorkshopMachine Learning meets Human-Computer Interaction, 1996, S. 29–40

[RK02] Riemer, Kai ; Klein, Stefan: Personalisierung von Online-Shops - undaus Distanz wird Nahe. Symposion Publishing GmbH, Dusseldorf, 2002. –http://www.symposion.de/ecommerce/roh 12.htm – Letzter Zugriff: 16.08.2002

[RMS+01] Raulf, Martin ; Muller, Rainer ; Steffens, Ulrike ; Matthes, Florian ;Scheunert, Klaus J. ; Schmidt, Joachim W.: Begriffsorientierte Dokumenten-verwaltung fur das internetgestutzte Projektmanagement. In: Tagungsband 4. GI-Fachgruppentagung Management und Controlling von IT-Projekten, 2001

[RS01] Rafter, Rachael ; Smyth, Barry: Passive Profiling from Server Logs in an OnlineRecruitment Environment. In: Proceedings of the IJCAI Workshop on IntelligentTechniques for Web Personalisation (ITWP 2001). Seattle, Washington, USA, 2001

[Run00] Runte, Matthias: Personalisierung im Internet – Individualisierte Angebote mitCollaborative Filtering. Deutscher Universitats-Verlag GmbH, Wiesbaden, 2000

[San93] Sandhu, Ravi S.: Lattice-Based Access Control Models. In: IEEE Computer 26.Jahr-gang (1993), Nr. 11, S. 9–19

[SAP00a] SAP AG: mySAP.com Workplace - Enterprise Portal. 2000

[SAP00b] SAP AG: mySAP.com Workplace - Role-based, Personalized Web Access. 2000

[SAP00c] SAP AG: SAP Online Help – MiniApps. 2000

[SAP01a] SAP: Enterprise Portals im Web. http://www.sap-ag.de/solutions/enterpriseportals/. 2001. – Letzer Zugriff: 19.08.2002

[SAP01b] SAP AG: Introducing mySAP Workplace. 2001

[SC98a] Soltysiak, Stuart ; Crabtree, Barry: Automatic learning of user profiles – towardsthe personalisation of agent service. In: BT Technology Journal 16.Jahrgang (1998),Nr. 3, S. 110–117

[SC98b] Soltysiak, Stuart ; Crabtree, Barry: Knowing Me, Knowing You: Practical Issuesin the Personalisation of Agent Technology. In: PAAM’98: Proceedings of the ThirdInternational Conference on the Practical Application of Intelligent Agents and Multi-Agent Technology, 1998. – Practical Application Co. Ltd, London, S. 467–484

[SCDT00] Srivastava, Jaideep ; Cooley, Robert ; Deshpande, Mukund ; Tan, Pang-Ning:Web Usage Mining: Discovery and Applications of Usage Patterns from Web Data.In: SIGKDD Explorations 1.Jahrgang (2000), Nr. 2, S. 12–23

Page 113: Personalisierung von Portalsystemen: Konzepte und Techniken€¦ · Personalisierung von Portalsystemen: Konzepte und Techniken Diplomarbeit Fachbereich Informatik Universit¨at Hamburg

Literaturverzeichnis 105

[SCFY96] Sandhu, Ravi S. ; Coyne, Edward J. ; Feinstein, Hal L. ; Youman, Charles E.:Role-based Access Control Models. In: IEEE Computer 29.Jahrgang (1996), Nr. 2,S. 38–47

[Sch01] Schmitz, Marc: Konzepte des Online-Marketing, Technische Hochschule Aachen,Fachbereich Wirtschaftsinformatik, Diplomarbeit, 2001

[SG99] Schubert, Petra ; Ginsburg, Mark: Virtual Communities of Transaction: The Roleof Personalization in Electronic Commerce. In: Proceedings of the 12th InternationalBled Electronic Commerce Conference. Bled, Slovenien, 1999

[SKW97] Stiemerling, Oliver ; Kahler, Helge ; Wulf, Volker: How to Make Software Softer- Designing Tailorable Applications. In: Proceedings of the DIS (Designing InteractiveSystems) ’97. Amsterdam, Niederlande : ACM Press 1997, 1997, S. 365–376

[SS88] Sellien, Dr.Dr.h.c.R. ; Sellien, Dr.H.: Gablers Wirtschaftslexikon. Bd. 4. 12.Auflage. Betriebswirtschaftlicher Verlag Dr. Th. Gabler GmbH, Wiesbaden, 1988

[Thu00] Thurow, Karsten: Ein generisches Notifikations-Framework, Universitat Hamburg,Fachbereich Informatik, Diplomarbeit, 2000

[VNB+01] Vering, Matthias ; Norris, Grant ; Barth, Peter ; Huley, James R. ; MacKay,Brenda ; Duray, David J.: Der E-Business-Workplace. Galileo Press, Bonn, 2001

[Weg02] Wegner, Holm. Analyse und objektorientierter Entwurf eines integrierten Portal-systems fur das Wissensmanagement. Technische Universitat Hamburg-Harburg, Ar-beitsbereich STS, Doktorarbeit. 2002

[Wel00] Wellenhausen, Tim: Regelbasierte Personalisierung von E-Commerce-Systemen,Technische Universitat Darmstadt, Fachbereich Informatik, Diplomarbeit, 2000

[ZXH98] Zaiane, Osmar R. ; Xin, Man ; Han, Jiawei: Discovering Web Access Patternsand Trends by Applying OLAP and Data Mining Technology on Web Logs. In:Proceedings Advances in Digital Libraries Conference (ADL’98). Santa Barbara,USA, 1998, S. 19–29