93
Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen und Web 2.0 Applikationen - am Beispiel einer prototypischen Applikation und IBM Lotus Connections Prof. Dr. Ludwig Nastansky Wintersemester 2008/2009 vorgelegt von: Dirk Stelloh Wirtschaftsinformatik 3382511 Dirk Stelloh Langer Weg 9 33100 Paderborn

Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

Diplomarbeit

Analyse und Implementierung einer Schnittstelle

zwischen Skill-Management-Systemen und

Web 2.0 Applikationen - am Beispiel einer

prototypischen Applikation und

IBM Lotus Connections

Prof. Dr. Ludwig Nastansky

Wintersemester 2008/2009

vorgelegt von:

Dirk Stelloh

Wirtschaftsinformatik

3382511

Dirk Stelloh

Langer Weg 9

33100 Paderborn

Page 2: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

Eidesstattliche Erklärung

Hiermit erkläre ich an Eides statt, dass ich die vorliegende Arbeit selbständig und nur unter Verwendung der angegebenen Hilfsmittel angefertigt habe. Die aus fremden Quellen direkt oder indirekt übernommenen Gedanken sind als solche kenntlich gemacht.

Die Arbeit wurde bisher keiner anderen Prüfungsbehörde vorgelegt und auch noch nichtveröffentlicht.

Paderborn, 30.03.2009 _____________________________

Page 3: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

Inhalt

Inhaltsverzeichnis

1 Einleitung____________________________________________________________11.1 Ausgangssituation und Problemstellung_______________________________________1

1.1.1 Skill-Management___________________________________________________________11.1.2 Web 2.0-Anwendungen im Unternehmensumfeld___________________________________31.1.3 Berührungspunkte zwischen Skill-Management und Web 2.0_________________________3

1.2 Abgrenzung_____________________________________________________________51.3 Vorgehensweise__________________________________________________________5

2 Theoretische Grundlagen_______________________________________________72.1 Grundlagen des Skill-Managements__________________________________________7

2.1.1 Wissensmanagement als Basis des Skill-Managements_______________________________72.1.2 Skill-Management__________________________________________________________112.1.3 Die Anwendung SkiP________________________________________________________14

2.2 Web 2.0 – Das neue WWW?_______________________________________________172.2.1 Neue Dienste_______________________________________________________________182.2.2 Verlängerte Beta-Phase______________________________________________________202.2.3 Mash-ups_________________________________________________________________202.2.4 Verschlagwortung – Tags_____________________________________________________212.2.5 Immer aktuell: Feeds________________________________________________________232.2.6 Web 2.0-Anwendungen am Beispiel von Connections______________________________24

2.3 Berührungspunkte zwischen Skill-Management und Web 2.0_____________________34

3 Konzeption der Schnittstelle____________________________________________363.1 Organisatorische Rahmenbedingungen_______________________________________363.2 Technische Vorüberlegungen_______________________________________________37

3.2.1 Die technische Basis von SkiP_________________________________________________373.2.2 Die technische Basis von Connections___________________________________________37

3.3 Atom-Feeds und das Atom Publishing Protocol________________________________383.3.1 HTTP (Hypertext Transfer Protocol)____________________________________________383.3.2 Das Atom Syndication Format_________________________________________________393.3.3 AtomPub (Atom Publishing Protocol)___________________________________________423.3.4 Das Framework Abdera______________________________________________________43

3.4 Auswahl der Programmiersprache___________________________________________443.5 Analyse der Integrationsszenarien___________________________________________47

3.5.1 In SkiP vorhandene Informationen______________________________________________473.5.2 Arten von Integrationsszenarien________________________________________________483.5.3 Integrationsszenarien mit Connections___________________________________________493.5.4 Integrationsszenarien für die Implementierung____________________________________58

4 Implementierung der Schnittstelle_______________________________________604.1 Architektur der Schnittstelle________________________________________________60

4.1.1 Vorüberlegungen___________________________________________________________604.1.2 Schematische Architektur_____________________________________________________62

4.2 Das Klassendiagramm____________________________________________________644.2.1 Zugriff auf die Anwendungen von Connections___________________________________654.2.2 Zugriff auf die Konfiguration__________________________________________________684.2.3 Zugriff auf die Benutzerinformationen___________________________________________69

4.3 Beispielhafte Integration in das Benutzerinterface______________________________704.4 Bewertung der Implementierung____________________________________________73

i

Page 4: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

Inhalt

5 Zusammenfassung und Ausblick________________________________________745.1 Zusammenfassung_______________________________________________________745.2 Ausblick_______________________________________________________________75

6 Literaturverzeichnis__________________________________________________77

7 Anhang_____________________________________________________________837.1 Die Anwendung ConnectionsGateway_______________________________________83

7.1.1 Installation________________________________________________________________837.1.2 Konfiguration______________________________________________________________837.1.3 Der Agent Query___________________________________________________________84

7.2 Das Framework „Abdera“_________________________________________________867.3 Alternative „Java-Bibliothek“______________________________________________87

ii

Page 5: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

Inhalt

AbbildungsverzeichnisAbbildung 1: Drei Triebkräfte steigern die Bedeutung der Ressource Wissen.................2Abbildung 2: Thematische Einordnung.............................................................................5Abbildung 3: Wissenserzeugung und -transformation......................................................9Abbildung 4: Bausteine des Wissensmanagements.........................................................10Abbildung 5: Der Prozess des Skill-Managements.........................................................12Abbildung 6: Erfassungsmaske für Skill-Profile in SkiP................................................15Abbildung 7: Konfigurationsmaske für Skills in SkiP....................................................16Abbildung 8: Darstellung von Tags als Liste und als Wolke..........................................22Abbildung 9: Beispiel eines Profils in der Anwendung Profiles.....................................25Abbildung 10: Die Anwendung Communities................................................................28Abbildung 11: Die Anwendung Blogs............................................................................30Abbildung 12: Die Anwendung Dogear..........................................................................32Abbildung 13: Die Anwendung Activities......................................................................33Abbildung 14: Beispiel für einen einfachen Atom-Feed.................................................40Abbildung 15: Implementierung der Schnittstelle als eigenständige Komponente........62Abbildung 16: Schematischer Ablauf „Suchanfrage“.....................................................63Abbildung 17: Schematischer Ablauf „Informationsrückfluss“......................................63Abbildung 18: Klassendiagramm....................................................................................64Abbildung 19: Ableitung der Zugriffsklassen.................................................................65Abbildung 20: Ableitung der Konfigurationsklassen......................................................68Abbildung 21: Ableitung der Konfigurationsklassen......................................................69Abbildung 22: Integration der Schnittstelle in das Benutzerinterface von SkiP.............71Abbildung 23: Einblendung von Suchergebnisse aus Profiles in einem Fenster............72Abbildung 24: Einblendung eines Bestätigungsdialogs vor der Datenübertragung........72Abbildung 25: Erfassung der Benutzerinformationen.....................................................84Abbildung 26: Erfassung der URL-Angaben zu den einzelnen Anwendungen..............84

iii

Page 6: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

Inhalt

TabellenverzeichnisTabelle 1: Gegenüberstellung von Diensten im Web 1.0 und Web 2.0..........................19Tabelle 2: Elemente von <Feed>.....................................................................................41Tabelle 3: Elemente von <Entry>....................................................................................42Tabelle 4: Die Grundlegenden Aktionen des Atom Publishing Protocol........................43Tabelle 5: Bewertung der verfügbaren Programmiersprachen........................................46Tabelle 6: Bewertungskriterien für Integrationsszenarien...............................................50Tabelle 7: Profiles: Integrationsszenarien.......................................................................50Tabelle 8: Profiles: Bewertung der Integrationsszenarien...............................................51Tabelle 9: Communities: Integrationsszenarien..............................................................52Tabelle 10: Communities: Bewertung der Integrationsszenarien....................................53Tabelle 11: Blogs: Integrationsszenarien........................................................................54Tabelle 12: Blogs: Bewertung der Integrationsszenarien................................................55Tabelle 13: Dogear: Integrationsszenarien......................................................................56Tabelle 14: Dogear: Bewertung der Integrationsszenarien.............................................56Tabelle 15: Activities: Integrationsszenarien..................................................................57Tabelle 16: Activities: Bewertung der Integrationsszenarien..........................................58Tabelle 17: Agent „Query“ - Parameter..........................................................................85Tabelle 18: Agent „Query“ - Werte für den Parameter „application“.............................85Tabelle 19: Agent „Query“ - Werte für den Parameter „action“.....................................85Tabelle 20: Dateien des Archivs „apache-abdera-0.4.0-incubating.zip“.........................86

iv

Page 7: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

Inhalt

AbkürzungenAPI Aplication Programming InterfaceAPP Atom Publishing Protocoll (auch AtomPub)CMS Content Management SystemHTTP HyperText Transfer ProtocolWWW World Wide WebREST REpresentational State TransferURI Uniform Resource IdentifierURL Uniform Resource LocatorXML eXtensible Markup Language

v

Page 8: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

1 Einleitung

1 Einleitung

1.1 Ausgangssituation und Problemstellung

1.1.1 Skill-Management

Die Wertschöpfung moderner Unternehmen beruht heute mehr und mehr auf dem

Wissen und der Erfahrung der Mitarbeiter:

„Der Anteil des Wissens an der Gesamtwertschöpfung eines Unternehmens liegt heute bei ca. 60% - mit steigender Tendenz“1

Für die steigende Bedeutung der Ressource Wissen identifizierte schon North, K.

(2005) drei Triebfedern (vergl. Abbildung 1, S. 2)2:

• Struktureller Wandel

Die Gesellschaft wandelt sich zur Informations- und Wissensgesellschaft. Das

Wissen löst damit andere knappe Ressourcen ab und ist zu einem weiteren

Produktionsfaktor geworden.

• Globalisierung

Die Globalisierung der Wirtschaft führt auch zu einer Globalisierung des

Wissens. Lokaler und globaler Wettbewerb erhöhen den Konkurrenzdruck auf

die Unternehmen, schneller und besser zu sein als andere, die verfügbaren

Ressourcen besser zu nutzen.

• Informations- und Kommunikationstechnologien

Letztlich erlauben diese Technologien nahezu verzögerungsfreien Informations-

austausch über weiter Strecken und Landesgrenzen hinweg. Informationen sind

nur einen Mausklick entfernt und in vielen Fällen dennoch schwer in der Menge

des Wissens ausfindig zu machen.

Durch die steigende Bedeutung des Wissens steigt ebenso die Bedeutung des

Wissensmanagements: Es folgt die Notwendigkeit des Wissensmanagements durch

„Wissensarbeiter als Hauptwertschöpfer“3.

1 Aus BMWi (2006), S. 1 2 Vergl. North, K. (2005), S. 13 3 Vergl. Probst, G.; Raub, S.; Romhardt, K. (2003), S. 18

1

Page 9: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

1 Einleitung

Abbildung 1: Drei Triebkräfte steigern die Bedeutung der Ressource Wissen4

Wissen allein ist aber nicht der Schlüssel zum Erfolg: Das Wissen muss von den

Mitarbeitern auch praktisch in Handlung umgesetzt werden können. Hinzu kommt, dass

Wissen nur begrenzt erworben und zwischen Mitarbeitern transferiert werden kann.

Somit ist der Aufbau und die Pflege der Fähigkeiten von Mitarbeitern, im Englischen

„Skills“, essentieller Teil einer zukunftsgerichteten Unternehmensstrategie.

Oft genug werden die Aufgaben im Bereich des Skill-Managements aber vernachlässigt

oder als lästige Pflicht ohne ersichtlichen Gegenwert empfunden. Die Pflege von Skill-

Profilen hat für den einzelnen Mitarbeiter zunächst keinen erkennbaren positiven Effekt.

Erst später, wenn der Mitarbeiter selbst einen Experten sucht, bedient er sich dieser

Daten, ohne den Nutzen mit den vorangegangenen Pflichten zu assoziieren.

4 Vergl. North, K. (2005), S. 13

2

Struktureller Wandel zur Informations- und Wissensgesellschaft

Informations- und Kommunikations­

technologieGlobalisierung

Bedeutungder RessourceWissen steigt

● Wissen wird knappe Ressource● Informations- und Wissensmärkte entstehen

● beschleunigt Transaktionen● reduziert Transaktionskosten

● Lokaler und globaler Werttbewerb● Beschleunigte internationale Lernprozesse

● weltweite Informationstransparenz● weltweite Steuerung von Geschäftsprozessen

Page 10: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

1 Einleitung

1.1.2 Web 2.0-Anwendungen im Unternehmensumfeld

Mit der Verbreitung des Internets und des darauf basierenden World Wide Webs

(WWW) hat es sich von einem reinen Informationsmedium immer mehr hin zu einem

interaktiven „Mitmach-Medium“ entwickelt5.

Das Schlagwort „Web 2.0“ ist Ausdruck für eine neue Qualität im Bezug auf die

Möglichkeiten für Jedermann Inhalte im Internet zu publizieren. Möglich wurde dies

durch Projekte wie bspw. Wikipedia6, StudiVZ7, Flickr8 oder del.icio.us9, die es auch

unbedarften Benutzern auf einfache Art und Weise erlauben, Inhalte bereitzustellen10.

Web 2.0-Anwendungen haben auch in Unternehmen vielfältige Verwendungsgebiete.

Sie können sowohl intern (bspw. zur Kommunikation zwischen Projektbeteiligen), als

auch extern (bspw. zur Kommunikation mit Kunden und Geschäftspartnern) genutzt

werden11.

Die Pflege von Daten in Web 2.0 Anwendungen wird gern freiwillig, ja sogar in der

Freizeit, übernommen, da eine direkte Rückkopplung mit dem Nutzen (bspw. besserer

Artikel im Lexikon, mehr Kontakte, etc.) erfolgt.

Das gleichzeitige Abrufen und Bereitstellen von Wissen macht die für das Web 2.0

typische „Social Software“ gerade im Rahmen von Skill-Management so interessant12.

Daher ist ein Kopplung von Systemen des Skill-Managements und Web 2.0

Anwendungen ein logischer nächster Schritt.

1.1.3 Berührungspunkte zwischen Skill-Management und Web 2.0

Durch die Beschäftigung mit dem Mitarbeiter und der aktiven Planung seiner

Entwicklung entsteht ein hoher Bedarf an Informationsaustausch.

5 Vergl. Locke, C. (2000)6 Offene Enzyklopädie, unter http://www.wikipedia.de bzw. http://de.wikipedia.org zu finden 7 Soziales Netzwerk für Studenten, unter http://wwwstudivz.net zu finden 8 Plattform zur Publikation von Bildern, unter http://www.flickr.com zu finden 9 Öffentliche Sammlung und Austausch von Lesezeichen, unter http://www.delicious.com zu finden 10 Vergl. Van Eimeren, B.; Frees, B. (2006) 11 Beispielhaft sei hier auf die Anwendungsmöglichkeiten in Groß, M.; Hülsbusch, W. (2005) oder in

Schiller García, J. (2007), S. 89ff hingewiesen. 12 Vergl. Burg, T. N.; Pircher, R. (2006)

3

Page 11: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

1 Einleitung

Wie kann also die Brücke zwischen den zwei Welten geschlagen werden? Welche

Informationen aus dem jeweilig anderen System sind interessant und sollten nutzbar

gemacht werden?

Skill-Profile können dabei als Informationsquelle, bspw. für besondere Interessen und

Fähigkeiten, dienen:

• Wen kann ich zu bestimmten Themen fragen?

• Wer kann mir bei der Weiterbildung in einem bestimmten Bereich helfen?

Zur Beantwortung solcher Fragen können neben klassischen Expertensystemen auch

Web 2.0-Anwendungen als Informationsquelle herangezogen werden, sofern diese mit

den notwendigen Informationen versorgt wurden.

Weitere Fragen im Zuge des Skill-Managements verweisen ebenfalls auf Web 2.0-

Anwendungen:

• Wo finde ich weitere Informationen zum Thema?

• Wo finde ich Gleichgesinnte?

• Welche Erfahrungen haben andere in diesem Bereich gemacht?

Hier können Diskussionsforen, Blogs oder Wikis helfen, die gewünschten

Informationen zu erschließen.

Skill-Management und Web 2.0 ergänzen sich, sofern die jeweils vorhandenen

Informationen im anderen System nutzbar gemacht werden können. Es ergeben sich

zwei zentrale Fragestellungen für einen Datenaustausch:

• Welche Informationen aus einem Skill-Profil können in welcher Form sinnvoll

in welche Anwendung transferiert werden?

• Wie finde ich passende Beiträge in Web 2.0-Anwendungen basierend auf einem

Skill-Profil?

4

Page 12: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

1 Einleitung

1.2 Abgrenzung

Ziel der Arbeit ist die Analyse und prototypischen Erstellung einer Schnittstelle

zwischen Anwendungen des Skill-Managements und Web 2.0-Anwendungen (siehe

Abbildung 2).

Auf eine Marktanalyse im Bereich Skill-Management oder Web 2.0-Anwendungen wird

bewusst verzichtet. Die praktischen Betrachtung erfolgt exemplarisch seitens des Skill-

Management anhand der prototypisch entwickelten Anwendung „SkiP“ (SkillProfile),

auf Seiten des Web 2.0 auf Basis des kommerziellen Produktes IBM Lotus

Connections13.

Abbildung 2: Thematische Einordnung

SkiP basiert auf der Plattform IBM Lotus Domino14, die vielfältige Möglichkeiten der

Anpassung und der Integration mit anderen Systemen bereitstellt.

Connections bietet sich aufgrund der Vielfältigkeit der angebotenen Anwendungen,

sowie der umfangreichen und gut dokumentierten Schnittstelle zur Integration an.

13 IBM Lotus Connections wird im folgenden kurz „Connections“ genannt. 14 IBM Lotus Domino wird im folgenden kurz „Domino“ genannt.

5

Web 2.0 Skill-Management

SkiP ConnectionsSchnitttstelle

Page 13: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

1 Einleitung

1.3 Vorgehensweise

Zunächst werden die theoretischen Grundlagen geklärt. Hierzu werden die Begriffe

„Skill-Management“ und „Web 2.0“ präzisiert. Die Anwendung SkiP wird als Vertreter

des Skill-Managements näher betrachtet. Die Erläuterung von Web 2.0-Anwendungen

erfolgt exemplarisch am Beispiel der von Connections bereitgestellten Anwendungen.

Zur Konzeption der Schnittstelle werden anschließend die Rahmenbedingungen

erläutert. Die Betrachtung der technischen Grundlagen der zwei Systeme und deren

bereitgestellter Schnittstellen (Application Programming Interface, API) sowie die

Auswahl der Umgebung und Programmiersprache klären die technische Basis der

Schnittstelle. Die Analyse von Berührungspunkten und möglicher Integrationsszenarien

schließen die Konzeption der Schnittstelle ab.

Basierend auf den Vorüberlegungen erfolgt die Beschreibung der Architektur und

Implementierung von beispielhaft ausgewählten Szenarien.

In den Schlussüberlegungen werden die Ergebnisse diskutiert und bewertet. Ein

Ausblick auf mögliche weitere Schritte beendet die Betrachtungen.

6

Page 14: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

2 Theoretische Grundlagen

Um Skill-Management-System und Web 2.0 Anwendungen zu verstehen werden

zunächst die jeweiligen Ursprünge erläutert und Begriffe angegrenzt.

Vor der Betrachtung des Skill-Managements wird zunächst der Ansatz des Wissens-

managements als Basis erläutert. Darauf aufbauend werden dann die Prozesse und

Systeme des Skill-Managements vorgestellt. Die Anwendung SkiP, als einfacher

Vertreter der Skill-Management-Systeme, wird abschließend beschrieben.

Das Schlagwort „Web 2.0“, die Konzepte und Technologien für die es steht, wird in

Abgrenzung zum traditionellen WWW erläutert. Die Beschreibung von Web 2.0-

Anwendungen erfolgt exemplarisch am Beispiel der von Connections bereitgestellten

Anwendungen.

Die theoretischen Vorüberlegungen schließen mit der Diskussion von Berührungs-

punkten der zwei Themenkomplexe.

2.1 Grundlagen des Skill-Managements

2.1.1 Wissensmanagement als Basis des Skill-Managements

Die Ressource Wissen gewinnt immer mehr an Bedeutung15. Damit steigt auch die

Wichtigkeit des Umgangs mit dieser knappen Ressource. Schindler, M. (2001) gibt

einen Überblick über verschiedene Kategorisierungen von Wissen16. Die weitgehend

anerkannte17 Kategorisierung von Nonaka, I.; Takeuchi, H. (1995) unterteilt das Wissen

in zwei Bereiche18:

• Implizites Wissen

Der größte und wichtigste Teil des Wissens in Unternehmen ist implizites

Wissen. Es kann nicht einfach dokumentiert und somit in explizites Wissen

gewandelt werden. Der Erwerb von implizitem Wissen erfolgt häufig über die

15 Vergl. North, K. (2005), S. 13ff16 Vergl. Schindler, M. (2001), S. 29ff17 Siehe Schindler, M. (2001), S. 3018 Vergl. Nonaka, I.; Takeuchi, H. (1995), S. 18ff

7

Page 15: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

persönliche Erfahrung und lässt sich nur schwerlich mit Schulungen oder

Handbüchern unterstützen.

• Explizites Wissen

Demgegenüber lässt sich das explizite Wissen „(...) in Worten und Zahlen

ausdrücken und problemlos mit Hilfe von Daten, wissenschaftlichen Formeln,

festgelegten Verfahrensweisen oder universellen Prinzipien mitteilen“19.

Explizites Wissen kann bspw. in Dokumenten oder Datenbanken bereitgestellt

werden.

Implizites und explizites Wissen können ineinander umgewandelt werden20. Die

Abbildung 3 auf S. 9 zeigt die von Nonaka, I.; Takeuchi, H. (1995) identifizierten

Prozesse:

• Sozialisation

Wissen wird durch den direkten Austausch zwischen zwei Personen, bspw.

durch Beobachtung oder den traditionellen Austausch von Lehrling und Meister,

vermittelt.

• Externalisierung

Durch die Dokumentation von Wissen in allgemein zugänglicher Form wird

dieses Wissen konserviert und kann weitergegeben werden.

• Kombination

Die Erzeugung von neuem expliziten Wissen erfolgt durch die Kombination von

anderem, bereits bekanntem explizitem Wissen.

• Internalisierung

Explizites Wissen wird durch eine Person aufgenommen und verinnerlicht,

bspw. durch „Learning-by-doing“.

19 Aus: Nonaka, I.; Takeuchi, H. (1995), S. 1820 Vergl. Nonaka, I.; Takeuchi, H. (1995), S. 75f

8

Page 16: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

ZielpunktImplizites Wissen Explizites Wissen

Aus-gangs-punkt

Implizites Wissen Sozialisation Externalisierung

Explizites Wissen Internalisierung Kombination

Abbildung 3: Wissenserzeugung und -transformation21

Nonaka, I.; Takeuchi, H. (1995) konstruieren aus den Prozessen der Wissenserzeugung

und -transformation die „Spirale des Wissens“22. Die stete Abfolge der einzelnen

Prozesse in der oben aufgeführten Reihenfolge durch verschiedene Mitarbeiter lässt das

Wissen des Unternehmens und des Einzelnen wachsen.

Probst, G.; Raub, S.; Romhardt, K. (2003) fassen den Begriff des Wissensmanagements

weiter und beschreiben ihn mit Hilfe von sechs Kernprozessen23:

• Wissensidentifikation

Das Wissensumfeld wird analysiert und beschrieben.

• Wissenserwerb

Das Wissen wird durch den externen Zukauf von Wissen, bspw. in Form neuer

Mitarbeiter oder Software, erweitert.

• Wissensentwicklung

Innerhalb des Unternehmens wird gezielt (noch nicht vorhandenes) Wissen

aufgebaut.

• Wissensverteilung

Vorhandenes Wissen wird innerhalb des Unternehmens bereitgestellt und

verbreitet.

21 Aus Nonaka, I.; Takeuchi, H. (1995), S. 75 22 Vergl. Nonaka, I.; Takeuchi, H. (1995), S. 85ff 23 Vergl. Probst, G.; Raub, S.; Romhardt, K. (2003), S. 28ff

9

Page 17: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

• Wissensnutzung

Die Nutzung des des Wissens im produktiven Einsatz wird sichergestellt.

• Wissensbewahrung

Zum Schutz vor Wissensverlusten wird Wissen konserviert.

Abbildung 4 ergänzt die zuvor genannten Kernprozesse des Wissensmanagements um

die strategische Komponente der Lenkung zu einem geschlossenen Regelkreis24:

• Wissensziele

Ziele und Richtung für das Wissensmanagement werden vorgegeben.

• Wissensbewertung

Die Erreichung der Zielvorgabe wird überprüft.

Beide Ansätze verfolgen den Aufbau sowohl von implizitem wie explizitem Wissen,

haben aber letztlich die Überführung von impliziten in explizites Wissen zum Ziel.

Wissens-ziele

Wissens-bewertung

Wissens-identifikation

Wissens-bewahrung

Wissenserwerb Wissens-nutzung

Wissens-entwicklung

Wissens-verteilung

Abbildung 4: Bausteine des Wissensmanagements25

24 Vergl. Probst, G.; Raub, S.; Romhardt, K. (2003), S. 3225 Aus Probst, G.; Raub, S.; Romhardt, K. (2003), S. 32

10

Feedback

Page 18: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

2.1.2 Skill-Management

Das Wissen an sich gewinnt für Unternehmen erst dann an Bedeutung, wenn es auch

angewendet, also in Handlungen umgesetzt werden kann26.

Das Skill-Management befasst sich, ähnlich wie das Wissensmanagement, mit dem

Erwerb und der Nutzung des Wissens, stellt aber den Wissensträger, den Mitarbeiter

eines Unternehmens, in den Mittelpunkt der Betrachtungen:

„Die Bewirtschaftung fachlichen Könnens von Mitarbeitenden (engl. Skill-Management) unterstützt die ressourcenorientierte Sicht durch Identifikation, Bewertung und Visualisierung der in einem Unternehmen vorhandenen Kenntnisse und Kompetenzen.“27

Hier steht also nicht die Schaffung von explizitem Wissen, sondern das Management

des fachlichen Könnens der Mitarbeiter im Vordergrund. Da implizites Wissen sich

nicht, oder nur mit großem Aufwand dokumentieren lässt28, muss also ein Weg

gefunden werden, dieses Wissen dennoch nutzbar zu machen. Faix, W. G.; Buchwald,

C.; Wetzler, R. (1991) umschreiben das Skill-Management auch als

„(...) das Management von menschlichen Fähigkeiten und Qualifikationen in Organisationen und Unternehmungen“29.

Sie sehen vornehmlich das Management in der Verpflichtung, Skill-Management zu

betreiben30. Allerdings bezieht sich diese Äußerung nur auf das Forcieren des Skill-

Managements: Sie teilen die Aufgaben des Skill-Managements in zwei verschiedene

Bereiche, die „(...) übergeordnete unternehmensweite Planungsstrategie (...)“31 und die

„(...) operationale Personalplanung (...)“32. Sie unterscheiden also zwischen der

Vorgabe von der Seite des Managements und der operative Umsetzung dieser Vorgabe.

Die Umsetzung von Skill-Management kann, ja sollte, durch entsprechende Systeme

unterstützt werden:

„Effizientes Skill-Management erfordert den Einsatz von Informationstechnologie (...)“33

26 Vergl. North, K. (2005), S. 3427 Aus Gerbert, H.; Kutsch, O. (2003), S. 22728 Vergl. Schütt, P. (2002), S. 5129 Aus: Faix, W. G.; Buchwald, C.; Wetzler, R. (1991), S. 1130 Siehe Faix, W. G.; Buchwald, C.; Wetzler, R. (1991), S. 1331 Vergl. Faix, W. G.; Buchwald, C.; Wetzler, R. (1991), S. 63ff32 Vergl. Faix, W. G.; Buchwald, C.; Wetzler, R. (1991), S. 63ff33 Aus Gerbert, H.; Kutsch, O. (2003), S. 227

11

Page 19: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

Gronau, N.; Uslar, M. (2004) identifizieren die zentralen Einsatzgebiete von Systemen

zur Unterstützung des Skill-Managements daher wie folgt34:

• Expertensuche

Die Suche nach Personen mit bestimmten Skills ermöglicht das leichte

Auffinden von Experten zur Unterstützung.

• Personalbeschaffung

Durch Abgleich von Soll- mit Ist-Profilen können Stellen im Unternehmen

intern, ohne aufwändiges Bewerbungsverfahren, vergeben werden.

• Personalentwicklung

Aus den Differenzen zwischen Soll- und Ist-Profilen können gezielte

Maßnahmen zur Qualifizierung abgeleitet werden.

• Projektmanagement

Aus den Anforderungen eines Projektes können Soll-Profile für Beteiligte

ermittelt werden. Über einen Abgleich mit den Profilen verfügbarer Mitarbeiter

können geeignete Personen herausgefiltert werden.

1. Strategie Check

6. Erfolgskontrolle 2. Anforderungsprofile

5. Umsetzungsstrategie 3. Fähigkeitsprofile

4. Soll-Ist-Analyse

Abbildung 5: Der Prozess des Skill-Managements35

34 Vergl. Gronau, N.; Uslar, M. (2004), S. 32f35 In Anlehnung an Faix, W. G.; Buchwald, C.; Wetzler, R. (1991), S. 66

und Pieler, D.; Schuh, M. (2003), S. 21f

12

Page 20: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

Der Einsatz von Skill-Management-Systemen in den zuvor beschriebenen Gebieten

setzt das Vorhandensein von Skill-Katalogen, Soll- und Ist-Profilen bereits voraus.

Diese müssen jedoch zunächst erarbeitet werden. Abbildung 5 auf S. 12 zeigt in

Anlehnung an Faix, W. G.; Buchwald, C.; Wetzler, R. (1991) und Pieler, D.; Schuh, M.

(2003) den Prozess des Skill-Managements:

• Strategie-Check

Für Vorgabe der Ziele für das Skill-Management und die Ableitung des Skill-

Katalogs wird die Unternehmensstrategie analysiert.

• Anforderungsprofile

Aus den Vorgaben werden die Anforderungsprofilen zur Zielerfüllung

abgeleitet.

• Fähigkeitsprofile

Auf Basis Anforderungsprofile erfolgt die Bewertung der Fähigkeiten.

• Soll-Ist-Analyse

Die Fähigkeitsprofile werden mit den Anforderungsprofile abgeglichen und

Gaps (Abweichungen) werden aufgedeckt.

• Umsetzungsstrategie

Aus dem Ergebnis der Soll-Ist-Analyse werden Maßnahmen zur Behebung der

Gaps abgeleitet.

• Erfolgskontrolle

Anhand eines erneuten Abgleichs der Fähigkeits- und Anforderungsprofile wird

der Erfolg kontrolliert und ein Rückfluss in die Unternehmensstrategie generiert.

Es ergibt sich ein wiederholender Regelkreislauf. Pieler, D.; Schuh, M. (2003) stellen

fest:

„Skill Management ist als nie abgeschlossener, kontinuierlicher Prozess zu verstehen, der sich je nach Innovationsgeschwindigkeit der Branche, zumindest aber einmal jährlich wiederholen sollte.“36

36 Aus Pieler, D.; Schuh, M. (2003), S. 22

13

Page 21: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

Systeme, deren primärer Zweck es ist, Wissensträger zu finden, heißen

Expertensysteme oder auch „Yellow Pages“37. Diese Systeme verschaffen keinen

direkten Zugriff auf Wissen, sondern bieten einen Verweis auf den Experten. Dennoch

ist dies häufig ausreichend, um Probleme zu lösen oder Fragen zu beantworten38.

Expertensysteme erfordern zum einen das Vertrauen der Mitarbeiter (aufgrund der

Preisgabe persönlicher Daten), als auch die Bereitschaft zur Pflege dieser Daten.

Oftmals leiden diese Systeme in der Praxis daran, dass die Pflege der Informationen

nicht oder nicht zeitnah erfolgt und die Datenbasis daher kaum Nutzwert bietet39.

2.1.3 Die Anwendung SkiP

Die Anwendung „SkiP“ wurde prototypisch im Rahmen dieser Arbeit zur Erfassung

und Verwaltung von Skill-Profilen entwickelt. Es handelt sich um ein einfaches System,

in dem Profile dokumentenbasiert hinterlegt werden können. Die Erfassung erfolgt in

einer einfach aufgebauten Bildschirmmaske (siehe Abbildung 6, S. 15).

In dieser Maske können die folgenden Informationen erfasst werden:

• Name und Rolle des Benutzers

• Bewertung der einzelnen Skills

• Kommentare

Die zur Bewertung angebotenen Skills leiten sich aus der Rolle des Benutzers ab. Die

Skills, die bspw. für einen Projektleiter angeboten werden, unterscheiden sich von

denen, die für einen Entwickler angeboten werden.

Für jeden Benutzer können mehrere Profile angelegt werden, die bspw. einen zeitlichen

Verlauf widerspiegeln.

Ein differenziertes Berechtigungskonzept, Vergleichsmöglichkeiten oder die

Dokumentation der Entwicklung einzelner Mitarbeiter, wie in kommerziellen

Produkten40 verfügbar, fehlen in dieser Version noch. Die Anwendung SkiP ist ein

37 Vergl. Probst, G.; Raub, S.; Romhardt, K. (2003), S. 6738 Vergl. Probst, G.; Raub, S.; Romhardt, K. (2003), S. 115f39 Vergl. Schütt, P. (2001)40 Als Beispiel für eine Betrachtung verschiedener verfügbarer Systeme sei auf Seegmüller, K. (2006)

verwiesen

14

Page 22: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

erster Versuch der Einführung eins Skill-Management-System in einem mittel-

ständischen Unternehmen und soll mit den Anforderungen des Unternehmens wachsen.

Gerade dieses einfache System eignet sich aber besonders zur Erstellung einer

Schnittstelle, da der Zugriff auf die gespeicherten Informationen vergleichsweise

einfach erfolgen und somit das Hauptaugenmerk auf die Integration gelegt werden kann.

Abbildung 6: Erfassungsmaske für Skill-Profile in SkiP

Die einzelnen Skills werden über eine Konfiguration in einem Katalog hinterlegt. Die

Skills sind dabei bereits in Gruppen unterteilt, wie sie anschließend bei der Bewertung

in der Erfassungsmaske verwendet werden. Für jede Gruppe kann ein Titel und eine

Beschreibung hinterlegt werden. Für die einzelnen Skills wiederum werden zusätzlich

Schlüsselwörter erfasst (siehe Abbildung 7, S. 16).

15

Page 23: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

Abbildung 7: Konfigurationsmaske für Skills in SkiP

16

Page 24: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

2.2 Web 2.0 – Das neue WWW?

Der Begriff „Web 2.0“ entstand 2004 auf einer Brainstorming-Sitzung für eine neue

Internet-Konferenz41. Diese Konferenz kennzeichnet den Umbruch in der Zeit nach dem

Platzen der Dotcom-Blase im März 200042.

Als Hauptunterschied zwischen „Web 1.0“43 und Web 2.0 wird vorrangig die

Interaktivität der angebotenen Dienste herausgestellt44. Jeder Benutzer und damit

Konsument von Informationen kann gleichzeitig zum Autor werden und anderen

Nutzern Informationen zur Verfügung stellen. Diese Interaktivität war jedoch vom

Erfinder des WWW, Tim Berners-Lee45, bereits ursprünglich beabsichtigt:

„I wanted the Web to be what I call an interactive space where everybody can edit. And I started saying 'interactive', and then I read in the media that the Web was great because it was 'interactive', meaning you could click. This was not what I meant by interactivity“46

Dies bekräftigte Berners-Lee auch 2006 in einem Interview mit IBM DeveloperWorks:

„Web 1.0 was all about connecting people. It was an interactive space, and I think Web 2.0 is, of course, a piece of jargon, nobody even knows what it means. (...) So Web 2.0, for some people, it means moving some of the thinking client side so making it more immediate, but the idea of the Web as interaction between people is really what the Web is.“47

Das Web 2.0 ist also kein grundlegender Umsturz, sondern eine Weiterentwicklung des

Web 1.0. Viele der Techniken, die die Basis von Web 2.0 bilden, sind schon seit dem

Jahr 2000 oder sogar noch früher bekannt und wurden lediglich weiterentwickelt und

verfeinert48. Die weitere Verbreitung breitbandiger Internetzugänge49 und die weltweit

steigende Anzahl der Internetbenutzer50 treiben die Verbreitung der Web 2.0-Nutzung

weiter voran.

41 Vergl. Schiller García, J. (2007), S. 1 42 Im März 2000 kam es an den internationalen Aktienmärkten zu drastischen Kursverlusten, die vor

allem so genannte Dotcom-Unternehmen (junge, z.T. Dramatisch überbewertete IT-Unternehmen) betraf. Dies wird allgemein auch als das „Platzen der Dotcom-Blase“ bezeichnet. Siehe bspw. Wikipedia - Dotcom-Blase (2008)

43 Als „Web 1.0“ wird hier und im Folgenden der Zustand vor „Web 2.0“ betitelt. 44 Vergl. O'Reilly, T. (2005) 45 Vergl. Berners-Lee, T. (1989) 46 Aus Berners-Lee, T. (1999) 47 Aus Laningham, S. (2006) 48 Vergl. Krasser, N.; Foerster, M. (2007) 49 Vergl. die Langzeitstudie Fisch, M.; Gscheidle, C. (2006) bzw. aktuelle Ergebnisse in Fisch, M.;

Gscheidle, C. (2008a) 50 Vergl. World Internet Statistics (2008)

17

Page 25: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

Vieles, was mit dem Web 2.0 möglich ist, war es vorher auch schon – nur ist es jetzt

einfacher. Der Begriff des Web 2.0 ist daher nicht scharf abgrenzbar. Zur

Unterscheidung werden im folgenden wichtige Kennzeichen bzw. Kriterien für

Web 2.0-Dienste erörtert.

2.2.1 Neue Dienste

Tim O'Reilly definierte 2005 Web 2.0 vor allem über neue Dienste (siehe Tabelle 1).

Prinzipiell bieten diese neuen Dienste dem Benutzer einen vergleichbaren Nutzwert

gegenüber den traditionellen Web 1.0-Diensten. Geändert hat sich allerdings die Art, in

der die Dienste Informationen bereitstellen und die Benutzer teilhaben können.

Web 1.0 Web 2.0DoubleClick Google AdSense

Ofoto FlickrAkamai BitTorrent

mp3.com NapsterBritannica Online Wikipediapersonal websites blogging

evite upcoming.org and EVDBdomain name speculation search engine optimization

page views cost per clickscreen scraping web services

publishing participationcontent management systems wikis

directories (taxonomy) tagging ("folksonomy")stickiness syndication

Tabelle 1: Gegenüberstellung von Diensten im Web 1.0 und Web 2.051

Stellte „Mp3.com“52 zentrale Server, bei denen Musik heruntergeladen werden konnte,

so waren die Inhalte bei Napster53 und dessen Nachfolger in einem Peer-to-peer-

Netzwerk verfügbar. Jeder Nutzer wird zugleich auch zum Anbieter von Inhalten.

Inzwischen ist Napster von der Tauschbörse zum kommerziellen Musikanbieter

gewandelt. 51 Aufstellung neuer Dienste aus O'Reilly, T. (2005) 52 Musikdienst, zu finden unter http://www.mp3.com/53 Musikdienst, zu finden unter http://www.napster.com/ Napster.com war ursprünglich ein Peer-to-peer-

Dienst, später wurde das Geschäftsmodell auf Musikabonnements umgestellt.

18

Page 26: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

Konnten Benutzer die Inhalte von bspw. „Britannica Online“54 konsumieren, so können

sie bei Wikipedia55 hingegen aktiv eingreifen und die Inhalte ändern. Der Leser wird

zum Autor und kann so das Gesamtwerk verbessern.

Die neuen Dienste sind vorrangig durch die direkte Möglichkeit der Interaktion

gekennzeichnet. Der Konsument der Informationen wird zugleich zur Informations-

quelle.

2.2.2 Verlängerte Beta-Phase

Viele Web 2.0-Dienste werden in einer frühen Entwicklungsphase für einen begrenzten

Benutzerkreis geöffnet. Die Teilnahme an einem solchen Beta-Test erfolgt auf

Einladung56. GoogleMail57, der E-Maildienst des amerikanischen Suchmaschinen-

betreibers Google, ist auch heute noch, über 5 Jahre nach dem Start, in der Beta-Phase.

Der klassische Entwicklungszyklus von Software wird hier durch eine permanente Beta-

Phase abgelöst. Die Entwicklung des Dienstes erfolgt vor den Augen der Nutzer und

bezieht diese aktiv mit ein58.

54 Online-Nachschlagewerk, zu finden unter http://www.britannica.com/ Mittlerweile versucht auch Britannica Online den Benutzer über Kommentar- und Feedback-Möglichkeiten einzubinden.

55 Online-Nachschlagewerk, zu finden unter http://de.wikipedia.org/Alle Artikel von Wikipedia werden von der Gemeinschaft der Nutzer erstellt und gepflegt.

56 Zum Start im April 2004 war die Teilnahme an GoogleMail nur auf eingeladene Benutzer beschränkt. Die Benutzerkonten bei GoogleMail waren allerdings so begehrt, dass Einladungen zur Eröffnung eines Kontos im Internet gehandelt wurden. Anfang Juli 2004 versuchte Google dies über eine Änderung der Benutzungsbedingungen zu unterbinden (vergl. Pakalski, I. (2004)). Anfang Februar 2007 schließlich öffnete Google den Dienst endgültig für alle interessierten (vergl. Pakalski, I.(2007)).

57 E-Maildienst, zu finden unter http://mail.google.com/International ist der Dienst als GMail bekannt, aufgrund von Namensrechten wurde der Dienst in Deutschland im Juni 2005 in GoogleMail umbenannt. Im Oktober 2005 musste auch der Dienst in England aufgrund ähnlicher Namensstreitigkeiten in GoogleMail umbenannt werden.

58 Vergl. Alby, T. (2008), S. 155

19

Page 27: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

2.2.3 Mash-ups

Durch offene APIs ermöglichen die Dienste Mash-ups59, die Erweiterung eines Dienstes

um die Funktionen eines Anderen. Beispielsweise ermöglicht Google Earth60 die

Anzeige von Bildern, die bei der Bilderdatenbank Flickr hinterlegt sind, anhand

virtueller Stecknadeln auf dem Globus61.

Durch die Kombination von Diensten in Mash-ups entsteht ein Mehrwert für den

einzelnen Dienst. Google Maps62 gewinnt bspw. durch die Möglichkeit, Bilder aus

anderen Diensten wie Flickr anzuzeigen, andere Dienste wie bspw. Qype63 gewinnen

wiederum durch die Möglichkeit, eine interaktive Kartenansicht von Google Maps

einzubinden und mit ihren Daten anzureichern.

2.2.4 Verschlagwortung – Tags

Neben den eigentlichen Inhalten kommt der Verschlagwortung eine große Bedeutung

zu. Im traditionellen Web 1.0 erfolgte diese zentral durch den Autor innerhalb einer

festgelegten Kategorisierung. Die Benutzer konnten diese Kategorisierung nicht

verändern und mussten sie hinnehmen. Im Web 2.0 hingegen erlauben es fast alle

Anwendungen dem Benutzer „Tags“ (Etiketten) frei zu vergeben. Jeder kann somit dazu

beitragen, dass Inhalte kategorisiert und somit leichter gefunden werden.

In Tabelle 1 auf S. 18 wird die „Taxonomy“ durch die „Folksonomy“64 (eine

Zusammensetzung aus „Folks“ (Leute) und „Taxonomy“ (Klassifizierung)) abgelöst.

Nach Tim O'Reilly kommt das Tagging der Funktionsweise des menschlichen Gehirns

näher als eine einfache Kategorisierung:

„Tagging allows for the kind of multiple, overlapping associations that the brain itself uses, rather than rigid categories.“65

59 Der Begriff „Mash-up“ beschreibt die Neuzusammenstellung bereits vorhandener Tonspuren zu einem neuen Lied und wird hier auf die neue Zusammenstellung vorhandener Anwendungen übertragen. Vergl. hierzu Cruger, R. (2003).

60 Google Earth stellt einen virtuellen dreidimensionalen Globus bereit. Das hierzu notwendige Programm kann unter http://earth.google.de heruntergeladen werden.

61 Vergl. Kaufmann, T. (2005) 62 Google Maps stellt die Daten von Google Earth in modernen Browser ohne Softwareinstallation zur

Verfügung. Die Darstellungs- und Navigationsmöglichkeiten sind gegenüber Google Earth einge-schränkt, aber dafür kann dieser Dienst leicht in andere Web 2.0-Dienste integriert werden.

63 Qype bietet ein Verzeichnis lokaler Gaststätten und ein entsprechendes Bewertungssystem an. Qype ist im Internet unter http://www.qype.com/ zu finden.

64 Vergl. Smith, G. (2004) 65 Vergl. O'Reilly, T. (2005)

20

Page 28: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

O'Reilly, T. (2005) brachte bereits die Blogs66 und deren Vernetzung innerhalb der

Blogger mit der „Weisheit der Vielen“67 in Verbindung68. Auch für Tags ergibt sich

eine ähnliche Wirkung durch die Vergabe von Tags durch viele Personen.

Da Tags frei vergeben werden können, ergibt sich fast zwangsläufig ein große Menge

zur Beschreibung eines Inhaltes. Zur übersichtlichen Darstellung wird häufig eine der

zwei im Folgenden beschriebenen Anzeigeformen verwendet.

Abbildung 8: Darstellung von Tags als Liste und als Wolke

• Darstellung als Liste

In der Listendarstellung werden die Tags nach der Häufigkeit ihrer Nennung

sortiert aufgelistet. Die zuerst gelisteten Tags sind für viele Benutzer die Tags,

die den Inhalt am Besten beschreiben. Die absolute bzw. relative Häufigkeit

kann dabei als zusätzliche Orientierungshilfe angezeigt werden.

• Darstellung als Wolke (Tag-Cloud)

Bei der Darstellung als Wolke werden alle Tags alphabetisch sortiert in einem

meist rechteckigen Bereich aufgelistet. Die Schriftgröße und -farbe richtet sich

dabei nach der Häufigkeit der Nennung. Somit treten die Tags, die für die

meisten Benutzer den Inhalt am Besten beschreiben, optisch hervor.

Abbildung 8 zeigt die Darstellung von Tags, einmal in Listenform mit Angabe der

absoluten Häufigkeit (linke Seite) und einmal als Wolke (rechte Seite). Beiden 66 Die Erläuterung von Blogs und der Blogosphäre erfolgt in Kapitel 2.2.6.3 67 Vergl. Surowiecki, J. (2004) 68 Vergl. O'Reilly, T. (2005)

21

Page 29: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

Darstellungsformen liegt die selbe Menge Tags zugrunde. Gut ist zu erkennen, dass die

Darstellung als Wolke mehr Tags übersichtlicher darstellen kann, ohne die wichtigen

Tags untergehen zu lassen. Die Darstellung in einer Liste fügt hingegen eine Ordnung

auf Basis der Häufigkeiten hinzu, die wie im Fall der beiden letztgenannten Tags („cio“

und „teste“) allerdings nicht eindeutig ist.

2.2.5 Immer aktuell: Feeds

Die Technik der Feeds ist ebenfalls nicht neu – bereits 1999 wurden Feeds von

Netscape für „My Netscape Network“ (eine Nachrichtenseite) genutzt69. Rein technisch

betrachtet handelt es sich bei Feeds um Daten in einem definierten Format. Die

Aufbereitung zielt dabei auf die Lesbarkeit durch Maschinen bzw. Programme70. Es gibt

verschiedene Formate, die fast alle noch Verwendung finden und in Koexistenz genutzt

werden71:

• RSS (v0.9072, v0.9173, v9.274, v1.075, v2.076)

• Atom

Atom wurde im Dezember 2005 von der Internet Engeneering Steering Group77 unter

dem Namen RFC 428778 als empfohlener Standard verabschiedet und veröffentlicht.

Durch den vermehrten Einsatz von Systemen (bspw. Content Management Systeme,

kurz CMS) zur Verwaltung und Erzeugung von Inhalten im WWW kann die

Aktualisierung von Feeds zeitnah und automatisiert mit der Einstellung der eigentlichen

69 Vergl. Alby, T. (2008), S. 48 bzw. Netscape (1999) 70 Alby, T. (2008), S. 147ff erläutert die technischen Ausgestaltung und die Unterschiede der einzelnen

Formate. 71 Einen Überblick über die zeitliche Entwicklung der einzelnen Standards für Feeds ist bei Möller, E.

(2005), S. 151 nachzulesen. 72 Die Definition von RSS 0.90 war ursprünglich bei Netscape unter der Adresse

http://my.netscape.com/publish/help/quickstart.html zu finden. Allerdings ist diese Seite nicht mehr verfügbar. Eine Kopie der Seite ist jedoch unter http://www.purplepages.ie/RSS/netscape/rss0.90.html zu finden. Vergl. Netscape (1999).

73 Zur Definition von RSS 0.91 vergl. UserLand Software (2000) 74 Zur Definition von RSS 0.92 vergl. UserLand Software (2003) 75 Zur Definition von RSS 1.0 vergl. Beged-Dov, G. et al. (2008) 76 Zur Definition von RSS 2.0 vergl. Winer, D. (2007) 77 Die Internet Engeneering Steering Group ist ein Teil der Internet Engineering Task Force (IETF),

einer nicht kommerziellen Organisation, die sich die Standardisierung und Verbesserung des Internets zum Ziel gesetzt hat. Siehe auch http://www.ietf.org/iesg.html. Die Beschreibung des Ziels der Organisation ist unter http://www.ietf.org/rfc/rfc3935.txt nachzulesen.

78 RFC steht für „Request for Comments“ und bezeichnet Dokumente, die noch kein Standard sind. Allerdings erhebt die IETF RFCs zum Standard, ohne deren Bezeichnung zu ändern. Die vollständige Definition des RFC 4278 ist unter http://www.ietf.org/rfc/rfc4287.txt einsehbar.

22

Page 30: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

Inhalte erfolgen. Somit kann die Aktualität der per Feed verbreiteten Informationen

sichergestellt werden.

Feeds können durch Webseiten zusammengeführt werden. Beispielsweise können sich

Benutzer von „Mein Yahoo“79 ein individuelles Portal aus verschiedensten Angeboten

und Webdiensten, die ihre Inhalte per Feed liefern, zusammenstellen.

Feeds können aber auch vom Benutzer abonniert werden. Zur Verwaltung der

Abonnements und zum Lesen der Feeds gibt es eine Vielzahl so genannter Feedreader.

Diese Programme rufen die Inhalte periodisch ab, ohne dass der Benutzer sich darum

kümmern muss. Ein Feedreader kann sowohl ein lokal installiertes Programm (bspw.

Mozilla Thunderbird, Mozilla Firefox80, IBM Lotus Notes ab v8.0), aber auch ein

Online-Dienst im Internet (bspw. Google Reader81 oder Bloglines82) sein.

2.2.6 Web 2.0-Anwendungen am Beispiel von Connections

IBM Lotus Connections83 ist ein kommerziell erhältliches Produkt. Es bietet ein Paket

aus fünf verschiedenen Web 2.0 Anwendungen für den Einsatz in Unternehmen.

Anhand dieser Anwendungen werden im Folgenden typische Web 2.0 Anwendungen

im Detail betrachtet.

2.2.6.1 Die Anwendung ProfilesIn einem Profil werden bestimmte persönliche Daten eines Benutzer ähnlich denen auf

einer Visitenkarte gespeichert.

Jeder Benutzer von Connections bekommt automatisch ein Profil. Zur eindeutigen

Identifikation wird die E-Mailadresse des Benutzers verwendet.

Jedem Benutzer ist es möglich, Tags für sein eigenes und die Profile anderer zu

vergeben und somit den Informationsgehalt anzureichern.

79 Mein Yahoo ist in der deutschen Fassung unter http://de.my.yahoo.com/ im Internet zu finden.80 Mozilla Firefox bietet eine rudimentäre Funktion namens „Live Bookmarks“. Über Erweiterungen,

wie bspw. „Sage“ kann Firefox allerdings zu einem vollwertigen Feedreader ausgebaut werden. Sage kann unter der Adresse https://addons.mozilla.org/de/firefox/addon/77 heruntergeladen werden.

81 Zu finden unter http://www.google.de/reader82 Zu finden unter http://www.bloglines.com/83 Aktuelle Informationen zu IBM Lotus Connections sind bei IBM im Internet unter der Adresse http://

www.ibm.com/software/lotus/products/connections/ zu finden.

23

Page 31: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

Zu den gespeicherten Daten eines Profils zählen:

• Persönliche Informationen (bspw. Name, Beruf, Foto)

• Kontaktinformationen (bspw. Telefonnummer, E-Mailadresse)

• Ortsbezogene Informationen (bspw. Büro, Stockwerk, Gebäude)

• Angaben zur Hierarchie (bspw. Berichtskette, Assistent)

• Beschreibende Angaben (bspw. „Über mich“, „Hintergrund“).

Abbildung 9: Beispiel eines Profils in der Anwendung Profiles

Zudem enthält die Anwendung noch eine Komponente der Sozialen Netzwerke84: Der

Benutzer kann seinem Profil Kollegen zuordnen (siehe Abbildung 9) und somit seine

84 Eine weiterführende Abgrenzung des Begriffs „Soziales Netzwerk“ ist bspw. bei Poller, A. (2008), S. 10 zu finden. In dieser Studie wird zudem auf die Risiken der Nutzung solcher Plattformen im Internet eingegangen.

24

Page 32: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

Beziehungen im Unternehmen abseits der Hierarchie dokumentieren. Der Vernetzung

zu den anderen Anwendungen wird dadurch Rechnung getragen, dass bspw. die

Lesezeichen, die der Benutzer in der Anwendung „Dogear“ (siehe Kapitel 2.2.6.4)

angelegt hat, im Kontext seines Profils angezeigt werden. Andere Informationen wie

bspw. Blogeinträge, Diskussionsbeiträge oder Aktivitäten werden ebenfalls im Kontext

eines Profiles angezeigt.

Diese Anwendung weist durch die geführten Informationen (Tags, Beschreibung von

Tätigkeiten und Projekterfahrung, etc.) Übereinstimmungen mit Expertensystemen85

auf. Daher zählt sie sowohl zu den Skill-Management-Anwendungen, als zu denen des

Web 2.0.

Typische Vertreter dieser Art von Applikation im Web 2.0 sind bspw. Xing86 oder

LinkedIn87. Auf diesen Portalen sollen mögliche Geschäftspartner gefunden und

bestehende Geschäftsbeziehungen gepflegt werden. Xing verbindet ebenso wie

LinkedIn den Gedanken des sozialen Netzwerks mit dem der Diskussionsforen88.

2.2.6.2 Die Anwendung CommunitiesDiskussionsforen erfreuen sich im WWW großer Beliebtheit89. Sie stellen eine

Plattform zum gemeinsamen Austausch im Internet dar. Jeder Benutzer (zumeist ist eine

Anmeldung erforderlich) kann eine Diskussion (Thread) eröffnen. Große Diskussions-

foren sind häufig in kleinere Unterforen aufgeteilt. Die Mitglieder eines Forums können

sich üblicherweise per E-Mail über neue Beiträge informieren lassen.

Communities stellt eine Erweiterung diese Anwendungsgattung dar: Benutzer können

beliebig Gemeinschaftsbereiche, hier Communities genannt, eröffnen und sich darin

austauschen. Communities können frei zugänglich, auf Anfrage zugänglich oder privat

sein.

Innerhalb einer Community ist die zentrale Funktion das eingangs erwähnte

Diskussionsforum, in das die Mitglieder Diskussionsbeiträge einstellen können.

Weiterhin können gemeinsame Lesezeichen verwaltet werden. Feeds aus anderen

85 Vergl. Kapitel 2.1.2 86 Xing ist als Open Business Club, kurz OpenBC, zum 01.01.2004 offiziell gestartet, wurde aber zum

01.10.2006 umbenannt und ist nun unter http://www.xing.com erreichbar. 87 LinkedIn ist im amerikanischen Raum sehr verbreitet und unter http://www.linkedin.com zu finden. 88 Vergl. hierzu Kapitel 2.2.6.2 89 Vergl. Fisch, M.; Gscheidle, C. (2008b), S. 361

25

Page 33: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

Bereichen von Connections oder dem Internet können für eine Community abonniert

werden und stehen somit allen Mitgliedern zentral zur Verfügung.

Auch Communities werden von Ihren Mitgliedern mittels Tags verschlagwortet.

Abbildung 10 zeigt eine Übersicht über alle verfügbaren Communities innerhalb der

Connections-Installation. Die daraus generierte Tag-Cloud ist am linken Rand

eingeblendet.

Benutzer können Communities als Feed abonnieren, um immer über aktuelle

Meldungen informiert zu werden. Ein Abonnement in Form von E-Mail ist nicht

vorgesehen.

Abbildung 10: Die Anwendung Communities

26

Page 34: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

Die Integration mit den übrigen Anwendungen ermöglicht es bspw., dass eine

Community eine eigene Sammlung von Lesezeichen (siehe Kapitel 2.2.6.4) anlegt oder

ihre Aktivitäten (siehe Kapitel 2.2.6.5) verwaltet.

Diskussionsforen werden häufig und zu den verschiedensten Themen im WWW

angeboten. Als Beispiele hierfür sei auf das Diskussionsforum der Tagesschau90 als

Vertreter der nachrichtenbezogenen Foren und die Winfo-Foren der Universität

Paderborn91 als bildungsorientierte Foren hingewiesen.

2.2.6.3 Die Anwendung BlogsDer Begriff „Blog“ ist die Abkürzung des Begriffs „Weblog“. „Weblog“ wiederum ist

die Zusammensetzung von „Web“ und „Log“ (Log bzw. Tagebuch). Doctorow, C. et al.

(2002) definieren einen Blog folgendermaßen:

„A blog is a web page that contains brief, discrete hunks of information called posts. These posts are arranged in reverse-chronological order (the most recent posts come first). Each post is uniquely identified by an anchor tag, and it is marked with a permanent link that can be referred to by others who wish to link to it.“92

Im Unterschied zu den zuvor beschriebenen Communities geht die Initiative bei Blogs

immer vom Autor aus. Zwar können auch mehr als eine Person Autor eines Blogs93

sein, generell ist die Zahl der Autoren aber sehr viel kleiner als bei Diskussionsforen.

Robert Basic umschreibt den Unterschied in einem Blogeintrag so:

„Blogs sind keine Gemeinschaftswohnungen. Es gibt einen Hausbewohner, den Gäste je nach Bedarf besuchen, weil er möglicherweise leckeren Kaffee und Kuchen anzubieten hat. Auf Foren und Newsgroups machen die Hausbewohner gemeinsam die Musik, jeder kann dazu seinen Kuchen mitbringen. Party! Auf einem Blog macht nur einer die Musik, er bestimmt die Lautstärke, er backt den Kuchen.“94

Über Blogs können große Mengen an Empfängern angesprochen werden, ähnlich etwa

zu E-Mail-Newslettern. Da die Inhalte von Blogs vom Benutzer aktiv abgerufen werden

müssen, füllen diese nicht ungefragt den Posteingang des Benutzers. Blogs können

typischerweise als Feed abonniert werden.

90 Das Diskussionsforum der Tagesschau ist unter http://forum.tagesschau.de zu finden. 91 Die Winfo-Foren sind unter http://pbwi2b.uni-paderborn.de/accessdb/public/pn-talk.nsf zu finden. 92 Definition aus Doctorow, C. et al. (2002), S. 1 93 Vergl. Alby, T. (2008), S. 22 94 Aus Basic, R. (2005)

27

Page 35: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

Blog-Einträge können von den Lesern kommentiert werden. Dabei ist es möglich,

mittels eines Trackback-Links95 auf einen eigenen Blog zu verweisen. Gängige Blog-

Systeme bieten sogenannte Permalinks96, permanente Verweise, auf die einzelnen

Blogeinträge.

Auch bei Blogs spielt das Thema Tagging eine wichtige Rolle: Ein Blog selbst, aber

auch die einzelnen Beiträge, können mit Tags versehen werden. Dies erfolgt allerdings

ausschließlich durch den Autor, nicht durch die Leser.

Abbildung 11: Die Anwendung Blogs

95 Das Konzept von Trackback-Links erläutert Alby, T. (2008), S. 23, Das entsprechende Protokoll ist in Six Apart (2004) dokumentiert.

96 Vergl. Alby, T. (2008), S. 23

28

Page 36: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

Die Anwendung Blogs bietet neben der Möglichkeit der Kommentierung auch die

Möglichkeit, Blogeinträge zu empfehlen. Die Anzahl der Empfehlungen für einen

Beitrag wird über Stern-Symbole visualisiert (siehe Abbildung 11, S. 28).

Es gibt viele Dienste im Internet, die es ermöglichen, kostenlos einen eigenen Blog zu

schreiben. Beispiel hierfür sind wordpress.com97 oder blog.de98. Zudem gibt es spezielle

Portale und Suchmaschinen99, die das Auffinden von Blogs für potentielle Leser

einfacher gestalten sollen.

2.2.6.4 Die Anwendung DogearDogear bedeutet übersetzt soviel wie Eselsohr, also Lesezeichen. Bereits 2005

beschäftigten sich Mitarbeiter von IBM mit dem Thema „Social Bookmarking“ in

Unternehmen100. Benutzer verwalten ihre Lesezeichen üblicherweise direkt im Browser.

Hier sind die Lesezeichen aber nur für sie persönlich zugänglich. Beim Social

Bookmarking werden die Lesezeichen nicht lokal, sondern bei einem Web-Dienst

gespeichert. Prominente Vertreter dieser Dienste sind bspw. del.icio.us101 oder

Mister Wong102.

Lesezeichen werden anderen Benutzern so zugänglich gemacht. Diese erhalten dadurch

qualifizierte Verweise103 auf interessante Internetseiten.

Lesezeichen können vom Ersteller per Tag verschlagwortet werden. Eine Suche nach

Informationen ist aber nicht auf die Suche über Tags beschränkt. So ist es bspw.

möglich, die Lesezeichen eines bestimmten Benutzers anzeigen zu lassen. Dies ist

besonders interessant, wenn man den Benutzer kennt und um dessen Interessen weiß.

Durch das Finden neuer Lesezeichen und das Erkunden der weiteren Lesezeichen des

zugehörigen Benutzers lassen sich verwandte Informationen finden, nach denen nicht

direkt gesucht wurde.

97 Unter http://www.wordpress.com zu finden 98 Deutschsprachiges Blog-Portal und Anbieter für private Blogs, unter http://www.blog.de zu finden 99 bspw. Technorati, ein internationales Blog-Portal, unter http://www.technorati.com zu finden 100 Vergl. Millen, D.; Feinberg, J.; Kerr, B. (2005) 101 Englischsprachiger Lesezeichen-Dienst, der Ende 2003 von Joshua Schachta entwickelt wurde, unter

http://del.icio.us oder http://www.delicious.com zu finden 102 Deutschsprachiger Lesezeichen-Dienst, unter http://www.mister-wong.de zu finden 103 Nach Abrams, D.; Baecker, R.; Chignell, M. (1998), S. 42 erstellen Benutzer Lesezeichen für

qualitativ gute Seiten, die sie persönlich interessieren und von denen sie denken, dass sie sie auch künftig noch nutzen werden.

29

Page 37: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

Die Verknüpfung der Informationen bei einem solchen Dienst erlaubt es, Lesezeichen

nach ihrer Häufigkeit zu bewerten. Hier ergibt sich eine neue Qualität der Bewertung:

Die Verweise werden nicht automatisiert (bspw. bei Suchmaschinen wie Google) oder

redaktionell (bspw. bei Portalen wie Web.de), sondern von den Benutzern selbst

gewichtet104.

Abbildung 12: Die Anwendung Dogear

Firmeninterne Verweise auf das Intranet sollen aus Sicherheits- und

Geheimhaltungsgründen nicht im Internet verfügbar sein. Die Anwendung Dogear

(siehe Abbildung 12) erlaubt es daher, firmeninternes Social Bookmarking zu betreiben.

Die Integration mit den anderen Anwendungen (bspw. Profiles oder Communities)

schafft einen zusätzlichen Nutzen. Lesezeichen einer Community können bspw. neben

den eigenen Lesezeichen verwaltet werden.

104 Vergl. Alby, T. (2008), S. 95

30

Page 38: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

2.2.6.5 Die Anwendung ActivitiesDie letzte Anwendung von Connections dient der Verwaltung von Aktivitäten. Diese

Aktivitäten können dabei alleine (analog einer Aufgabenverwaltung) oder im Team

bearbeitet werden. Der Inhalt einer Aktivität ist nicht festgelegt: Angefangen von der

einfachen Beschaffung von Druckerpapier bis hin zur hoch komplexen Organisation

einer internationalen Messe sind viele verschiedene Anwendungsfälle denkbar.

Aktivitäten können über ein Berechtigungssystem gesteuert werden. Es gibt drei

verschiedene Benutzerrollen (Besitzer, Autor und Leser) und Aktivitäten können privat

oder öffentlich sein.

Durch das Hinzufügen von Aufgaben, setzen von Terminen und der Gliederung in

Teilabschnitte können Aktivitäten strukturiert werden. Dabei kann flexibel auf die

aktuelle Situation eingegangen werden.

Abbildung 13: Die Anwendung Activities

Aktivitäten können viele verschiedene Informationen aufnehmen, die im Kontext der

Aufgabe wichtig sind (siehe Abbildung 13). Durch das Hinzufügen von Dokumenten,

E-Mails oder Chat-Protokollen wird nachvollziehbar für alle Teilnehmer dokumentiert,

31

Page 39: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

wie sich die Bearbeitung entwickelt hat. Jedes Element kann dabei mittels Tags

verschlagwortet werden.

Änderungen an Aktivitäten sind als Feed105 abonnierbar. So ist es den Mitgliedern

mehrerer Aktivitäten möglich, unkompliziert auf dem aktuellsten Stand zu sein.

Eine durchgeführte Aktivität kann als Vorlage für die Struktur einer neuen dienen. So

können bewährte Abläufe wiederverwendet werden. Die Stärke der Aktivitäten liegt in

der flexiblen Abwicklung schwach strukturierter Abläufe.

Aktivitäten können gegenüber unternehmensfremden Personen geöffnet werden und

ermöglichen so eine unternehmensübergreifende Zusammenarbeit.

2.3 Berührungspunkte zwischen Skill-Management und Web 2.0

Die Anwendungen des Web 2.0 speichern zum Teil ähnliche Informationen zu den

Fähigkeiten von Personen, wie die Anwendungen des klassischen Skill-Managements.

Das beste Beispiel hierfür ist die Anwendung Profiles, die von der Grundintention her

ein Benutzerverzeichnis ist, durch die zusätzlichen Informationen wie selbstverfasste

Kurzbeschreibungen und die Möglichkeit der Vergabe von Tags aber bereits ein

einfaches Expertensystem darstellt.

Auch die anderen Anwendungen sind im Zusammenhang mit Skill-Management

interessant: Durch die Verwendung der Anwendungen Communities, Blogs und Dogear

wird ein Wissensbestand dokumentiert, der in dieser Tiefe nicht in klassischen

Wissensdatenbanken oder Dokumenten erfasst würde. Durch die Vernetzung dieser

Informationen mit den Personen aus Profiles ergibt sich hier eine leicht zugängliche

Informationsquelle, deren Pflege „synchron“ zur eigentlichen Arbeit erfolgt. Diese

Anwendungen liegen daher dem Wissensmanagement näher. Aber auch das Skill-

Management kann von den gespeicherten Informationen profitieren.

Activities dienen eher zur Arbeitsorganisation. Aber auch sie können Grundlagenwissen

dokumentieren. Wenn bspw. zum zweiten Mal ein Messe-Auftritt organisiert werden

muss, ist der Rückgriff auf bereits gemachte Erfahrungen sehr wertvoll.

105 Siehe Kapitel 2.2.5

32

Page 40: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

2 Theoretische Grundlagen

Der Ansatz des Web 2.0, jeden Benutzer zugleich zum Autor zu machen, stellt die

Wissensbasis auf ein breites Fundament. Surowiecki, J. (2004) erkannte, dass

„(...) under the right circumstances groups are remarkebly intellegent, and are often smarter than the smartest people in them. Groups do not need to be dominated by exeptionally intelligent people in order to be smart. Even if most of the people within the group are not especially well-informed or rational, it can still reach a collectivly wise decision.“106

Diese „Weisheit der Vielen“ lässt sich bspw. anhand der Vergabe von Tags nutzen: Die

Tags, die von vielen Personen vergeben werden, sind meist treffender als die

Schlagworte, die bspw. redaktionell vergeben wurden.

Die Anwendung Profiles ist zum Teil dem Skill-Management zuzuordnen und die

Vergabe von Tags in Web 2.0 Anwendungen spiegelt die Einschätzung der Skills von

vielen Kollegen wieder. Ein einfacher Austausch zwischen den Systemen ist daher ein

logischer Schritt.

106 Aus Surowiecki, J. (2004), S. xiii-xiv

33

Page 41: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

3 Konzeption der Schnittstelle

Wie bereits in den vorangehenden Kapiteln aufgezeigt, gibt es offensichtliche

Berührungspunkte zwischen Anwendungen des Skill-Managements und Web 2.0-

Anwendungen.

Für die Konzeption einer Schnittstelle zwischen SkiP und Connections, als ausgewählte

Vertreter dieser beiden Bereiche, werden zunächst die organisatorischen Rahmen-

bedingungen geklärt.

Die technischen Vorüberlegungen ergänzen diese anschließend um den Aspekt der

technischen Machbarkeit.

Zum Verständnis des API von Connections wird die Basis-Technologie, Atom-Feeds

und das Atom Publishing Protocol, genauer betrachtet.

Zur inhaltlichen Ausgestaltung der Schnittstelle werden schließlich mögliche

Integrationsszenarien aufgestellt, bewertet und ausgewählt.

3.1 Organisatorische Rahmenbedingungen

Die Anwendung SkiP verarbeitet sensible personenbezogene Informationen. Daher soll

die hier betrachtete Integration nur von der Anwendung SkiP selbst ausgehen. In SkiP

gespeicherte Informationen dürfen aus Sicherheits- und Datenschutzgründen nicht von

außerhalb verändert werden.

Jegliche Aktion zur Datenübertragung zwischen den Systemen soll vom Benutzer selbst

ausgelöst werden. So wird verhindert, dass der Eindruck entsteht, die vertraulichen

Informationen seien in SkiP nicht sicher.

Die Integration soll den normalen Benutzer im Fokus haben. Er soll durch die

Integration einen Vorteil in der Verknüpfung der beiden Welten sehen und somit soll

die Nutzung beider Anwendungsbereiche gefördert werden.

34

Page 42: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

3.2 Technische Vorüberlegungen

3.2.1 Die technische Basis von SkiP

Als technische Basis für SkiP wurde IBM Lotus Domino107 verwendet. Diese Plattform

zeichnet sich unter anderem durch ihre vielfältigen Möglichkeiten zur Integration von

Dritt-Software und zur Entwicklung von Anwendungen aus108. Aufgrund dieser

Eigenschaften von Domino ist diese Plattform ebenfalls als Basis einer Schnittstellen-

komponente gut geeignet.

Da es sich bei SkiP weder um eine kommerzielle Software, noch um ein fertiges

Produkt handelt, kann auf kein existierendes API zurückgegriffen werden.

SkiP ist eine Browser-Anwendung. Bei der Integration ist also entsprechend darauf zu

achten, dass die zu entwickelnde Schnittstelle mittels Web-Techniken in das Benutzer-

interface von SkiP integriert werden kann.

3.2.2 Die technische Basis von Connections

Connections basiert auf einem IBM WebSphere Application Server, braucht aber keine

bereits vorhandene Software – alle benötigten Server-Komponenten werden in

speziellen Versionen mitgeliefert und dürfen gemäß der Lizenz nur für Connections

eingesetzt werden.

Zur Nutzung von Connections kann ein Server zum Betrieb einer eigenen Connections-

Installation aufgesetzt werden. Die Voraussetzungen und Vorgehensweise für die

Installation und den Betrieb einer eigenen Connections-Installation sind in Dokument

IBM - Connections Install (2008) aufgeführt.

Außerdem bietet IBM die Nutzung von Connections als Service an. Auf der Internet-

Seite Lotus Live109 wird dieser Service unter dem Namen „Lotus Live Engage“ als

Mietsoftware angeboten. Derzeit110 sind jedoch lediglich Test-Zugänge und noch

keinerlei Preisangaben verfügbar.

107 Aktuelle Informationen zu IBM Lotus Domino sind bei IBM im Internet unter der Adresse http://www.ibm.com/software/lotus/products/domino/ zu finden

108 Knäpper, M.; Donskoj, M. (2007) geben einen Überblick über die Entwicklung von Anwendungen auf Basis von IBM Lotus Domino.

109 Im Internet unter http://www.lotuslive.com/ zu finden 110 Stand März 2009

35

Page 43: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

Um einen Eindruck111 von Connections zu erhalten, kann auf der Seite Lotus Green-

house112 der Umfang von Connections getestet werden. Dieser Zugang wurde auch im

Rahmen dieser Arbeit zum Test und zur Entwicklung genutzt.

Connections stellt ein auf offenen Web-Standards basierendes API bereit. Eine

Dokumentation des API ist im Internet113 abrufbar.

Bei der Durchsicht der Dokumentation wird schnell klar, dass es sich eigentlich um fünf

eigenständige Anwendungen handelt. Zwar sind die APIs technisch gleich, sind aber in

jeder Anwendung etwas abweichend implementiert. Dies wird vor allem bei den

unterschiedlich konstruierten URLs und den URL-Parametern deutlich. Eine spezielle

Implementierung je Applikation ist daher unumgänglich.

3.3 Atom-Feeds und das Atom Publishing Protocol

3.3.1 HTTP (Hypertext Transfer Protocol)

Die Basis für den Austausch von Daten mit Connections bildet das Hypertext Transfer

Protocol (HTTP)114 bzw. die gesicherte Variante Hypertext Transfer Protocol Secure

(HTTPS)115. Dieses Protokoll ist durch die Verwendung im WWW zum Abrufen von

Internet-Seiten bekannt.

HTTP116 ist ein zustandsloses Protokoll. Das bedeutet, dass jede Anfrage vom Server

getrennt von anderen Anfragen betrachtet wird. Sitzungsinformationen (bspw. die

Authentifizierung eines Benutzers gegenüber einem Server) müssen auf Anwendungs-

ebene verwaltet werden. Im WWW werden hierfür verschiedene Techniken, bspw. die

Mitgabe einer Session-ID in den aufgerufenen URLs117 oder das Setzen von Session-

Cookies118, verwendet.

111 Die einzelnen Anwendungen, die von Connections bereitgestellt werden, sind im Kapitel 2.2.6 beschrieben.

112 Im Internet unter http://greenhouse.lotus.com/ zu finden 113 Die Dokumentation des APIs in der aktuellen Version 2.0.1 ist im Internet unter

http://publib.boulder.ibm.com/infocenter/ltscnnct/v2r0/index.jsp zu finden 114 Das Hypertext Transfer Protocol ist von der IETF im RFC 1945 (HTTP/1.0, 1996) und RFC 2616

(HTTP/1.1, 1999) standardisiert worden. Die jeweilige Definition ist unter http://www.ietf.org/rfc/rfc1945 bzw. http://www.ietf.org/rfc/rfc2616 nachzulesen.

115 Das Hypertext Transfer Protocol Secure wurde von der IETF im RFC 2818 (HTTP Over TLS, 2000) standardisiert. Die Definition ist unter http://www.ietf.org/rfc/rfc2818 nachzulesen.

116 Im folgenden wird HTTP synonym für HTTP und HTTPS verwendet. 117 URL steht für Uniform Resource Locator. URLs dienen der Identifikation und Lokalisierung einer

Ressource über das verwendete Protokoll (bspw. HTTP oder HTTPS) sowie den Ort der Ressource. 118 Cookies sind auf dem Client persistente/gespeicherte Daten, die in HTTP-Requests mitgegeben

36

Page 44: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

Eine Authentifizierung eines Benutzers gegenüber Connections erfolgt mittels der

HTTP-Basisauthentifizierungsmethode119 (Basic Authentication) über einen Benutzer-

namen und das zugehörige Kennwort.

3.3.2 Das Atom Syndication Format

Connections liefert Daten über HTTP als Feed im Atom Syndication Format120, kurz als

„Atom-Feed“. Verschiedene Formate von Feeds wurden bereits in Kapitel 2.2.5 kurz

vorgestellt. Das Atom Syndication Format, die Basis der Schnittstelle, wird hier

technisch genauer erläutert.

Atom-Feeds müssen nach bestimmten Regeln konstruiert sein. Die wichtigsten dieser

Regeln sind121:

• Alle Elemente eines Atom-Feeds müssen innerhalb des Namensraums122 http://

www.w3.org/2005/Atom liegen.

• Die Zeitangaben in einem Atom-Feed müssen nach dem RFC 3339123 erfolgen.

• Das Format von Werten muss angegeben werden, wenn es nicht Text ist. Dies

ist einer der Hauptunterschiede zu den RSS-Formaten124.

• xml:lang125 kann zur Angabe der Sprache bei Texten, die von Menschen gelesen

werden können/sollen, genutzt werden.

• xml:base kann genutzt werden, um zu bestimmen, wie relative URL-Angaben

aufgelöst werden sollen.

werden können. Methoden, mit Cookies Sitzungsinformationen zu verwalten sind im RFC 2109 (HTTP State Management Mechanism, 1997) bzw. RFC 2965 (HTTP State Management Mechanism, 2000) unter http://www.ietf.org/rfc/rfc2109.txt bzw. http://www.ietf.org/rfc/rfc2965.txt nachzulesen.

119 Details zu den verschiedenen möglichen Authentifizierungsmethoden und zu der hier verwendeten HTTP-Basisauthentifizierungsmethode sind unter http://www.ietf.org/rfc/rfc2617 nachzulesen.

120 Das Atom Syndication Format wurde vom IETF im RFC 4287 (The Atom Syndication Format, 2005) standardisiert. Die Definition ist unter http://www.ietf.org/rfc/rfc4287.txt nachzulesen.

121 Vergl. Alby, T. (2008), S. 154 122 Ein Namensraum definiert in XML Schlüsselwörter, und wie diese zu interpretieren sind. Weiter

Informationen hierzu in Bray, T. et al. (2006) 123 Vergl. RFC 3339 (Date and Time on the Internet: Timestamps, 2002) unter

http://www.ietf.org/rfc/rfc3339.txt124 Die RSS-Formate werden ebenfalls in Kapitel 2.2.5 vorgestellt. 125 XML-Elemente dürfen nicht mit der Zeichenkette „xml“ anfangen. An „xml“ ist ein Namensraum für

Elemente und Attribute gebunden, den das W3-Konsortium für Erweiterungen von XML reserviert hat. Die URI dieses Namensraums ist http://www.w3.org/XML/1998/namespace und muss nicht explizit angegeben werden. xml:lang und xml:base sind innerhalb dieses Namensraums definiert.

37

Page 45: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

Abbildung 14 zeigt ein Beispiel eines einfach aufgebauten Atom-Feeds.

<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom">

<title>Beispiel Feed</title><link href="http://www.beispiel.de/"/><updated>2005-03-30T00:33:02Z</updated><author>

<name>Dirk Stelloh</name></author><id>urn:uuid:30031975-c8ff-2345-a6cd-fafa6aefdbaa</id>

<entry><title>Beispieleintrag</title><link href="http://www.beispiel.de/2005/03/30/test"/><id>urn:uuid:1225c695-ffc8-4321-abcd-facfac4efa6a</id><updated>2005-03-30T00:33:02Z</updated><summary>Jubil&aumlum!</summary>

</entry>

</feed>Abbildung 14: Beispiel für einen einfachen Atom-Feed

Element Pflicht Mehrfach Beschreibungid erforderlich - Eindeutige und permanente URL zur Identifi-

kation des Feeds title erforderlich - menschenlesbarer Titel des Feeds updated erforderlich - Datum und Uhrzeit der letzten Änderung author empfohlen x Autoren

Auf Ebene des Feeds darf dieses Element nur fehlen, wenn alle Eintrags-Elemente ein sol-ches Element besitzen.

link empfohlen x Link auf zugehörige Web-Seiten. Die Art der Zugehörigkeit wird über das Attribut „<rel>“ ausgedrückt.

category optional x Kategorien contributor optional x Mitwirkende generator optional - Software, die den Feed erstellt hat icon optional - Kleines Logo logo optional - Großes Logo rights optional - Rechte, bspw. Copyright subtitle optional - menschenlesbare Beschreibung oder Unterti-

tel des Feeds

Tabelle 2: Elemente von <Feed>

38

Page 46: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

Ein Atom-Feed besteht aus Metadaten, die den Feed selbst (äußerer Kasten in

Abbildung 14, S. 38) beschreiben, und aus einem oder mehreren Einträgen (innerer

Kasten in Abbildung 14, S. 38). Die Elemente, die für einen Feed angegeben werden

können, sind in der Tabelle 2 auf S. 38, die Elemente für einen Entry sind in Tabelle 3

aufgelistet126. Einige Elemente dürfen mehrfach vorkommen, diese sind in der Spalte

„Mehrfach“ entsprechend markiert. Erforderliche Elemente sind in der Spalte „Pflicht“

entsprechend gekennzeichnet. Zudem wird für einige Elemente empfohlen, diese

aufzuführen. Auch diese Elemente sind in der Spalte „Pflicht“ gekennzeichnet. Alle

übrigen Elemente sind optional.

Einige Elemente, wie bspw. „author“, können wahlweise auf Ebene des Feed oder des

einzelnen Entry definiert werden. Diese Elemente und die Bedingungen sind in der

Spalte „Beschreibung“ näher erläutert.

Element Pflicht Mehrfach Beschreibungid erforderlich - Eindeutige und permanente URL zur Identifi-

kation des Eintrags title erforderlich - menschenlesbarer Titel des Eintrags updated erforderlich - Datum und Uhrzeit der letzten Änderung author empfohlen x Autoren

Auf Ebene des Eintrags darf dieses Element nur fehlen, wenn der Feed mindestens ein sol-ches Element besitzt.

content empfohlen - Link zum kompletten Inhalt des Eintrags link empfohlen x Link auf zugehörige Web-Seiten. Die Art der

Zugehörigkeit wird über das Attribut „<rel>“ ausgedrückt.

summary empfohlen - Kurze Zusammenfassung des Inhaltes category optional x Kategorien contributor optional x Mitwirkende published optional - Datum und Uhrzeit der Erstellung oder Zeit-

punkt zu dem der Eintrag zuerst zur Verfü-gung gestellt wurde

source optional - Verweis auf den ursprünglichen Feed, wenn der Eintrag aus einem anderen Feed kopiert wurde.

rights optional - Rechte, bspw. Copyright

Tabelle 3: Elemente von <Entry>

126 Eine englischsprachige Einführung in das Atom Syndication Format ist unter der folgenden Adresse abrufbar: http://www.atomenabled.org/developers/syndication/

39

Page 47: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

3.3.3 AtomPub (Atom Publishing Protocol)

Das Atom Publishing Protocol127 wird von der Connections-API zur Kommunikation

verwendet. Dieses Protokoll baut auf der Kommunikation per HTTP auf und ermöglicht

die Abfrage, Bearbeitung, Erstellung und Löschung von Inhalten über vier elementare,

in Tabelle 4 aufgeführte, Aktionen128. Jede ausgetauschte Nachricht enthält dabei alle

notwendigen Informationen, um diese Nachricht zu verstehen.

Aktion BeschreibungGET Lesender Zugriff auf ein ElementPUT Schreibender Zugriff auf ein ElementPOST Erstellen eines neuen ElementsDELETE Löschen eines bestehenden Elements

Tabelle 4: Die Grundlegenden Aktionen des Atom Publishing Protocol

Connections folgt mit diesem API der Representational State Transfer Architektur

(REST), die Fielding, R.T. (2000) in seiner Dissertation definierte. Er fasst in seiner

Arbeit wie folgt zusammen:

“REST enables intermediate processing by constraining messages to be self-descriptive: interaction is stateless between requests, standard methods and media types are used to indicate semantics and exchange information, and responses explicitly indicate cacheability.”129

Der Vorteil einer REST-Architektur für eine Schnittstelle ist, dass keinerlei

Zustandsinformationen außerhalb der ausgetauschten Nachrichten vorgehalten werden

müssen. Jede der Nachrichten kann für sich interpretiert werden, ohne dass die

vorhergehenden bekannt sind.

127 Das Atom Publishing Protocol ist ebenfalls vom IETF standardisiert worden. Der Text RFC 5023 (The Atom Publishing Protocol, 2007) ist unter http://www.ietf.org/rfc/rfc5023.txt nachzulesen.

128 Diese vier Aktionen werden auch als CRUD-Operationen bezeichnet: Create, Read, Update und Delete

129 Aus Fielding, R.T. (2000), S. 98f. Eine detaillierte Beschreibung des Konzeptes REST ist im Kapitel 5 (S. 76-106) zu finden.

40

Page 48: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

3.3.4 Das Framework Abdera

Ursprünglich hat IBM selbst ein Framework zur Implementierung des Atom Publishing

Protocol in Anwendungen entwickelt. Im Juni 2006 hat IBM jedoch den Quellcode der

Apache Software Foundation gestiftet130. Seitdem stellt die Apache Software

Foundation131 das Framework unter dem Namen Abdera132 frei133 zur Verfügung.

Dieses in der Programmiersprache Java verfasste Framework stellt Klassen zur

Vereinfachung der HTTP-Kommunikation und zur Verarbeitung von Atom-Feeds

bereit. Die wichtigsten Klassen134 aus dem Framework sind:

• Klasse „Abdera“

Die Wurzel aller Objekte im Abdera Framework ist die Abdera-Klasse.

Basierend auf dieser Klasse können weitere Objekt-Instanzen erstellt werden.

• Klasse „AbderaClient“

Diese Klasse stellt benötigte Funktionen von der Kommunikation bis zur

Verarbeitung von Feeds zur Verfügung. Viele der Funktionen werden dabei

durch weitere Klassen implementiert. Die AbderaClient-Klasse ist aber die Basis

für eine Anwendung, die mittels Atom Publishing Protocol kommunizieren

möchte.

• Klasse „ClientResponse“

Antworten, die mittels der AbderaClient-Klasse empfangen werden, sind

Instanzen der Klasse ClientResponse. Aus dieser Klasse können weitere

Informationsobjekte erstellt werden.

130 Vergl. Cappellato, J. (2006) 131 Im Internet zu finden unter http://www.apache.org/132 Das Framework Abdera ist nach dem Namen einer Stadt im antiken Griechenland benannt. Abdera ist

der Geburtsort des Philosophen Demokrit, der als Vater der Atomtheorie gilt. Vergl. hierzu auch Snell, J. (2006), Wikipedia - Abdera (2009) und Wikipedia - Demokrit (2009). Abdera kann unter http://abdera.apache.org heruntergeladen werden.

133 Abdera steht unter der Apache License 2.0. Diese Lizenz erlaubt die freie Verwendung, Verteilung und Modifikation in beliebigen Umfeldern ohne die Pflicht zur Offenlegung oder Weitergabe der Quelltexte. Modifikationen müssen nicht an Apache zurück geleitet werden und die entstandene Software muss nicht unter der selben Lizenz stehen. Der volle Text der Lizenz ist unter http://www.opensource.org/licenses/apache2.0.php abrufbar.

134 Die vollständige Dokumentation des Abdera-Framework ist als Java-Dokumentation unter http://abdera.apache.org/docs/api/index.html im Internet abrufbar.

41

Page 49: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

• Klasse „Feed“

Antworten, die ein Atom-Feed sind, können bequem über die Klasse Feed

ausgelesen und manipuliert werden. Für das Erstellen neuer Objekte kann ein

Feed-Objekt auch neu erstellt werden.

• Klasse „Service“

Service-Dokumente werden durch die Service-Klasse abgebildet. Diese

Dokumente sind spezielle Feeds, die Informationen zur angesprochenen

Anwendung beinhalten und von denen aus weitere Funktionen einer Anwendung

zugänglich sind.

3.4 Auswahl der Programmiersprache

Die Programmiersprache, die zur Implementierung der Schnittstelle genutzt werden

kann, muss verschiedene Möglichkeiten bieten. Um eine Auswahl zu treffen, werden

zunächst die Kriterien aufgestellt und anschließend mittels einer einfachen Skala mit der

Einteilung + (gut), o (neutral), - (schlecht) bewertet.

Die folgenden Kriterien dienen zum einen der Beurteilung, ob die entsprechende

Programmiersprache einen ausreichenden Funktionsumfang für die Implementierung

hat. Zum anderen dienen Sie dazu zu bestimmen, wie gut sich eine Programmiersprache

zur Umsetzung eignet.

• Domino-Zugriff

Die Informationen von SkiP sind in Domino gespeichert. Ein Zugriff auf diese

Daten ist daher notwendig.

• HTTP-Kommunikation

Es müssen Informationen über HTTP ausgetauscht werden können und die

HTTP-Basisauthentifizierung muss verfügbar sein.

• Atom-Verarbeitung

Die ausgetauschten Daten sind im Atom-Format und die Interaktion bedient sich

des Atom Publishing Protokolls.

42

Page 50: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

• Simplizität

Das Hauptaugenmerk der Entwicklung der Schnittstelle liegt auf dem

Datenaustausch zwischen den Systemen. Dies sollte möglichst einfach

realisierbar sein.

• Objektorientierung

Um Funktionalitäten verschiedener Objekte gegeneinander abzugrenzen, sollte

die Programmiersprache eine objektorientierte Implementierung ermöglichen.

Bedingt durch die organisatorischen Rahmenbedingungen kommt nur eine

Implementierung auf Basis von IBM Lotus Domino in Frage. Diese Plattform bietet vier

mögliche Programmiersprachen (siehe Tabelle 5, S. 44) an, die für die Implementierung

in Frage kommen.

Die einfachste der betrachteten Programmiersprachen ist die „@Formel“-Sprache135.

Die Programmierung erfolgt in einer einfachen Makro-Sprache mit sehr begrenztem

Befehlssatz. Der Zugriff auf Domino-Objekte erfolgt einfach und direkt. Allerdings

bringt diese Sprache weder gute Mittel zur HTTP-Kommunikation, noch zur

Verarbeitung von Atom-Feeds mit. Objektorientierung ist mit @Formeln nicht möglich.

LotusScript136 ist eine Basic-ähnliche Sprache. Sie ist am Besten mit etwa Microsoft

VisaulBasic zu vergleichen. Auch mit LotusScript ist ein direkter Zugriff auf Domino-

Objekte möglich. Die Möglichkeiten im Bezug auf HTTP-Kommunikation und die

zugehörige Authentifizierung sind jedoch eingeschränkt. Auch die Verarbeitung von

XML-Dialekten jenseits von DXL137 ist möglich, aber nicht sehr komfortabel.

Programmieren in LotusScript ist nicht so einfach, wie in @Formel-Sprache, bietet

dafür aber auch grundlegende Konzepte der Objekltorientierung.

Die Betrachtung von C und C++ wird zusammengefasst und auf die Sprache C++

beschränkt, da diese einen objektorientierten Ansatz verfolgt. Domino als Plattform

bietet ein API, auf das aus C++ heraus zugegriffen werden kann. Dieser Zugriff ist vom

Umfang her dem von LotusScript gleichwertig. HTTP-Kommunikation und Atom-

135 In Knäpper, M.; Donskoj, M. (2007) wird in den Kapitel 16 und 17 (S. 377-456) der Funktionsumfang der Formelprache umfassend beschrieben.

136 Der Funktionsumfang und der Einsatz von LotusScript wird ebenfalls umfassend von Knäpper, M.;Donskoj, M. (2007) in den Kapiteln 18 bis 20 (S. 457-556) beschrieben.

137 DXL ist die Abkürzung von DominoXML und bezeichnet einen speziell für Domino entwickelten XML-Dialekt.

43

Page 51: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

Verarbeitung ist realisierbar, allerdings ist diese Sprache gegenüber den anderen

betrachteten Sprachen kompliziert. Die Objektorientierung ist eine Stärke von C++.

Domino-Zugriff

HTTP-Kommuni-

kation

Atom-Verarbeitung

Simplizität Objekt-orientierung

@Formel + - - + -LotusScript + o o o oC/C++ + o o - +Java + + + o +

Tabelle 5: Bewertung der verfügbaren Programmiersprachen

Seit der Version 4.6138 kann in Domino auch die Sprache Java139 eingesetzt werden.

Java ist rein objektorientiert und bietet ausgereifte Konstrukte wie abstrakte Klassen,

Interfaces, Polymorphie, etc. Der Zugriff auf Domino-Objekte ist zu den Möglichkeiten

in C++ oder LotusScript äquivalent. Die Klassen zur HTTP-Kommunikation sind

umfangreich und bieten viele Möglichkeiten bei gleichzeitigem Komfort. Die

Verarbeitung von Atom-Feeds ist ohne zusätzliche Hilfsmittel möglich, diese

Möglichkeiten können aber durch den Einsatz von Abdera140 erweitert werden.

Basierend auf den bewerteten Kriterien ist Java die beste Programmiersprache zur

Erstellung einer Schnittstelle zu Connections unter Domino.

3.5 Analyse der Integrationsszenarien

3.5.1 In SkiP vorhandene Informationen

Die Anwendung „SkiP“ speichert Bewertungsprofile, die jeweils einer bestimmten

Person zugeordnet sind. Der Großteil der Information bezieht sich auf die Bewertung

vorgegebener, in Gruppen zusammengefasster Skills. Neben der eigentlichen

Bewertung können in Freitextfeldern Kommentare oder Beschreibungen hinterlegt

werden.

138 Die Entwicklung von Java innerhalb der Entwicklungsumgebung ist erst seit Version 5.0 möglich. 139 Neben Knäpper, M.; Donskoj, M. (2007), S. 557-692 erläutert Eckert, T. (2006) umfassend die Ver-

wendung von Java in IBM Lotus Domino. Eine generelle Einführung in die Programmiersprache Java gibt Ullenboom, C. (2007).

140 Abdera wurde bereits in Kapitel 3.3.4 näher beschrieben.

44

Page 52: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

3.5.1.1 Vom Skill-Profil zur PersonDie Skill-Profile in SkiP sind eindeutig einer Person zugeordnet. Die Benutzer-

verwaltung erfolgt dabei durch IBM Lotus Domino, der technischen Plattform, auf der

SkiP entwickelt wurde. Die E-Mailadresse des jeweiligen Benutzers wird, sofern im

Domino-Kontext vorhanden, automatisch im Profil hinterlegt.

Über diese E-Mailadresse lässt sich eine Person auch in den Anwendungen von

Connections identifizieren. Inhalte in Connections können also über das gemeinsame

Merkmal „E-Mailadresse“ den Informationen in SkiP zugeordnet werden. Voraus-

setzung hierfür ist, dass die E-Mailadressen in beiden Systemen übereinstimmen.

3.5.1.2 Von der Skill-Bewertung zum TagDurch die Bewertung der einzelnen Skills werden diese gewichtet. Die Bewertung

erfolgt auf einer Skala von 0 (exzellent) bis 5 (mangelhaft). Interessant sind dabei die

besonders hoch (bspw. 0 oder 1) oder besonders niedrig (bspw. 4 oder 5) bewerteten

Skills:

• Zu Themen, deren Skills für eine Person besonders hoch bewertet sind, kann

diese Person offenbar anderen weiterhelfen:

Sie kann Informationen anbieten.

• Auf der anderen Seite bedarf eine Person zu Themen, deren Skills für sie

besonders niedrig bewertet sind, Hilfestellung durch andere:

Sie hat einen Informationsbedarf.

In der Anwendung „SkiP“ sind den einzelnen Skills bereits Schlüsselwörter zugeordnet,

so dass sich diese Schlüsselwörter durch die Bewertungen zu zwei Gruppen verdichten

lassen:

Die erste Gruppe kennzeichnet die Themengebiete, in denen die Person als

Informationsanbieter auftreten kann. Die zweite Gruppe kennzeichnet hingegen die

Themen, bei denen die Person einen Informationsbedarf hat.

Diese Schlüsselwörter können wie Tags141 behandelt werden, auch wenn diese nicht

(direkt) vom Benutzer vergeben werden.

141 Vergl. Kapitel 2.2.4

45

Page 53: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

Ausgehend von diesen Tags können Informationen in Anwendungen von Connections

zugeordnet werden. Das setzt voraus, dass die in Connections verwendeten Tags mit

den in SkiP verwendeten übereinstimmen.

3.5.2 Arten von Integrationsszenarien

Ein Integrationsszenario, das wie in diesem Fall von einer Anwendung ausgehen soll,

kann prinzipiell zwei Richtungen des Informationsaustausches haben. Entweder werden

Informationen in einer anderen Anwendung veröffentlicht oder aber Informationen aus

einer anderen Anwendung herausgesucht.

3.5.2.1 Szenarien zur Informationsveröffentlichung in ConnectionsWie in Kapitel 2.1.2 bereits beschrieben, haben automatisierte Skill-Management-

Systeme das Problem der Datenaktualität und -pflege. Genau hier könnten Szenarien der

Veröffentlichung von Informationen in Connections ansetzen.

Die Informationen, die veröffentlicht werden können, sind die aus den Bewertungen

gewonnen Tags142. Somit sind grundsätzlich die folgenden zwei Varianten möglich:

• Veröffentlichung als Informationsquelle

Diese Veröffentlichung der Information dient dazu, anderen Benutzern die

Suche nach einer solchen zu erleichtern bzw. überhaupt zu ermöglichen:

Der Benutzer weist sich als Experte aus.

• Veröffentlichung als Informationsbedarf

Werden Informationen als Informationsbedarf veröffentlicht, so möchte der

Benutzer andere animieren ihm zu helfen:

Er weist sich als Fragender aus.

Es können auch noch weitere Informationen (bspw. könnten Aktivitäten oder

Diskussionsbeiträge zu freien Themen erstellt werden) veröffentlicht werden. Diese

stehen aber nicht im direkten Zusammenhang mit der Anwendung SkiP und den dort

verarbeiteten Informationen143 und werden hier daher nicht betrachtet.

142 Vergl. Kapitel 3.5.1.2143 Vergl. Kapitel 3.5.1

46

Page 54: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

3.5.2.2 Szenarien zur Suche von Informationen in ConnectionsBei der Suche nach Informationen in Connections werden ebenfalls die aus den

Bewertungen gewonnen Tags zugrunde gelegt. Auch hier ergeben sich somit zwei

verschiedene Varianten:

• Suche nach Information zur Informationsabgabe

Eine Suche mit den positiv bewerteten Tags liefert Ergebnisse, zu denen der

Benutzer etwas beitragen kann.

• Suche nach Informationen zur Informationsbeschaffung

Bei der Suche mit den negativ bewerteten Tags werden Ergebnisse geliefert, bei

denen sich der Benutzer informieren kann.

3.5.3 Integrationsszenarien mit Connections

Auf der Basis der ermittelten Arten von Integrationsszenarien können für jede der

Anwendungen von Connections entsprechende Szenarien aufgestellt werden.

Zur Bewertung der einzelnen Szenarien werden die Kriterien Praxisnutzen/-relevanz,

Vollständigkeit der Datenbasis und Allgemeingültigkeit (siehe Tabelle 6) herangezogen.

Die Bewertung der Kriterien erfolgt dabei mittels einer einfachen Skala mit der

Einteilung in + (gut), o (neutral), - (schlecht).

Die Bewertung der Szenarien erfolgt getrennt nach den einzelnen Anwendungen. Dies

geschieht vor dem Hintergrund der exemplarischen Umsetzung von mindestens einem

Szenario je Anwendung. Basierend auf der Bewertung wird je Anwendung ein

besonders gut geeignetes Szenario zur weiteren Betrachtung ausgewählt.

Kriterium BeschreibungPraxisnutzen/-relevanz

Wie sehr kann das Szenario in der Praxis einen relevanten Nutzen er-bringen? Je größer der Nutzen, desto höher ist die erwartete Akzep-tanz und umso besser ist das Szenario geeignet.

Datenbasisvollständig

In wie fern werden zusätzliche (Konfigurations-)Daten benötigt? Je weniger zusätzliche Daten gepflegt werden müssen, umso besser.

Allgemein-gültigkeit

Wie allgemeingültig lässt sich das Szenario anwenden und von wel-chen speziellen Rahmenbedingungen ist es abhängig? Je allgemeiner ein Szenario anwendbar ist, umso besser.

Tabelle 6: Bewertungskriterien für Integrationsszenarien

47

Page 55: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

3.5.3.1 Integrationsszenarien mit ProfilesIn Profiles existiert für jeden Benutzer genau ein entsprechendes Profil. Daher können

hier keine neuen Profile eingestellt, sondern nur bestehende Profile aktualisiert werden.

Szenario BeschreibungVeröffentlichung als Informationsquelle

Veröffentlichung der Themen (Tags), zu denen der Benutzer als Informationsquelle dienen kann.

Veröffentlichung als Informationsbedarf

Veröffentlichung der Themen (Tags), zu denen der Benutzer Informationsbedarf hat.

Suche zur Abgabe von Informationen

Suche nach anderen Benutzern, die zu den selben Themen Experte sind.

Suche zur Beschaffung von Informationen

Suche nach einem Experten zu einem Thema, in dem der Benutzer Informationsbedarf hat.

Tabelle 7: Profiles: Integrationsszenarien

Die Veröffentlichung von Informationen bezieht sich also auf die Aktualisierung der

Profilinformationen. Hier besteht die Möglichkeit, den Bereich der Informationsquelle

oder den des Informationsbedarfes zu kennzeichnen (vergl. Tabelle 7).

In Web 2.0-Anwendungen werden Inhalte mit Tags gekennzeichnet, die Attribute dieses

Inhalts sind144. Daher hat es keinen Praxisnutzen, ein Profil mit Tags zu kennzeichnen,

für die die entsprechende Person einen Informationsbedarf hat. Als Daten für die beiden

Szenarien zur Veröffentlichung sind nur die entsprechenden Tags notwendig und somit

ist die Datenbasis vollständig vorhanden. Auch eine allgemeingültige Umsetzung ist

möglich, da die Tags der Profile ein vorgegebenes Attribut eines Profils sind.

Szenario Praxisnähe DatenbasisAllgemein-gültigkeit

Veröffentlichung als Informationsquelle + + +

Veröffentlichung als Informationsbedarf - + +

Suche zur Abgabe von Informationen + + +

Suche zur Beschaffung von Informationen + + +

Tabelle 8: Profiles: Bewertung der Integrationsszenarien

144 Vergl. Kapitel 2.2.4

48

Page 56: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

Die Suche nach Profilen kann aus zwei verschiedenen Gründen erfolgen: Suche nach

ähnlichen Experten zum Zweck des gemeinsamen Austausches oder Suche nach

Experten, die auf einem bestimmten Gebiet weiterhelfen können. Grundlage für eine

solche Suche wären jeweils die aus den Bewertungen ermittelten Tags. Im ersten Fall

würden die Tags der hoch bewerteten Skills, im zweiten Fall die der niedrig bewerteten

Skills verwendet. Beide Szenarien sind praxisnah, die Datenbasis ist vollständig und die

Allgemeingültigkeit ist dadurch gegeben, dass nur die Tags verwendet werden.

Drei der möglichen Szenarien bieten sich für eine Umsetzung an (vergl. Tabelle 8,

S. 48). Da in SkiP Informationen generiert werden, ist das Szenario „Veröffentlichung

von Profilinformationen als Informationsquelle“ am Besten für die weiteren

Betrachtungen geeignet.

Da die Szenarien zur Suche von Informationen ebenfalls durchweg positiv bewertet

wurden, sollten diese zusätzlich für eine Implementierung in Betracht gezogen werden.

Somit wird dem Benutzer auch sofort der Nutzen der Aktualisierung seines Profils

bewusst.

3.5.3.2 Integrationsszenarien mit CommunitiesIn der Anwendung Communities müssen die Szenarien differenzierter betrachtet

werden. Ein Benutzer kann sowohl eine Community, als auch einen Beitrag in einer

Community veröffentlichen bzw. suchen (vergl. Tabelle 9, S. 50).

Die Erstellung einer Community zu einem Thema, bei dem der Benutzer ein Experte ist,

ist sinnvoll. Er kann dort andere, gleichgesinnte Benutzer einladen und sich mit Ihnen

austauschen. Allerdings ist es nicht sinnvoll, für jedes Thema eine neue Community zu

eröffnen, da eine ähnliche bereits vorhanden sein könnte.

Für das Erstellen einer Community fehlen weitergehende Informationen (Beschreibung,

Titel etc.), die per Abfrage oder Konfiguration hinzugefügt werden müssen.

Ähnlich ist die Erstellung einer Community zu einem Informationsbedarf. Hier kommt

allerdings hinzu, dass anfangs noch keine Experten vorhanden sind. Diese müssten also

die Community selbst finden, oder über andere Mechanismen hinzugefügt werden.

49

Page 57: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

Je nachdem, wie Communities im Unternehmen genutzt werden, kann es sinnvoll sein

eine Community als Informationsquelle oder zu einem Informationsbedarf zu eröffnen.

Eine allgemeingültige Entscheidung kann hier nicht getroffen werden.

Szenario BeschreibungVeröffentlichung als Informationsquelle

Erstellen einer Community (oder eines Diskussionsbeitrags), in der der Benutzer als Informationsquelle auftritt.

Veröffentlichung als Informationsbedarf

Erstellen einer Community (oder eines Diskussionsbeitrags), in der der Benutzer seinen Informationsbedarf beschreibt.

Suche zur Abgabe von Informationen

Suche nach einer Community (oder eines Diskussionsbei-trags), in der der Benutzer Informationen beisteuern kann.

Suche zur Beschaffung von Informationen

Suche nach einer Community (oder eines Diskussionsbei-trags), in der der Benutzer Informationen recherchieren kann.

Tabelle 9: Communities: Integrationsszenarien

Die Erstellung eines Diskussionsbeitrages in einer Community ist für den Fall, dass der

Benutzer Informationsquelle ist sinnvoll. Aber auch hier fehlen zusätzliche Daten (Titel,

Text, etc.) und, viel wichtiger, die entsprechende Community muss bekannt sein und

auch von anderen Benutzern genutzt werden. Damit fehlt die Datenbasis für dieses

Szenario. Eine allgemeingültige Realisierung ist ebenfalls vor dem Hintergrund der

Nutzungskultur von Communities nicht möglich.

Um bei einem Informationsbedarf einen sinnvollen Diskussionsbeitrag erstellen zu

können fehlen ähnliche Daten (Titel, Text). Auch ist die entsprechende Community

nicht ohne Konfiguration bekannt und somit die Allgemeingültigkeit nicht gegeben

(vergl. Tabelle 10, S. 51).

Die Suche nach einer Community oder einem Diskussionsbeitrag kann einem Benutzer

Zugang zu neuen Erkenntnissen und Kontakten verschaffen. Dies ist sowohl für den

Fall „Informationsquelle“, als auch für den Fall „Informationsbedarf“ sinnvoll.

Die für die Suche notwendigen Tags sind vorhanden und das Szenario zur Suche nach

Communities ist allgemeingültig realisierbar.

Die Suche nach Diskussionsbeiträgen gestaltet sich allerdings schwieriger, da diese

nicht einzeln per Tag verschlagwortet werden können. Einzig eine Volltextsuche bliebe

50

Page 58: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

als Möglichkeit Beiträge zu finden. Hier müssen die Suchkriterien (Tags) aber auch im

entsprechenden Beitragstext vorkommen, damit die Suche Erfolg hat.

Somit ist Datenbasis für dieses Szenario nicht vollständig und damit auch die

allgemeingültige Realisierbarkeit nicht in der Form gegeben, wie es bei der Suche nach

Communities der Fall ist.

Szenario Praxisnähe DatenbasisAllgemein-gültigkeit

Veröffentlichung als Informationsquelle + / + o / - o / -

Veröffentlichung als Informationsbedarf - / o o / - o / -

Suche zur Abgabe von Informationen + / + + / o + / o

Suche zur Beschaffung von Informationen + / + + / o + / o

Bewertung: Community / Beitrag in Community

Tabelle 10: Communities: Bewertung der Integrationsszenarien

Durch Bewertung der Kriterien ergibt sich, dass sowohl die Suche nach Communities

für die Informationsabgabe, als auch für die Informationsbeschaffung sinnvoll für die

weitere Betrachtung sind.

3.5.3.3 Integrationsszenarien mit BlogsIn der Anwendung Blogs müssen die Szenarien analog zur Anwendung Communities

differenziert nach Blog und Blogeinträgen betrachtet werden (vergl. Tabelle 11).

Szenario BeschreibungVeröffentlichung als Informationsquelle

Erstellen eines Blogs (oder eines Blogeintrags), in dem der Benutzer als Informationsquelle auftritt.

Veröffentlichung als Informationsbedarf

Erstellen eines Blogs (oder eines Blogeintrags), in dem der Benutzer seinen Informationsbedarf beschreibt.

Suche zur Abgabe von Informationen

Suche nach einem Blog (oder einem Blogeintrag), in dem der Benutzer Informationen beisteuern kann.

Suche zur Beschaffung von Informationen

Suche nach einem Blog (oder einem Blogeintrag), in dem der Benutzer Informationen recherchieren kann.

Tabelle 11: Blogs: Integrationsszenarien

51

Page 59: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

Möchte ein Benutzer über ein bestimmtes Thema, in dem er Experte ist, berichten, so ist

die Erstellung eines Blogs durchaus sinnvoll. Die Erstellung eines neuen Blogs für jedes

neue Thema ergibt hingegen vor dem Hintergrund, dass dieser Blog von nur einem

Autor bearbeitet und von den Lesern maximal kommentiert wird keinen Sinn145.

Blogs können nicht wie Communities für Autoren öffentlich zugänglich sein. Die

Erstellung eines Blogs zu einem Informationsbedarf ist daher nicht sinnvoll.

Bei der Erstellung eines Blogs fehlen wie bei den Communities die weitergehenden

Informationen (Titel, Beschreibung, etc.). Dies widerspricht zudem einer allgemein-

gültigen Implementierung (vergl. Tabelle 12).

Szenario Praxisnähe DatenbasisAllgemein-gültigkeit

Veröffentlichung als Informationsquelle o / + o / - o / -

Veröffentlichung als Informationsbedarf - / o o / - o / -

Suche zur Abgabe von Informationen + / + + / + + / +

Suche zur Beschaffung von Informationen + / + + / + + / +

Bewertung: Blog / Blogeintrag

Tabelle 12: Blogs: Bewertung der Integrationsszenarien

Die Erstellung eines Blogeintrags ist sinnvoll für den Fall, dass der Benutzer

Informationsquelle ist.

Die Veröffentlichung eines Blogeintrags im Falle des Informationsbedarfs ist aufgrund

der Restriktionen bzgl. der Möglichkeiten zur Interaktion anderer Benutzer weniger

sinnvoll.

In beiden Fällen fehlen aber zusätzliche Daten (Titel, Text, etc.) und, analog zu den

Communities, muss der Blog, in dem veröffentlicht werden soll, bekannt sein und auch

von anderen Benutzern genutzt werden. Daher ist dieses Szenario nicht allgemeingültig

realisierbar.

145 Vergl. auch Kapitel 2.2.6.3

52

Page 60: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

Auch bei der Suche sind viele Parallelen zu den Communities zu finden: Die Suche

nach einem Blog/Blogeintrag kann einem Benutzer Zugang zu neuen Erkenntnissen und

Kontakten verschaffen. Auch hier ist das für beide Fälle (Informationsabgabe /

Informationsbeschaffung) sinnvoll. Die für die Suche notwendigen Tags sind vorhanden

und das Szenario ist allgemeingültig.

Im Gegensatz zu den Diskussionsbeiträgen sind Blogeinträge separat per Tag

verschlagwortet. Daher können auch einzelne Blogeinträge ebenso sinnvoll wie ganze

Blogs gesucht werden.

Wiederum sind es die Szenarien der Informationssuche, die nach Anwendung der

Bewertungskriterien für eine Umsetzung weiter untersucht werden müssen. Dabei ist

die Suche nach Blogeinträgen zu bevorzugen, da der Benutzer direkt Informationen zum

gesuchten Thema erhält.

3.5.3.4 Integrationsszenarien mit DogearDie in SkiP verarbeiteten Informationen umfassen keinerlei Verweise, die als

Lesezeichen in Dogear veröffentlicht werden könnten. Daher werden diese Szenarien

nicht weiter betrachtet (vergl. Tabelle 13).

Szenario BeschreibungVeröffentlichung als Informationsquelle

- (Kein Verweisziel vorhanden)

Veröffentlichung als Informationsbedarf

- (Kein Verweisziel vorhanden)

Suche zur Abgabe von Informationen

Suche nach einem Verweis auf eine Web-Seite, in die sich der Benutzer als Experte einbringen kann.

Suche zur Beschaffung von Informationen

Suche nach einem Verweis zu Informationen, die der Benut-zer verwenden kann.

Tabelle 13: Dogear: Integrationsszenarien

Da Lesezeichen mit Tags verschlagwortet werden, können Sie über die aus den

Bewertungen ermittelten Tags gesucht werden. Die Suche nach einem Lesezeichen zur

Informationsabgabe ist jedoch nicht sinnvoll. Für diesen Einsatzzweck sollten

Communities gesucht werden. Zur Informationsbeschaffung ist eine Suche nach

Lesezeichen jedoch gut geeignet (vergl. Tabelle 14, S. 54).

53

Page 61: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

Szenario Praxisnähe DatenbasisAllgemein-gültigkeit

Veröffentlichung als Informationsquelle ohne Bewertung ohne Bewertung ohne Bewertung

Veröffentlichung als Informationsbedarf ohne Bewertung ohne Bewertung ohne Bewertung

Suche zur Abgabe von Informationen o + +

Suche zur Beschaffung von Informationen + + +

Tabelle 14: Dogear: Bewertung der Integrationsszenarien

Als geeignetes Szenario wurde durch die Anwendung der Bewertungskriterien das

Szenario „Suche von Lesezeichen zur Informationsbeschaffung“ identifiziert.

3.5.3.5 Integrationsszenarien mit ActivitiesAktivitäten in Activities scheinen zunächst ähnlich wie Einträge in Communities oder

Blogs zu sein (vergl. Tabelle 15). Sinn und Zweck, die sich hinter Aktivitäten verbergen

sind aber Andere: Aktivitäten bündeln verschiedene Informationen im Zusammenhang

mit einer Aktivität, sie ähneln einer Aufgabenverwaltung.

Szenario BeschreibungVeröffentlichung als Informationsquelle

Erstellen einer Aktivität (oder eines Eintrags) zur Nutzung als Informationsquelle.

Veröffentlichung als Informationsbedarf

Erstellen einer Aktivität (oder eines Eintrags) zur Deckung seines Informationsbedarfs.

Suche zur Abgabe von Informationen

Suche nach einer Aktivität (oder einem Eintrag), in der der Benutzer Informationen beisteuern kann.

Suche zur Beschaffung von Informationen

Suche nach einer Aktivität (oder einem Eintrag), in der der Benutzer Informationen recherchieren kann.

Tabelle 15: Activities: Integrationsszenarien

Die Erstellung einer Aktivität zur Nutzung als Informationsquelle durch den Benutzers

ist nicht sehr praxisnah, da anderen Benutzern (Experten) die Aufgabe zur

Informationsbeschaffung zugewiesen werden müsste.

Die Erstellung einer Aktivität zur Deckung eines Informationsbedarfs hingegen ist

sinnvoll. Hier könnte der Benutzer bspw. alle Aktionen dokumentieren, die er zur Suche

und Teilnahme an einer geeigneten Schulung vollziehen muss.

54

Page 62: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

Allerdings fehlen für die Szenarien der Veröffentlichung Informationen in SkiP, bspw.

der Aktivitätstext, der Inhalt der Aktivität, weitere Mitglieder etc. so dass eine

allgemeingültige Realisierung schwer möglich ist (vergl. Tabelle 16).

Zur Deckung eines Informationsbedarfs hat die Erstellung einer Aufgabe in einer

Aktivität eine gewisse Praxisnähe, da der Benutzer sich selbst eine solche Aufgabe

zuweisen könnte.

Eine Aufgabe in einer Aktivität als Informationsquelle zu erstellen hat ohne die

Kenntnis einer bestimmten Aktivität keinerlei Praxisnutzen.

In beiden Fällen gilt, dass die Veröffentlichung einzelner Aufgaben eine bekannte

Aktivität erfordert und analog zu Communities und Blogs zusätzliche Konfiguration

(Titel, Inhalt, etc.) notwendig ist.

Dieses Szenarien sind sehr speziell, da ein Mitarbeiter auch eine passende Aktivität für

die Aufgabe bereithalten muss. Somit ist eine Allgemeingültigkeit nicht gegeben.

Szenario Praxisnähe DatenbasisAllgemein-gültigkeit

Veröffentlichung als Informationsquelle o / - o / - o / -

Veröffentlichung als Informationsbedarf + / o o / - o / -

Suche zur Abgabe von Informationen o / - + / + + / +

Suche zur Beschaffung von Informationen + / o + / + + / +

Bewertung: Aktivität / Aufgabe in Aktivität

Tabelle 16: Activities: Bewertung der Integrationsszenarien

Die Suche nach Aktivitäten zur Informationsabgabe ist ein durchaus denkbares

Szenario, näher an der Praxis liegt aber das Szenario der Suche nach „Aktivitäten zur

Informationsbeschaffung“: Diese Suche könnte bspw. dazu dienen von den Erfahrungen

anderer zu partizipieren oder gemeinsam mit anderen eine Aktivität zur Informations-

beschaffung durchzuführen.

Die Daten zur Suche sind vorhanden (Tags) und auch die Allgemeingültigkeit ist

gegeben.

55

Page 63: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

3 Konzeption der Schnittstelle

Die Suche nach einzelnen Aufgaben ist von den Kriterien Datenbasis und

Allgemeingültigkeit positiv zu bewerten. Allerdings ist es in der Praxis eher relevant,

nach einer ganzen Aktivität, als nach einem Teil einer solchen zu suchen. Sind

Aufgaben zur Weiterbildung aber bspw. in einer einzelnen Aktivität zusammengefasst,

ist auch die Suche nach einzelnen Aufgaben sinnvoll. Gleichwohl schränkt diese

Voraussetzung die Allgemeingültigkeit stark ein.

Bei Betrachtung der Bewertungen ergibt sich für die Anwendung Aktivitäten die

„Suche von Aktivitäten zur Informationsbeschaffung“ als geeignetes Szenario.

3.5.4 Integrationsszenarien für die Implementierung

Die Szenarien zur Implementierung wurden durch die Betrachtung der einzelnen

Anwendungen und die Bewertung der identifizierten Szenarien ausgewählt.

Die Szenarien zur Suche von Informationen in Connections überwiegen. Da der

Umfang der in SkiP gespeicherten Daten relativ gering ist, überrascht das nicht.

Die Ausnahme bildet die Anwendung Profiles, die mit Daten versorgt werden kann.

• Profiles

Aktualisierung der Tags des eigenen Profils

Suche nach Profiles zur Informationsabgabe/-beschaffung

• Communities

Suche nach Communities zur Informationsabgabe/-beschaffung

• Blogs

Suche nach Blogeinträgen zur Informationsabgabe/-beschaffung

• Dogear

Suche nach Lesezeichen zur Informationsabgabe/-beschaffung

• Activities

Suche nach Aktivitäten zur Informationsabgabe/-beschaffung

56

Page 64: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

4 Implementierung der Schnittstelle

4 Implementierung der Schnittstelle

Die in Kapitel 3 beschriebenen Integrationsszenarien werden mittels der Programmier-

sprache Java und dem Framework Abdera146 auf der Domino-Plattform realisiert.

Die Implementierung einer Schnittstelle erfordert zunächst Überlegungen im Bezug auf

die Architektur, damit das Ergebnis sicher, tragfähig und zukunftsorientiert ist.

Die Programmiersprache Java ist objektorientiert. Zur Planung der Implementierung

wird daher das Klassendiagramm aufgestellt und erläutert.

Letztlich wird die beispielhafte Integration der Schnittstelle in das bestehende Benutzer-

interface der Anwendung SkiP untersucht.

4.1 Architektur der Schnittstelle

4.1.1 Vorüberlegungen

4.1.1.1 Integration in das bestehende Web-InterfaceDie Anwendung SkiP existiert bereits und wird über ein Web-Interface in einem

Browser bedient. Die neue Schnittstelle muss in dieses Interface integrierbar sein, ohne

große Änderungen an der bestehenden Anwendung zu erfordern. In einer Web-

Anwendung sind die technischen Möglichkeiten, gerade im Bezug auf die Integration

zweier Systeme, auf Webtechnologien wie URL-Aufrufe, JavaScript, etc. beschränkt.

Für die meisten der in Kapitel 3.5.3 aufgezeigten Szenarien ist die Anzeige der

Ergebnisse ausreichend. Suchresultate müssen bspw. nicht gespeichert werden, da diese

an Aktualität verlieren. Die Schnittstelle kann in einem solchen Fall direkt die

Darstellung der Suchergebnisse als Web-Seite zurückliefern.

Bei der Veröffentlichung von Informationen, bei der bestehende Objekte aktualisiert

werden ist ebenfalls der Aufruf einer URL ausreichend. Statt Suchergebnissen kann in

diesem Fall eine Bestätigung oder eine Fehlermeldung angezeigt werden.

146 Eine Anleitung zur Installation von Abdera wird im Anhang in Kapitel 7.2 gegeben.

57

Page 65: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

4 Implementierung der Schnittstelle

In einer Anwendung auf einem Domino-Server können über den Aufruf einer URL

auch Programmroutinen aufgerufen werden. Diese Programmroutinen werden

Agenten147 genannt und über die URL können zusätzliche Parameter übergeben werden.

Die Ausgaben eines Agenten, der über eine URL aufgerufen wird, kann direkt im

Browser angezeigt werden.

In Szenarien, in denen Informationen in die ursprüngliche Anwendung zurückfließen

sollen, ist ein Aufruf der Schnittstelle über eine URL ebenfalls ausreichend. Allerdings

muss eine Referenz auf das ursprüngliche Objekt mitgegeben werden, damit hier

Informationen ergänzt werden können. Da in SkiP keine Informationen verändert

werden dürfen148, kommt hier lediglich die Erstellung zugeordneter Informationsobjekte

in Frage, die im Kontext der Skill-Profile angezeigt werden.

4.1.1.2 FlexibilitätDie Funktionen der Schnittstelle können auch außerhalb von SkiP nutzbar gemacht

werden. Durch den Aufruf der Schnittstelle über eine URL mit entsprechenden

Parametern ist dies leicht zu gewährleisten. Die einfachen Such-Szenarien können ohne

großen Aufwand in andere Anwendungen übernommen werden.

Für Szenarien mit Rückfluss von Informationen in die ursprüngliche Anwendung muss

diese mit den zurückgelieferten Daten umgehen können. Dies bedeutet, dass

entsprechende Anpassungen in der jeweiligen Anwendung vorzunehmen sind.

4.1.1.3 Komfort- und SicherheitsaspekteFür den Zugriff auf Connections muss sich der Benutzer authentifizieren. Damit dies

nicht wiederholt durch den Benutzer erfolgen muss, werden die Authentifizierungs-

informationen der Benutzer in einem sicheren Container hinterlegt. Damit wird

ebenfalls vermieden, dass die Angaben häufiger als notwendig über das Netzwerk

übertragen werden müssen. Jeder Benutzer darf nur Zugriff auf sein Passwort haben und

muss die Möglichkeit bekommen, dieses auch zu ändern.

Die Schnittstelle darf nur von legitimen Benutzern des Domino-Servers verwendet

werden. Der Benutzer muss sich also mit seinen Login-Informationen gegenüber dem

Domino-Server authentifizieren. Dies ist bereits der Fall, da der Benutzer sich für den

147 Vergl. Knäpper, M.; Donskoj, M. (2007), S. 345-370 148 Siehe Kapitel 3.1

58

Page 66: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

4 Implementierung der Schnittstelle

Zugriff auf SkiP ebenfalls am Domino-Server anmelden muss. Alle Aktionen der

Schnittstellenkomponente erfolgen „im Namen“ des Benutzers, d. h. alle Operationen

erfolgen mit seinen Rechten und werden, technisch gesehen, von ihm durchgeführt.

Der Datentransfer zwischen Anwendung und Schnittstellenkomponente erfolgt

innerhalb des Firmennetzwerks. Es ist im Einzelfall abzuwägen, ob eine sichere

HTTPS-Verbindung notwendig ist. Die Daten, die nach Connections übertragen

werden, oder von Connections gelesen werden sind gewöhnlich offen zugänglich. Eine

Absicherung der Verbindung ist also Ermessenssache.

4.1.2 Schematische Architektur

Der Aufruf der Schnittstelle über eine URL mit Parametern ist komfortabel, sicher und

bietet zudem eine große Flexibilität im Hinblick auf die Anbindung weiterer

Anwendungen, weil die eigentlichen Schnittstellenfunktionen in eine separate

Komponente, hier „ConnectionsGateway“ genannt, ausgelagert werden können (siehe

Abbildung 15).

Abbildung 15: Implementierung der Schnittstelle als eigenständige Komponente

Aufbauend auf diesem Schema ergeben sich zwei verschiedene Abläufe.

4.1.2.1 Schematischer Ablauf „Suchanfrage“Bei einer Suchanfrage werden Informationen von Connections abgefragt. Die

Ergebnisse müssen aufbereitet und dem Benutzer präsentiert werden.

Der Ablauf ist in Abbildung 16 auf S. 60 schematisch dargestellt. Der Benutzer bedient

die Anwendung SkiP in seinem Browser. Durch den Aufruf bestimmter URLs wird

ein neues Browser-Fenster geöffnet und die Anfrage-Parameter an die

Schnittstellenkomponente „Connections Gateway“ gesendet . Diese kommuniziert via

59

Connections ServerDomino Server

SkiP ConnectionsAnfrage

AntwortConnections

Gateway

Page 67: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

4 Implementierung der Schnittstelle

Atom Publishing Protocol mit dem API von Connections . Das Ergebnis wird als

HTML aufbereitet und zur Darstellung zurück an das zuvor erstellte Browser-Fenster

geliefert .

Abbildung 16: Schematischer Ablauf „Suchanfrage“

4.1.2.2 Schematischer Ablauf „Informationsrückfluss“Sollen die Ergebnisse nicht nur dargestellt, sondern auch in der ursprünglichen

Anwendung gespeichert werden, unterscheidet sich der Ablauf:

Abbildung 17: Schematischer Ablauf „Informationsrückfluss“

60

Benutzer

Domino Server Connections Server

Browser URLneues

Browser-fenster

SkiP ConnectionsGateway

ConnectionsAtomPub

AtomPub

API

Para

met

er

HTM

L

HTML

Benutzer

Domino Server Connections Server

Browser

URL

SkiP

API

HTML

URL

Connections

Domino

ConnectionsGateway AtomPub

AtomPub

Page 68: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

4 Implementierung der Schnittstelle

Der Benutzer bedient auch in diesem Szenario SkiP in seinem Browser (siehe

Abbildung 17, S. 60). Der Aufruf einer bestimmten URL erfolgt aber nicht in einem

separaten Browser-Fenster. Auch hier werden mit der URL die Anfrage-Parameter an

die Schnittstellenkomponente „Connections Gateway“ übertragen . Die Kommuni-

kation zwischen der Komponente und Connections erfolgt per Atom Publishing

Protocol . Die Ergebnisse werden in der ursprünglichen Anwendung gespeichert .

Hierzu müssen zusätzliche Angaben als Anfrage-Parameter übergeben werden, damit

die Schnittstellenkomponente die Ergebnisse korrekt zuordnen kann. Schließlich wird

im ursprünglichen Browser-Fenster eine URL neu geladen, damit die Ergebnisse auch

für den Benutzer sichtbar werden .

4.2 Das Klassendiagramm

Im Mittelpunkt der Implementierung steht die Klasse ConnectionsAccess. Dieser Klasse

sind bis zu fünf von der abstrakten Klasse AbstractAccess abgeleitete Klassen

zugeordnet. Diese Klassen verfügen über die Klassen des Frameworks Abdera (siehe

Abbildung 18, links). Die Klasse ConnectionsAccess selbst verfügt über Klassen, die

die Konfigurationsdaten speichern (siehe Abbildung 18, rechts).

Abbildung 18: Klassendiagramm

61

1

1

1

1

AbstractAccess{abstract}

<<Interface>>Configuration

<<Interface>>CredentialsAbderaClient

Abdera

1

1

1

*

ConnectionAccess

1

1

5 1

Page 69: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

4 Implementierung der Schnittstelle

Die Klassen des Frameworks Abdera werden von der Klasse AbstractAccess selbst

erzeugt. Die Konfigurationsklassen Configuration und Credentials müssen dem

Konstruktor der Klasse ConnectionsAccess mitgegeben werden. So ist es möglich, von

den Interfaces „Configuration“ und „Credentials“ eigene Klassen abzuleiten und der

Schnittstelle zur Verfügung zu stellen.

4.2.1 Zugriff auf die Anwendungen von Connections

Die Klassen zum Zugriff auf die einzelnen Anwendungen werden von einer zentralen

abstrakten Klasse abgeleitet (siehe Abbildung 19). Die abstrakte Klasse implementiert

die Basis-Kommunikation mit Connections mittels des Frameworks Abdera. Außerdem

stellt diese Basisklasse auch noch allgemeine Zugriffsmethoden, bspw. für die Suche

per Tags, abstrakt zur Verfügung. Die abgeleiteten Klassen müssen diese dann

implementieren.

Abbildung 19: Ableitung der Zugriffsklassen

Der Vorteil der abstrakten Klasse gegenüber der Verwendung eines Interfaces liegt in

der Möglichkeit, bereits Code implementieren zu können. Dennoch kann in Java einer

Variablen mit dem Typ der abstrakten Klasse jede abgeleitete Klasse zugewiesen

werden. Dies erleichtert die Programmierung von Fallunterscheidungen beim Zugriff

auf gemeinsame Methoden.

62

AbstractAccess

AccessProfiles

AccessCommunities

AccessBlogs AccessActivities

AccessDogear

Page 70: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

4 Implementierung der Schnittstelle

Für jede der Anwendungen wird eine spezielle Klasse von der Basis-Klasse abgeleitet.

Methoden, die nur speziell für eine der Anwendungen zur Verfügung gestellt werden

können, sind in dieser Klasse implementiert. Außerdem müssen die abstrakten

Methoden der Basis-Klasse implementiert werden. Hierbei kann dann auf die

Besonderheiten der jeweiligen Anwendung, wie bspw. URL-Angaben oder die

Aufbereitung von URL-Parametern, eingegangen werden.

Die Klasse AbstractAccess stellt die folgenden Methoden zur Abfrage von Connections

Verfügung:

• getSearchAll()

Diese Methode führt eine Suchen innerhalb einer Anwendung durch. Die

Parameter der Suchanfrage müssen als URL-Parameter aufbereitet mitgegeben

werden. Die Rückgabe erfolgt als Feed.

• abstract getSearchAllByTags()

Diese Methode dient zur anwendungsspezifischen Aufbereitung spezieller

Parameter für eine Suchanfrage per Methode „getSearchAll()“ und wurde in den

abgeleiteten Klasse implementiert.

• abstract getSearchAllByEmail()

Diese Methode bereitet spezielle Parameter für eine Suchanfrage per Methode

„getSearchAll()“ anwendungsspezifisch auf. Auch diese Methode wurde in den

abgeleiteten Klassen implementiert.

• getServiceDocument()

Mit dieser Methode kann das Service-Dokument ausgelesen werden. Das

Service-Dokument ist eine Art Inhaltsverzeichnis für eine Anwendung und

enthält Verweise auf bereitgestellte Funktionen.

63

Page 71: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

4 Implementierung der Schnittstelle

Die Kommunikation mit Connections erfolgt mittels der folgenden Methoden:

• getResponse()

Mittels eines HTTP-Requests vom Typ „GET“149 wird mit Connections

kommuniziert. Diese Methode liefert eine unverarbeitete Antwort.

• getFeedDocument()

Diese Methode benutzt die Methode getResponse() um mit den gegebenen

Parametern aus der Antwort seitens Connections das „Document“, als den Text

der Antwort, zu extrahieren.

• getFeed()

Aufbauend auf der Methode getFeedDocument() interpretiert diese Methode das

gelieferte „Document“ als Feed und gibt diesen zurück.

• getCategoriesDocument()

Diese Methode dient zum abrufen eines Kategorie-Dokumentes und arbeitet

analog zur Methode getFeedDocument(). Ein solches Dokument enthält eine

Auflistung von Tags.

• getCategories()

Aufbauend auf der Methode getCategoriesDocument() interpretiert diese

Methode das gelieferte „Document“ als „Categories“ und gibt diese zurück.

• putElement()

Ähnlich wie die Methode getResponse() dient diese Funktion zum allgemeinen

Zugriff auf Connections. Allerdings erfolgt bei dieser Methode ein schreibender

und kein lesender Zugriff.

• putCategories()

Diese Methode schreibt ein Objekt vom Typ Categories an die angegebene

URL.

• updateCategories()

Diese Methode kommuniziert nicht direkt mit Connections, sondern aktualisiert

die Tags eines Objektes vom Typ Categories. Dabei wird eine mitgegebene

Menge von Tags zu den bereits gespeicherten hinzugefügt.

149 Vergl. Kapitel 3.3.3

64

Page 72: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

4 Implementierung der Schnittstelle

Zur Anpassung an die entsprechende Anwendung wurden in den abgeleiteten Klassen

jeweils die folgenden abstrakten Methoden implementiert:

• getURLBase()

Die Implementierung dieser Methode liefert die Basis-URL der Anwendung.

Alle weiteren URLs werden aufbauend auf dieser Basis-URL zusammengesetzt.

• getURLService()

Diese Methode gibt die URL zurück, unter der die entsprechende Anwendung

das Service-Dokument liefert.

• getURLSearchAll()

Die Implementierung dieser Methode ermittelt die URL, unter der die

Anwendung das Suchergebnisse über alle gespeicherten Informationen liefert.

4.2.2 Zugriff auf die Konfiguration

Für den Zugriff auf Konfigurationsdaten ist ein Interface definiert. Dieses Interface

definiert die Methoden, die die notwendigen Konfigurationswerte liefern müssen.

Abbildung 20: Ableitung der Konfigurationsklassen

65

<<Interface>>Configuration

ConfigurationGreenhouse ConfigurationConnectionsGateway

Page 73: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

4 Implementierung der Schnittstelle

Die folgenden Methoden müssen jeweils die Basis-URL der entsprechenden

Anwendung zurückliefern und werden von dem Interface „Configuration“ gefordert:

• getActivitiesUrl()

• getBlogsUrl()

• getCommunitiesUrl()

• getDogearUrl()

• getProfilesUrl()

Steht eine Anwendung nicht zur Verfügung, so liefert die entsprechende Methode einen

Leerstring zurück.

Beispielhaft wurden zwei Klassen implementiert, die wiederum das Interface

Configuration implementieren (siehe Abbildung 20, S. 65):

• ConfigurationGreenhouse

Diese Implementierung gibt die Konfigurationsdaten von Lotus Greenhouse150

zurück, ohne dass es die Möglichkeit einer Konfiguration gibt.

• ConfigurationConnectionsGateway

Diese Klasse liest die Konfigurationsdaten aus der Anwendung Connections-

Gateway aus.

Für den Einsatz in anderen Umgebungen kann das Interface in einer neuen Klasse

implementiert werden. Die Konfiguration ist somit vollständig von der

Implementierung der Schnittstelle getrennt.

4.2.3 Zugriff auf die Benutzerinformationen

Ähnlich wie bei den Konfigurationsdaten wurde auch für den Zugriff auf die Benutzer-

informationen zur Authentifizierung ein Interface definiert. Auch hier wurde die

Implementierung des Zugriffs auf die Benutzerinformationen strikt von der

Implementierung der Schnittstelle getrennt.

150 Vergl. Kapitel 3.2.2

66

Page 74: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

4 Implementierung der Schnittstelle

Abbildung 21: Ableitung der Konfigurationsklassen

Die folgenden Methoden werden von dem Interface „Credentials“ gefordert:

• getUserName()

Diese Methode muss den Benutzernamen für Connections zurückliefern. Dabei

ist wichtig, dass dies für den Benutzer, der die Funktion ausführt, geschieht.

• GetUserPassword()

Analog zur Methode getUserName() muss diese Methode das zugehörige

Passwort zurückgeben.

Beispielhaft wurden auch hier zwei Klassen implementiert, die wiederum das Interface

Credentials implementieren (siehe Abbildung 21):

• CredentialsGreenhouse

Diese Implementierung liefert fest vorgegebene Benutzerinformationen für den

Zugriff auf Lotus Greenhouse. Die im Quelltext angegebenen Informationen

sind nicht gültig.

• CredentialsConnectionsGateway

Diese Klasse liest die Benutzerinformationen aus der Anwendung

ConnectionsGateway aus und gibt sie entsprechend der Zugriffsmethoden

zurück.

67

<<Interface>>Credentials

CredentialsGreenhouse CredentialsConnectionsGateway

Page 75: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

4 Implementierung der Schnittstelle

Wenn also bereits eine Anwendung im Domino-Umfeld verfügbar ist, die die

entsprechenden Anmeldeinformationen speichert, so kann über das Interface eine

Klasse für den Zugriff auf diese Daten implementiert werden.

4.3 Beispielhafte Integration in das Benutzerinterface

Die in Kapitel 3.5.3 identifizierten Szenarien teilen sich in zwei Gruppen, die Suche

nach Informationen basierend auf Tags und die Veröffentlichung von Tags im Profil des

Benutzers.

Abbildung 22 zeigt die Integration in das bestehende Benutzerinterface151 von SkiP.

Abbildung 22: Integration der Schnittstelle in das Benutzerinterface von SkiP

151 Zum Vergleich zeigt Abbildung 6 auf S. 15 das ursprüngliche Benutzerinterface von SkiP

68

Page 76: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

4 Implementierung der Schnittstelle

Jeder einzelne Skill-Bereich ist um eine Liste von Links zur Suche in den

entsprechenden Connections Anwendungen ergänzt worden. Aus den Bewertungen der

Skills werden jeweils die besten zwei und die schlechtesten zwei ausgewählt und zur

Suche angeboten. Sind jeweils mehr als zwei gleich bewertet, so werden nur die jeweils

ersten zwei verwendet. Somit bekommt der Benutzer sowohl die Möglichkeit nach

seinen Interessen, als auch nach Informationen zur Weiterbildung zu suchen. Klickt der

Benutzer einen dieser Links an, so wird mit den entsprechenden Tags in der

Anwendung nach Informationen gesucht und die Ergebnisse werden in einem Fenster

(siehe Abbildung 23) ebenfalls als Links dargestellt. Ein Klick auf einen dieser Links

führt den Besucher direkt zu der Information.

Abbildung 23: Einblendung von Suchergebnisse aus Profiles in einem Fenster

Die Übertragung der Tags in das Profil des Benutzers erfolgt über die Aktion „Profil

aktualisieren“ (siehe Abbildung 24, S. 70, oben rechts). Ein Klick auf diese Aktion

öffnet zunächst einen Bestätigungs-Dialog (siehe Abbildung 24, S. 70), in dem

aufgelistet ist, welche Tags in das Profil übertragen würden. Bestätigt der Benutzer

diesen Dialog, werden die Informationen in das Profil der Anwendung Profiles

übertragen.

69

Page 77: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

4 Implementierung der Schnittstelle

Abbildung 24: Einblendung eines Bestätigungsdialogs vor der Datenübertragung

4.4 Bewertung der Implementierung

Mit der vorgestellten Implementierung konnten die gestellten Forderungen an die

Schnittstelle erfüllt werden.

Der organisatorischen Rahmenbedingungen zur Wahrung der Informationen in SkiP

wird in erster Linie durch die ausgewählten Szenarien Rechnung getragen. Jegliche

Aktion im Bezug auf die Schnittstelle muss vom Benutzer ausgehen. Somit ist

gewährleistet, dass das Vertrauen in das Skill-Management-System nicht vermindert

wird.

Die in Kapitel 3.5.4 ausgewählten Szenarien konnten mit der gewählten Architektur

einer separaten Schnittstellenkomponente realisiert werden. Auch konnte der Forderung

nach Flexibilität durch eine offene Parameterübergabe per URL-Aufruf nachgekommen

werden. Dieses Art des Schnittstellenaufrufs ermöglicht die Problemlose Integration in

das Benutzerinterface von SkiP und ermöglicht auch die Integration in andere

Anwendungen. Durch die Rückgabe von aufbereiteten Ergebnisinhalten muss eine

Quell-Anwendung nur wenig angepasst werden.

Im Bezug auf Sicherheitsaspekte wird die sichere Benutzer- und Anmeldungs-

verwaltung von Domino verwendet. Dies bietet dem Benutzer zudem den Komfort einer

70

Page 78: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

4 Implementierung der Schnittstelle

einmaligen Anmeldung am System, ohne dass er sich für weitere Interaktionen mit der

Schnittstelle erneut authentifizieren muss.

Die Betrachtung der Schnittstellen der einzelnen Anwendungen im Detail hat ergeben,

dass eine spezielle Implementierung der Schnittstelle je Anwendung notwendig ist, auch

wenn die technische Basis gemeinsam genutzt werden kann.

71

Page 79: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

5 Zusammenfassung und Ausblick

5 Zusammenfassung und Ausblick

5.1 Zusammenfassung

Die Berührungspunkte zwischen Skill-Management und Web 2.0-Anwendungen

werden allein schon durch die thematische Überschneidung von Expertensystemen und

der Anwendung Profiles deutlich. Auch wenn die thematischen Übereinstimmungen bei

den übrigen betrachteten Anwendungen geringer sind, so ist eine Nutzung der Web 2.0-

Anwendungen als Informationsquelle eine Bereicherung für Anwendungen des Skill-

Managements und umgekehrt.

Die Analyse der möglichen Integrationsszenarien im Kapitel 3.5 hat gezeigt, dass nicht

alle Ansätze zur Koppelung der betrachteten Systeme den selben Nutzen stiften. Eine

Integration muss auch immer neben der technischen Machbarkeit die Sinnhaftigkeit

einer Umsetzung zugrunde legen. Die ermittelten und bewerteten Szenarien basieren auf

den organisatorischen Vorgaben. Dennoch ist das Grundmuster der Informations-

veröffentlichung und der Suche nach Informationen universell anwendbar.

Die Implementierung einer Schnittstelle auf Basis des Atom Publishing Protocol wird

technisch gesehen durch die Verwendung des Frameworks Abdera vereinfacht: Die

grundlegende HTTP-Kommunikation wird bereit gestellt und auch die Verarbeitung der

zurückgelieferten Informationen gestaltet sich dank der entsprechenden Klassen als

einfach. Trotzdem ist jede anzubindende Anwendung anders und erfordert gesonderte

Behandlung. Das zeigt sich auch bei den fünf betrachteten Anwendungen, die zwar

unter einem gemeinsamen Namen und miteinander integriert vertrieben werden, sich

aber in der konkreten Implementierung der Schnittstelle jeweils unterscheiden. Dennoch

war es möglich, den Ansatz der Schnittstelle so generisch zu halten, dass auch

Erweiterungen auf künftige Anwendungen unter dem Namen Connections als auch

andere Web 2.0 Anwendungen möglich bleibt.

Die Integration in die Benutzeroberfläche bestehender Applikation kann schnell und

ohne große Eingriffe erfolgen. Eine starre Kopplung und die dadurch bedingten

Abhängigkeiten konnte aufgrund der verwendeten Web-Technologien vermieden

werden.

72

Page 80: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

5 Zusammenfassung und Ausblick

5.2 Ausblick

Die vorgestellte Schnittstelle kann ohne weitere Anpassung genutzt werden. Allerdings

sind viele interessante Erweiterungsmöglichkeiten denkbar. Im Kapitel 3.5 wurden weit

mehr Integrationsszenarien vorgestellt und bewertet, als exemplarisch im Rahmen

dieser Arbeit umgesetzt werden konnten. Die Aufstellungen und Bewertungen dieser

Szenarien helfen bei der Auswahl künftiger Erweiterungen.

Natürlich sind auch Szenarien außerhalb des Fokus des einzelnen Mitarbeiters denkbar.

Diese Szenarien wurden hier nicht betrachtet. Ein Beispiel wären Integrationsszenarien

für Vorgesetzte, die für eine Gruppe von Mitarbeitern bspw. eine Aktivität zur

Organisation einer Schulung anlegen könnten. Die vorgestellte Implementierung ist für

die Erweiterung um neue Szenarien offen.

Eine Ausweitung der vorgestellten Lösung auf verschiedene Connections-Instanzen ist

ebenso möglich, wie die Anbindung weiterer Web 2.0-Anwendungen.

Technisch gesehen, können die vorgesehenen Konstrukte zur Konfiguration leicht

dahingehend erweitert werden, dass entsprechende Connections-Instanzen über

zusätzliche Parameter identifiziert und angesprochen werden können. Die abstrakte

Klasse, die Basis jeder anwendungsspezifischen Klasse ist, kann dank des allgemeinen

Aufbaus auch als Basis für die Anbindung weiterer Anwendungen dienen.

Eine zweite Connections-Instanz könnte bspw. außerhalb des Firmennetzwerks

erreichbar sein. Dort könnte die Anwendung Profiles mit Tags versorgt werden,

während in einer internen Activities-Instanz Weiterbildungsmaßnahmen und interne

Vorhaben koordiniert werden.

Zur Anbindung weiterer Ziel-Anwendungen, die ein API via Atom Publishing Protocol

bereitstellen, können die Basisfunktionen genutzt und in abgeleiteten Klassen auf die

entsprechenden Ziel-Systeme angepasst werden.

Die Schnittstelle ist in der Implementierung so allgemein gehalten, dass auch andere

Anwendungen als SkiP Ausgangspunkt einer Integration sein können. Insbesondere die

Szenarien zur Suche nach Informationen können aus nahezu beliebigen anderen

Anwendungen ebenfalls aufgerufen und sinnvoll genutzt werden. Damit kann der

Nutzung der Web 2.0-Anwendungen weiter Vorschub geleistet werden. Gleichzeitig

73

Page 81: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

5 Zusammenfassung und Ausblick

engt die technische Kopplung die Weiterentwicklung der jeweiligen Anwendungen

nicht ein.

Die Akzeptanz der Schnittstelle in so sensiblen Systemen wie denen des Skill-

Managements muss erst noch geprüft werden. Dennoch ist eine Öffnung dieser

Anwendungen zur Integration mit Web 2.0-Anwendungen ein wichtiger Schritt und

kann die Nutzung beider Ansätze voranbringen. Aufgrund der Sensibilität ist hier

jedoch äußerst vorsichtig vorzugehen, was etwa die Implementierung automatisierter

Schnittstellen anbelangt.

Web 2.0-Anwendungen haben das Potential, die Generierung und Dokumentation von

Wissen in Unternehmen nachhaltig zu beeinflussen. Die Nutzung solcher Software ist

gerade für technikbegeisterte Benutzer der Generation „Internet“ nahezu selbst-

verständlich. Die Dokumentation von Wissen ist durch den Einsatz dieser Systeme nicht

mehr lästige Pflicht, sondern erfolgt durch die Verwendung automatisch und ohne

großen zusätzlichen Aufwand für den Benutzer.

Skill-Management und Web 2.0-Anwendungen ergänzen sich gegenseitig, ohne dass es

durch die Überschneidungen zu Redundanzen kommt. Die zeitgleiche Verfolgung

beider Ansätze ist für den jeweils anderen förderlich.

74

Page 82: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

6 Literaturverzeichnis

6 Literaturverzeichnis

Abrams, D.; Baecker, R.; Chignell, M. (1998) Abrams, David; Baecker, Ron; Chignell, Mark; Information archiving with bookmarks - Personal Web space construction and organization In: Proceedings ACM SIGCHI, (1998), S.41-48

Alby, T. (2008) Alby, Tom; Web 2.0 - Konzepte, Anwendungen, Technologien, 3. überarbeitete Auflage, Carl Hanser Verlag München 2008

Basic, R. (2005) Basic, Robert; Unterschied Forum, Chat, Newsgroup, Blog, 2005; Aus: http://www.basicthinking.de/blog/2005/12/21/unterschied-forum-chatnewsgroup-blog/ am 27.12.2008

Beged-Dov, G. et al. (2008) Beged-Dov, Gabe; Brickley, Dan; Dornfest, Rael; Davis, Ian; Dodds, Leigh; Eisenzopf, Jonathan; Galbraith, David; Guha, Ramanathan V.; MacLeod, Ken; Miller, Eric; Swartz, Aaron; van der Vlist, Eric; RDF Site Summary (RSS) 1.0, 2008; Aus: http://web.resource.org/rss/1.0/spec am 13.02.2009

Berners-Lee, T. (1989) Berners-Lee, Tim; Information Managment: A Proposal, 1989; Aus: http://www.w3.org/History/1989/proposal.html am 22.03.2009

Berners-Lee, T. (1999) Berners-Lee, Tim; Talk to the LCS 35th Aniversary celebrations, 1999; Aus: http://www.w3.org/1999/04/13-tbl.html am 18.11.2008

BMWi (2006) Bundesministerium für Wirtschaft und Technologie; e-f@cts Nr. 10 - Wissensmanagement, Berlin, 2006

Bray, T. et al. (2006) Bray, Tim; Hollander, Dave; Layman, Andrew; Tobin, Richard; W3C - Namespaces in XML 1.0 (Second Edition), 2006; Aus: http://www.w3.org/TR/REC-xml-names/ am 04.03.2009

Burg, T. N.; Pircher, R. (2006) Burg, Thomas N.; Pircher, Richard; Social Software im Unternehmen In: wissensmanagement, 03/2006 (2006), S.26-28

Cappellato, J. (2006) Cappellato, Jacopo; Monthly reports to the Apache Software Foundation Board of Directors from incubator projects June 2006, 2006; Aus: http://wiki.apache.org/incubator/June2006 am 04.03.2009

75

Page 83: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

6 Literaturverzeichnis

Cruger, R. (2003) Cruger, Roberta; The mash-up revolution, 2003; Aus: http://dir.salon.com/story/ent/music/feature/2003/08/09/mashups_cruger/print.html am 27.12.2008

Doctorow, C. et al. (2002) Doctorow, Cory; Dornfest, Rael; Johnson, J. Scott; Powers, Shelly; Trott, Benjamin; Trott, Mena G.; Essential Blogging, 1. Auflage, O'Reilly Sebastopol 2002

Eckert, T. (2006) Eckert, Thomas; Java unter Lotus Domino - Know-how für die Anwendungsentwicklung, 1. Auflage, Springer Verlag Berlin 2006

Faix, W. G.; Buchwald, C.; Wetzler, R. (1991) Faix, Werner G.; Buchwald, Christa; Wetzler, Rainer; Skill Management - Qualifikationsplanung für Unternehmen und Mitarbeiter, 1. Auflage, Gabler Wiesbaden 1991

Fielding, R.T. (2000) Fielding, Roy T.; Architectural Styles and the Design of Network-based Software Architectures, 2000; Aus: http://www.ics.uci.edu/~fielding/pubs/dissertation/fielding_dissertation.pdf am 02.03.2009

Fisch, M.; Gscheidle, C. (2006) Fisch, Martin; Gscheidle, Christoph; Onliner 2006: Zwischen Breitband und Web 2.0 - Ausstattung und Nutzungsinnovation In: Media Perspektiven, 08/2006 (2006), S.431-440

Fisch, M.; Gscheidle, C. (2008a) Fisch, Martin; Gscheidle, Christoph; Technische Ausstattung der Onliner in Deutschland In: Media Perspektiven, 07/2008 (2008), S.345-349

Fisch, M.; Gscheidle, C. (2008b) Fisch, Martin; Gscheidle, Christoph; Mitmachnetz Web 2.0: Rege Beteiligung nur in Communitys In: Media Perspektiven, 07/2008 (2008), S.356-364

Gerbert, H.; Kutsch, O. (2003) Gerbert, Henning; Kutsch, Oliver; Potenziale des Skill-Managements In: Wirtschaftsinformatik 2, 02 (2003), S.227-229

Gronau, N.; Uslar, M. (2004) Gronau, Norbert; Uslar, Mathias; Skill-Management: Anwendungen und Erfahrungen In: Personalführung, 10 (2004), S.28-38

Groß, M.; Hülsbusch, W. (2005) Groß, Mathias; Hülsbusch, Werner; Weblogs und Wikis - Potenziale für betriebliche Anwendungen und E-Learning In: wissensmanagement, 01/2005 (2005), S.50-53

76

Page 84: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

6 Literaturverzeichnis

IBM - Connections Install (2008) IBM ; Lotus Connections 2.0.1 - Installation Guide, 2008; Aus: http://www.ibm.com/developerworks/lotus/documentation/connections/ am 02.03.2009

Kaufmann, T. (2005) Kaufmann, Tim; Google Earth mit Flickr-Fotos und Deutschlanddaten, 2005; Aus: http://www.golem.de/0507/39210.html am 08.11.2008

Knäpper, M.; Donskoj, M. (2007) Knäpper, Matthias; Donskoj, Markus; Anwendungsentwicklung unter Lotus Notes Domino 7 - Konzepte, Technologien, Realisierung, 1. Auflage, Addison Wesley München 2007

Krasser, N.; Foerster, M. (2007) Krasser, Nikolaus; Foerster, Marcus; Web 2.0. Ein neuer Hype oder nachhaltiger Nutzen für Unternehmen? In: Information Management, 01/2007 (2007), S.51-55

Laningham, S. (2006) Laningham, Scott; developerWorks Interviews - Tim Berners-Lee, 2006; Aus: http://www.ibm.com/developerworks/podcast/dwi/cm-int082206txt.html am 18.11.2008

Locke, C. (2000) Locke, Christopher; Internet Apocalypso (1. Kapitel des online verfügbaren Buches "The Cluetrain Manifesto"), 2000; Aus: http://www.cluetrain.com/book/apocalypso.html am 18.11.2008

Millen, D.; Feinberg, J.; Kerr, B. (2005) Millen, David; Feinberg, Jonathan; Kerr, Bernhard; Social bookmarking in the enterprise In: ACM Queue, Vol. 3 No. 9 (2005), S.29-35

Möller, E. (2005) Möller, Eric; Die heimliche Medienrevolution – Wie Weblogs, Wikis und freie Software die Welt verändern, 1. Auflage, Heise Zeitschriften Verlag GmbH & Co KG Hannover 2005

Netscape (1999) Netscape; My Netscape Network - Quickstart, 1999; Aus: http://www.purplepages.ie/RSS/netscape/rss0.90.html am 13.02.2009

Nonaka, I.; Takeuchi, H. (1995) Nonaka, Ikujiro; Takeuchi, Hirotaka; Die Organisation des Wissens - Wie japanische Unternehmen eine brachliegende Ressource nutzbar machen, 1. Auflage, Campus Verlag Frankfurt/New York 1995

North, K. (2005) North, Klaus; Wissensorientierte Unternehmensführung - Wertschöpfung durch Wissen, 4. Auflage, Gabler Wiesbaden 2005

77

Page 85: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

6 Literaturverzeichnis

O'Reilly, T. (2005) O'Reilly, Tim; What Is Web 2.0 - Design Patterns and Business Models for the Next Generation of Software, 2005; Aus: http://www.oreillynet.com/lpt/a/6228 am 25.10.2008

Pakalski, I. (2004) Pakalski, Ingo; Google will Handel mit Gmail-Zugängen unterbinden, 2004; Aus: http://www.golem.de/print.php?a=32110 am 13.02.2009

Pakalski, I. (2007) Pakalski, Ingo; Googles Gmail für alle, 2007; Aus: http://www.golem.de/print.php?a=50392 am 13.02.2009

Pieler, D.; Schuh, M. (2003) Pieler, Dirk; Schuh, Michael; Mit Skill Management die richtige Aufstellung für die Zukunft realisieren In: wissensmanagement, 02 (2003), S.20-22

Poller, A. (2008) Poller, Andreas; Privatsphärenschutz in Soziale-Netzwerke-Plattformen, 2008; Aus: http://www.sit.fraunhofer.de/Images/SocNetStudie_Deu_Final_tcm105-132111.pdf am 23.02.2009

Probst, G.; Raub, S.; Romhardt, K. (2003) Probst, Gilbert; Raub, Stefan; Romhardt, Kai; Wissen managen - Wie Unternehmen ihre wertvollste Ressource optimal nutzen, 4. überarbeitete Auflage, Gabler Wiesbaden 2003

Schiller García, J. (2007) Schiller García, Jürgen; Enterprise 2.0 - Web 2.0 im Unternehmen, 1. Auflage, VDM Verlag Dr. Müller Saarbrücken 2007

Schindler, M. (2001) Schindler, Martin; Wissensmanagement in der Projektabwicklung. Grundlagen, Determinanten und Gestaltungskonzepte eines ganzheitlichen Projektwissensmanagement, 2. durchgesehene Auflage, Josef Eul Verlag Lohmar 2001

Schütt, P. (2001) Schütt, Peter; Die Technologietrends im Wissensmanagement, 2001; Aus: http://www.wissensmanagement.net/online/archiv/2001/01_0201/technologietrends.shtml?print am 29.12.2008

Schütt, P. (2002) Schütt, Peter; Wissensmanagement - was ist das eigentlich? In: wissensmanagement, 01/2002 (2002), S.50-52

Seegmüller, K. (2006) Seegmüller, Kirsten; Die Qual der Wahl - Das geeignete Wissensmanagementsystem finden In: wissensmanagement, 05/2006 (2006), S.21-25

78

Page 86: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

6 Literaturverzeichnis

Six Apart (2004) Six Apart; TrackBack Technical Specification v1.2, 2004; Aus: http://www.sixapart.com/pronet/docs/trackback_spec am 21.02.2009

Smith, G. (2004) Smith, Gene; Folksonomy - social classification, 2004; Aus: http://atomiq.org/archives/2004/08/folksonomy_social_classification.html am 27.12.2008

Snell, J. (2006) Snell, James; Abdera Proposal, 2006; Aus: http://wiki.apache.org/incubator/AbderaProposal am 02.03.2009

Surowiecki, J. (2004) Surowiecki, James; The Wisdom of Crowds: Why the Many Are Smarter Than the Few and How Collective Wisdom Shapes Business, Economies, Societies and Nations, 1. Auflage, Doubleday New York 2004

Ullenboom, C. (2007) Ullenboom, Christian; Java ist auch eine Insel - Programmieren mit der Java Standard Edition Version 6, 7. aktualisierte Auflage, Galileo Press Bonn 2007

UserLand Software (2000) UserLand Software; RSS 0.91, 2000; Aus: http://backend.userland.com/rss091 am 13.02.2009

UserLand Software (2003) UserLand Software; RSS 0.92, 2003; Aus: http://backend.userland.com/rss092 am 13.02.2009

Van Eimeren, B.; Frees, B. (2006) Van Eimeren, Birgit; Frees, Beate; Schnellere Zugänge, neue Anwendungen, neue Nutzer? In: Media Perspektiven, 08 (2006), S.402-415

Wikipedia - Abdera (2009) Wikipedia; Abdera, 2009; Aus: http://de.wikipedia.org/wiki/Abdera am 02.03.2009

Wikipedia - Demokrit (2009) Wikipedia; Demokrit, 2009; Aus: http://de.wikipedia.org/wiki/Demokrit am 02.03.2009

Wikipedia - Dotcom-Blase (2008) Wikipedia; Dotcom-Blase, 2008; Aus: http://de.wikipedia.org/wiki/Dotcom-Blase am 27.12.2008

Winer, D. (2007) Winer, Dave; RSS 2.0, 2007; Aus: http://cyber.law.harvard.edu/rss/rss.html am 13.02.2009

79

Page 87: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

6 Literaturverzeichnis

World Internet Statistics (2008) Miniwatts Marketing Group; World Internet Usage Statistics, 2008; Aus: http://www.internetworldstats.com/stats.htm am 19.11.2008

80

Page 88: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

7 Anhang

7 Anhang

7.1 Die Anwendung ConnectionsGateway

Die Schnittstelle ist in der Domino-Anwendung „ConnectionsGateway“ zusammen-

gefasst. Sie enthält alle notwendigen Möglichkeiten zur Konfiguration und die zentrale

Funktion, die als Agent „Query“ implementiert ist.

7.1.1 Installation

Zum Betrieb der Anwendung sind drei Installationsschritte notwendig:

• Installation von ConnectionsGateway

Die Datei „ConnectionsGateway.nsf“ muss im Datenverzeichnis des Domino-

Servers abgelegt werden.

• Installation der Java-Komponente „ConnectionsAccess“

Die Datei „connections-access-1.0.jar“ muss in den ClassPath der JVM des

Domino Servers kopiert werden. Dieses Verzeichnis befindet sich im

Programmverzeichnis des Domino Servers unter „/jvm/ext“.

7.1.2 Konfiguration

Damit die Schnittstelle mit verschiedenen Installationen und Benutzern verwendet

werden kann, müssen sowohl die Benutzerinformationen (siehe Abbildung 25, S. 82)

als auch die Zugangsinformationen zu Connections (Abbildung 26, S. 82) konfiguriert

werden.

Für jeden Benutzer müssen die folgenden Informationen hinterlegt werden. Die

Verwaltung der Informationen erfolgt direkt in der Anwendung ConnectionsGateway.

• E-Mailadresse

dient zur Identifizierung des Benutzers

• Passwort

dient zur Authentifizierung des Benutzers

81

Page 89: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

7 Anhang

Abbildung 25: Erfassung der Benutzerinformationen

Für den Zugang zu Connections selbst müssen die URLs der einzelnen Anwendungen

bekannt sein. Jede Anwendung kann dabei komplett unabhängig von den anderen

konfiguriert werden. Auch hier erfolgt die Konfiguration direkt in der Anwendung

ConnectionsGateway.

Abbildung 26: Erfassung der URL-Angaben zu den einzelnen Anwendungen

7.1.3 Der Agent Query

Der Agent „Query“ kann per URL aufgerufen werden. Die Parameter für den Aufruf

werden dabei wie folgt übergeben:

http://<Pfad_zu_ConnectionsGateway>/(query)?OpenAgent&<parameter>

Tabelle 17, auf S. 83 zeigt die Möglichen Parameter, die übergeben werden können. Die

obligatorischen Parameter sind in der Spalte „Pflicht“ entsprechend gekennzeichnet. Die

82

Page 90: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

7 Anhang

einzelnen Parameter müssen wie folgt übergeben werden und durch das Zeichen „&“

voneinander getrennt werden:

&<parameter_1>=<wert_1>[&<parameter_1>=<wert_1>[...]]

Parameter Pflicht Bedeutungapplication x Anwendung die kontaktiert werden sollaction x Aktion die durchgeführt werden solltags - Tags als Parameter für die Aktion, mehrere Tags sind

durch „+“ voneinander zu trennenemail - E-Mailadresse als Parameter für die Aktion

Tabelle 17: Agent „Query“ - Parameter

Der Parameter application gibt an, mit welcher Anwendung von Connections

kommuniziert werden soll. Die möglichen Werte für den Parameter und deren

Bedeutung sind der Tabelle 18 zu entnehmen. Der Parameter application muss in jedem

Fall angegeben werden.

Wert Bedeutungprofiles Anwendung „Profiles“ (Benutzerprofile)communities Anwendung „Communities“ (Diskussionsforen)blogs Anwendung „Blogs“ (Weblogs)dogear Anwendung „Dogear“ (Lesezeichenverwaltung)activities Anwendung „Activities“ (Aktivitäten)

Tabelle 18: Agent „Query“ - Werte für den Parameter „application“

Welche Aktion durchgeführt werden soll, bestimmt der Parameter action. Auch dieser

Parameter muss zwingend angegeben werden und kann die in Tabelle 19 aufgelisteten

Werte annehmen.

Wert BedeutunggetService Liefert das Service-DokumentgetSearchAllByTag Liefert das Ergebnis einer Suche mit Tags als Suchkriterium

Der Parameter tags muss mit übergeben werden.updateTagsByEmail Aktualisiert die Tags eines Profils

Der Parameter application muss den Wert „profiles“ haben.Der Parameter tags muss übergeben werden.

Tabelle 19: Agent „Query“ - Werte für den Parameter „action“

83

Page 91: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

7 Anhang

Die Parameter tags und email sind optional. Für bestimmte Werte des Parameters

action müssen sie aber gefüllt sein. Diese Abhängigkeiten sind in der Tabelle 19 bei

dem entsprechenden Wert für den Parameter action nachzulesen.

Der Parameter tags kann mehr als einen Wert aufnehmen. Die einzelnen Werte sind

dabei durch das Zeichen „+“ wie im folgenden Beispiel zu trennen:

tags=connections+api+java

Der Parameter email kann nur eine Email-Adresse aufnehmen. Diese muss dabei so

codiert sein, dass das Zeichen „@“ durch „%40“ wie im folgenden Beispiel ersetzt

wird:

email=peter.meier%40beispiel.de

84

Page 92: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

7 Anhang

7.2 Das Framework „Abdera“

Zur Installation des Java-Framework „Abdera“ müssen die in der Tabelle 20 auf S. 85

gelisteten Dateien aus dem Abdera-Archiv ebenfalls in den ClassPath der JVM des

Domino Servers152 kopiert werden.

apache-abdera-0.4.0-incubating.zipabdera-0.4.0-incubating.jarlib/

axiom-api-1.2.5.jaraxiom-impl-1.2.5.jaraxiom-LICENSE.txtcommons-beanutils-1.7.0.jarcommons-codec-1.3.jarcommons-collections-3.2.jarcommons-httpclient-3.1-rc1.jarcommons-lang-2.3.jarcommons-LICENSE.txtcommons-logging-1.0.4.jarezmorph-1.0.4.jarezmorph-LICENSE.txtgeronimo-activation-LICENSE.txtgeronimo-activation_1.0.2_spec-1.1.jargeronimo-stax-api_1.0_spec-1.0.1.jargeronimo-stax-LICENSE.txthtmlparser-1.0.5.jarhtmlparser-LICENSE.txtjaxen-1.1.1.jarjaxen-LICENSE.txtjetty-6.1.5.jarjetty-LICENSE.txtjetty-util-6.1.5.jarjson-lib-2.2.1-jdk15.jarjson-lib-LICENSE.txtservlet-api-2.5-6.1.5.jarservlet-api-LICENSE.txtwstx-asl-3.2.1.jarwstx-asl-LICENSE.txtxalan-2.7.0.jarxalan-LICENSE.txtxmlsec-1.3.0.jarxmlsec-LICENSE.txt

mod/abdera-client-0.4.0-incubating.jarabdera-core-0.4.0-incubating.jarabdera-couchdb-0.4.0-incubating.jarabdera-extensions-gdata-0.4.0-incubating.jarabdera-extensions-geo-0.4.0-incubating.jarabdera-extensions-html-0.4.0-incubating.jarabdera-extensions-json-0.4.0-incubating.jarabdera-extensions-main-0.4.0-incubating.jarabdera-extensions-media-0.4.0-incubating.jarabdera-extensions-oauth-0.4.0-incubating.jarabdera-extensions-opensearch-0.4.0-incubating.jarabdera-extensions-serializer-0.4.0-incubating.jarabdera-extensions-sharing-0.4.0-incubating.jarabdera-extensions-wsse-0.4.0-incubating.jarabdera-filesystem-0.4.0-incubating.jarabdera-i18n-0.4.0-incubating.jarabdera-jcr-0.4.0-incubating.jarabdera-jdbc-0.4.0-incubating.jarabdera-parser-0.4.0-incubating.jarabdera-security-0.4.0-incubating.jarabdera-server-0.4.0-incubating.jarabdera-spring-0.4.0-incubating.jar

Tabelle 20: Dateien des Archivs „apache-abdera-0.4.0-incubating.zip“

152 Vergl. Kapitel 7.1.1

85

Page 93: Diplomarbeit Analyse und Implementierung einer …gcc.upb.de/www/wi/wi2/wi2_lit.nsf/35ae96bebc983d53c12573...Diplomarbeit Analyse und Implementierung einer Schnittstelle zwischen Skill-Management-Systemen

7 Anhang

7.3 Alternative „Java-Bibliothek“

Domino bietet die Möglichkeit, Java-Klassen auch in Java-Bibliotheken in den Domino-

Anwendungen direkt zu hinterlegen. Dies entspricht eher dem klassischen Ansatz der

Entwicklung von Domino-Anwendungen als Container für sämtliche Code-

Bestandteile.

Die Java-Komponente „ConnectionsAccess“ (siehe Kapitel 7.1.1) und auch Abdera

(siehe Kapitel 7.2) können in einer solche Java-Bibliothek gespeichert werden. Wenn

diese aber verwendet werden sollen, müssen bei dem entsprechenden Programm-Code

die Java-Bibliotheken explizit hinzugefügt werden.

Aus der Sicht einer kompletten Anwendung ist dies wünschenswert. Ebenso aus

Sicherheitsgründen, da kein Java-Code frei auf dem Server für sämtliche anderen

Komponenten Verfügbar ist.

Andererseits ist die Verwendung von Java-Bibliotheken nicht sehr performant, da die

entsprechenden Dateien bei jedem Aufruf aus der Java-Bibliothek entpackt und auf dem

Server zwischen gespeichert werden müssen, nur um nach der Beendigung des

Programms wieder gelöscht zu werden.

Für welche Alternative man sich entscheidet ist letzten Endes von den eigenen

Ansprüchen an Sicherheit und Performance des Servers abhängig.

86